{"version":3,"sources":["assets/icons/pending-icon.svg","assets/icons/warning.svg","assets/icons/close-circle-icon.svg","assets/icons/timeline-area-icon.svg","assets/icons/map-item-icon.svg","assets/icons/warningOctagon.svg","assets/icons/Alert.svg","assets/icons/Eye.svg","assets/icons/clock.svg","assets/icons/CaretCircleRight.svg","assets/icons/attach-key.svg","assets/icons/trash.svg","assets/icons/download.svg","assets/icons/circled-cancel.svg","assets/icons/RedirectIcon.svg","assets/icons/transfer-point-icon.svg","assets/icons/crates-icon.svg","assets/icons/user-icon.svg","assets/icons/delve-dashboard-order-status-fully-verified.svg","assets/icons/filter-icon.svg","assets/icons/TrcukFilledIcon.svg","assets/icons/expand-accordion-icon.svg","assets/icons/info-icon.svg","assets/icons/SlotOpenDropDown.svg","assets/icons/SlotOpenDropDownOpen.svg","assets/icons/warning-icon.svg","assets/icons/search-icon-small.svg","assets/icons/consignments-icon.svg","assets/icons/time-slot-icon.svg","assets/icons/mobile-icon.svg","assets/icons/wallet-icon.svg","assets/icons/bike-icon.svg","assets/icons/car-circled.svg","assets/icons/Car.svg","assets/icons/bike.svg","assets/icons/refresh.svg","assets/icons/delve-dashboard-order-status-total-order.svg","assets/icons/delve-dashboard-order-status-unverified.svg","assets/icons/delve-dashboard-order-status-partially-verified.svg","assets/icons/delve-dashboard-order-status-crates-verified.svg","assets/icons/delve-dashboard-order-status-crates-unverified.svg","assets/icons/delve-dashboard-order-status-items-verified.svg","assets/icons/delve-dashboard-order-status-items-unverified.svg","assets/icons/delve-dashboard-order-status-issues-reported.svg","assets/icons/calendar-icon.svg","assets/icons/map-pin.svg","assets/icons/mobileLogo.svg","assets/icons/emailLogo.svg","config/theme/baseTheme.ts","common/Header/Header.styles.ts","assets/icons/users-icon.svg","assets/icons/hubs-icon.svg","assets/icons/down-arrow-icon.svg","assets/icons/right-arrow-icon.svg","assets/icons/all-orders-icon.svg","assets/icons/DotsThreeOutline.svg","constants/CommonConstants.ts","constants/AppConstants.ts","constants/RouteConstants.ts","utils/helpers.utils.ts","constants/PlanningConstants.ts","constants/UsersConstants.ts","constants/LoginConstants.ts","constants/CodReconciliationConstants.ts","constants/PerformanceConstants.ts","constants/TrackingConstants.ts","constants/HubConstants.ts","constants/HubDashboardConstant.ts","constants/ClickAndCollectConstants.ts","constants/ValetTrolleyConstants.ts","constants/CarrefourHomeDeliveryConstants.ts","utils/dateUtils.ts","constants/DelveDashboardConstant.ts","constants/CustomerCommunications.ts","constants/DelveConstants.ts","constants/ExpressConstants.ts","constants/POSConstants.ts","constants/DriversConstants.ts","constants/CODPortalConstants.ts","constants/StdCodPortalConstants.ts","constants/StagingAreaConstants.ts","constants/StoreManagementConstant.ts","constants/index.ts","config/Api.config.ts","utils/updateUrlParams.ts","network/networkHandler.ts","network/networkHandler.types.ts","network/networkHandlerReporting.ts","mocks/users/response.transforms.ts","Login/LoginUtils.ts","Login/redux/loginSlice.ts","common/SelectBox/SelectBox.styles.ts","assets/icons/down-arrow.svg","webpack:///./src/assets/icons/search-icon-small.svg?b85b","common/SelectBox/index.tsx","common/SearchableMultipleDropdown/SearchableDropdownStyles.js","common/SearchableMultipleDropdown/Multiselect/index.tsx","common/SearchableMultipleDropdown/index.tsx","config/redux/common/commonSlice.ts","mocks/routePlanning/response.transforms.ts","utils/business/crate.ts","utils/newRelicUtils.ts","RoutePlanning/redux/planningSlice.ts","assets/icons/standard-delivery-icon.svg","assets/icons/offline-delivery-icon.svg","assets/icons/delve-icon.svg","webpack:///./src/assets/icons/bike.svg?9459","common/Header/index.tsx","common/NotFoundPage/NotFound.styles.ts","common/NotFoundPage/index.tsx","common/TextBox/TextBox.styles.ts","common/TextBox/index.tsx","common/Loader/Loader.styles.ts","common/Loader/index.tsx","common/CustomSnackbar/index.tsx","Login/Login.styles.ts","Login/index.tsx","assets/icons/edit-icon.svg","assets/icons/delete-icon.svg","assets/icons/circle-checked-icon.svg","RoutePlanning/AllRoutes/utils/AllRouteConstant.ts","RoutePlanning/RoutePlanning.styles.ts","common/DatePickerComponent/index.tsx","common/DateRangeComponent/DateRangeComponent.styles.ts","common/DateRangeComponent/index.tsx","assets/icons/crate-box-icon.svg","assets/icons/user_icon_green.svg","assets/icons/user_icon_grey.svg","common/Tooltip/Tooltip.styles.ts","common/Tooltip/index.tsx","mocks/delve/response.transforms.ts","mocks/allRoutes/response.transforms.ts","RoutePlanning/AllRoutes/utils/AllRouteUtils.ts","RoutePlanning/AllRoutes/utils/AllRouteViewUtils.tsx","RoutePlanning/AllRoutes/common/RenderPlannedRouteAccordionSummary.tsx","RoutePlanning/AllRoutes/common/RenderRouteAreaOrSubRouteAccordionSummary.tsx","webpack:///./src/assets/icons/time-slot-icon.svg?2df7","assets/icons/six-dots-icon.svg","assets/icons/reschedule-orders-icon.svg","common/RescheduleOrders/RescheduleOrdersStyles.ts","common/RescheduleOrders/RenderRescheduleOrders.tsx","RoutePlanning/AllRoutes/common/RenderOrderDetailsAccordionSummary.tsx","assets/icons/location-icon.svg","assets/icons/pay-wallet-icon.svg","RoutePlanning/AllRoutes/common/RenderOrderAccordianDetails.tsx","RoutePlanning/AllRoutes/common/RenderRouteSlotAccordianConfiguration.tsx","RoutePlanning/AllRoutes/common/RenderPlannedRouteAreaAccordion.tsx","RoutePlanning/AllRoutes/common/CustomPlannedRouteView.tsx","RoutePlanning/AllRoutes/common/CustomUnPlannedRouteView.tsx","RoutePlanning/AllRoutes/common/FilterConsignmetn.tsx","RoutePlanning/AllRoutes/common/CustomAllRoutesLeftSection.tsx","common/SwitchButton/SwitchButton.js","RoutePlanning/AllRoutes/common/AssignDriverDialogContent.tsx","RoutePlanning/AllRoutes/common/AssignDriverDialog.tsx","common/Dialog/index.tsx","common/Dialog/Dialog.styles.ts","common/GoogleMapContainer/MapDirectionRenderer.tsx","common/GoogleMapContainer/CustomGoogleMap.tsx","common/GoogleMapContainer/index.tsx","RoutePlanning/AllRoutes/common/AssignRouteToOrdersDialog.tsx","RoutePlanning/AllRoutes/common/SubRoute/RenderSubrouteAssignDriverDialog.tsx","RoutePlanning/AllRoutes/AllRoutes.styles.ts","RoutePlanning/AllRoutes/redux/allRoutesSlice.ts","RoutePlanning/AllRoutes/AllRoutes.tsx","common/GridWrapper/GridWrapper.styles.ts","common/MultiSearchComponent/MultiSearchComponent.styles.ts","assets/icons/search.svg","common/MultiSearchComponent/index.tsx","common/GridWrapper/CustomHeader.styles.ts","assets/icons/uploadIcon.svg","common/GridWrapper/CustomHeader.tsx","common/GridWrapper/DataTable/DataTable.styles.ts","common/GridWrapper/Filter.styles.ts","common/AutoComplete/AutoComplete.styles.ts","common/AutoComplete/index.tsx","webpack:///./src/assets/icons/filter-icon.svg?9484","common/GridWrapper/Filter.tsx","common/GridWrapper/DataTable/DataTableHeader.styles.ts","common/GridWrapper/DataTable/DataTableHeader.tsx","common/GridWrapper/DataTable/DataTableCellElement.styles.ts","common/GridWrapper/DataTable/DataTableCellElement.tsx","common/GridWrapper/DataTable/DataTableRowElement.styles.ts","common/GridWrapper/DataTable/DataTableRowElement.tsx","common/GridWrapper/DataTable/DataTableRowWrapper.tsx","common/GridWrapper/DataTable/index.tsx","common/GridWrapper/CustomFooter.styles.ts","common/GridWrapper/CustomFooter.tsx","common/GridWrapper/index.tsx","common/PersistData/index.tsx","assets/icons/edit-icon-new.svg","assets/icons/refresh-icon-new.svg","assets/icons/refresh-icon-grey.svg","assets/icons/active-timeline-dot.svg","assets/icons/timeline-dot-error.svg","assets/icons/crate-staging-location-icon.svg","assets/icons/timeline-dot.svg","assets/icons/ShieldCheck.svg","assets/icons/zoom-in.svg","utils/countdownTimer.ts","assets/icons/zoom-out.svg","RoutePlanning/ConsignmentDetails.styles.ts","common/CustomBarcode/index.tsx","RoutePlanning/ConsignmentEdit.styles.ts","RoutePlanning/UpdatePartialRejection.styles.ts","BundleProducts/Bundleproduct.styles.ts","assets/icons/Stack.svg","BundleProducts/BundleProducHeader.tsx","BundleProducts/BundleProductRow.tsx","BundleProducts/BundleProductHeaderEdit.tsx","BundleProducts/index.tsx","utils/textUtils.ts","RoutePlanning/UpdatePartialRejection.tsx","RoutePlanning/ConsignmentEdit.tsx","RoutePlanning/ConsignmentDetails.tsx","RoutePlanning/index.tsx","RoutePlanning/CreateRoute.styles.ts","assets/icons/refresh-icon.svg","webpack:///./src/assets/icons/consignments-icon.svg?629a","assets/icons/map-view-icon.svg","assets/icons/list-view-icon.svg","webpack:///./src/assets/icons/timeline-area-icon.svg?456b","assets/icons/info-warning-icon.svg","webpack:///./src/assets/icons/crates-icon.svg?e8f5","assets/icons/lock-icon.svg","webpack:///./src/assets/icons/wallet-icon.svg?4750","webpack:///./src/assets/icons/mobile-icon.svg?7c31","assets/icons/info-error-icon.svg","RoutePlanning/CreateRoute/CreateRouteConstant.ts","RoutePlanning/CreateRoute.tsx","ValetTrolley/CreateRoute.styles.ts","webpack:///./src/assets/icons/user-icon.svg?f731","mocks/valetTrolley/response.transforms.ts","ValetTrolley/redux/valetTrolleySlice.ts","assets/icons/editIcon.svg","ValetTrolley/ValetTrolleyOrderDetails.styles.ts","ValetTrolley/UpdateCustomerAddress.styles.ts","ValetTrolley/UpdateCustomerAddress.tsx","ValetTrolley/ValetTrolleyOrderDetailsEdit.styles.ts","ValetTrolley/ValetTrolleyOrderDetailsEdit.tsx","ValetTrolley/ValetTrolleyOrderDetails.tsx","ValetTrolley/VTCreateRoute.tsx","CarrefourDelivery/CarrefourDeliveryCreateRoute.styles.ts","mocks/carrefourHomeDelivery/response.transforms.ts","CarrefourDelivery/redux/carrefourDeliverySlice.ts","CarrefourDelivery/CarrefourDeliveryOrderDetails.styles.ts","CarrefourDelivery/UpdateCustomerAddress.styles.ts","CarrefourDelivery/UpdateCustomerAddress.tsx","CarrefourDelivery/CarrefourDeliveryOrderDetailsEdit.styles.ts","CarrefourDelivery/CarrefourDeliveryOrderDetailsEdit.tsx","CarrefourDelivery/UpdatePartialRejection.styles.ts","CarrefourDelivery/UpdatePartialRejection.tsx","CarrefourDelivery/CarrefourDeliveryOrderDetails.tsx","CarrefourDelivery/CarrefourDeliveryCreateRoute.tsx","Dashboard/ReconciliationDashboard/redux/reconciliationSlice.ts","webpack:///./src/assets/icons/info-icon.svg?4dd1","common/BarCharts/BarChartComponent.styles.ts","common/BarCharts/index.tsx","Dashboard/ReconciliationDashboard/reconciliationDashboard.styles.ts","Dashboard/ReconciliationDashboard/index.tsx","mocks/codReconciliation/response.transforms.ts","mocks/performance/response.transforms.ts","Dashboard/PerformanceDashboard/redux/performanceSlice.ts","Dashboard/HubwiseDashboard/hubwiseDashboard.styles.ts","Dashboard/HubwiseDashboard/HubsTableHead.styles.ts","Dashboard/HubwiseDashboard/HubsRowDetails.styles.ts","Dashboard/HubwiseDashboard/HubsRow.tsx","Dashboard/HubwiseDashboard/HubsGrid.tsx","Dashboard/HubwiseDashboard/redux/hubWiseSlice.ts","mocks/hubWiseDashboard/response.transforms.ts","Dashboard/HubwiseDashboard/index.tsx","Dashboard/PerformanceDashboard/performanceDashboard.styles.ts","common/AreaChart/AreaChart.styles.ts","common/AreaChart/index.tsx","common/DonutChart/DonutChartComponent.styles.tsx","common/DonutChart/index.tsx","common/PieChart/PieChartComponent.styles.tsx","common/PieChart/index.tsx","Dashboard/PerformanceDashboard/ConsignmentsDashboard.tsx","Dashboard/PerformanceDashboard/RoutesDashboard.tsx","Dashboard/PerformanceDashboard/index.tsx","Users/Users.styles.ts","Users/redux/usersSlice.ts","assets/icons/user-profile-icon.svg","assets/icons/email-icon.svg","assets/icons/new-mobile-icon.svg","Users/UserDetails.styles.ts","Users/UserDetails.tsx","common/SelectBox/CustomHubSelection/CustomHubMenuItems.tsx","common/SelectBox/CustomHubSelctBox.tsx","Users/UserAddOrEditDetails.styles.ts","Users/UserAddOrEditDetails.tsx","Users/ResetPwd.styles.ts","Users/ResetPwd.tsx","Users/index.tsx","network/networkHandlerDelve.ts","Delve/OrderList/redux/delveSlice.ts","Delve/OrderList/delvedashboard.styles.ts","Delve/OrderList/DelveOrderDetails.styles.ts","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsTitleContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsConsignmentDetails.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsItemsContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsItemsSummaryContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsHubAddressContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsCustomerDetailsContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsByCratesDetailsContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsItemReportedTitleContent.tsx","Delve/OrderList/DelveOrderDetailsCommon/DelveOrderDetailsItemReportedDetailsContent.tsx","Delve/OrderList/DelveOrderDetails.tsx","constants/DelveOrderListConstant.ts","Delve/OrderList/index.tsx","RouteTracking/redux/routeTrackingSlice.ts","RouteTracking/RouteTracking.styles.ts","assets/icons/new-consignment-status.svg","assets/icons/ready-consignment-status.svg","assets/icons/preparing-consignment-status.svg","assets/icons/prepared-consignment-status.svg","assets/icons/outForDelivery-consignment-status.svg","assets/icons/onHold-consignment-status.svg","assets/icons/pending-consignment-status.svg","assets/icons/delivered-consignment-status.svg","assets/icons/partiallyDelivered-consignment-status.svg","assets/icons/cancelled-consignment-status.svg","assets/icons/failed-consignment-status.svg","RouteTracking/index.tsx","mocks/routeTracking/response.transforms.ts","ValetTrolley/valetTrolleyStyles.ts","ValetTrolley/index.tsx","Hubs/redux/hubSlice.ts","Hubs/hubs.styles.ts","Hubs/HubAddOrEditDetails.styles.ts","Hubs/HubAddOrEditDetails.tsx","Hubs/HubDetails.styles.ts","Hubs/HubDetails.tsx","Hubs/index.tsx","mocks/hubs/response.transforms.ts","POSManagement/redux/posSlice.ts","POSManagement/pos.styles.ts","POSManagement/PosDetails.styles.ts","POSManagement/PosDetails.tsx","POSManagement/index.tsx","mocks/pos/response.transforms.ts","ClickAndCollect/redux/clickAndCollectSlice.ts","mocks/clickAndCollect/response.transforms.ts","ClickAndCollect/clickandcollect.styles.ts","ClickAndCollect/CNCConsignmentDetails.styles.ts","ClickAndCollect/CNCConsignmentEdit.styles.ts","ClickAndCollect/CNCConsignmentEdit.tsx","ClickAndCollect/CNCConsignmentDetails.tsx","ClickAndCollect/index.tsx","CarrefourDelivery/carrefourDelivery.styles.ts","CarrefourDelivery/index.tsx","common/AccessDenied/AccessDenied.styles.ts","common/AccessDenied/index.tsx","Express/redux/expressSlice.ts","Express/express.styles.ts","assets/icons/download-logs-button.svg","constants/TextConstants.ts","Express/ExpressOrderDetails.styles.ts","mocks/express/response.transforms.ts","Express/ExpressOrderEdit.styles.ts","Express/ExpUpdatePartialRejection.styles.ts","Express/ExpUpdatePartialRejection.tsx","Express/ExpressOrderEdit.tsx","Express/ExpressOrderDetails.tsx","Express/DriverAssignment.styles.ts","Express/DriverAssignment.tsx","assets/icons/Lightning.svg","Express/index.tsx","DriverManagement/redux/driversSlice.ts","DriverManagement/drivers.styles.ts","mocks/drivers/response.transforms.ts","common/CustomRadioButton/CustomRadio.styles.ts","assets/icons/radio-checked-icon.svg","assets/icons/radio-unchecked-icon.svg","common/CustomRadioButton/CustomRadio.tsx","DriverManagement/DriverDetails.styles.ts","DriverManagement/DriverDetails.tsx","DriverManagement/index.tsx","utils/loadash.utils.ts","CODPortal/express/codportal.styles.ts","CODPortal/express/redux/codPortalSlice.ts","mocks/codPortal/response.transforms.ts","common/BucketComponent/bucket.styles.ts","common/BucketComponent/index.tsx","assets/icons/collect-button.svg","assets/icons/collected-button.svg","CODPortal/express/codDriverDetails.tsx","CODPortal/express/codUploadReceipt.styles.ts","common/FileStorageOprations/index.tsx","CODPortal/express/codUploadReceipt.tsx","CODPortal/express/index.tsx","CODPortal/standard/codportal.styles.ts","CODPortal/standard/redux/stdCodPortalSlice.ts","mocks/stdCodPortal/response.transforms.ts","CODPortal/standard/stdCodDriverDetails.tsx","CODPortal/standard/stdCodUploadReceipt.styles.ts","CODPortal/standard/stdCodUploadReceipt.tsx","CODPortal/standard/index.tsx","common/CustomTimePicker/CustomTimePickerStyles.ts","common/CustomTimePicker/index.tsx","Delve/Dashboard/Common/DelveDashboardSearchHeader.tsx","Delve/Dashboard/Utils/DelveDashboardUtils.ts","Delve/Dashboard/Common/DelveDashboardOrderStatusDetails.tsx","Delve/Dashboard/Utils/DelveDashboardViewUtils.tsx","Delve/Dashboard/Common/DelveDashboardIssueMappingDetails.tsx","Delve/Dashboard/Common/DelveDashboardIssueSummaryDetails.tsx","Delve/Dashboard/Common/DelveDashboardHubVerificationDetails.tsx","Delve/Dashboard/Utils/DelveDashboardStyles.ts","Delve/Dashboard/Redux/DelveDashboardSlice.ts","Delve/Dashboard/index.tsx","Cams-widgets/camsWidgets.style.ts","Cams-widgets/returns.tsx","Cams-widgets/camsDashboard.tsx","Cams-widgets/exception.tsx","Cams-widgets/index.tsx","StagingArea/stagingArea.styles.ts","StagingArea/NoDataComponent/noData.style.ts","StagingArea/NoDataComponent/index.tsx","assets/icons/search-icon-blue.svg","StagingArea/SearchableListItems/listItem.styles.ts","StagingArea/SearchableListItems/index.tsx","assets/icons/trash-grey.svg","assets/icons/check.svg","assets/icons/pencil-grey.svg","assets/icons/refresh-With-Text.svg","assets/icons/plus-sign.svg","assets/icons/search-icon.svg","StagingArea/Chips/index.tsx","StagingArea/Notfication/notification.styles.ts","assets/icons/success-check.svg","assets/icons/warning-sign.svg","StagingArea/Notfication/index.tsx","StagingArea/CustomTimer/index.tsx","StagingArea/redux/stagingAreaSlice.ts","StagingArea/index.tsx","CustomerCommunication/redux/customerCommSlice.ts","CustomerCommunication/customerComm.styles.ts","orderDataWrapper/orderDataWrapper.styles.ts","orderDataWrapper/index.tsx","mocks/customerCommunications/response.transforms.ts","CustomerCommunication/Consignments/CommunicationExpress.tsx","CustomerCommunication/Consignments/CommunicationStandard.tsx","common/TimeRangePicker/TimePicker.styles.ts","common/TimeRangePicker/index.tsx","common/FilterForm/FilterForm.styles.ts","common/AutoCompleteWrapper/AutoCompleteWrapper.styles.ts","common/AutoCompleteWrapper/index.tsx","common/FilterForm/index.tsx","common/GridWrapper/FilterForm.styles.ts","common/GridWrapper/filterFormWrapper.tsx","CustomerCommunication/SendCommunication/sendComm.styles.ts","CustomerCommunication/SendCommunication/index.tsx","CustomerCommunication/Consignments/index.tsx","CustomerCommunication/History/HistoryExpress.tsx","CustomerCommunication/History/HistoryStandard.tsx","CustomerCommunication/History/index.tsx","CustomerCommunication/index.tsx","assets/icons/qr-code-icon.svg","StoreManagement/common/Dialog.styles.ts","StoreManagement/common/RenderQRCodeDetailsModal.tsx","StoreManagement/common/RenderPOSDetails.tsx","StoreManagement/common/RenderPOSQRCodeDetails.tsx","network/newNetworkHandler.ts","StoreManagement/redux/StoreManagementSlice.ts","StoreManagement/common/response.transforms.ts","StoreManagement/common/RenderPOSDetailsDialog.tsx","StoreManagement/StoreManagement.styles.ts","StoreManagement/StoreManagementPage.tsx","routes.tsx","App.tsx","config/redux/reducers.ts","config/redux/store.ts","index.tsx","assets/icons/unverified-icon.svg","assets/icons/verified-icon.svg"],"names":["module","exports","COLORS","PRIMARY_MAIN","DARK_GOLD_ORANGE","GOLDEN_BELL","PERSIAN_GREEN","BLACK","MAROON","SEA_GREEN","MINSK","DARK_RED","OCEAN_GREEN","LIGHT_PERSIAN_GREEN","ALERT_ORANGE","MINSK_DARK","BLUE_STONE","AMBER","PRIMARY_LIGHT","SEA_GREEN2","ASTRAL","INFO_GREEN","PIMPKIN_SKIN","DUSTY_GRAY_LIGHT","INFO_BLUE","PRIMARY_LIGHT_BLUE","GRADIENT_BLUE","ALIZARIN_CRIMSON","SUCCESS_GREEN","TAG_YEllOW","ERROR_RED","LIGHT_GREEN","PICTON_BLUE","CREAM_CAN","VISTA_BLUE","TARA","AVATAR_OCEAN","PALE_GREEN","CORAL_PINK","OLD_GOLD","STATUS_YELLOW","MINSK_LIGHT","SCAMPI","PRIMARY_DARK","INFO_BLACK","PALE_PURPLE","AQUA_BLUE","VIBRANT_YELLOW","VENETIAN_RED","BRICK_RED","VERY_LIGHT_GREY","SILVER_CHALICE","FOUNTAIN_BLUE","ALICE_BLUE","PALE_RED","GREEN_BLUE","GOLDEN_YELLOW_LIGHT","AZURE_BLUE","PERSIAN_GREEN_LIGHT","PERSIAN_GREEN_DARK","READY_BLUE","LUCKY","DUSTY_GRAY","JUNGLE_GREEN","PARTIAL_SUCCESS_GREEN","SECONDARY_MAIN","SECONDARY_LIGHT","SECONDARY_DARK","LIGHT_GREY","BASE_RED","TEXT_PRIMARY","BOX_SHADOW_PRIMARY","TRANSPARENT_BLUE","TRANSPARENT_BLUE_BORDER","WHITE","BLACK_SHADOW","LIGHT_BLACK_SHADOW","BLACK_INPUT_BORDER","BLACK_INPUT_LABEL","GRAY_DARK","ALTO","LIGHT_RED","DOVE_GRAY_DARK","DOVE_GRAY","DOVE_GRAY_LIGHT","SILVER","COPY","TRANSPARENT","LOADER_BACKGROUND","TABLE_ROW_SELECTED","SUB_HEADER_SELECTED","MINE_SHAFT","ROUTE_CONTAINER_BACKGROUND","FOOTER_COUNT_BACKGROUND","MINE_SHAFT_LIGHT","MADISON_LIGHT","TROPICAL_BLUE","CATSKILL_WHITE","BLUE_HAZE","BARLEY_WHITE","DOUBLE_PEARL_LUSTA","MYSTIC_GREY","GREY_WHITE","SECONDARY_MID_DARK","PALE_GRAY","GREY_SCALE","DRIFT_WOOD","SILVER_CHALICE2","PICTON_BLUE_LIGHT","CREAM_CAN_LIGHT","VISTA_BLUE_LIGHT","SEA_GREEN_LIGHT","LUCKY_LIGHT","JUNGLE_GREEN_LIGHT","BLACK_LIGHT","SCAMPI_LIST","GOLDEN_BELL_LIGHT","DUSTY_GRAY_NEW_LIGHT","SEA_GREEN2_LIGHT","BLUE_HAZE_LIGHT","SCAMPI_LIGHT","TROPICAL_BLUE_LIGHT","OLD_GOLD_LIGHT","DOVE_GREY","MINE_SHAFT_NEW","EMPEROR","COD_GRAY","ALICE_GRAY","BLACK_SQUEEZE","ATHENS_GRAY","CATSKILL_WHITE_LIGHT","JAGGED_ICE","LIGHT_BLUE","LIGHT_WHITE","checkboxDefaultIcon","theme","createMuiTheme","typography","fontFamily","join","fontWeightRegular","palette","type","primary","main","light","dark","secondary","error","red","A400","background","default","text","overrides","MuiTypography","body1","lineHeight","MuiTabs","root","flex","minHeight","paddingLeft","paddingTop","indicator","backgroundColor","MuiTab","fontSize","fontWeight","marginRight","padding","minWidth","textTransform","color","MuiOutlinedInput","borderRadius","borderColor","borderWidth","paddingBottom","adornedEnd","paddingRight","input","height","MuiSelect","icon","select","MuiInputLabel","outlined","marginTop","MuiButton","border","contained","boxShadow","MuiAccordion","width","MuiAccordionSummary","borderBottom","MuiAccordionDetails","MuiListItemText","margin","MuiCheckbox","backgroundRepeat","backgroundPosition","backgroundSize","display","colorPrimary","backgroundImage","indeterminate","MuiTableCell","head","borderTop","body","overflow","whiteSpace","textOverflow","stickyHeader","MuiTableRow","MuiTableSortLabel","MuiTooltip","popper","tooltipPlacementBottom","MuiToolbar","gutters","MuiAppBar","MuiDialog","paperWidthSm","maxWidth","useStyles","makeStyles","createStyles","position","top","appBar","marginLeft","transition","transitions","create","easing","sharp","duration","enteringScreen","leavingScreen","textDecoration","borderRight","spacing","textAlign","borderLeft","cursor","drawer","flexShrink","overflowX","flexDirection","flexGrow","flexWrap","zIndex","stroke","strokeWidth","fill","countryMenuPaper","maxHeight","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","d","strokeLinecap","strokeLinejoin","_ref","svgRef","title","props","viewBox","ref","ForwardRef","forwardRef","id","maskUnits","x","y","mask","className","focusable","ADDRESS_STATUS","API_RESPONSE_STATUS","TIMER_CONST","UnitOfMeasure","QcVerificationStatus","AppConstants","COUNTRY","COUNTRY_CODE","COUNTRY_URL","HUB_CODE","COUNTRY_ALL","ROLE","HUB_NAME","QCOMM","DELIVERY_STATUS","DELIVERY_DATE","CARREFOUR","DATE_FORMAT","DATE_FORMAT_UI","DATE_FORMAT_BACKEND","DATE_FORMAT_DAY_MONTH","SLOT_FORMAT_UI","SLOT_FORMAT_BACKEND","DATE_FORMAT_API","TIMESTAMP","DATE_TIME_FORMAT","CLEAR_ALL_FILTERS_THRESHOLD","SEARCH_BOX_LIMIT","SEARCH_TEXT_LIMIT","NO_OPTIONS_TEXT","COUNTRY_LB","COUNTRY_KENYA","COUNTRY_UAE","COUNTRY_OMAN","COUNTRY_OBJ","value","name","COUNTRY_MAP","AE","BH","EG","JO","KE","KW","LB","OM","PK","QA","SA","GE","SELECT_ALL","SELECT_NONE","ITEMS","HUB","CATEGORY","ROUTES","CATEGORIES","category","CATEGORIES_HUBWISE","DELIVERY_TYPE","BUTTONS","SEARCH","RESET","CLEAR_ALL","CLEAR","CLEAR_ALL_FILTERS","LOAD_MORE_LOADING","LOGIN","FORGOT_PWD","REGISTER_USER","SUBMIT","CREATE_ROUTE","CANCEL","YES","NO","PROCEED","ASSIGN","CLEAR_NEW","OPTIMIZE","DISCARD","SAVE","APPLY","ADD_USER","ADD_HUB","APPROVE","REJECT","RESET_PWD","CONFIRM","GENERATE","REFRESH_MAP","CONTINUE","END_ACTIVE_SESSION","END_DRIVER_HELPER_SESSION","GET_CRATE_INFO","EDIT_ITEMS","DOWNLOAD_QR","REGENERATE_QR","VIEW_AND_UPLOAD","PUBLISH","ADD","SHOW_ORDERS","ADD_TO_EXISTING_ROUTES","RELEASE_DRIVER","BACK","SEND_COMM","DELETE","GENERATE_OTP","RESEND_OTP","DOWNLOAD_ICON","SNACKBAR","TYPES","SUCCESS","ERROR","AUTO_HIDE_TIMEOUT","AUTO_HIDE_TIMEOUT_PUBLISH","RESPONSE_CONSTANTS","ERROR_CODES","DEFAULT_API_FAILED","DEFAULT_API_FAILED_ERROR_MSG","VALIDATIONS","EMAIL","REQUIRED","msg","VALID_EMAIL","USERNAME","PASSWORD","STRONG_PWD","ONE_OF","SERVICE_TYPE","ADMIN_ROLE","CPM_ROLE","CHD_ROLE","VT_MANAGER_ROLE","QC_MANAGER_ROLE","DISPATCHER_ROLE","EXPRESS_DISPATCHER_ROLE","EXPRESS_VIEWER_ROLE","COUNTRY_ADMIN","DRIVER_ROLE","HELPER_ROLE","ACCESS_DENIED","DEFAULT_STATUS","COMPLETED","DRIVER","HELPER","TODAY_DATA_TEXT","PLANNED","TIME_PICKER_FORMAT_UI","POP_UP_MESSAGE_CONSTANT","DOWNLOAD_USER_INFORMATION","DOWNLOAD_USER_INFORMATION_CONFIRMATION","NR_FEATURES","ALL_ROUTE","NAME","FEATURES","CREATE_DRAFT_ROUTE","EDIT_ROUTE","PUBLISH_ROUTE","FETCH_ALL_PLANNED","FETCH_ALL_UNPLANNED","UPDATE_ORDER_IN_ROUTE","ADD_ORDER_TO_ROUTE","BULK_DELETE","CREATE_AND_EDIT_ROUTE","FETCH_ALL_DRIVERS","FETCH_ALL_HELPERS","FETCH_ALL_VEHICLES","PUBLISH_ALL_ROUTE","CREATE_DRAFT_ALL_ROUTE","LOAD_ALL_SLOTS","UPDATE_CONSIGNMENT_STATUS","SUB_ROUTE","CREATE_SUB_ROUTE","RouteConstants","PLANNING","RECONCILIATION","PERFORMANCE","VIEW_ROUTE","USERS","INDEX","HOME","TRACKING","CLICKNCOLLECT","VALETTROLLEY","CARREFOUR_HOME_DLVRY","EXPRESS","CARREFOUR_NOW","DASHBOARD","HUBS","POS","FLEET","DRIVERS","ADMINISTRATION","STD_COD_PORTAL","ALL_ORDERS","RETURNS","DASHBOARDCAMS","EXCEPTIONS_DELIVERIES","STAGING_AREA","CUSTOMER_COMMUNICATION","HUBWISE","COD_PORTAL","VALET_TROLLEY_CREATE_ROUTE","VALET_TROLLEY_EDIT_ROUTE","VALET_TROLLEY_VIEW_ROUTE","CARREFOUR_DELIVERY_CREATE_ROUTE","CARREFOUR_DELIVERY_EDIT_ROUTE","CARREFOUR_DELIVERY_VIEW_ROUTE","DELVE_DASHBOARD","DELVE_ORDER_LIST","STANDARD","EXPRESS_PAGE","STORE_MANAGEMENT","DELIVERIES_GROUP_ID","DELIVERIES_GROUP","route","isListItem","hasParams","DASHBOARD_GROUP_ID","DASHBOARD_GROUP","HUB_GROUP_ID","HUB_GROUP","ADMINISTRATION_GROUP_ID","ADMINISTRATION_GROUP","ALL_ORDERS_GROUP_ID","ALL_ORDERS_GROUP","VT_CONFIG","Routes","Hubs","Tracking","VT_GROUP_ID","VT_GROUP","CNC_CONFIG","CNC_GROUP_ID","CNC_GROUP","CHD_CONFIG","CHD_GROUP_ID","CHD_GROUP","DELVE_GROUP_ID","DELVE_GROUP","STD_DELIVERIES_GROUP_ID","STD_DELIVERIES_GROUP","EXP_DELIVERIES_GROUP_ID","EXP_DELIVERIES_GROUP","OFFLINE_DELIVERIES_GROUP_ID","OFFLINE_DELIVERIES_GROUP","isUndefined","undefined","isNull","isExisty","isObject","isNonEmptyArray","countObjectProperties","isArrayNonEmpty","isNonEmptyObject","deepCopy","cloneDeep","isAString","candidate","String","saveFile","fileBlob","fileName","saveAs","transformSelectValues","values","nameKey","newValues","map","item","storeName","code","store","filter","transformIntoObjArrays","qty","obj","push","toString","transformListOrObjIntoKeyValue","result","constructor","transformForScalable","val","Number","transformIntoObj","displayUnitGrams","toLowerCase","transformDateValues","state","forEach","day","data","label","transformPerformanceResponse","reduce","acc","newSlotWis","elementsStatesCount","transformVolumeResponse","statusWise","transformSlots","filteredSlots","slot","splitSlot","split","startSlot","endSlot","formattedSlots","moment","hours","minutes","seconds","format","transformSlotValue","totalValues","sum","a","b","transformDataIntoArray","localTimeString","date","toLocaleTimeString","hour12","hour","minute","calculateTimeBetweenSlots","startTime","endTime","startTimeInMins","endTimeInMins","isEqualArrays","_","isEqual","sortBy","getDifferenceValues","aItem","bItem","getMatchingValues","enumerateDaysBetweenDates","startDate","endDate","dateFormat","dates","currDate","lastDate","isSameOrBefore","add","getUniqueValues","array","Array","from","Set","highlightTextWithClass","queryStr","resultStr","regex","RegExp","replace","res","getSlotUIValue","useClickHandler","handler","handlerParams","useEffect","handleClick","event","current","contains","document","addEventListener","removeEventListener","getValueFromArray","match","matchKey","convertTime","showSecs","hrs","mins","secs","ret","fixDecimals","n","isNaN","parseInt","parseFloat","toFixed","isNumeric","num","isDisplayStatusEditable","country","displayRouteStatus","generateRandomNumber","startNumber","endNumber","Math","floor","random","matchAllElements","array1","array2","every","ele","includes","isModifiedBySystem","lastModifiedBy","EXPRESS_CONSTANTS","ORDER_LOG_MODIFIED_BY","SYSTEM","isInputAnArray","isArray","checkIfInputIsValidObjectWithKeys","checkIfInputIsObject","isNumberGreaterThanZero","getPercentageValue","sumValue","currentValue","round","transformHubWithNameAndValueFromSelectValues","isUomGrams","unit","GRAMS","isCardOnDelivery","paymentType","PLANNING_CONSTANTS","CONSIGNMENTS_DATA","CARD_ON_DELIVERY","isFeatureEnabledForCountry","FeatureEnabledForCountries","toUpperCase","areDatesEqual","date1","date2","firstDate","secDate","isSame","loadDashIsEmpty","isEmpty","loadDashIsArrayAndNotEmpty","loadDashIsArray","size","transformUerTypeListSelectValues","ACTION_BUTTON","getHubRecordList","hubRecordList","countryCode","sessionStorage","getItem","isRapydActivity","activity","PlanningConstants","TABLE_WRAPPER_DATA","HeaderData","field","headerName","hide","filterObj","fieldKey","fieldName","fieldFullName","multiple","items","tooltip","tooltipDataKey","placeholderText","autoUpdateInput","autoApply","showDropdowns","linkedCalendars","maxSpan","month","locale","headerButtons","displayName","disabled","classes","childElements","loadMore","pageSize","defaultFiltersObj","hub","hubName","deliveryArea","addressStatus","deliveryZone","orderType","deliveryStatus","carrier","deliveryProposition","ignoreCount","routeId","routeStatus","driver","vendor","vehicle","helper","deliveryFailedReason","deliveryExecutionStatus","pageNumber","dateRange","Date","deliverySlot","SEARCH_TYPES","sortModel","direction","FILTER_CHIPS","STATUSES","hintText","ORDER_STATUS","NEW","READY_TO_PREPARE","READY_TO_DISPATCH","PREPARING","PREPARED","OUT_FOR_DELIVERY","ON_HOLD","PENDING_DELIVERY","DELIVERED","PARTIALLY_DELIVERED","CANCELLED","DELIVERY_FAILED","PACKING_COMPLETE","ASSIGNED","PC_NOT_RECEIVED","TERMINAL_STATUSES","NON_EDITABLE_STATUSES","REFRESHABLE_STATUSES","DEFAULT_FILTER_CHIP","REPLANNING_CONSIGNMENT_SUCCESS_MSG","ADDRESS_MARKED_UNVERIFIED","DEFAULT_REPLANNING_SELECTION","COD_TEXT","DISPLAY_ROUTE_STATUS_FILTER_OBJ","CRATE_ID","TAB_VALUES_DETAIL","ORDER_DETAIL","ORDER_LOG","DELIVERY_EXECUTION_STATUS","DELAYED","ON_TIME","ROUTES_DATA","showArrowIcon","createdBy","SUB_ROUTE_TAG","PUBLISHED_FILTER_CHIP","UNEDITABLE_CHIP","DELETE_STATUS","EDIT_STATUS_ROUTE","PUBLISH_ROUTES_SUCCESS_MSG","UPDATE_ROUTE_SUCCESS_MSG","DELETE_ROUTE_SUCCESS_MSG","PUBLISH_ROUTES_ERROR_MSG","BULK_DELETE_ERROR_MSG","TAB_VALUES","CONSIGNMENTS","ALLROUTES","DISPLAY_PUBLISHED_FILTER_OBJ","CREATE_ROUTE_DATA","CREATE_ROUTE_SUCCESS_MSG","DRAFTED_CONSIGNMENT_TOOLTIP_MSG","CAPACITY_BREACH_MSGS","CRATES","TRANSIT_TIME","CONSIGNMENTS_AND_CRATES","CONSIGNMENTS_AND_TRANSIT_TIME","CRATES_AND_TRANSIT_TIME","ALL_VALUES","DRIVER_SERVICE_TIME","UNPLANNED","SESSION_TIMEOUT","UNAUTHORISED","CONCURRENT_CONSIGNMENT","ALL_FILTER_CHIP","HUB_FOR_ROUTES","CHANGE_HUB","ROUTE_DATA_PERSIST","DRIVER_LOCATION_REFRESH_INTERVAL","REDUCE_DRIVER_LOCATION_COUNT_DOWN_INTERVAL","LoginConstants","LOGIN_CONSTANTS","OLDPASSWORD","FIRSTNAME","LASTNAME","PHONE","VALIDITY","TYPE","OTP","ROLES","INCORRECT_UNAME_PWD_ERROR_MSG","PWD_CHANGE_SUCCESS_MSG","USER_CREATION_SUCCESS_MSG","CONFIRM_PWD","ACCOUNT_DISABLED","INVALID_UNAME","PWD_EXP","INVALID_PWD","PWD_MISMATCH","OTP_SENT_SUCCESSFULLY","UsersConstants","USERS_CONSTANTS","role","buildVersion","status","deliveryType","vehicleType","serviceType","page","lengthIssue","STATUS","VEHICLE","VENDOR","multipleHubs","PREFIX","USER_ROLES","READ_ONLY_ROLE","READ_ONLY_ROLE_STANDARD","READ_ONLY_ROLE_EXPRESS","DISPATCHER_ROLE_EXP","DISPATCHER_ROLE_STD","COLLECTION_POINT_MANAGER","VALET_TROLLEY_MANAGER","CARREFOUR_DELIVERY_MANAGER","QC_MANAGER","QC_EXECUTIVE","ADMIN_ROLES","LAST_MILE_DISPATCHER_ROLE","LAST_MILE_VIEWER_ROLE","DRIVER_OR_VEHICLE_ROLES","USER_UPDATE_SUCCESS_MSG","USER_UPDATE_REJECT_MSG","USERNAME_USERTYPE","RELEASE_ASSIGNEE_CONTENT","END_ACTIVE_SESSION_CONTENT","END_SESSION","LAST_MILE_QC_EXECUTIVE_ROLE","USER_ROLE_TYPE_ERROR","DELETE_USER_RECORD","ROLE_LAST_MILE_HELPER","USER_TYPE","INTERNAL","PORTAL_USER","EXTERNAL","APP_USER","MULTIPLE_COUNTRIES_ROLE","ROLE_SUPER_ADMIN","ReconciliationConstants","RECONCILIATION_CONSTANTS","AMOUNT_VALUES","Amount","DashboardConstants","DASHBOARD_CONSTANTS","PERFORMANCE_CONSTANTS","SLOT_VALUES","Percentages","Counts","Volume","PaymentWise","DeliveryTypeWise","ROUTES_PERFORMANCE_CONSTANTS","HUB_WISE_DASHBOARS","COD_RECON","TrackingConstants","TRACKING_CONSTANTS","hubCode","searchAttribute","HubConstants","HUB_CONSTANTS","hubId","HUBID","HUBNAME","LATITUDE","LONGITUDE","HUB_STATUS","ADDRESS","HUB_SERVICE_TYPE","HubDashboardConstants","HUB_DASHBOARD_CONSTANTS","HUBS_LIST","consignments","onTimeDelivery","onTimeHandover","ordersAtRisk","ClickAndCollectConstants","CNC_CONSTANTS","collectionHubCode","collectionHubName","modeOfCollection","cancellationReason","ValetTrolleyConstants","VALET_TROLLEY_CONSTANTS","UNDELIVERED","ADDRESS_UPDATE_SUCCESS_MSG","UNPLAN_CONSIGNMENT_WARNING_MSG","VALET_TROLLEY","AREA","CITY","STREETNO","BUILDING","APARTMENT","CarrefourHomeDeliveryConstants","CARREFOUR_HOME_DLVRY_CONSTANTS","DELIVERY_SLOT","newDate","currentDate","dateWithReqFormat","startOfDay","currFormat","reqFormat","endOfDay","isDateValid","isValid","isEndDateBeforeStartDate","start","end","isBefore","getDateOrTimeInReqFormat","getDateFromFormatInReqFormat","EXPRESS_DELIVERY_TYPE","DELVE_DASHBOARD_CONST","DATE_PICKER_VALUE","TIME_PICKER_VALUE","DELVE_ORDER_DETAILS","count","cost","DELVE_DASHBOARD_DATA_OBJ","orderCount","totalOrders","ordersVerified","ordersPartialVerified","ordersUnverified","cratesVerified","cratesUnverified","itemsVerified","itemsUnverified","issuesFound","currency","totalIssueSummaryCount","itemsCountObj","hubSeriesObj","hubFooterData","hubLevelVerificationData","TAB_VALUES_CONSTANT","DELVE_RETURN_DASHBOARD_DATA_OBJ","totalConsignments","verifiedConsignments","unverifiedConsignments","DELVE_DASHBOARD_STATE","loading","countryIsoCode","hubs","dateSlot","istimeSlotEnabled","timeSlot","delveDashboardRecord","returnDashboardRecord","tabValue","commonFetchInitialState","fetchStatus","IDLE","DelveConstants","DELVE_CONSTANTS","ReturnTabHeaderData","FilterFormData","verified","delveDateRange","consignmentCode","isDelve","deliveryFlow","returns","RETURN_TYPE_FILTER_CHIPS","VERIFICATION_STATUS","VERIFIED","UNVERIFIED","VERIFIED_ISSUES","PARTIALLY_VERIFIED","PARTIALLY_VERIFIED_ISSUES","VERIFIED_FILTER_CHIP","ISSUES_REPORTED_CHIP","PARTIALLY_VERIFIED_ISSUES_CHIP","VERIFIED_ISSUES_CHIP","CustomerCommConstants","CUSTOMER_COMM_CONSTANTS","enableOnChangeFetch","isTextField","defaultFiltersObjForm","deliveryStartTime","deliveryEndTime","zones","deliveryAreas","driverId","deliverySlotTime","UNASSIGNED","DELIVERY_ATTEMPTED","CANCELLED_BY_SOURCE","ORDER_STATUSES","READY","EXPORTED","PAYMENT_ACCEPTED","DISPATCHED","PICKING_STARTED","NON_TERMINAL_STATUSES","COMM_HISTORY","TAB_VALUES_HISTORY","ORDER_TYPE","DRIVER_ASSIGNED_SUCCESS_MSG","DEFAULT_STATUS_SELECTION","DISPATCHER","LINE_ITEM_REJECTION","ORDER_COMMENTS","DRIVERS_CATEGORY","OTHERS","DRIVER_STATUS","VEHICLE_TYPE","CAR","BIKE","MANUAL","VALIDTION_ADDITIONAL_COMMENT","REASON","COMMENT","CUSTOMER_COMM_CONSTANTSÙ€STD","CUSTOMER_COMM_HISTORY_CONSTANTS","reason","DRIVER_STATUSES","ACTIVE","AVAILABLE","BACK_TO_STORE","AWAY","OFFLINE","ExpressConstants","STATUSES_ALECTO_CRATE","PosConstants","POS_CONSTANTS","DriversConstants","DRIVERS_CONSTANTS","modes","DRIVER_PROFILE","ACTIVITY_LOG","CODPortalConstants","COD_RECON_CONSTANTS","DRIVERS_DATA","driverName","vendorName","ORDERS_DATA","MAX_FILE_SIZE","MAX_FILE_SIZE_ALLOWED","UPLOAD_MESSAGES","MAX_SIZE","StdCodPortalConstants","STD_COD_RECON_CONSTANTS","StagingAreaConstants","STAGING_AREA_CONSTANTS","MIN","MAX","SUCCESS_MSG","update","delete","StoreManagementConstant","STORE_MANAGEMENT_CONSTANT","CodReconciliationConstants","POSConstants","reportBaseURL","process","userBaseURL","expressBaseURL","expressDriverBaseURL","delveBaseURL","apigeeServiceURL","camsServiceURL","customerCommunicationFeatureEnabledForCountries","cWingsServiceBaseURL","replaceUrlVariables","url","params","matches","modifiedURL","networkDefaultSetting","isUser","isAuth","isUAE","isLogin","countryUrl","axios","defaults","baseURL","headers","common","networkSettingForExpress","isExpress","isExpressDriver","networkSettingForCamService","networkSettingForApigeeService","networkHandler","isCamsService","isApigeeService","urlParams","restApiOptions","updateUrl","request","interceptors","response","use","window","location","pathname","clear","href","Promise","reject","EApiMiddlewareMethods","networkHandlerReporting","Authorization","getUserType","userType","createFilterPayload","payload","isLoadMore","hubValue","selectAllIdx","selectNoneIdx","currentRoles","currentRole","JSON","parse","roleValue","statusValue","buildVersionValue","typeValue","paginationObj","pageable","totalPages","createAddUserPayload","dropdowns","userRole","countryDetails","countriesList","hubDetails","hubList","serviceTypesList","serviceTypeList","service","serviceTypes","confirmPassword","countryHubDetails","countries","createUserUAEPayload","password","createEditUserPayload","countryName","firstname","firstName","lastname","lastName","keyName","userName","email","getStatusField","statusCode","statuses","checkRequiredUser","isReqUser","adminRole","emptySessionStorage","setItem","userLogin","createAsyncThunk","userdata","rejectWithValue","method","POST","userResponse","countryRequest","GET","countryISOCode","jwtToken","countryData","wings","newUserLogin","userLogout","resetUserResetPwd","resetUserError","userResetPwd","initialState","isLoggedIn","errorCode","username","resetPwdSuccess","resetPwdMsg","isAdmin","isCollectionPointManager","isCHDManager","isVTManager","isQCManager","isDriver","isLastMileViewer","isDispatcher","isOnlyExpressDispatcher","isOnlyStandardDispatcher","isOnlyStdLastMileViewer","isOnlyExpLastMileViewer","showOtp","userLoginSlice","createSlice","reducers","extraReducers","builders","addCase","pending","token","fulfilled","action","meta","arg","stringify","roles","images","setSessionStorage","message","rejected","errorPayload","formControl","borderBottomLeftRadius","borderBottomRightRadius","searchBox","overflowY","customWidthSearch","chips","chip","menuPropsList","menuPropsPaper","borderTopLeftRadius","borderTopRightRadius","customMenuPropsList","customMenuPropsPaper","hubChipDiv","selectedTextStyle","anchorOriginDefault","vertical","horizontal","SelectBox","handleChange","handleFormikChange","hideIconComponent","menuPaperProps","anchorOrigin","reset","resetAll","showSelectNone","helperText","fullWidth","enableSearch","customWidthSearchBar","rest","useState","itemsDdn","setItemsDdn","itemsPrevValues","setItemsPrevValues","ddnValue","setDdnValue","anchorEl","useRef","isOpen","setIsOpen","searchText","setSearchText","displayedOptions","useMemo","option","containsText","handleDdnChange","useCallback","child","selected","selectAllPreviousIdx","slice","FormControl","variant","InputLabel","Select","displayEmpty","labelId","onOpen","onClose","onChange","renderValue","Typography","Chip","IconComponent","downArrowIcon","MenuProps","disablePortal","list","paper","autoFocus","getContentAnchorEl","ListSubheader","onClickCapture","e","stopPropagation","preventDefault","onKeyDown","TextField","placeholder","InputProps","endAdornment","InputAdornment","IconButton","edge","SvgIcon","component","searchIcon","MenuItem","ListItemText","Checkbox","checked","index","getMenuItems","FormHelperText","searchableDropdownStyles","fieldLabel","marginBottom","searchableDropdown","paperStyles","downArrowStyle","labelOnInputBoxFontStyle","labelHeaderOnInputBoxFontStyle","autocompleteInputDivStyle","isDropdownOpen","clearIndicatorStyle","popupIndicatorOpenStyle","popupIndicatorStyle","inputFocusedStyle","MultiSelect","selectedValues","limitTags","onToggleOption","selectedVal","onClearOptions","onSelectAll","getOptionLabel","allSelected","createFilterOptions","Autocomplete","options","openOnFocus","open","disableCloseOnSelect","getOptionSelected","anotherOption","filterOptions","filtered","inputValue","selectedOptions","find","renderOption","selectAllProps","checkedIcon","style","renderInput","InputLabelProps","shrink","disableUnderline","renderTags","tagValue","getTagProps","popupIcon","clearIndicatorDirty","popupIndicator","defaultProps","SearchableDropdown","menuItems","setSelectedOptions","handleClearOptions","isSelected","allResult","countryCodeUpdate","hubCodeUpdate","updateMapDirections","directions","fetchCommonDropdownValues","fetchUserDetailsDropdownValues","fetchCountryConfigDetils","activeStatus","fetchCountryHubDetailsDetils","fetchCwingsReportCountriesList","mapRouteDirections","hubData","commonDropdowns","hubCodeList","hubNameList","deliverySlotList","userDetailsDropdowns","hubListWithCodeAndName","routeConfigDetails","driverTripConfigDetails","hubRecordListWithCodeAndName","cwingsReportCountriesList","commonSlice","hubMap","ROUTE","DRIVER_TRIP","results","ROUTE_TYPE","lastMilePlanningOrdersDataTransform","transformedArray","elements","order","metadata","posInformation","deliveryInformation","paymentDetail","orderCode","products","deliveryDate","customerContactInfo","address","transactionDate","statusDate","lastStatusUpdatedTime","mpesaTimestamp","timestamp","area","consignmentId","startEndTime","numberOfItems","crates","totalCratesCount","orderId","customerName","customerEmail","customerMobileNumber","phone","deliveryStreetAddress","getAddressInfo","landmark","totalAmount","codAmount","amountToCollect","collectedAmount","routeName","plannedDuration","dynamicTransitTime","estimatedTransitTime","actualDuration","actualTransitTime","reasonDescription","paybill","payBillNo","mpesaphoneNumber","paymentPhoneNumber","refNo","uniqueReferenceNumber","requestedAmt","mpesaAttemptNo","transactionInitiatedTries","mpesaStatus","transactionStatus","rescheduled","getConsignmentStatusField","getRouteStatusField","rejectionDataTransform","product","sku","entryNumber","rejectedQty","unitPrice","showReason","quantity","isSubstitution","isScalable","substitutedProducts","uom","totalQty","rejectedItems","initialQty","shipedQty","shippedQty","shipedQtyDisplay","newObj","selectRejected","deliveryReason","reasonCode","subProd","rejectedQtyList","selectedRejectedQty","itemDeliveryReason","bundleRejectionDataTransform","campaignId","bundleRejectedQty","bundleShippedQty","getFilterAttributeValue","attrValue","noKey","isRoute","attributes","hubNameValue","concat","delSlotValue","allDates","isDateRange","continuationToken","requestContinuationToken","createDraftRoutePayload","responsePayload","slotValue","zoneValue","deliveryZones","editMode","deliveryStatuses","consignmentIds","routeType","createConsignmentReplanningPayload","reScheduled","selection","comments","commentsValue","createPayloadBundlePartialRejection","prodLineItems","bundleLineItems","rejectedBundleLineItems","createBulkDeleteRoutePayload","routes","routeIds","createGetAllDropdownsPayload","getConsignmentData","draftRouteData","areas","slots","statusKey","areaKey","areaIndex","findIndex","areaValue","slotKey","slotIndex","consignment","areaWiseConsignments","allConsignments","slotwiseConsignments","getDropdownsData","codeKey","valueKey","getTotalCrates","totalCrates","calculateTransitTime","transitTime","legs","leg","calculateTransitTimeForConsignments","consignmentIdsTransitTime","addressObj","building","apartment","zoneNumber","makani","streetNumber","streetName","city","postalCode","getCratesFromProducts","element","associatedCrates","crate","crateIndex","crateId","newCrate","splice","checkTerminalStatus","createPayloadToMarkAddressUnverified","transformBundleData","bundleProducts","transformedData","bundle","bundleObj","bundleName","en","bundlePrice","bundleProductQuantity","bundleConstituents","constituent","bundleProductName","bundleProductRejectedQty","bundleProductShippedQty","isRouteStatusOutForDelivery","transformDataForSubRoutes","plannedDate","totalConsignment","assignedVehicle","assignee","parentRouteId","actualTransitDistance","actions","actualDistance","formattedDistance","lastMilePlanningRoutesDataTransform","idToObjectMap","Map","parentObject","get","subRoutes","getDeliveryExecutionStatusField","getShippedProduct","checkIfSubstitutedProduct","getSubstitutedProductsField","getCrateDetails","orderLevelInfo","isOrderHasAssociatedCrates","scanned","locationCode","quantitiesPerCrate","processOrderLevelCrateInfo","bundledProductsCombined","flatMap","productLevelAndBundleItemLevelProducts","crateIdToQuantityMap","crateToSKUsMap","shippedProduct","isProductHasAssociatedCrates","currentQuantity","set","has","SKUs","entries","productsCountPerCrate","processProductLevelCrateInfo","addNRPageAction","actionName","featureName","fullActionName","newrelic","addPageAction","now","fetchPlanningList","searchBy","searchValue","fetchDynamicFiltersOrdersDropdownValues","filters","fetchDynamicFiltersRoutesDropdownValues","fetchDeliveryReasons","fetchDeliveryReasonsCountryBased","fetchPlanningOrderListByFilter","fetchExpressSlotDropdownValues","fetchOrderLogs","fetchSlots","fetchPlanningRouteListByFilter","fetchAllDrivers","fetchAllHelpers","fetchAllVehicles","createDraftRoute","loadAllSlots","consignmentReplanning","replanDuringPartialRejection","fetchAllPlannedRoutes","createAndEditRoute","discardRouteChanges","redirect","publishRoutes","deleteRoute","bulkDeleteRoute","updateConsignmentStatus","PUT","fetchOrdersFilterChipsDisplayCount","fetchRoutesFilterChipsDisplayCount","fetchRouteConsignments","exportToExcel","responseType","exportRoutesToExcel","exportInvoicePdf","fetchSubRouteById","fetchOrders","fetchOrderById","fetchAllPlannedRoutesNew","updateAllConsignmentsState","clearPublishedRoutesErrors","clearPublishedRoutes","resetPlanningError","clearUpdatedRoute","clearDeletedRoute","clearBulkDeletedRoute","resetCreateRouteSuccess","resetDraftRoute","resetConsignmentReplanningSuccess","clearCurrentSlot","resetAddressupdateStatus","resetPlanningData","resetViewRouteState","resetRouteConsignmentsState","resetSubrouteState","fetchConsignmentHistoryAndProducts","fetchStatusOnClick","getCratesInfo","getAddressStatus","closeDialog","resetStatusRefreshButton","resetReplanningSuccess","fetchOrderDeliveryStatuses","fetchRejectionReasons","fetchRefreshedDataForPCNotReceived","releaseAssignee","getDriverMarkerApi","tableLoading","invoiceData","invoiceUrl","displayInvoice","invoiceMessage","invoiceConsignment","exportError","cratesFromAlecto","productsListFromAlecto","orderLogs","bundleProductList","ordersFilterChipsDisplayCount","consignmentCount","PUBLISHED","routesFilterChipsDisplayCount","routCount","ordersFiltersDropdowns","deliveryAreaList","addressStatusList","deliveryZonesList","vendorList","typeList","statusList","paymentTypeList","carrierList","deliveryPropositionList","routeIdList","routeStatusList","driverList","helperList","vehicleList","undeliveredReasonList","executionStatusList","routesFiltersDropdowns","createdByList","reasonsDropdownList","deliveryReasons","ordersData","routesData","draftRoute","plannedRoutes","plannedRoutesNew","slotwisePlannedRoutes","areawiseConsignments","routeConsignments","driversList","helpersList","vehiclesList","slotsList","zoneList","consignmentStatusList","currentSlot","routeCreateSuccess","updatedRoute","routeDiscardSuccess","publishedRoutesErrors","publishedRoutes","replanningConsignmentSuccess","deletedRoute","bulkDeletedRoute","excelLoading","consignmentStatuses","productsList","orderLevelCrateInfo","consignmentDataAfterReplanning","deliverySlotListExpress","orderDeliveryStatuses","rejectionReasonList","rejectionReasons","refreshedConsFromSnapshotService","productsAfterUpdateLineItem","isPolled","consignmentIdForPolledStatus","polledConsignmentOmsData","revisedAmountAfterCalculation","calculateConsignmentSuccess","isReleaseAssignee","releaseMessage","consignmentDataAfterAddressUpdate","isAddressUpdated","availableSlots","crateInfo","driverLocationData","bundleProductAfterUpdateLineItem","routePlanningSlice","hubCodes","hubNames","addressStatuses","vendors","types","deliverySlots","paymentTypes","carriers","deliveryPropositions","routeStatuses","drivers","helpers","vehicles","undeliveredReasons","executionStatus","deliveryReasonsList","reasons","driversData","helpersData","vehiclesData","slotsData","allSlots","routeData","plannedSlots","plannedValue","getPlannedRoutesData","allRoutes","logs","publishErrorDto","totalElements","currentTime","filename","Invoices","ConsignmentNo","FileUrl","FileDataBytes","pdfData","Message","polled","crateAvailableOrders","deliverySlotListExp","rejectionReasonsList","displayStatus","orders","fullAddress","customerPhone","LOADING","SUCCEEDED","FAILED","withRouter","dispatch","useDispatch","history","useHistory","initialRender","useSelector","openSideMenuOnClick","handleDrawerOnClick","openDrawer","setOpenDrawer","afterUpdate","setAfterUpdate","openHeaders","setOpenHeaders","selectedNav","setSelectedNav","substr","setTabValue","selectedHeadergroup","setSelectedHeadergroup","setCountry","setHub","setTitle","headerState","imageUrl","setImageUrl","handleDrawerOpen","handleDrawerClose","toggleDrawer","handleUserLogout","fetchCommonDetails","handleHubChange","getActiveRoute","handleDrawerHover","handleDrawerHoverExit","handleHeaderClick","headerId","headGroup","headerIndex","redirectTabValue","selectedIndex","header","headerValues","checkOpenHeader","pathName","fetchUserDetails","sessionHubValue","ddnValues","imageData","parsedData","md","getStdDeliveryMenu","Grid","ListItem","button","onClick","ListItemIcon","stdDeliveryIcon","rightArrowIcon","Collapse","in","timeout","unmountOnExit","List","disablePadding","RouterLink","to","getExpDeliveryMenu","expressDeliveryIcon","getOfflineDeliveryMenu","DotsThreeOutlineIcon","getStoreManagementMenu","offlineDeliveryIcon","container","AppBar","Toolbar","alignItems","justifyContent","hideHubInTopMenu","SearchableMultipleDropdown","getCurrentRole","Link","Avatar","src","alt","Drawer","onMouseEnter","onMouseLeave","aria-label","allOrdersIcon","hubsIcon","usersNavLogoIcon","delveGroupIcon","NotFound","TextBox","textBoxId","endadornment","showPassword","setShowPassword","onMouseDown","htmlFor","autoComplete","left","right","bottom","alignSelf","Loader","CircularProgress","CustomSnackbar","actionText","handleClose","Alert","elevation","Snackbar","severity","loginContainer","loginValidationSchema","yup","required","resetPwdValidationSchema","oldPassword","newPassword","oneOf","loginOtpValidationSchema","UserLogin","resetPwd","openSnackbar","setOpenSnackbar","snackbarType","snackbarMessage","loginFormik","useFormik","initialValues","validationSchema","onSubmit","generateOtp","loginOtpFormik","loginUser","resetPwdFormik","resetPassword","userRecord","openSnackbarPopup","handleOpenSnackbarOnEnter","node","isAppearing","checkRedirection","setValues","setErrors","resetForm","handleSubmit","touched","Boolean","errors","Button","onEnter","autoHideDuration","fillRule","clipRule","content","tabPanelContainer","publishDialogContentContainer","deleteDialogContentContainer","hubSelectionDialogTitle","hubSelectionDialogContentContainer","publishDialogButtonsContainer","deleteDialogButtonsContainer","hubSelectionDialogButtonsContainer","publishDialogPaperPropsRoot","deleteDialogPaperPropsRoot","hubSelectionDialogPaperPropsRoot","publishErrorPopupContainer","actionsHeader","deliveryAreaHeader","statusHeaderContainer","subRouteId","excelDownloadStatus","excelDownloadStatusText","checkedIconStyle","close","closeIcon","excelDownloadError","parenRouteTag","subRouteTag","DatePickerComponent","dateRangeRef","initialSettings","setStartDate","setEndDate","onApply","outline","customBadge","datePickerIcon","verticalAlign","DateRangePickerComponent","keyId","iconSrc","minDate","updateDateRange","defaultValue","dateUpdated","setdateUpdated","setInitialSettings","getDatePickerValue","picker","datePickerValue","setDatePickerValue","handleDateRangeChange","isStartDateChanged","isEndDateChanged","readOnly","Badge","badge","invisible","filterIcon","DATE_TYPE_INITIAL_STATE","ALL_ROUTE_INITIAL_STATE","selectedDate","openPublishRouteSnackBar","snackbarPublishMessage","expandAll","plannedConsignmentsData","unplannedConsignmentsData","selectedConsignments","selectedRoute","isListView","consignmentMarkersForMap","consignmentMarkers","firstMapCordinates","lat","lng","mapCenter","mapZoom","mapPolylineMarker","polylineColor","showDriverAssignedPopup","openUpdateConfirmDialog","driverValue","helperValue","vehicleValue","subDriverValue","subHelperValue","subVehicleValue","openPublishDialog","openOrderActionPopUp","openAssignRoutePopUp","selectedConsignmentToChangeRoute","availableRouteRecord","selectedRouteObj","orderDataObj","openAddRouteConfirmDialog","openRemoveRouteConfirmDialog","openMoveOrderToNewRoute","draftedRouteDetails","totalRecords","selectedConsignmentsForSubRoute","openCreateSubRouteDialog","openDeleteSubRouteDialog","selectedRouteDeletion","selectedSubRoute","openSubRouteOrderActionPopUp","SNACKBAR_MESSAGES","mapOptionStyles","elementType","stylers","visibility","featureType","BUTTONS_TEXT","PLANNED_ROUTE_DETAILS","UNPLANNED_ROUTE_DETAILS","MARKER_URL","ALL_ROUTES_TEXT_CONTANT","arrow","CustomTooltip","Tooltip","getStatusWithoutUnderScore","replaceAll","getStatusWithUnderScore","getValueFromMetaData","qcKeyName","getReportValueFromMetaData","getDateValueFromMetaData","formatStyle","getItemsFromMetaData","statusCodeCopy","getVerificationStatusField","newStatus","createDelveOrdersFilterPayload","selectedChip","isChipClicked","selectedValue","getLatLong","latitude","longitude","getVerifiedVerificationStatusField","getReportedQtyValueFromItem","reportedQty","generateCratesObj","cratesList","_original_crates_data_obj","_original_item_issues_object","mainItem","crates_data_obj","item_issues_object","issues_reported_cost","issue_found","productQty","verifiedQty","qcStatus","issueCost","productDetails","product_details_object","effectiveUnitPrice","imgUrl","qcStatusDelivery","qcReports","reported_cost","getReportedQtyValueFromCrate","issues_cost","getItemReportedQtyForDelveOrderList","qcStatusReturn","getUnOrderedProductsFromMetaData","stateObj","createFetchRemoveOrderFromRoutesPayload","orderData","createAddOrderToAnotherRoutePayload","consignmentCodes","createAddOrdersToRoutesPayload","routeObj","request_payload","createNewRouteProceedPayload","consignmentTransitTime","creationTime","consignmentsIds","mapUnplannedOrderToDraftedRoutePayload","createNewSubRouteRequestPayload","isSubRoute","areaObj","getSlotName","slotName","firstDelSlot","getAreaTitle","substring","getAllAreaTitle","getColorBasedOnRouteIndex","colorIndex","designMapIcon","svg","blob","Blob","URL","createObjectURL","fillColor","fillOpacity","strokeWeight","strokeColor","scale","labelOrigin","designSubRouteMapIcon","designMapLabel","orderIndex","designSubrouteMapLabel","designAllRoutesStateObjectUtils","allRouteState","produce","draft","resetPlannedRouteDraft","routeDetailsObj","routeDataObj","isChecked","isOpened","isSubRoutePresent","subRouteCreated","ordersCount","sourceDetails","ROUTE_AREA","slotWiseOrders","hubMapDetails","orderObj","subRoute","parentRouteName","transformPlannedRoute","handleRouteAccordianClickedUtils","markerWithCurrentRoute","marker","handleRouteSlotAccordianToggleUtils","routeDataName","handleRoutAreaAccordianToggleUtils","handleOrderAccordianToggleUtils","orderObjIndex","validatePlannedRouteInfoUtils","routePayload","errorObj","payloadObject","updatAavailableRouteRecordUtils","updatAvailableRouteRecordForUnplannedOrdersUtils","consignmentRecord","getPaymentModeString","paymentMethod","handleConsignmentSearchUtils","noOrderFound","areaName","findPlannedConsignmentsData","objectKeysLength","areaDataObj","subAreaName","findUnplannedConsignmentsData","handleRoutAreaSubareaAccordianToggleUtils","subRouteAreaName","subRouteArea","handleSubRouteSlotAccordianToggleUtils","subRouteSlot","handleSubrouteOrderAccordianToggleUtils","subRouteOrder","validatePlannedSubRouteInfoUtils","CustomPlannedOrderActionTooltip","removeOrderFromRoute","addOrderToAnotherRoute","orderActionPopUpViewChange","ClickAwayListener","onClickAway","disableReactTree","mouseEvent","orderActionTooltipGridContainer","xs","orderActionTooltipGridItem","displayFlex","orderActionTooltipSpanStyle","orderActionTooltipBoldSpanStyle","getDeliveryAreas","getDeliverySlots","slotNameIndex","getDeliverySlotTitleView","titleName","getDeliverySlotTitle","RenderMapMarkerTitleValue","dialogHeaderSpanStyle","infoWindowCardValueSpanStyle","React","memo","viewMode","handleRouteCheckboxToggle","justify","marginAuto","marginRightFour","fontSizeFourteen","fontWeightSeven","paddingRightFour","fontSizeTweleve","fontWeightFive","paddingLeftFour","fontWeightFour","lineHeightFifteen","getAreaTitleViewWithClasses","routeBoxStyle","parentRouteBoxStyle","paddingRightEight","crateBoxIcon","crateIconStyle","isDriverAssigned","UserIconGreen","userIconStyle","UserIconGrey","userSpanStyle","handleAreaCheckboxToggle","handleDeleteRoute","justifyContentSpaceBetween","marginAutoFour","marginAutoEight","subRouteAccordianCustomStyle","subRouteBoxStyle","deleteIcon","deleteIconStyle","rescheduleOrdersIconStyle","popperStyle","arrowStyle","tooltipStyle","tooltipTitleSection","tooltipHeading","tooltipData","RescheduleOrdersIcon","handleOrderCheckboxToggle","orderSubRouteCheckboxStyle","orderNumberCircle","marginAutoZero","heightHundredPercentage","marginRightEight","SixDotsIcon","dotIconStyle","LocationIcon","locationIconStyle","lineHeightEighteen","paddingTopFour","PayWalletIcon","WalletIconStyle","routeDataNameIndex","handleRouteSlotAccordianToggle","handleRouteOrderAccordianToggle","handleSlotCheckboxToggle","toolTipClasses","orderActionTooltipPopperStyle","orderActionTooltipStyle","orderActionTooltipArrowStyle","Accordion","expanded","TransitionProps","plannedRouteInnerSlotAccordianStyle","AccordionSummary","expandIcon","plannedRouteInnerSlotAccordianSummaryStyle","plannedRouteInnerSlotAccordianSummaryStyleWithoutArea","marginLeftEight","timeSlotIcon","clockIconStyle","AccordionDetails","plannedRouteInnerSlotAccordianDetailsStyle","plannedRouteInnerOrderAccordianStyle","disableFocusListener","disableHoverListener","disableTouchListener","placement","TransitionComponent","Fade","plannedRouteInnerOrderAccordianSummaryStyle","plannedRouteInnerOrderAccordianDetailsStyle","handleRoutAreaAccordianToggle","plannedRouteInnerAreaAccordianStyle","plannedRouteInnerAreaAccordianSummaryStyle","plannedRouteInnerAreaAccordianDetailsStyle","CustomPlannedRouteView","handleRouteAccordianToggle","plannedRouteMainAccordianStyle","plannedRouteMainAccordianSummaryStyle","isAccordianSelected","plannedRouteMainAccordianDetailsStyle","showAreaViewBasedOnRouteDataName","handleUnplannedAccordianToggle","areaNameIndex","handleUnplannedInnerOrderAccordianToggle","handleUnplannedOrderCheckboxToggle","handleUnplannedAreaCheckboxToggle","handleOpenCloseUnplannedRouteSlot","handleUnplannedSlotCheckboxToggle","isAlOrdersCheckedForSlot","areaSlotWiseOrdersPresent","handleStatusChange","handleSlotChange","handleZoneChange","selectMenuPropsList","selectMenuPaperProps","CustomAllRoutesLeftSection","handleDateChange","handleTabChange","handleConsignmentIdOnChange","handleConsignmentSearch","handleChangeAllRoutesHub","handleExpandAllRecordClickMethod","handleSelectAllRoutes","getExpandCollapseView","collapseExpandGridConatinerStyle","collapseExpandGridCheckboxStyle","collapseExpandGridItemStyle","collapseExpandGridItemSpanStyle","TabContext","Tabs","Tab","filterGridContainerStyle","calendarIcon","keyCode","allRotePOSTitleSpanStyle","allRotePOSChangeSpanStyle","routeDetail","routeDetailIndex","renderRouteDetails","TabPanel","AntSwitch","withStyles","switchBase","grey","transform","white","opacity","thumb","track","Switch","getUpdatedAssigneList","handleInputChange","showPopUp","handleHideShowPopUp","toggleCreateSubroute","renderSubRouteSwitchTypography","fontWeightSix","lineHeightTwenty","dialogHeaderButtonGridItemStyle","PARENT_ROUTE","routeTitleSpanStyle","dialogHeaderValueSpanStyle","returnString","getPopUpTitle","dialogHeaderButtonGridStyle","countryAllowed","detail","storeAllowed","isSubRouteFeatureEnabled","dialogValueSpanStyle","createRef","assignDriverState","setAssignDriverState","Card","assignDriverHelperCardStyle","assignDriverHelperClosedCardStyle","DialogTitle","closeButton","children","hideCloseIcon","other","disableTypography","DialogContent","MuiDialogContent","DialogActions","MuiDialogActions","CustomDialog","PaperProps","disableBackdropClick","Dialog","aria-labelledby","MapDirectionsRenderer","places","travelMode","roundTrip","optimizeRoute","updateMap","setDirections","waypoints","place","stopover","origin","shift","destination","pop","google","maps","DirectionsService","optimizeWaypoints","DirectionsStatus","OK","suppressMarkers","CustomGoogleMap","withScriptjs","withGoogleMap","markers","defaultCenter","defaultZoom","showDirections","showInfoWindow","getRouteDetailsForInfoWindow","openInfoWindowMarkerId","googleMapState","setGoogleMapStated","zoom","center","styles","onMouseOver","markerId","onMouseOut","defaultOptions","disableAutoPan","path","strokeOpacity","geodesic","TravelMode","DRIVING","MapContainer","googleMapURL","loadingElement","containerElement","mapElement","handleCloseAssignRoutePopUp","selectRouteToAssigntoOrder","handleAssignRouteClick","assignRouteToOrderCardStyle","assignRouteHeaderSpanStyle","assignRouteMainGridStyle","routeObjIndex","assignRouteHeaderGridConatinerStyle","selectedRouteStyle","assignRouteHeaderGridItemStyle","assignRouteTitleSpanStyle","assignRouteNormalSpanStyle","assignRouteIconStyle","buttonStyle","subRouteStateObj","alternativeLabel","active","line","borderTopWidth","StepConnector","createRtContentContainer","userSelect","pointerEvents","confirmDialogButtonsContainer","confirmDialogAddressButtonsContainer","confirmDialogContentContainer","capacityBreachDialogTitle","capacityBreachDialogButtonsContainer","confirmWithTitleDialogPaperPropsRoot","confirmDialogPaperPropsRoot","addressConfirmDialogPaperPropsRoot","endSessionSelectionDialogPaperPropsRoot","endSessionSelectionDialogTitle","endSessionSelectionDialogContentContainer","endSessionDialogButtonsContainer","titleContainer","addressContent","normalTextStyle","innerOrderRouteAccordian","innerOrderRouteAccordianSummary","innerOrderRouteAccordianSummaryExpanded","buttonGridContainerStyle","noMapGridContainerViewStyle","assignRouteSubnoteSpanStyle","infoWindowCardStyle","mapFooterGridStyle","paddingLeftEight","backgroundColorAliceGray","plannedRouteInnerSubAreaAccordianSummaryStyle","expandIconLeft","deleteButton","subrouteIconStyle","fetchAllUnPlannedRoutes","createRemoveOrderFromRoute","fetchExistingRouteToAssignToOrder","createNewSubRoute","unPlannedRoutes","removedRouteData","existingRoutesList","orderStatuses","allRoutesSlice","AllRoutes","viewPublishRoute","showLoader","setShowLoader","setAllRouteState","publishDialogPaperProps","filterChangeRef","getAllSlots","handleCreateDraftRoute","updateAndResetAllRouteState","fetchComponentData","getAllDrivers","getAllHelpers","getAllVehicles","getAllPlannedRoutes","createGetAllPlannedRoutesPayload","getAllUnPlannedRoutes","createGetAllUnPlannedRoutesPayload","designAllUnPlannedRoutesStateObject","newAllRouteState","resetUnPlannedRouteDraft","areaDetailsObj","statusOrders","slotData","designAllUnPlannedRoutesStateObjectUtils","fetchConsignmentValueBasedOnTab","isAllRoutesAssignedWithDriver","isAllRoutesAssignedWithDriverUtils","updateRouteObjectAfterUpdate","successMessage","removeIndex","updateRouteObjectAfterUpdateUtils","updateRoute","updateRoutePayload","savePlannedRouteInformation","isRouteInformationValid","createUpdateRoutesPayload","publishPlannedRouteInformation","publishPayload","ids","handlePublishDialogClose","handleUpdateDialogClose","updatedList","handleOrderActionDialogClose","fetchRemoveOrderFromRoute","requestPayload","assignOrdersToRoute","getExistingRouteToAssignToOrder","getAllRoutesForSelectedUnplannedOrders","handleAssignUnplannedOrderToRoute","handleCloseMoveOrderToNewRoutePopUp","mapUnplannedOrderToDraftedRoute","showMoveUnplannedRouteToPlannedPopUp","handleCreateUnplannedOrderToRoute","createDraftUnplannedRoutePayload","assignOrdersToNewRoute","handleCloseCreateSubRouteDialog","assignOrdersToNewSubRoute","handleCloseDeleteSubRouteDialog","bulkDeletePayload","isSubRouteObjectNonEmpty","handleSubRouteUpdateDialogClose","updateSubRouteObjectAfterUpdate","updateSubRouteObjectAfterUpdateUtils","updateSubRoute","updateSubRoutePayload","savePlannedSubRoute","createSubRoutesUpdatePayload","renderDialogDetailsContent","heading","subHeading","isRouteSaveDisabled","disable","currentHelper","currentDriver","currentVehicle","isCreateSubRouteDisabled","isSubRouteSaveDisabled","isSelectedRouteParentRoute","show","arr","renderSubRouteSelectedFooterAction","handleSubRouteUpdateDialogOpen","renderRouteSelectedFooterAction","handleRouteAccordianClicked","handleUpdateDialogOpen","showCreateSubRouteButtom","handleOpenCreateSubRouteDialog","designAllRoutesStateObject","initializeRoute","allRouteStateCopy","setTimeout","getElementById","scrollIntoView","behavior","block","handleRouteCheckboxToggleUtils","handleAreaCheckboxToggleUtils","isAllSelected","handleSlotCheckboxToggleUtils","orderRecord","isAllPresent","v","handleOrderCheckboxToggleUtils","orderActionPopUpViewChangeUtils","removeOrderFromRouteUtils","handleUnPlannedAccordianToggleUtils","handleUnplannedInnerOrderAccordianToggleUtils","find_index","handleUnplannedOrderCheckboxToggleUtils","handleExpandAllRecordClickMethodUtils","handleSelectAllRoutesUtils","handleUnplannedAreaCheckboxToggleUtils","handleOpenCloseUnplannedRouteSlotUtils","handleUnplannedSlotCheckboxToggleUtils","handleToggleCreateSubrouteUtils","Box","routeIndex","selectRouteToAssigntoOrderUtils","el","getPublishDialogDetailsContent","getUpdateDialogDetailsContent","getRemoveRouteDialogDetailsContent","getAddToRouteDialogDetailsContent","newRoute","getAddToNewDraftedRouteDialogDetailsContent","createNewSubRouteRouteDialogDetailsContent","deleteSubRouteRouteDialogDetailsContent","updateSubRouteDetailsDetailsContent","filterSection","gap","exceptionsFilterSection","tableSection","searchSelect","searchTextbox","searchSelectPaperProps","MultiSearchComponent","searchTypes","searchType","handleIconClick","handleSearchTypeChange","handleSearchBoxTextChange","handleSearchBoxKeyDownChange","customHeaderUseStyles","newDashboard","total","buttonContainer","colSettings","float","buttonGridSyle","downloadIconStyle","CustomHeaderComponent","buttons","activeFilters","showHeader","getPlaceHolderText","setSearchTypeChange","searchCallback","btnClickHandler","clearAllFilterHandler","defaultFilter","disableFilterCount","showDataNextToSearchButton","renderDataForSearchSection","searchTextboxValue","setSearchTextboxValue","setOpen","anchorRef","search","handleKeyDownChange","handleListKeyDown","handleToggle","prevOpen","dateCurrent","dateDefault","isStartdateChnged","getActiveFiltersCount","activeCount","filterKey","filterValue","handleButtonClick","buttonObj","badgeContent","underline","UploadIcon","Fragment","aria-controls","aria-haspopup","xmlns","rx","cx","cy","r","Popper","Paper","MenuList","headerSection","footerSection","noRowsOverlaySection","tableContainer","newTableDashboard","tableDashboardWithTab","popoverFilter","buttonsContainer","rootIcon","paperProps","AutoComplete","newValue","handleSelectedValues","returnValue","noOptionsText","inputRef","inputProps","Filter","orderBy","defaultValues","resetAllFilter","activeFilterValues","updateFilter","activeFilter","setFilterValue","pendingValue","setPendingValue","resetFilter","setResetFilter","setAnchorEl","filterPopoverRef","filterRef","openFilterPopup","handlePopoverContentClick","handleFilterPopupOpen","currentTarget","handleFilterPopupClose","onApplyFilter","handleFilterChange","handleDateFilterChange","onResetFilter","updatePopoverRef","getFilter","Popover","transformOrigin","DataTableHeader","checkboxSelection","rowCount","columns","headerHeight","defaultFilterValues","resetAllFilterFlag","onUpdateFilter","onSort","getActiveFilterClass","col","TableHead","TableRow","TableCell","align","sortDirection","renderHeader","colDef","colIndex","customIcon","DataTableCellElement","column","rowHeight","rowData","cellClickCallback","subElement","handleCellClick","getSelection","verifiedIcon","unverifiedIcon","pendingIcon","renderTooltip","renderCell","renderSubElementCell","evenRoot","DataTableRowElement","disableSelectionOnClick","isItemSelected","rowClickCallback","rowSelectionCallback","handleRowSelection","handleRowClick","HTMLInputElement","DataTableRowWrapper","DataTable","tableRef","rows","components","ariaLabel","resetSelection","scrollToTopOnReset","isTabChange","onRowClick","onCellClick","onSelectionChange","deSelectCheckbox","defaultSelectAll","reselctSelectedCheckbox","setSelected","setOrder","setOrderBy","handleSelectAll","newSelectedRows","row","handleSelectionChange","rowId","newSelected","scrollTop","TableContainer","Table","property","newOrder","TableBody","colSpan","innerWidth","noRowsOverlay","footer","customFooterUseStyles","countSection","CustomFooterComponent","switchCasesCallbacks","GridWrapper","headerData","exceptions","headerBtnClick","fetchAllFilters","filterGrid","callOnActionOnly","filterForm","defaultFormFilter","restFilterForm","CustomFiltersApplied","resetCustomFilter","setResetCustomFilter","setFilters","setResetAllFilterFlag","setResetSelection","setSearchType","setPlaceholderText","createPlaceHoldersSwitch","_case","fn","newFilters","filterGridData","handleHeaderBtnClick","buttonParams","handleClearAllFilters","resetFilters","loadMoreCallback","debounce","offsetHeight","scrollHeight","enableLoadMore","querySelector","CustomHeader","CustomFooter","persistState","removeItem","stored","Countdown","retunObj","getInstance","startCountdown","timer","setInterval","clearTimeout","tabs","contentContainer","accordionSummary","timeline","accordionBundle","dialogPaperPropsRoot","checkbox","addressLabel","verticalDiv","pdfDocStyle","pdfHeader","pdfRoot","zoomOutStyle","zoomInStyle","pdfName","alignContent","pdfScaleNo","invoiceModalBody","closeModalIcon","modalTitle","applyModalBodyTitle","noPdfModal","closeNoPdfModalIcon","noInvoiceMsg","openX","closeX","openY","closeY","bundleProduct","itemHeader","rejectedReason","accordianVerticalDiv","titleContent","topLevelShieldCheckStyle","shieldCheckStyle","CustomBarcode","imgProps","useBarcode","selectRoot","generalReasonRoot","generalReasonIcon","bundleItemsContainer","showRejectionReason","showError","BundleProductsHeader","bundleCurrency","class","stack","BundleProductRow","bundleItem","rejectedQtyAfterSelection","setRejectedQtyAfterSelection","BundleProductsHeaderEdit","rejectBundle","BundleProducts","handleUpdatedRejectedQty","handleBundleReasonChange","setRejectQty","isBundleProduct","decodeHtmlEntities","textarea","innerHTML","Transition","Slide","UpdatePartialRejection","routePlanning","isPcNotRecieved","closePopup","handleDialogAction","generalReason","setRejections","setProducts","setBundleProducts","dialogPaperProps","square","handleDialogClose","dialogActionHandler","bundleItems","newProducts","newBundleItems","rejectionReason","validateForm","itemReason","bundleProductCopy","prod","updateProducts","checkIfDisabled","counter","getItems","productsCopyNew","handleItemReasonChange","fetchAllRejectionReasons","commonReason","productsCopy","handleCommonReasonChange","ConsignmentEdit","shippingStatus","slotItems","setSlotItem","selectedStatus","setSelectedStatus","selectedSlot","setSelectedSlot","selectedReason","setSelectedReason","setSelectedDate","setShowReason","setCommentsValue","isStatusDelivered","setIsStatusDelivered","openUpdateRejectedDialog","setOpenUpdateRejectedDialog","openPartialRejectionPopup","setOpenPartailRejectionPopup","setIsPcNotRecieved","confirmDialogPaperProps","newErrors","loadSlots","pos","zone","createPayloadGetAllSlots","filterSlot","time","filterSlots","handleReasonChange","handleCommentsTextChange","closePartialRejectionPopup","handlePartialRejectionUpdateActions","payload1","lineItems","rejectedLineItems","createPayloadForReplanDuringPartialRejection","payload2","handleReplanningForDelivered","handleCHDOrderReplanning","handleRejectedDialogClose","updateRejectedDialogActionHandler","handleCHDStatuses","dateObj","multiline","warning","warningIcon","pdfjs","GlobalWorkerOptions","workerSrc","version","ConsignmentDetails","isFromViewRoute","isEditIcon","handleTimerInstances","timerStarted","setShowTime","pullTimeForRefresh","remainingTime","setRemainingTime","timersValue","setTimersValue","toggleCustMap","setToggleCustMap","toggleSellerMap","setToggleSellerMap","openConsignmentEditPopup","setOpenConsignmentEditPopup","numPages","setNumPages","showOriginalName","setShowOriginalName","showInvoiceModal","setShowInvoiceModal","setScale","scaleNumber","setScaleNumber","isCrateInfo","setIsCrateInfo","isCratesAvailable","setIsCratesAvailable","addressVerified","setAddressVerified","openAddressPopup","setOpenAddressPopup","dataAfterOmsPull","setDataAfterOmsPull","custInfo","custGeoLocation","sellerGeoLocation","posInfo","historyItems","totalNumberOfItems","cratesDetailsFromAlecto","addressStatusAfterUpdate","isCheckboxDisabled","deliveryInformationAfterAddressUpdate","custInfoAfterAddressUpdate","handleStatusHistoryAndProducts","handleDeliverySlotsForExpress","latLng","contactInfo","deliveryProof","executedLocation","handleTrackingLink","trackingUrl","carrierTrackingUrl","onDocumentLoadSuccess","checkEditable","clsx","getCustomerImages","imageURLs","image","closeConsignmentEditPopup","handleEditPopup","handleInvoiceModalClose","handleAddressDialogClose","handleMarkAddressVerified","updateAddressDialogActionHandler","handleInvoicePdf","paramsInvoice","consignmentNo","handleCratesInfoFromAlecto","storeCode","consignmentCodePosCodeMap","createCratesInfoPayload","prevTime","countdownInstance","handleOrderLogs","secureInfo","isVerified","ShieldCheck","editIconNew","checkRefreshableStatus","refreshIconNew","refreshIconGrey","carrierTrackingId","orderReference","getTitleContent","locationIcon","mobileLogoIcon","emailLogoIcon","FormControlLabel","control","paymentStatus","deliveryInstructions","htmlColor","signURL","Timeline","TimelineItem","TimelineSeparator","TimelineDot","errorTimelineDot","activeTimelineDot","timelineDot","TimelineConnector","TimelineContent","statusName","toLocaleDateString","Divider","deliveryCost","estimatedCrates","displayValue","crateStageLocationIcon","crateNotAvailableOrders","updatedAt","getDetailsContent","Modal","zoomOutIcon","zoomOut","zoomInIcon","zoomIn","file","onLoadSuccess","noData","RoutePlanning","componentClasses","onLoadRef","showTime","navigatedFromPublish","setNavigatedFromPublish","ordersListToShow","setOrdersListToShow","routesListToShow","setRoutesListToShow","ordersSearchValue","setOrdersSearchValue","routesSearchValue","setRoutesSearchValue","isOrderSearched","setIsOrderSearched","isRouteSearched","setIsRouteSearched","consignmentData","setConsignmentData","isDisplayCount","setIsDisplayCount","openConsignmentDetailsPopup","setOpenConsignmentDetailsPopup","activeOrdersFilterChip","setActiveOrdersFilterChip","persitedRouteFilterChip","activeRoutesFilterChip","setActiveRoutesFilterChip","selectedRoutes","setSelectedRoutes","bulkDeleteClicked","setBulkDeleteClicked","setIsTabChange","lastTabClicked","setLastTabClicked","hubForRoutes","setHubForRoutes","hubNameForRoutes","setHubNameForRoutes","setOpenPublishDialog","openDeleteDialog","setOpenDeleteDialog","editRoute","setEditRoute","viewRoute","setViewRoute","createRouteHub","setCreateRouteHub","openCreateRouteHubSelectionPopup","setOpenCreateRouteHubSelectionPopup","createRoute","setCreateRoute","routeToBeDeleted","setRouteToBeDeleted","openPublishErrorMsgPopup","setOpenPublishErrorMsgPopup","routeState","setRouteState","newHeader","ordersTableWrapperData","setOrdersTableWrapperData","handleEditRouteIconClick","editIcon","handleDeleteRouteIconClick","routesTableWrapperData","setRoutesTableWrapperData","routesTableInitialData","ordersActiveFilters","setOrdersActiveFilters","persitedRouteData","routesActiveFilters","setRoutesActiveFilters","renderExcelProgress","setRenderExcelProgress","setIsExpress","deleteDialogPaperProps","createRouteHubSelectionDialogPaperProps","fetchDynamicFilters","handleHeaderButtonsDisableState","btn","handleHeaderButtonsHideState","handleLoadMoreDisableState","loadMoreState","getFilterChipsCount","updatedPayload","attr","ordersFilterCallback","isChipFilterClicked","payloadFilters","handleExcelExport","routeFilterRequestDto","createRoutesPayloadForExcelExport","orderFilterRequestDto","createPayloadForExcelExport","routesFilterCallback","handleConsignmentReplanningReset","handleHubSelectionDialogClose","handleClearCurrentSlot","hubSelectionDialogActionHandler","handleHubChangePopup","handleOrdersHeaderButtonClick","btnObj","handleConsignmentCellClick","selectedRow","selectedConsignment","handleRouteCellClick","closeConsignmentDetailsPopup","handleRoutesHeaderButtonClick","handleDeleteBulkRouteButtonClick","delSlot","handleDeleteDialogClose","handleBulkOrSingleDelete","handleBulkDelete","deleteRouteDialogActionHandler","handlePublishRoutes","publishRoutesDialogActionHandler","handleSnackbarClose","handleProgressClose","handleSnackbarExited","handleChipFilter","hederTemp","updateSelectedRoutes","getFilterChips","handlePublishErrorPopupClose","handleBeforeUnload","parentRoute","selectedChipValue","ordersHeaderData","routesHeaderData","hubsToAdd","globalHubApplied","p","updatedFilters","hubValueIndex","TabIndicatorProps","updatedSearchValue","searchKey","globalTimeForRefresh","checkIcon","onExited","StepperTimelineConnector","timelineStepper","listViewTimeline","viewModeSubroute","flexWrapNoWrap","ry","CreateRouteConstant","CreateRoute","classes2","useStyleNew","shouldBlockNavigationRef","autoRefreshMapRef","hubNameRef","countDownInterval","refreshInterval","createRouteState","setCreateRouteState","mapCenterState","setMapCenterState","autoRefreshMap","setAutoRefreshMap","optimizeMapRoute","setOptimizeMapRoute","setUpdateMap","noRedirect","setNoRedirect","shouldBlockNavigation","setShouldBlockNavigation","setIsListView","draggingItem","setDraggingItem","toggleAllDropdownExpanded","setToggleAllDropdownExpanded","mapMarkers","setMapMarkers","consignmentsSequence","setConsignmentsSequence","lastSequenceNumber","setLastSequenceNumber","openDiscardConfirmDialog","setOpenDiscardConfirmDialog","openDateChangeConfirmDialog","setOpenDateChangeConfirmDialog","setOpenUpdateConfirmDialog","openCapacityBreachConfirmDialog","setOpenCapacityBreachConfirmDialog","capacityBreachPopupMsg","setCapacityBreachPopupMsg","consignmentExpanded","setConsignmentExpanded","searchedConsignmentExpanded","setSearchedConsignmentExpanded","consignmentSearchValue","setConsignmentSearchValue","setStatusValue","setSlotValue","setZoneValue","setDriverValue","setHelperValue","setVehicleValue","routeDriverValue","setRouteDriverValue","routeHelperValue","setRouteHelperValue","routeVehicleValue","setRouteVehicleValue","isPlannedRoute","setIsPlannedRoute","selectableConsignments","setSelectableConsignments","checkedConsignments","setCheckedConsignments","setSelectedRoute","addressAfterUnverrified","setAddressAfterUnverrified","selectedCode","setSelectedCode","setSelectedConsignments","isExpressFlow","setUnplannedConsignmentsData","setPlannedConsignmentsData","openReleaseDialog","setOpenReleaseDialog","openReleaseSnackbar","setOpenReleaseSnackbar","setCurrentDate","singleEntryVehical","confirmWithTitleDialogProps","initialSteps","NORMAL_ROUTE","getSubRoutes","handleResetViewModeState","getRouteConsignments","handleReleaseDialogClose","handleReleaseAssigneeSelection","createPayloadToReleaseAssignee","handleRefreshPlannedRoutes","setExpandedConsignments","isSearch","expandedConsignments","debounceConsignmentSearch","searchedConsignments","consignmentValue","addressValue","handleSearchedAccordionChange","handleChangeRoute","getViewModeConsignments","renderConsignmentItem","consignmentItem","handleConsignmentDetailsClick","cratesIcon","getAllSelectedConsignments","updateAllConsignments","updateConsignments","toggleListView","handleConsignmentAccordionChange","itemObj","isSlot","isExpanded","idIndex","allSlotItems","checkExpanded","idsToCheck","itemId","calculateCapacityBreach","capacityBreach","selectedVehicle","allSelectedConsignments","orderCapacity","crateCapacity","updateHighlightSearch","handleConSelectChange","previous","selectable","selItem","defaultConsignments","allPreviousSelectedConsignments","currentSlotPreviousConsignments","con","difference","updateOrderStatus","createUpdateOrderStatusPayload","addSequence","seqParams","sequencedCons","allSequencedCons","isNew","lastSeqNo","newSequencedCons","seq","cons","handleConsignmentSequense","handleCheckboxToggle","currentArea","currentIndex","newCheckedConsignments","alreadySelectedCons","handleRouteSelection","getSelectedValue","disableCheckboxForPlanned","getChangeDialogTitleContent","handleDiscardDialogClose","handleChangeDialogClose","handleDiscardRoute","discardDialogActionHandler","handleCapacityBreachDialogClose","getSeqSortedSelectedConsignments","seqSelectedConsignments","getConsignmentRecord","automatedRoute","isAllConsignmentsSame","isParentRoute","selectedDriver","selectedHelper","createRouteCreationPayload","capacityBreachDialogActionHandler","handleCreateRoute","isCreateClicked","getCapacityBreachPopupMsg","updateDialogActionHandler","getDriverMarker","driverDetails","TrcukFilledIcon","driverIds","driverMarker","getAllSelectedConsignmentsMarkers","countryCodeValue","selectedHub","mapHubIcon","wayPoints","padStart","mapItemIcon","dockAddressDetails","dockAddress","dockId","transferPointIcon","getDocAddressMarkerDetails","handleRefreshMap","latLngIndex","fetchDriverLocation","refereshTimer","milliSecond","timeValue","millis","millisToMinutesAndSeconds","refereshScreen","markersRecord","driverMarkerIndex","changeDialogActionHandler","getSelectedAreas","forTooltip","selectedAreas","getSelectedAreasTooltip","getDraftSelectedAreas","getSelectedDeliverySlots","selectedSlots","getSelectedSlotsTooltip","getDraftSelectedDeliverySlots","getCurrentSelectedDate","checkEditRouteExtraConsignments","disableCreateRt","handleOrderStatusOnUnload","onConsignmentsDragEnd","droppableId","updatedConsignments","deletedItem","toggleAllDropdowns","allAreasAndSlots","allAreas","getAllAreasAndSlots","getCurrentAreaConsignments","areaCode","getAreaTotalCrates","allAreaConsignments","getAreaTotalConsignments","getTransitTime","transitTimeSecs","getUpdatedDdnList","checkUnselectVisibility","getListViewSubRouteTimelineItems","areaTimelineIcon","orientation","flexItem","walletIcon","mobileIcon","getCustomSubRouteTimelineItems","routeSelected","subRouteSelected","getDockAddressObject","dockAddressObject","timeInterval","clearInterval","screenTimerInterval","wayPointsOrder","waypoint_order","selectedWaypoints","newSequence","wp","newChecked","extraConsignments","checkedConsForSeq","newConsignments","currentSlotValue","transformedConsignments","seqConsignments","newConsignment","transformRouteConsignments","when","refreshIcon","areaItem","dangerouslySetInnerHTML","__html","consignmentsIcon","slotItem","lockIcon","getDraftSelectedAreasTooltip","infoErrorIcon","getDraftSelectedSlotsTooltip","infoWarningIcon","onDragStart","onDragEnd","ignoreContainerClipping","provided","Stepper","droppableProps","innerRef","connector","hidden","Step","StepLabel","StepIconComponent","draggableId","draggableProps","dragHandleProps","docAddress","dockName","generateDocaddress","mapViewIcon","listViewIcon","disableOptimizeMapRoute","disableEditRt","alertIcon","isSVT","createVTOrderReplanningPayload","vtOrderReplanning","fetchVTSlotDropdownValues","fetchVTStatuses","updateCustomerAddress","updateAddressSuccess","valetTrolleySlice","vtOrdersFilterChipsDisplayCount","vtStatuses","vtReplanningConsignmentSuccess","isUpdateAddress","deliverySlotListVT","updatedCustomerAddress","horizontalDiv","UpdateCustomerAddress","inputValidationSchema","min","test","parent","getInitialValues","inputFormik","ValetTrolleyOrderDetailsEdit","valetTrolley","handleVTOrderReplanning","fetchAllDeliveryReasons","handleVTStatuses","ValetTrolleyOrderDetails","shallowEqual","openCustomerAddressPopup","setOpenCustomerAddressPopup","openInfoSnackbar","setOpenInfoSnackbar","infoSnackbarType","infoSnackbarMessage","updatedAddress","closeUpdateAddressPopup","updateNewAddress","createPayloadForUpdatingCustAddress","handleUpdateActions","handleDeliverySlotsForVT","overflowWrap","handleSearch","handleDriverChange","handleRouteDriverChange","handleHelperChange","handleRouteHelperChange","handleVehicleChange","handleRouteVehicleChange","previousConsignments","previousCons","consignmentsAdded","getDiscardRoutePayload","handleDiscardChanges","handleUpdateRoute","handleUpdatePlannedRoute","selectedSeqConsignments","handleOptimizeMapRoute","onConsignmentsDragStart","getMapCenter","handleEditRoute","getAreawiseConsignments","routeItem","userIcon","isCHD","fetchCarrefourDeliveryStatuses","fetchCHDSlotDropdownValues","carrefourDeliverySlice","historyAndProducts","chdReplanningConsignmentSuccess","carrefourDeliveryStatuses","deliverySlotListCHD","prodRes","newResp","transformProductsResponse","CarrefourDeliveryOrderDetailsEdit","carrefourDelivery","CarrefourDeliveryOrderDetails","console","log","handleDeliverySlotsForCHD","fetchCodReconciliation","reconciliationSlice","codReconciliationCount","pendingAmount","expectedAmount","shortage","handedOver","excess","amountsByPlannedDate","formattedDates","filteredDays","totalAmounts","emptyRes","responseObj","transformDateWithEmptyValues","filteredValues","transformDates","barChart","BarCharts","days","seriesObj","showLegend","config","series","colors","chart","toolbar","dataLabels","enabled","legend","horizontalAlign","radius","offsetX","offsetY","plotOptions","bar","columnWidth","barHeight","endingShape","xaxis","categories","tickPlacement","yaxis","crosshairs","dashArray","tickAmount","labels","formatter","grid","strokeDashArray","itemMargin","mainContainer","infoText","accordion","accordionStyle","accordionTitle","expectedAmtText","daysText","dataDivs","boxSizing","amountCounts","firstAmountDiv","secondAmountDiv","amountStatusText","amountStatusData","amountStatusSummaryData","orderStatusBottonIcon","orderStatusBottonIconCollected","orderStatusBottonIconHandedOver","orderStatusBottonIconPending","orderStatusBottonIconExcess","orderStatusBottonIconShortage","BARCOLORS","ReconciliationDashboard","codReconciliation","setExpanded","subtract","showLastSevenDays","setShowLastSevenDays","handleCreateCodReconciliation","infoIcon","defaultExpanded","ExpandMoreIcon","createPerformancePayload","fetchFiltersDropdownValues","fetchPerformanceParameters","fetchRouteParameters","fetchRouteGlobalParams","fetchConsignmentsSlots","fetchRoutesSlots","routesInitialState","onTimePercentage","handOverOnTimePercentage","unPlannedConsignments","globalStateCount","slotWise","performanceData","countsData","percentageData","volumeData","paymentWise","filtersDropdowns","orderTypeList","performanceParams","transformedSlots","deliveryTypeWise","routesGlobal","totalRoutes","performanceSlice","ontimeValue","roundedOntimeValue","handOvervalue","roundedHandoverValue","transformedPerformance","routesTransformedPerformance","subTitle","slotsSelect","tilesView","cratesMainDivStyle","mainDivSearchColumn","inputBoxFontStyle","searchStyle","inputRounded","tableDataRow","tableHeadStyle","tableDataRowActive","tableDataFirstRow","tableDataRowCell","tableDataRowCellActive","gridRow","SlotDropDownButtonStyle","SlotOpenDropDownStyle","collapseTableCell","collapseTableCellDiv","collapseTableHeaderCellFirst","collapseTableHeaderCell","collapseTableDataRow","collapseTableDataRowCellEmpty","collapseTableDataRowCell","noRowsSection","noRowsText","loadingTable","translate","statusTitle","statusData","progressText","linearProgressRoot","linearProgress","linearProgressBarRoot","linearProgressColorDefault","linearProgressBarColor","linearProgressBarColorInProgress","loadingDiv","loadingDivInner","spanStyle","handoverPercent","ontimePercent","headStyles","table","visuallyHidden","clip","tableHeaderRow","tableRowHeaderCell","tableRowCell","tableHeadRowCell","gridRowSelected","infoIconStyle","progressStyles","LinearProgressWithLabelPro","LinearProgress","barColorPrimary","LinearProgressWithLabel","HubsRow","progressClasses","hover","tabIndex","scope","SlotOpenDropDownOpen","SlotOpenDropDown","collapseTable","Unplanned","Delivered","Cancelled","onTimePercentageWithAllConsignments","onTimePercentageWithAttemptedConsignments","headCells","numeric","sortable","showIcon","iconText","EnhancedTableHead","headCell","HubsGrid","headClasses","hubKPI","hubDataIndex","emptyRows","fetchFiltersHubWise","fetchConsignmentsSlotsHubWise","fetchHubWiseData","hubWiseSlice","hubWiseDataLoading","hubWiseDataList","hubWise","createHubWisePerformancePayload","HubwiseDashboard","setCategory","setOrderType","setSlots","rowsPerPage","pageNo","isThroughHandler","setIsThroughHandler","handleConsignmentsSlots","updatedParams","handleHubWisePerformanceParameters","selectedCategory","orderTypeValue","deliverySection","totalText","consignmentText","consignmentPercent","subText","statusTiles","planned","outDelivery","full","unplanned","undelivered","globalStatusTiles","statusTilesTitle","routeStatusTilesTitle","tiles","tileContent","deliveryText","details","subDivision","subDivisionHandover","subDivisionOntime","deliveryTiles","deliveryTileContent","deliveryTilesText","subContainer","firstSubContainer","subDiv","chartDiv","firstTileSection","secondTileSection","switchStyle","graphDivision","tabStylePerformance","tabStyleVolume","horizontalLine","statusText","totalData","onTimeData","lateData","atRiskData","driversTitle","driversSubTitle","pieDivision","inProgress","completed","unplannedSection","warningUnplanned","unplannedText","AreaChart","curve","fillTo","gradient","shadeIntensity","opacityFrom","opacityTo","stops","dashboardChartStyle","DonutChart","pieData","pieLabel","pieColors","donutLabel","chartOptions","pie","donut","showAlways","w","globals","seriesTotals","dropShadow","onDatasetHover","highlightDataSeries","PieChart","floating","BARCOLORS_PERFORMANCE","BARCOLORS_VOLUME","DONUT_COLORS","PIE_COLORS","DONUT_LABELS","PIE_LABELS","ConsignmentsDashboard","performance","setIsChecked","Total","OnTime","Late","stacked","RoutesDashboard","WarningIcon","PerformanceDashboard","isRouteView","setIsRouteView","handleConsignmentPerformanceParameters","handleCreateRoutePerformanceParameters","handleConsignmentsForDefaultValues","handleCategoryValue","handleCreateConsignmentsSlots","handleCreateRouteSlots","selectedOrderType","customDialogPaperPropsRoot","dialogDetailsContentContainer","dialogDetailsActionContainer","generateUsername","queryString","fetchAddUserDropdownValues","fetchUsersByFilter","createUserInUaeService","fetchCountryUrl","updateUserInUaeService","createUserViaSA","bulkUpdateUsers","updateUser","usersResetPwd","endActiveSession","clearList","resetUsersResetPwd","resetUsersError","resetUserCreationStatus","resetUserUpdationStatus","setLoggedInUser","exportUserInformationToExcel","bulkDeleteUser","fetchUsersBuildVersion","UsersSlice","userUpdateStatus","userCreationStatus","userCreationMsg","userRegisteredStatus","suggestedUsername","userUpdateMsg","endSession","addUserDropdowns","rolesList","userTypeList","deliveryTypeList","vehicleTypeList","vendorListStd","buildVersionList","phonePrefixesList","suggestions","roleCountryMap","countryHubMap","expressCountryVendorMap","standardCountryVendorMap","phonePrefixes","phonePrefix","transformSelectValuesForPhonePrefixes","userTypes","userStatus","deliveryTypes","vehicleTypes","transformSelectMenuValue","fontWieght","UserDetails","user","users","openEndSessionDialog","setOpenEndSessionDialog","tableRecord","hubItems","handleOpenEndSessionDialog","handleEndSessionSelectionDialogClose","handleEndSessionSelection","fetchUserRoleAccess","canAccess","selectedRole","currentRoleIndex","accessibleRoles","checkUserRoleAccess","userProfileIcon","emailVerified","lastModifiedTime","lastLoginTime","hubItem","userId","customCountryRecord","isOpenStates","setIsOpenStates","getCountryName","countryObject","record","itemIndex","newOpenStates","prevStates","handleExpandClick","flat","checkerStringArr","newRecord","valueIndex","hubRecord","missedValue","hubChipContainer","is","then","notRequired","otherwise","prefix","of","editPwdValidationSchema","expressDriverValidationSchema","deliveryTypeValidationSchema","UserAddOrEditDetails","isEdit","resetFormFlag","setResetFormFlag","userTypeState","setUserTypeState","emailState","setEmailState","setIsDriver","userState","setUserState","checkCountry","phoneNumber","codeValue","isPrefixPresent","trim","omit","validate","disableGenerateUserIdBtn","generateUserId","generateIdPayload","objectValue","emptyFound","debounceFormikValues","setFieldValue","getRoleListRecord","excludedRoles","handleStateChange","persist","generateCountryHubDetails","handleCountryChange","countryValue","setFieldTouched","handleRoleChange","handleCountriesChange","hubsRecord","countryHub","some","ResetPwd","Users","listToShow","setListToShow","userData","setUserData","userSearchValue","setUserSearchValue","openUserDetailsPopup","setOpenUserDetailsPopup","openUserAddPopup","setOpenUserAddPopup","openUserResetPwdPopup","setOpenUserResetPwdPopup","setIsEdit","handleEditUserIconClick","handleUserDeleteIconClick","tableWrapperData","setTableWrapperData","setActiveFilters","openDownloadUserDataPopUp","openUserDeletePopUp","userRowData","userManagementState","setUserManagementState","isBtnHidden","setUserDataOnClick","filterCallback","requestContinuation","selectedUser","handleDeleteBulkUserDialogClose","handleDeleteUserAction","usernames","successfullyDeletedUsers","closeUserDetailsPopup","closeUserAddPopup","handleSessionExpired","isDriverOrHelper","updateUserdata","payloadUAE","openUserUpdatePopup","handleAddUser","handleUserUpdateActions","closeUserResetPwdPopup","handleUserResetPwd","handleUserResetPwdActions","handleSnackbarOnExited","handleDownloadUserDataDialogOpen","handleDownloadUserDataDialogClose","currentHubDetails","permissions","assignedRole","lastMileUserDataTransform","venderExpress","vendorStandard","updatingArr","origArr","unionBy","headerDataWithoutActions","searchKeys","searchPayload","handleDownloadUserDataDialogContent","handleDownloadUserDataAction","handleDeleteBulkUserDialogContent","networkHandlerDelve","fetchConsignmentUnOrderedProducts","delveSlice","delveConsignmentCount","unOrderedProductsList","dashboardTabRootStyle","dashboardTabPanelRootStyle","verifiedCrate","unverifiedCrate","cratesOrderDetailsSummaryDiv","cratesOrderDetailsHeadingSpanStyle","wordBreak","cratesOrderDetailsValueSpanStyle","cratesOrderDetailsVerifiedSpanStyle","cratesOrderDetailsUnVerifiedSpanStyle","cratesOrderDetailsIconStyle","detailsItemContent","detailsItemContentDivStyle","detailsItemContentLabelStyle","detailsItemContentValueStyle","cratesOrderDetailsIssueFoundspanStyle","issueItemDetailsDiv","issueDetailsMainCard","issueItemDetailsCard","paddingLeftStyle","cratesOrderDetailsPartialVerifiedSpanStyle","itemSummaryAccordianDetailsStyle","itemSummaryHeaderGridItemStyle","itemSummaryHeaderContainerDivStyle","itemSummarySunstitutedContainerDivStyle","itemSummaryHeaderItemDivStyle","itemSummaryHeaderItemValueDivStyle","itemSummaryItemDetailValueDivStyle","itemSummaryHeadingValueSpanStyle","itemSummaryHeadingResultSpanStyle","itemSummarySubHeadingBoldSpanStyle","itemSummarySubHeadingBoldUnderlineSpanStyle","itemSummarySubHeadingSpanStyle","itemSummaryVerifiedCrate","itemSummaryUnverifiedCrate","itemSummaryFooterMainContainerDivStyle","itemSummaryFooterMainItemDivStyle","itemSummaryFooterMainItemDivLastChildStyle","borderTopStyle","itemSummaryFooterGridContainerStyle","itemSummaryFooterLeftGridItemStyle","itemSummaryFooterRightGridItemStyle","itemSummaryFooterValueSpanStyle","itemSummaryFooterValueBoldSpanStyle","handleOriginalName","getRejectionReason","getItemNameForDelveOrderList","getItemSQtyForDelveOrderList","getItemShippedQtyForDelveOrderList","getItemPrice","getItemStatusForDelveOrderList","qcReportsReturn","reportedReasonDescription","qcReportsDelivery","getReasonDescription","updateToggleSellerMap","updateToggleCustMap","crates_details_object","show_reported_item_view","key_name","key_name_index","getStatusText","returnedCost","issue_key","issue_key_index","keyNameIndex","item_index","DelveOrderDetails","delveOrderList","unOrderedProductsRecord","orderDetailsState","setOrderDetailsState","reported_item_view","set_reported_item_view","designProductAndCratesObject","sortedProducts","issueProducts","returnedProducts","deliveryProducts","getSortedProducts","data_obj","reportedReasonCode","handle_close_reported_item_view","DELVE_ORDER_LIST_STATE","DelveOrderList","delveOrderListState","setDelveOrderListState","tabName","payloadFilters2","createChipsCountFilterPayload","newPayload","readyToDispatchDateRange","clearDelveSessionStorage","consignmentStatus","readyToDispatchDate","totalItems","verifiedBy","verificationDate","verificationStatus","verifiedItems","verificationTime","issues","delveOrdersDataTransform","returnTabHeaderData","filterChips","issue_count","status_name","combine_partially_verfied__and_verified_issues","fetchStatusForTracking","fetchSlotForTracking","fetchRouteDetails","routeTrackingSlice","allRouteStatus","transformIntoArray","slotResult","formattedSlotsList","routeKey","newResponse","slotsWiseData","slotWiseConsignments","slotsInfo","scrollableContainer","searchImage","newStatusIcon","readyToDispatchStatusIcon","legendsContainer","createdStatusIcon","assignedStatusIcon","preparingStatusIcon","outForDeliveryStatusIcon","onHoldStatusIcon","pendingDeliveryStatusIcon","deliveredStatusIcon","partiallyDeliveredStatusIcon","completedStatusIcon","returnedStatusIcon","preparedStatusIcon","cancelledStatusIcon","failedStatusIcon","statusContainer","routeDetailsContainer","routeDetailsSection","routesSection","routeIdText","draftRouteStatus","createdRouteStatus","assignedRouteStatus","preparingRouteStatus","outForDeliveryRouteStatus","completedRouteStatus","publishedRouteStatus","preparedRouteStatus","cancelledRouteStatus","tooltipContainer","tooltipSection","addressInfoTooltip","subSectionContainer","subSections","icons","iconsData","slotSection","slotText","slotsContainer","swipeIconStyle","deliveredStatus","undeliveredStatus","consignmentDetailsSection","consignmentsSection","slotWiseText","slotWiseItem","generatedSlotsContainer","newConsignmentStatus","readyConsignmentStatus","preparingConsignmentStatus","preparedConsignmentStatus","outForDeliveryConsignmentStatus","onHoldConsignmentStatus","pendingConsignmentStatus","deliveredConsignmentStatus","partialConsignmentStatus","cancelledConsignmentStatus","returnedConsignmentStatus","failedConsignmentStatus","viewMoreButton","errorContainer","routesCount","RouteTracking","routeTracking","routesStatus","setRoutesStatus","setSearchValue","consignmentDataObj","setConsignmentDataObj","setLoadMore","handleRouteDetailsWithConsignments","payloadWithoutSeachAttribute","payloadWithSeachAttribute","createRouteDetailsPayload","handleSearchByRouteId","searchValueText","handleKeyPress","getConsignmentStatus","newConsignmentStatusIcon","readyConsignmentStatusIcon","preparingConsignmentStatusIcon","preparedConsignmentStatusIcon","onHoldConsignmentStatusIcon","pendingConsignmentStatusIcon","deliveredConsignmentStatusIcon","partiallyDeliveredConsignmentStatusIcon","cancelledConsignmentStatusIcon","failedConsignmentStatusIcon","slotFilterCallback","createPayloadForSlots","updatedSlotFilters","activeStep","ValetTrolley","deletePayload","lastMileVTOrdersDataTransform","lastMileVTRoutesDataTransform","fetchHubDetails","createNewHub","fetchAddHubCountryDropdownValues","updateHubDetails","resetHubCreationStatus","resetHubUpdationStatus","hubsData","hubCreationStatus","hubCreationMsg","hubUpdateStatus","hubUpdateMsg","hubsStyles","HubAddOrEditDetails","hubStatus","HubDetails","latLong","hubsListToShow","setHubsListToShow","handleEditHubDetailsIconClick","openHubAddPopup","setOpenHubAddPopup","setHubData","openHubDetailsPopup","setOpenHubDetailsPopup","setHubDataOnClick","handleHubCellClick","closeHubDetailsPopup","handleHubDetailsActions","openHubUpdatePopup","createHubDetailsPayload","handleAddHub","createAddHubPayload","updateHubdata","createEditHubPayload","handleHubUpdateActions","closeHubAddPopup","handleHeaderButtonClick","lastMileHubDataTransform","newDataValue","regenerateQR","POSSlice","regeneratedQRCode","closedDetails","isQRRegenerated","qrImageSection","qrImage","PosDetails","hubQRImage","POSManagement","posListToShow","setPosListToShow","viewIcon","hubQRImagePath","fetchCNCStatuses","cncReplanning","clickAndCollectSlice","cncFilterChipsDisplayCount","PACKED","READY_TO_COLLECT","COLLECTED","UNCOLLECTED","collectionHubCodeList","collectionHubNameList","collectionSlotList","cancellationReasonList","cncStatuses","cncReplanningSuccess","cncDataAfterReplanning","collectionHubCodes","collectionHubNames","pickUpSlots","getCNCConsignmentStatusesField","isCNC","createCNCReplanningPayload","cncStatus","clickAndCollect","handleCNCReplanning","handleCNCStatuses","pickupInformation","pickUpContactInfo","pickUpInformation","pickupSlot","companyName","CNCConsignmentEdit","ClickAndCollect","cncConsignmentData","setCncConsignmentData","openCNCConsignmentDetailsPopup","setOpenCNCConsignmentDetailsPopup","collectionDate","closeCNCConsignmentDetailsPopup","CNCConsignmentDetails","CarrefourDelivery","CarrefourDeliveryOrdersDataTransform","CarrefourDeliveryRoutesDataTransform","AccessDenied","fetchConsignmentHistory","fetchDriversList","assignDriverManually","errorResponse","downloadOrderLogs","fetchExpressOrderDeliveryStatuses","fetchBundleProducts","expressOrderReplanning","submitOrderComments","resetBundleList","ADDRESS_STATUS_TEMP","expressSlice","activityList","orderStatusList","driverAssigned","orderCommentsList","orderCommentsReasons","orderCommentsAfterSubmit","areOrderCommentsAdded","productList","activities","infoSection","TextConstants","iconDownlod","backdropFilter","orderCommentsContainer","getActionItem","driverStatusField","getOrderStatusField","createExpressOrderReplanningPayload","comment","createPayloadForReasons","rejectionType","confirmDialogTitleContainer","ExpUpdatePartialRejection","expressDashboard","openExpUpdateRejectedDialog","setOpenExpUpdateRejectedDialog","metadataAfterReplanning","handleOrderReplanning","updatedReason","fetchReasons","fetchDeliveryFailedReasons","handleExpressOrderStatuses","EDIT_CONSIGNMENT_TITLE","CONSIGNMENT_WARNING","REJECT_ITEMS_TITLE","REJECT_ITEMS_CONTENT","REJECT_ITEMS_CONTENT_DESC","ExpressOrderDetails","handleDownloadLogs","getRapydActivityImage","openExpressOrderEditPopup","setOpenExpressOrderEditPopup","setItems","setTotalNumberOfItems","crateDetails","setCrateDetails","deliveryAttemptReasons","handleOrderStatusHistory","deliveryAttempts","deliveryAttemptsLength","statusAfterReplanning","fetchExpressBundleProducts","itemLength","bundledProducts","handelCancel","handleSubmitOrderComments","desc","description","createPayloadToSubmitOrderComments","handleOrderComments","validationSchemaComment","isPaymentReceived","REASON_ATTEMPTED_DELIVERY","deliveryGroupStatus","downloadLogsIcon","ADD_COMMENT","ADDITIONAL_INFO","getOrderComments","ExpressOrderEdit","mycontentContainer","unassignedStatusIcon","DriverAssignment","deliveryTime","setSelectedIndex","isDriverSelected","setIsDriverSelected","fetchDriversLists","createPayloadToFetchDriverList","manuallyAssignDriver","selectedItem","createPayloadToAssignDriver","getDriversList","at","handleListItemClick","wordWrap","bikeIcon","carIcon","proximityToHub","clockIcon","checkinTime","checkTimeString","d2","toISOString","utc","getWaitTimeForDriver","hubCheckInTime","assignments","searchedDriverList","preferredVehicle","bikeCircledIcon","carCircledIcon","promiseDeliveryTime","totalWeight","handleAssignDriver","Express","hubCountryCode","RapydIcon","openDriverAssignmentPopup","setOpenDriverAssignmentPopup","payloadForCount","closeDriverAssignmentPopup","createdAt","promiseTime","deliveryActualTime","actualTransitTimeInMin","undeliveredReason","expressOrdersDataTransform","fetchDriversListByFilter","fetchDriversFilterChipsDisplayCount","releaseDriver","fetchDriverActivityLogs","markDriverAway","updateAssignmentMode","DriversSlice","driversFilterChipsDisplayCount","driverStatusCount","driversFiltersDropdowns","driverLogs","driversAfterMarkingAway","assignmentModeStatus","assignmentModeMsg","releaseDriverStatus","releaseDriverMsg","getDriverStatusField","driverStatuses","convertedStatus","getDriverStatusFieldAfterMarkingAway","createPayloadForDriverActivity","CustomRadio","Radio","disableRipple","radioCheckedIcon","radioUncheckedIcon","radioLabel","DriverDetails","defaultTab","openAwaySnackbar","setOpenAwaySnackbar","openModeUpdateSnackbar","setOpenModeUpdateSnackbar","openDriverReleaseSnackbar","setOpenDriverReleaseSnackbar","isActive","setIsActive","isAuto","setIsAuto","setDate","getDate","handleAwaySnackbarClose","handleModeSnackbarClose","handleDriverReleaseClose","handleReleaseDriver","createPayloadToReleaseDriver","handleDriverActivityLogs","handleUpdateUserStatus","driverAway","createPayloadToUpdateDriverAway","handleUpdateAssignmentModeForRadio","assignmentMode","createPayloadToUpdateAssignmentMode","handleSwitch","handleAutoManualUpdate","getFieldName","FormLabel","RadioGroup","modifiedBy","Drivers","openDriverProfilePopup","setOpenDriverProfilePopup","driverData","setDriverData","driversDataTransform","lodashCloneDeep","collectionConfirmationDialogPaperPropsRoot","subHeadingBold","bucketHeader","gridWrapper","confirmationContent","confimationDialogButtonsContainer","contentItem","uploadContainer","fetchOrdersList","reconcileCollectedAmtForOrder","createReceiptDraft","uploadReceipt","deletePrevUploadedReceipt","submitReceipts","openCollectionConfirmation","uploadClick","codPortalSlice","expDriversData","expOrdersData","expDriversFiltersDropdowns","driverNameList","vendorNameList","expOrdersFiltersDropdowns","deliveryStatusList","orderAfterCollection","isAmtCollectedForExpressOrders","draftReceiptData","receiptDataAfterUpload","isFileUploaded","uploadError","uploadErrorCode","receiptDataAfterSubmit","receiptsSubmittedFlag","expOrdersOnDriverDetails","expCodAmtOnDriverDetails","expCodPendingOnDriverDetails","expCodReceivedOnDriverDetails","isErrorOnUpload","expTotalOrdersAmtOnDriverDetails","driverNames","vendorNames","totalCODAmount","totalCODPending","totalCODReceived","totalOrdersCODAmount","createPayloadToFetchDriversList","dateValue","dashboardHub","createPayloadToDeleteUploadedFile","isTemp","removeImages","removeTempImage","tileHeading","tileSubHeading","tileData","BucketComponent","HeaderContent","conf","tile","CODDriverDetails","codPortal","collectIcon","collectedIcon","createCollectionConfirmationDialogPaperProps","orderNo","openCollectionConfirmationPopup","setOpenCollectionConfirmationPopup","collectedAmt","setCollectedAmt","setComments","driverDetailsForOrders","amt","sign","ordersSearchFilterHandler","ordersDataCallback","orderFilters","createPayloadToFetchOrdersList","getHeaderConfig","TOTAL_COD_ORDERS","TOTAL_ORDERS_AMOUNT","TOTAL_COD_COLLECTED","COD_AMOUNT_RECEIVED","TOTAL_COD_AMOUNT","HeaderComponent","handleCollectedAmtChange","handleCommentsChange","collectionConfirmationDialogActionHandler","collected","amount","remarks","createPayloadToCollectAmount","handleCollectionConfirmationDialogClose","codCollected","collectionStatus","COLLECT","transformedOrderArray","codAmountCollected","codAmountPending","codAmountReceived","orderDate","codReceived","codAmountDue","codPortalOrdersDataTransform","uploadButtonsContainer","errorMsg","uploadDialogTitle","tempContainer","attachItem","FileStorageUpload","accept","Text","data-testid","selectedFile","files","FileStorageSave","CODUploadReceipt","receiptNo","setReceiptNo","setFile","tempReceipts","setTempReceipts","permanentReceipts","setPermanentReceipts","draftId","setDraftId","enableAttachBtn","setEnableAttachBtn","maxSize","setMaxSize","maxSizeSnackbarType","maxSizeMessage","handleReceiptTextboxChange","receiptNumber","handleUpload","FormData","append","deleteUploadedFile","handleSubmitReceipt","getPreviousUploads","downloadIcon","trashIcon","tempReceiptImages","attachIcon","CODPortal","openDriverDetails","setOpenDriverDetails","setDashboardHub","arrowIcon","driversTableWrapperData","setDriversTableWrapperData","driversActiveFilters","setDriversActiveFilters","driversListToShow","setDriversListToShow","setDriverDetails","openViewAndUploadPopup","setOpenViewAndUploadPopup","driversFilterCallback","handleFetchDriverParameters","handleViewAndUploadClick","reconcileDate","amountCollected","amountReceived","amountPending","codPending","codPortalDriversDataTransform","driverCodDetails","reconcileCollectedAmtForStdOrder","createCodReceiptDraft","uploadCodReceipt","deletePrevUploadedCodReceipt","submitCodReceipts","uploadCodClick","stdCodPortalSlice","isAmtCollected","stdDraftReceiptData","stdReceiptDataAfterUpload","isStdFileUploaded","stdUploadError","stdUploadErrorCode","stdReceiptDataAfterSubmit","stdReceiptsSubmittedFlag","ordersOnDriverDetails","codAmtOnDriverDetails","codPendingOnDriverDetails","codReceivedOnDriverDetails","isErrorOnStdUpload","totalOrdersAmtOnDriverDetails","StandardCodDriverDetails","stdCodPortal","StdCodUploadReceipt","StandardCodPortal","CustomTimePicker","ampmBoolean","utils","DateFnsUtils","inputVariant","removedSecTime","setSeconds","ampm","keyboardIcon","Clock","dashboardState","handleDeliverySlotChange","handleSlotTimeChange","gritContainerItemSearchHeader","gritFilterHeaderItem","clearAllFilterBtnStyle","gritSearchHeaderItem","STORES_LABEL","DATE_LABEL","fetchDashboardRecordBasedOnFilterUtils","dashboardStateObjCopy","requestDashboardStateObj","capitalizeIssueNameString","nameValue","str","char","char_index","resetDelveDashboardDataObjUtils","newDelveDashboardDataObj","copyNewDelveDashboardDataObj","updateCountDetails","countValue","costValue","getPercentageValueString","sumCount","currentValueCount","designConsignmentsListBasedOnIssueNameUtils","listRecord","consignment_list","issueName","recordObj","getIconNameByOrderCountKey","TotalOrdersIcon","FullyVerifiedIcon","UnverifiedIcon","PartiallyVerifiedIcon","CratesVerifiedIcon","CratesUnverifiedIcon","ItemsVerifiedIcon","ItemsUnverifiedIcon","IssuesReportedIcon","getPercentageCountValue","orderCountList","getOrdersVerfiedPercentage","getOrdersPartiallyVerfiedPercentage","getOrdersUnVerfiedPercentage","totalCount","getCratesVerfiedPercentage","getCratesUnVerfiedPercentage","getItemsVerfiedPercentage","getItemsUnVerfiedPercentage","getIssuesReportedPercentage","getVerfiedConsignmentPercentage","getUnVerfiedConsignmentPercentage","gritContainerItem","orderCountDetailsMainContainer","orderCountDetailsMainBox","orderCountDetailsIconCountContainer","orderCountIconContainer","orderCountDetailsCountContainer","orderDetailsCountSpanStyle","orderPercentageDetailsTitleSpanStyle","orderCountDetailsTitleSpanContainer","orderCountDetailsTitleSpanStyle","orderCountDetailsCostContainer","orderCountDetailsCostSpanStyle","precision","parts","integerPart","decimalPart","repeat","formattedInt","j","formatNumberWithCommas","linearProgressBarGridItem","issueSummaryValueSpanStyle","ShowMessageInsideCard","issueSummaryGridNoDataAvailableCard","issueGridItemStyle","issueGridItemSpanStyle","issueSummaryGridCard","fetchConsignmentsListBasedOnIssueName","IssueSummaryMainGridContainer","issueSummaryHeadingGridItem","issueSummaryHeadingSpanStyle","issue_item","issueNameSpanIconDiv","issueSummaryNameValueSpanStyle","RedirectIcon","issueRedirectIconSvgStyle","handleHubLevelVerificationCardClick","getVerfiedOrdersCount","verifiedOrders","partiallyVerifiedOrders","getVerfiedIssuesOrdersCount","verifiedOrdersWithIssues","partiallyVerifiedOrdersWithIssues","storeVerificationGridCard","hubIndex","storeVerificationGridItemCard","storeVerificationGridContainerCard","storeVerificationItemRow","storeVerificationHubSpanStyle","listData","storeObj","storeData","getStoreNameFromHubCode","storeVerificationHeader","ORDERS_VERIFIED","CONSIGNMENT_VERIFIED","ORDERS_WITH_ISSUES","CONSIGNMENT_WITH_ISSUES","storeVerificationValue","storeVerificationVerifiedValue","storeVerificationVerifiedWithIssueValue","viewContainer","gritSearchContainerItem","gritContainerIssueSummaryBox","issueSummaryHeaderGridContainer","clearAllFilterGridContainer","clearAllFilterGridItem","getDelveDashboardRecord","getConsignmentsDataBasedOnIssueName","delveDashboardRecod","delveConsignmentsIssueName","delveDashboardSlice","selectAllDelveDashboardRecordListServices","delveDashboard","delveDashboardRecordListServices","setDashboardState","fetchDashboardRecordBasedOnFilter","designDeliveryDelveDashboard","responseDataObj","responseData","returnDataObj","totalCost","hubsDataObj","issuesReported","issue_index","designReturnDelveDashboard","returnIssueName","IsDelveServiceFetchStatusValid","getConsignmentsListBasedOnIssueName","consignmentsObject","hubWiseConsignments","character","charAt","converIssueNameToEnum","KeyValue","isDateValidFlag","isEndDateBeforeStartDateFlag","VALID_END_TIME","dateData","CF_iframe","Returns","frameBorder","allowFullScreen","CamsDashboard","ExceptionsDeliveries","C4NowOnDemand","formik","notificatin","hubSearch","stagingAreaContent","titel","searchContainer","searchHub","addButton","stagingLoc","m","bgcolor","areaTile","pilles","noDataContent","actionButton","NoDataComponent","actionCallback","SearchableList","showCheckBox","checkboxHandler","listClass","ChipComponent","editable","onDeleteCallback","DeleteIcon","GetDelatableChips","onDelete","GetUnDelatableChips","success","Container","CircleCheck","Warning","Notification","Icon","useTimer","callback","clearTimeoutHandler","fetchStagingArea","createStagingArea","updateStagingArea","deleteStagingArea","linkStagingArea","unLinkStagingArea","stagingAreaSlice","stagingCreateResponse","stagingUpdateResponse","stagingDeleteResponse","stagingAreaList","linkArea","unLinkArea","stagingAreas","StagingArea","stagingArea","stagingAreaHub","setStagingAreaHub","editedItem","setEditedItem","editedArea","setEditedArea","notificationSuccessMsg","setNotificationSuccessMsg","openNameInputDialog","setOpenNameInputDialog","openUnlinkAreaDialog","setOpenUnlinkAreaDialog","showSuccessMsg","setShowSuccessMsg","showErrorMsg","setShowErrorMsg","openDeleteStagingAreaDialog","setOpenDeleteStagingAreaDialog","searchVal","setSeachValue","inputFormik2","alertHandlerErr","getStagingArea","alertHandlerSucc","max","dialogUpdateStagingName","handleCreateActions","reqParams","updatedStagingArea","linkAreaToStagingname","delArea","openInputDilog","openDeleteStagingAreaDilog","onCheckboxSelect","handleDeleteChip","h","editStagingArea","NotificationMessage","removeErrorMsg","removeSuccessMsg","plus","stagingName","done","CloseIcon","refreshicon","fetchFormFilterDropdown","returnData","fetchCommunicationReasonsExpress","fetchCommunicationReason","sendCommunication","sendCommunicationExpress","fetchCountryAndArea","Country","fetchFilterFormsOrdersDropdownValues","fetchPlanningOrderListByFilterHistory","fetchExpressOrderListByFilterHistory","exportToExcelExpress","resetData","ordersHistoryFiltersDropdowns","customerArea","initiatedBy","ordersFilterFormDropdowns","deliveryArealist","ordersHistory","hubDetail","filterFormDropDown","formFilter","initiatedByList","reasonList","customerAreaList","posNo","transformCountryAndZones","buttonsGroup","historyContent","customerCommunication","textIndent","OrderDataWrapper","setScrollToTopOnReset","ordersTableWrapperDatatest","loadTableData","exportToExcelAction","trasformData","customFilter","defaultFilterChip","onRowSelection","customClass","handleDeselect","setCustomFiltersApplied","isCalledFromTest","historyOrdersDataTransform","deliveredAt","zoneId","delDate","commDate","getFilterAttributeStatus","defaultStatus","deliveryStatTime","createFilterPayloadSTD","hoursST","minsST","createFilterPayloadExpress","CustomerCommunExpress","handleCancel","setCustomFilter","fetchOrderFilterChips","timeSelector","TimeRangePicker","exception","inputVal","t","AutoCompleteWrapper","numTags","fetchDataCallback","setException","propsStyle","handleTimeFilterChange","filterFormWrapper","buttonsFilterForm","FilterFormWrapper","handleFormFilters","diableClick","setResetAllFlag","dialogPaperPropsConfirmRoot","contentItemConfirm","buttonsGroupConfirm","commDialogTitle","containerCenter","SendCommunication","changeTabAfterSuccess","openConfirm","setOpenConfirm","dialogPaperPropsConfirm","handleCommunicationSubmit","handleConfirmSubmit","CustomerCommun","handleTypeChange","resetAllFlag","openSendComm","setOpenSendComm","showTable","setShowTable","setDeSelectCheckbox","seed","setSeed","dropDownSelect","setDropDownSelect","setOrderTableWrapperDate","fetchDropDownbasedOnOrdertype","firstKey","secondKey","transformSelectValuesBasedOnKey","resetDropDown","fetchDropDownForTypeOfOrder","fetchDropDownbasedOnHub","resetDropDownExceptHub","orderTyp","HistoryExpress","History","CustomerCommunication","HistoryStandard","Consignments","titleSpanStyle","dialogRegenerateCodeHandler","hqrCodeDialogPaperPropsRoot","isLoading","setIsLoading","qrImageContainer","onLoad","renderPOSDetailsContainer","renderPOSDetailItem","renderPOSDetailSpanStyle","renderPOSDetailBoldSpanStyle","renderPOSDetailItemContainer","qrCodeMainContainer","qrCodeMainItem","dialogButtonsStyle","urlString","newNetworkHandler","fetchHubRecords","updateStoreRecordsSlice","resetRegenerateQR","StoreManagementSlice","createFetchHubRecordsPayload","createUpdateStoreRecordsSlicePayload","newState","autoAssignment","isAutoAssignment","initialAssignmentAllowed","isInitialAssignmentAllowed","handleUpdateStoreDetailsIconClick","storeManagement","autoAssignmentExpiry","serviceTime","maxOrderAssignmentToDriver","searchDistance","maxOperatingDistance","dialogState","setDialogState","isStandardIncluded","updatedErrors","updateStoreDetails","updatedFields","prevState","isChangesFound","titleContainerItem","switchSectionContainer","switchSectionSpanStyle","valueSectionContainer","editScreenHeaderSpanStyle","renderEditPosDetails","dialogButtonsContainer","errorMessge","validateStoreDetails","useStyle","circularGridConatiner","searchSectionContainer","searchSectionlSpanStyle","searchSectionBoldSpanStyle","isFirstRender","currentRowData","openEditStoreDialog","openViewQRCodeDialog","appState","setAppState","handleEditStoreDetailsIconClick","handleQRCodeDetailsIconClick","qrCodeIcon","rowObj","posObject","designPosListToShow","hubsCount","refreshState","RouteGuards","guards","checkAuthRedirection","AuthenticatedRoute","Component","routeGuards","extraProps","render","UnauthenticatedRoute","exact","auth","CarrefourDeliveryCreateRoute","HubWiseDashboard","ValetTrolleyCreateRoute","DelveDashboard","StdCodPortal","StoreManagementPage","userLoginError","planningOrderListError","usersError","hasHeader","setOpenSideMenuOnClick","unlisten","listen","openState","usersSlice","codReconciliationSlice","hubSlice","hubWiseDashboardSlice","driversSlice","posSlice","DelveDashboardSlice","customerCommSlice","combineReducers","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","ignoredPaths","ReactDOM","ThemeProvider","CssBaseline"],"mappings":"yHAAAA,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,iC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,iD,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,yE,wCCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,iC,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,sE,oBCA3CD,EAAOC,QAAU,IAA0B,qE,oBCA3CD,EAAOC,QAAU,IAA0B,6E,oBCA3CD,EAAOC,QAAU,IAA0B,0E,oBCA3CD,EAAOC,QAAU,IAA0B,4E,oBCA3CD,EAAOC,QAAU,IAA0B,yE,oBCA3CD,EAAOC,QAAU,IAA0B,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,KAET,CACEijB,MAAO,gBACPC,WAAY,iBACZljB,MAAO,KAET,CACEijB,MAAO,uBACPC,WAAY,kBACZljB,MAAO,KAET,CACEijB,MAAO,cACPC,WAAY,eACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,cACVC,UAAW,cACXC,cAAe,yBACfC,UAAU,EACV9e,IAAI,4BAAD,OAA8B0a,GAAqB,EAAG,MACzDnG,MAAO,eACPwK,MAAO,KAGX,CACER,MAAO,cACPC,WAAY,eACZljB,MAAO,KAET,CACEijB,MAAO,YACPC,WAAY,aACZljB,MAAO,KAET,CACEijB,MAAO,kBACPC,WAAY,mBACZljB,MAAO,KAET,CACEijB,MAAO,UACPC,WAAY,cACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,mBACPC,WAAY,sBACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,QACPC,WAAY,eACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,eACPC,WAAY,mBACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,iBACPC,WAAY,mBACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,cACPC,WAAY,eACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,YACPC,WAAY,YACZljB,MAAO,IACPmjB,MAAM,GAER,CACEF,MAAO,UACPC,WAAY,UACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,UACVC,UAAW,UACXC,cAAe,gCACfC,UAAU,EACV9e,IAAI,wBAAD,OAA0B0a,GAAqB,EAAG,MACrDnG,MAAO,UACPwK,MAAO,KAGX,CACER,MAAO,sBACPC,WAAY,uBACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,sBACVC,UAAW,sBACXC,cAAe,0BACfC,UAAU,EACV9e,IAAI,oCAAD,OAAsC0a,GAAqB,EAAG,MACjEnG,MAAO,uBACPwK,MAAO,KAGX,CACER,MAAO,UACPC,WAAY,WACZljB,MAAO,IA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jBC,QAAS,CACPC,MAAO,KAETC,OAAQ,KAGZ,CACElB,MAAO,eACPC,WAAY,gBACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACN0mB,UAAW,eACXE,UAAU,EACV9e,IAAI,6BAAD,OAA+B6a,KAAKC,MAAsB,IAAhBD,KAAKE,WAClDxG,MAAO,gBACPwK,MAAO,GACPJ,SAAU,iBAGd,CACEJ,MAAO,iBACPC,WAAY,SACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,iBACVC,UAAW,iBACXC,cAAe,4BACfC,UAAU,EACV9e,IAAI,0BAAD,OAA4B6a,KAAKC,MAAsB,IAAhBD,KAAKE,WAC/CxG,MAAO,kBACPwK,MAAO,KAGX,CACER,MAAO,aACPC,WAAY,eACZljB,MAAO,KAET,CACEijB,MAAO,gBACPC,WAAY,eACZljB,MAAO,KAET,CACEijB,MAAO,UACPC,WAAY,WACZljB,MAAO,KAET,CACEijB,MAAO,kBACPC,WAAY,sBACZljB,MAAO,KAET,CACEijB,MAAO,eACPC,WAAY,gBACZljB,MAAO,KAET,CACEijB,MAAO,gBACPC,WAAY,iBACZljB,MAAO,KAET,CACEijB,MAAO,uBACPC,WAAY,kBACZljB,MAAO,KAET,CACEijB,MAAO,wBACPC,WAAY,0BACZljB,MAAO,KAET,CACEijB,MAAO,WACPC,WAAY,WACZljB,MAAO,KAET,CACEijB,MAAO,cACPC,WAAY,eACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,cACVC,UAAW,cACXC,cAAe,yBACfC,UAAU,EACV9e,IAAI,4BAAD,OAA8B6a,KAAKC,MAAsB,IAAhBD,KAAKE,WACjDxG,MAAO,eACPwK,MAAO,KAGX,CACER,MAAO,cACPC,WAAY,eACZljB,MAAO,KAET,CACEijB,MAAO,YACPC,WAAY,aACZljB,MAAO,KAET,CACEijB,MAAO,kBACPC,WAAY,mBACZljB,MAAO,KAET,CACEijB,MAAO,UACPC,WAAY,UACZljB,MAAO,IACP6X,QAAQ,EACRu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QAAS,CACPC,MAAO,KAETC,OAAQ,KAGZ,CACElB,MAAO,cACPC,WAAY,eACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,cACVC,UAAW,cACXC,cAAe,cACfC,UAAU,EACV9e,IAAI,4BAAD,OAA8B0a,GAAqB,EAAG,MACzDnG,MAAO,eACPwK,MAAO,KAIX,CACER,MAAO,UACPC,WAAY,WACZljB,MAAO,KAET,CACEijB,MAAO,kBACPC,WAAY,sBACZljB,MAAO,KAET,CACEijB,MAAO,qBACPC,WAAY,6BACZljB,MAAO,KAET,CACEijB,MAAO,0BACPC,WAAY,kBACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,0BACVC,UAAW,0BACXC,cAAe,0BACfC,UAAU,EACV9e,IAAI,wCAAD,OAA0C0a,GAC3C,EACA,MAEFnG,MAAO,kBACPwK,MAAO,KAGX,CACER,MAAO,eACPC,WAAY,gBACZljB,MAAO,KAET,CACEijB,MAAO,gBACPC,WAAY,iBACZljB,MAAO,KAET,CACEijB,MAAO,cACPC,WAAY,oBACZljB,MAAO,KAET,CACEijB,MAAO,YACPC,WAAY,aACZljB,MAAO,KAET,CACEijB,MAAO,kBACPC,WAAY,mBACZljB,MAAO,KAET,CACEijB,MAAO,oBACPC,WAAY,qBACZljB,MAAO,MAGXokB,cAAe,CACb,CACEpb,KAAM,cACNqb,YAAa,kBACbC,UAAU,EACVE,cAAe,CACb,CACExb,KAAM,QACNqb,YAAa,cACbC,UAAU,MAKlBG,SAAU,CACRzb,KAAM,WACNsb,UAAU,EACVI,SAAU,IAEZC,kBAAmB,CACjBC,IAAK,CACHlgB,IAAK,MACLqE,MAAO,IAET8b,QAAS,CACPngB,IAAK,WACLqE,MAAO,IAET+b,aAAc,CACZpgB,IAAK,eACLqE,MAAO,IAETgc,cAAe,CACbrgB,IAAK,gBACLqE,MAAO,IAET8Z,SAAU,CACRne,IAAK,WACLqE,MAAO,IAETic,aAAc,CACZtgB,IAAK,eACLqE,MAAO,IAETmc,eAAgB,CACdxgB,I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,EACV9e,IAAI,2BAAD,OAA6B0a,GAAqB,EAAG,MACxDnG,MAAO,cACPwK,MAAO,KAGX,CACER,MAAO,cACPC,WAAY,mBACZljB,MAAO,KAET,CACEijB,MAAO,eACPC,WAAY,kCACZljB,MAAO,KAET,CACEijB,MAAO,cACPC,WAAY,sCACZljB,MAAO,KAET,CACEijB,MAAO,aACPC,WAAY,uBACZljB,MAAO,KAET,CACEijB,MAAO,SACPC,WAAY,cACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,aACVC,UAAW,aACXC,cAAe,aACfC,UAAU,EACV9e,IAAI,2BAAD,OAA6B0a,GAAqB,EAAG,MACxDnG,MAAO,SACPwK,MAAO,KAGX,CACER,MAAO,UACPC,WAAY,UACZljB,MAAO,IACPmjB,MAAM,IAGViB,cAAe,CACb,CACEpb,KAAM,cACNqb,YAAa,kBACbC,UAAU,EACVE,cAAe,CACb,CACExb,KAAM,QACNqb,YAAa,cACbC,UAAU,MAKlBG,SAAU,CACRzb,KAAM,WACNsb,UAAU,EACVI,SAAU,IAEZC,kBAAmB,CACjBmB,WAAY,EACZsV,WAAY,CACV12B,IAAK,cACLqE,MAAO,IAETsyB,WAAY,CACV32B,IAAK,cACLqE,MAAO,IAETgd,UAAW,CACTrhB,IAAK,YACLqE,MAAO,CACLiT,UAAW0W,KACXzW,QAASyW,QAIfxM,aAAc,CACZ,CACEld,KAAM,cACND,MAAO,iBAMfuyB,YAAa,CACXvY,mBAAoB,CAClBhd,MAAO,SACPid,WAAY,CACV,CACEC,MAAO,KACPC,WAAY,KACZC,MAAM,GAER,CACEF,MAAO,UACPC,WAAY,eACZljB,MAAO,KAET,CACEijB,MAAO,iBACPC,WAAY,kBACZljB,MAAO,IACP6X,QAAQ,EACRuL,UAAW,CACTxmB,KAAM,eACNymB,SAAU,iBACVC,UAAW,iBACXC,cAAe,iBACfC,UAAU,EACV9e,IAAI,+BAAD,OAAiC0a,GAAqB,EAAG,MAC5DnG,MAAO,kBACPwK,MAAO,KAGX,CACER,MAAO,YACPC,WAAY,aACZljB,MAAO,KAET,C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","file":"static/js/main.f9cf3caf.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/pending-icon.65f44a7e.svg\";","module.exports = __webpack_public_path__ + \"static/media/warning.451d6f6b.svg\";","module.exports = __webpack_public_path__ + \"static/media/close-circle-icon.057129bc.svg\";","module.exports = __webpack_public_path__ + \"static/media/timeline-area-icon.ac5aab88.svg\";","module.exports = __webpack_public_path__ + \"static/media/map-item-icon.4b04952f.svg\";","module.exports = __webpack_public_path__ + \"static/media/warningOctagon.a500ef77.svg\";","module.exports = __webpack_public_path__ + \"static/media/Alert.db3f776a.svg\";","module.exports = __webpack_public_path__ + \"static/media/Eye.8c1881ac.svg\";","module.exports = __webpack_public_path__ + \"static/media/clock.0e561801.svg\";","module.exports = __webpack_public_path__ + \"static/media/CaretCircleRight.7dc53885.svg\";","module.exports = __webpack_public_path__ + \"static/media/attach-key.d032ef46.svg\";","module.exports = __webpack_public_path__ + \"static/media/trash.64908419.svg\";","module.exports = __webpack_public_path__ + \"static/media/download.9d96eb3e.svg\";","module.exports = __webpack_public_path__ + \"static/media/circled-cancel.adc1746c.svg\";","module.exports = __webpack_public_path__ + \"static/media/RedirectIcon.6d01d4d3.svg\";","module.exports = __webpack_public_path__ + \"static/media/transfer-point-icon.06d893b4.svg\";","module.exports = __webpack_public_path__ + \"static/media/crates-icon.0f1979bc.svg\";","module.exports = __webpack_public_path__ + \"static/media/user-icon.1dc9d87e.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-fully-verified.5f47ecad.svg\";","module.exports = __webpack_public_path__ + \"static/media/filter-icon.89b6e389.svg\";","module.exports = __webpack_public_path__ + \"static/media/TrcukFilledIcon.e365170c.svg\";","module.exports = __webpack_public_path__ + \"static/media/expand-accordion-icon.6836468b.svg\";","module.exports = __webpack_public_path__ + \"static/media/info-icon.885df939.svg\";","module.exports = __webpack_public_path__ + \"static/media/SlotOpenDropDown.bf3982c1.svg\";","module.exports = __webpack_public_path__ + \"static/media/SlotOpenDropDownOpen.7a1cff4e.svg\";","module.exports = __webpack_public_path__ + \"static/media/warning-icon.eb4913f0.svg\";","module.exports = __webpack_public_path__ + \"static/media/search-icon-small.9fd409a5.svg\";","module.exports = __webpack_public_path__ + \"static/media/consignments-icon.b998cf06.svg\";","module.exports = __webpack_public_path__ + \"static/media/time-slot-icon.b0f1d734.svg\";","module.exports = __webpack_public_path__ + \"static/media/mobile-icon.6f5c365b.svg\";","module.exports = __webpack_public_path__ + \"static/media/wallet-icon.efc4568e.svg\";","module.exports = __webpack_public_path__ + \"static/media/bike-icon.bd488230.svg\";","module.exports = __webpack_public_path__ + \"static/media/car-circled.16cac41b.svg\";","module.exports = __webpack_public_path__ + \"static/media/Car.d0a4e1a9.svg\";","module.exports = __webpack_public_path__ + \"static/media/bike.d61c1fb9.svg\";","module.exports = __webpack_public_path__ + \"static/media/refresh.9f51e00f.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-total-order.11bff471.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-unverified.05d7fb08.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-partially-verified.4867dd8b.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-crates-verified.a8694f85.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-crates-unverified.005cbc68.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-items-verified.5ee580cd.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-items-unverified.588c0672.svg\";","module.exports = __webpack_public_path__ + \"static/media/delve-dashboard-order-status-issues-reported.af582053.svg\";","module.exports = __webpack_public_path__ + \"static/media/calendar-icon.f9327eab.svg\";","module.exports = __webpack_public_path__ + \"static/media/map-pin.29dbe240.svg\";","module.exports = __webpack_public_path__ + \"static/media/mobileLogo.f7b1b7af.svg\";","module.exports = __webpack_public_path__ + \"static/media/emailLogo.6feac2d5.svg\";","import { red } from \"@material-ui/core/colors\";\nimport { createMuiTheme } from \"@material-ui/core/styles\";\n\nexport const COLORS = {\n PRIMARY_MAIN: \"#0E5AA7\",\n DARK_GOLD_ORANGE: \"#FF6240\",\n GOLDEN_BELL: \"#E3870F\",\n PERSIAN_GREEN: \"#009688\",\n BLACK: \"#000000\",\n MAROON: \"#843D77\",\n SEA_GREEN: \"#319E60\",\n MINSK: \"#7F7FBB\",\n DARK_RED: \"#F34041\",\n OCEAN_GREEN: \"#3ABA71\",\n LIGHT_PERSIAN_GREEN: \"#59BAB1\",\n ALERT_ORANGE: \"#F3BA40\",\n MINSK_DARK: \"#3B3B98\",\n BLUE_STONE: \"#006158\",\n AMBER: \"#E79832\",\n PRIMARY_LIGHT: \"#92B4D7\",\n SEA_GREEN2: \"#267949\",\n ASTRAL: \"#3172B4\",\n INFO_GREEN: \"#7FD2A3\",\n PIMPKIN_SKIN: \"#C1720C\",\n DUSTY_GRAY_LIGHT: \"#969696\",\n INFO_BLUE: \"#20B0E6\",\n PRIMARY_LIGHT_BLUE: \"#6293C5\",\n GRADIENT_BLUE: \"#91AECC\",\n ALIZARIN_CRIMSON: \"#DD2326\",\n SUCCESS_GREEN: \"#FFDF28\",\n TAG_YEllOW: \"#D9BD22\",\n ERROR_RED: \"#F45C5D\",\n LIGHT_GREEN: \"#63C98E\",\n PICTON_BLUE: \"#41BCEA\",\n CREAM_CAN: \"#F5C45D\",\n VISTA_BLUE: \"#7FD2A3\",\n TARA: \"#CEEEDB\",\n AVATAR_OCEAN: \"#00EEDB\",\n PALE_GREEN: \"#83DEA5\",\n CORAL_PINK: \"#F37172\",\n OLD_GOLD: \"#CF9E36\",\n STATUS_YELLOW: \"#F79E1B\",\n MINSK_LIGHT: \"#A6A6D0\",\n SCAMPI: \"#5858A7\",\n PRIMARY_DARK: \"#0E5A80\",\n INFO_BLACK: \"#35363A\",\n PALE_PURPLE: \"#A2A3F5\",\n AQUA_BLUE: \"#63C8EE\",\n VIBRANT_YELLOW: \"#FFE553\",\n VENETIAN_RED: \"#F2A57F\",\n BRICK_RED: \"#ED6F6A\",\n VERY_LIGHT_GREY: \"#C9C9C9\",\n SILVER_CHALICE: \"#B2B2B2\",\n FOUNTAIN_BLUE: \"#4DB6AC\",\n ALICE_BLUE: \"#3E7BB9\",\n PALE_RED: \"#F78283\",\n GREEN_BLUE: \"#157296\",\n GOLDEN_YELLOW_LIGHT: \"#F2C892\",\n AZURE_BLUE: \"#0A437C\",\n PERSIAN_GREEN_LIGHT: \"#8CCFC9\",\n PERSIAN_GREEN_DARK: \"#007F73\",\n READY_BLUE: \"#0B4C8E\",\n LUCKY: \"#A6911A\",\n DUSTY_GRAY: \"#979797\",\n JUNGLE_GREEN: \"#26A599\",\n PARTIAL_SUCCESS_GREEN: \"#58C486\",\n SECONDARY_MAIN: \"#F5F5F5\",\n SECONDARY_LIGHT: \"#EEEEEE\",\n SECONDARY_DARK: \"#E6E6E6\",\n LIGHT_GREY: \"#ECF0F4\",\n BASE_RED: \"#FDF4F4\",\n TEXT_PRIMARY: \"#252525\",\n BOX_SHADOW_PRIMARY: \"rgba(14, 90, 167, 0.2)\",\n TRANSPARENT_BLUE: \"rgba(10, 67, 124, 0.05)\",\n TRANSPARENT_BLUE_BORDER: \"rgba(10, 67, 124, 0.2)\",\n WHITE: \"#FFFFFF\",\n BLACK_SHADOW: \"rgba(0,0,0,0.05)\",\n LIGHT_BLACK_SHADOW: \"rgba(0, 0, 0, 0.15)\",\n BLACK_INPUT_BORDER: \"rgba(0, 0, 0, 0.23)\",\n BLACK_INPUT_LABEL: \"rgba(0, 0, 0, 0.54)\",\n GRAY_DARK: \"#B2B2B2\",\n ALTO: \"#DCDCDC\",\n LIGHT_RED: \"#F79C9D\",\n DOVE_GRAY_DARK: \"#555555\",\n DOVE_GRAY: \"#666666\",\n DOVE_GRAY_LIGHT: \"rgba(102,102,102,0.6)\",\n SILVER: \"#C4C4C4\",\n COPY: \"#4D4D4D\",\n TRANSPARENT: \"transparent\",\n LOADER_BACKGROUND: \"rgba(255, 255, 255, 0.38)\",\n TABLE_ROW_SELECTED: \"#F3F6F8\",\n SUB_HEADER_SELECTED: \"#E9EFF2\",\n MINE_SHAFT: \"#2D2D2D\",\n ROUTE_CONTAINER_BACKGROUND: \"#FAFAFA\",\n FOOTER_COUNT_BACKGROUND: \"rgba(37,37,37, 0.85)\",\n MINE_SHAFT_LIGHT: \"#F4F4F4\",\n MADISON_LIGHT: \"#F2F5F8\",\n TROPICAL_BLUE: \"#C7EBF9\",\n CATSKILL_WHITE: \"#DFE8F2\",\n BLUE_HAZE: \"#CDCDE5\",\n BARLEY_WHITE: \"#FFF6C9\",\n DOUBLE_PEARL_LUSTA: \"#FCEECF\",\n MYSTIC_GREY: \"#D2D2D2\",\n GREY_WHITE: \"#FCFCFC\",\n SECONDARY_MID_DARK: \"rgba(230, 230, 230, 0.24)\",\n PALE_GRAY: \"#C3C3C3\",\n GREY_SCALE: \"#747474\",\n DRIFT_WOOD: \"#B48A53\",\n SILVER_CHALICE2: \"#A0A0A0\",\n PICTON_BLUE_LIGHT: \"rgba(65, 188, 234, 0.3)\",\n CREAM_CAN_LIGHT: \"rgba(245, 196, 93, 0.3)\",\n VISTA_BLUE_LIGHT: \"rgba(127, 210, 163, 0.3)\",\n SEA_GREEN_LIGHT: \"rgba(49, 158, 96, 0.3)\",\n LUCKY_LIGHT: \"rgba(166, 145, 26, 0.3)\",\n JUNGLE_GREEN_LIGHT: \"rgba(38, 165, 153, 0.3)\",\n BLACK_LIGHT: \"rgba(0, 0, 0, 0.3)\",\n SCAMPI_LIST: \"rgba(88, 88, 167, 0.3)\",\n GOLDEN_BELL_LIGHT: \"rgba(227, 135, 15, 0.3)\",\n DUSTY_GRAY_NEW_LIGHT: \"rgba(151, 151, 151, 0.3)\",\n SEA_GREEN2_LIGHT: \"rgba(38, 121, 73, 0.3)\",\n BLUE_HAZE_LIGHT: \"rgba(205, 205, 229, 0.3)\",\n SCAMPI_LIGHT: \"rgba(88, 88, 167, 0.3)\",\n TROPICAL_BLUE_LIGHT: \"rgba(199, 235, 249, 0.3)\",\n OLD_GOLD_LIGHT: \"rgba(207, 158, 54, 0.3)\",\n DOVE_GREY: \"rgba(102, 102, 102, 0.6)\",\n MINE_SHAFT_NEW: \"#1F1F1F\",\n EMPEROR: \"#505050\",\n COD_GRAY: \"#141414\",\n ALICE_GRAY: \"#F7F8F9\",\n BLACK_SQUEEZE: \"#F3F7FB\",\n ATHENS_GRAY: \"#FAFAFB\",\n CATSKILL_WHITE_LIGHT: \"#F0F3F7\",\n JAGGED_ICE: \"#BFE4E1\",\n LIGHT_BLUE:'rgba(14, 90, 167, 0.05)',\n LIGHT_WHITE: \"rgba(0, 0, 0, 0.06)\",\n};\n\nconst checkboxDefaultIcon =\n \"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIyMSIgcng9IjIuNSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iI0IyQjJCMiIvPgo8L3N2Zz4K)\";\nconst checkboxCheckedIcon =\n \"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIyMSIgcng9IjIuNSIgZmlsbD0iIzBFNUFBNyIgZmlsbC1vcGFjaXR5PSIwLjEiIHN0cm9rZT0iIzBFNUFBNyIvPgo8cGF0aCBkPSJNNiAxMS44NTVMMTAuMDk2IDE2TDE4IDcuNzg3TDE3LjI0MyA3TDEwLjA4NSAxNC40MzdMNi43NDcgMTEuMDU3TDYgMTEuODU1WiIgZmlsbD0iIzBFNUFBNyIvPgo8L3N2Zz4K)\";\n\nconst theme = createMuiTheme({\n typography: {\n fontFamily: [\"Montserrat\", \"Roboto\", \"Helvetica\", \"sans-serif\"].join(\",\"),\n fontWeightRegular: 500,\n },\n palette: {\n type: \"light\",\n primary: {\n main: COLORS.PRIMARY_MAIN,\n light: COLORS.PRIMARY_LIGHT,\n dark: COLORS.PRIMARY_DARK,\n },\n secondary: {\n main: COLORS.SECONDARY_MAIN,\n light: COLORS.SECONDARY_LIGHT,\n dark: COLORS.SECONDARY_DARK,\n },\n error: {\n main: red.A400,\n },\n background: {\n default: COLORS.WHITE,\n },\n text: {\n primary: COLORS.TEXT_PRIMARY,\n },\n },\n overrides: {\n MuiTypography: {\n body1: {\n lineHeight: 1,\n },\n },\n MuiTabs: {\n root: {\n flex: \"auto\",\n minHeight: 56,\n paddingLeft: 24,\n paddingTop: 16,\n },\n indicator: {\n backgroundColor: COLORS.PRIMARY_MAIN,\n },\n },\n MuiTab: {\n root: {\n fontSize: 14,\n fontWeight: 600,\n minHeight: 24,\n marginRight: 24,\n padding: \"6px 0px 2px\",\n minWidth: \"auto !important\",\n textTransform: \"none\",\n \"&$selected\": {\n color: COLORS.PRIMARY_MAIN,\n },\n },\n },\n MuiOutlinedInput: {\n root: {\n borderRadius: 8,\n minWidth: 200,\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: COLORS.BLACK_INPUT_BORDER,\n borderWidth: 1,\n },\n \"&:hover\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: COLORS.BLACK_INPUT_BORDER,\n },\n },\n \"&.hasLabel\": {\n \"& .MuiSelect-root\": {\n paddingTop: 16,\n paddingBottom: 5,\n },\n },\n },\n adornedEnd: {\n paddingRight: 8,\n \"& .MuiSvgIcon-root\": {\n padding: 4,\n },\n },\n input: {\n paddingTop: 10.5,\n paddingBottom: 10.5,\n fontSize: 12,\n height: \"auto\",\n },\n },\n MuiSelect: {\n root: {\n paddingTop: 10.5,\n paddingBottom: 10.5,\n fontWeight: 600,\n },\n icon: {\n padding: 4,\n },\n select: {\n \"&:focus\": {\n backgroundColor: \"inherit\",\n },\n },\n },\n MuiInputLabel: {\n outlined: {\n marginTop: 13,\n fontWeight: 400,\n fontSize: 12,\n \"&.Mui-focused\": {\n color: COLORS.BLACK_INPUT_LABEL,\n },\n },\n },\n MuiButton: {\n root: {\n padding: \"7px 16px\",\n fontSize: 14,\n fontWeight: 600,\n borderRadius: 4,\n textTransform: \"none\",\n \"&.primary\": {\n backgroundColor: COLORS.PRIMARY_MAIN,\n color: COLORS.WHITE,\n border: `1px solid ${COLORS.TRANSPARENT}`,\n \"&$disabled\": {\n backgroundColor: COLORS.PRIMARY_LIGHT,\n color: COLORS.WHITE,\n },\n \"&:hover\": {\n backgroundColor: COLORS.PRIMARY_MAIN,\n },\n },\n \"&.secondary\": {\n backgroundColor: COLORS.WHITE,\n color: COLORS.PRIMARY_MAIN,\n border: `1px solid ${COLORS.PRIMARY_MAIN}`,\n \"&$disabled\": {\n color: COLORS.PRIMARY_MAIN,\n },\n \"&:hover\": {\n backgroundColor: COLORS.WHITE,\n },\n },\n },\n contained: {\n boxShadow: \"none\",\n \"&:hover\": {\n boxShadow: \"none\",\n },\n },\n },\n MuiAccordion: {\n root: {\n width: \"100%\",\n borderRadius: \"8px !important\",\n boxShadow: \"0px 1px 4px 0px rgba(0,0,0,0.20)\",\n },\n },\n MuiAccordionSummary: {\n root: {\n minHeight: 64,\n borderBottom: `1px solid ${COLORS.SECONDARY_DARK}`,\n \"&$expanded\": {\n minHeight: 64,\n },\n },\n },\n MuiAccordionDetails: {\n root: {\n padding: 16,\n },\n },\n MuiListItemText: {\n root: {\n margin: \"0 !important\",\n },\n primary: {\n fontSize: 12,\n },\n },\n MuiCheckbox: {\n root: {\n padding: 0,\n borderRadius: 0,\n background: checkboxDefaultIcon,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"16px 16px\",\n width: 16,\n height: 16,\n \"& svg path\": {\n display: \"none\",\n },\n },\n colorPrimary: {\n \"&.Mui-checked\": {\n backgroundImage: checkboxCheckedIcon,\n },\n },\n indeterminate: {\n backgroundImage: `${checkboxDefaultIcon} !important`,\n },\n },\n MuiTableCell: {\n root: {\n fontSize: 12,\n padding: \"14px 10px 13px\",\n borderBottom: \"none\",\n /* '&:first-child': {\n paddingLeft: 24\n } */\n },\n head: {\n lineHeight: \"20px\",\n fontWeight: 500,\n borderTop: \"none\",\n color: \"#1F1F1F\",\n },\n body: {\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n stickyHeader: {\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n },\n },\n MuiTableRow: {\n root: {\n \"&.Mui-selected,&.Mui-selected:hover,&:hover\": {\n backgroundColor: \"rgba(198, 213, 229, 0.4)\",\n },\n },\n head: {\n backgroundColor: COLORS.WHITE,\n },\n },\n MuiTableSortLabel: {\n root: {\n \"&:hover,&:focus\": {\n color: \"inherit\",\n },\n },\n },\n MuiTooltip: {\n popper: {\n fontSize: 10,\n \"& .tooltipItem\": {\n fontSize: 10,\n paddingBottom: 4,\n \"&:last-child\": {\n paddingBottom: 0,\n },\n },\n },\n tooltipPlacementBottom: {\n margin: \"0px\",\n \"@media (min-width: 600px)\": {\n margin: \"0px\",\n },\n },\n },\n MuiToolbar: {\n gutters: {\n padding: \"0px 16px !important\",\n },\n },\n MuiAppBar: {\n root: {},\n colorPrimary: {\n backgroundColor: COLORS.WHITE,\n color: COLORS.TEXT_PRIMARY,\n },\n },\n MuiDialog: {\n paperWidthSm: {\n maxWidth: 680,\n },\n },\n },\n});\n\nexport default theme;\n","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\nimport { COLORS } from './../../config/theme/baseTheme';\n\nconst drawerWidthClose = 52;\nconst drawerWidthOpen = 260;\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n position: \"absolute\",\n width: drawerWidthClose,\n top: 0,\n height: \"100vh\",\n '& .countrySelect': {\n minWidth: 180,\n '& .MuiOutlinedInput-notchedOutline': {\n borderRadius: 0,\n border: \"none\"\n }\n },\n '& .hubSelect': {\n minWidth: 100,\n '& .MuiOutlinedInput-notchedOutline': {\n borderRadius: 0,\n border: \"none\"\n }\n },\n },\n appBar: {\n boxShadow: \"0px 0px 0px rgba(0, 0, 0, 0.05) !important\",\n '&.open': {\n marginLeft: drawerWidthOpen,\n width: `calc(100% - ${drawerWidthOpen}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n })\n },\n '&.close': {\n width: `calc(100% - ${drawerWidthClose}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n '& .appToolbar': {\n display: \"flex\",\n minHeight: 70,\n boxShadow: \"0px 4px 4px rgba(0, 0, 0, 0.04)\",\n '& .logoSpanStyle': {\n textDecoration: \"none\",\n fontSize: \"32px\",\n fontWeight: 700,\n color: COLORS.PRIMARY_MAIN,\n margin: 'auto 0px',\n padding: '0px 8px 0px 0px',\n borderRight: `1px solid ${COLORS.LIGHT_WHITE}`\n },\n '& .menuBtnSection': {\n paddingRight: theme.spacing(5),\n '& .menuButton': {\n fontSize: 21,\n color: COLORS.GRAY_DARK\n }\n },\n '& .countrySection': {\n marginLeft: \"auto\"\n },\n '& .avatarSection': {\n '& .avatarDetails': {\n textAlign: 'right',\n borderLeft: `1px solid ${theme.palette.secondary.dark}`,\n padding: theme.spacing(0, 1.5),\n '& .avatarItem': {\n fontSize: 12,\n fontWeight: 500\n },\n '& .name': {\n fontWeight: 600,\n lineHeight: 1.5\n },\n '& .logoutBtn': {\n cursor: \"pointer\"\n }\n },\n '& .avatarLogo': {\n '& .MuiAvatar-root': {\n width: 35,\n height: 35,\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.primary.main\n }\n }\n }\n },\n },\n drawer: {\n width: drawerWidthOpen,\n flexShrink: 0,\n whiteSpace: 'nowrap',\n '& .MuiPaper-root': {\n backgroundColor: theme.palette.secondary.main,\n border: \"none\"\n },\n '&.open': {\n width: drawerWidthOpen,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n '& .MuiPaper-root': {\n width: drawerWidthOpen,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n }\n },\n '&.close': {\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: 'hidden',\n width: drawerWidthClose,\n '& .MuiPaper-root': {\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: 'hidden',\n width: drawerWidthClose\n }\n },\n '& .drawerContainer': {\n flexDirection: \"column\",\n flexGrow: 1,\n flexWrap: \"nowrap\",\n '& .toolbarSection': {\n position: \"sticky\",\n top: 0,\n zIndex: 10,\n '& .toolbar': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n minHeight: 70,\n boxShadow: \"0px 3px 10px rgba(0, 0, 0, 0.05)\",\n '& .logoSection': {\n paddingRight: theme.spacing(5),\n textDecoration: \"none\",\n '&a': {\n textDecoration: \"none\"\n },\n '& .CaMSLogo': {\n height: 40,\n width: 224\n },\n '& .logoSpanStyle': {\n textDecoration: \"none\",\n fontSize: \"32px\",\n fontWeight: 700,\n color: COLORS.PRIMARY_MAIN,\n }\n }\n },\n },\n '& .listSection': {\n flexGrow: 1,\n zIndex: 1,\n '& .listContainer': {\n padding: 0,\n '& .itemIcon': {\n color: \"#F4F4F4\"\n },\n '& .listItem': {\n minHeight: 60,\n borderBottom: `1px solid ${COLORS.WHITE}`,\n '&.Mui-selected': {\n backgroundColor: COLORS.TABLE_ROW_SELECTED,\n borderLeft: `3px solid ${theme.palette.primary.main}`,\n '& .MuiListItemText-primary': {\n fontWeight: 600,\n color: theme.palette.primary.main\n },\n '& .MuiListItemIcon-root .listIcon': {\n stroke: theme.palette.primary.main\n },\n '& .dropdownIcon path': {\n stroke: theme.palette.primary.main\n }\n },\n '&.subItem': {\n backgroundColor: COLORS.TABLE_ROW_SELECTED,\n paddingLeft: 75,\n '&.Mui-selected': {\n backgroundColor: COLORS.SUB_HEADER_SELECTED,\n borderLeft: \"none\"\n },\n '& .MuiListItemText-primary': {\n fontWeight: 500\n },\n },\n '& .dropdownIcon': {\n width: 16,\n height: 16,\n '& path': {\n stroke: COLORS.COPY,\n strokeWidth: 1\n }\n },\n '& .MuiListItemText-primary': {\n fontSize: 14,\n color: COLORS.COPY\n },\n '& .listIcon': {\n width: 26,\n height: 24,\n '&.MuiSvgIcon-root': {\n fill: \"none\"\n }\n }\n }\n },\n }\n },\n },\n countryMenuPaper: {\n maxHeight: \"200px !important\",\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: '8px !important',\n boxShadow: \"none !important\"\n }\n }),\n);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.875 12.5C9.11866 12.5 10.9375 10.6812 10.9375 8.4375C10.9375 6.19384 9.11866 4.375 6.875 4.375C4.63134 4.375 2.8125 6.19384 2.8125 8.4375C2.8125 10.6812 4.63134 12.5 6.875 12.5Z\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.1416 4.52634C12.7004 4.36891 13.2864 4.33305 13.8602 4.42117C14.434 4.50929 14.9822 4.71934 15.468 5.03719C15.9538 5.35503 16.3658 5.77329 16.6763 6.26378C16.9868 6.75427 17.1886 7.30561 17.2681 7.88066C17.3476 8.45571 17.303 9.04112 17.1372 9.59746C16.9714 10.1538 16.6883 10.6682 16.307 11.1059C15.9256 11.5436 15.4549 11.8945 14.9266 12.135C14.3982 12.3755 13.8244 12.4999 13.2439 12.5\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.24976 15.4216C1.88424 14.5191 2.72655 13.7825 3.70558 13.274C4.68461 12.7655 5.77161 12.5 6.87482 12.5C7.97803 12.5 9.06506 12.7654 10.0441 13.2738C11.0232 13.7822 11.8656 14.5187 12.5001 15.4212\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.2439 12.5C14.3472 12.4992 15.4345 12.7643 16.4136 13.2728C17.3928 13.7813 18.235 14.5182 18.8689 15.4212\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgUsersIcon = function SvgUsersIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUsersIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/users-icon.496fabd2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8745 16.2494V12.4994C11.8745 12.3336 11.8087 12.1746 11.6915 12.0574C11.5743 11.9402 11.4153 11.8744 11.2495 11.8744H8.74954C8.58378 11.8744 8.42481 11.9402 8.3076 12.0574C8.19039 12.1746 8.12454 12.3336 8.12454 12.4994V16.2494C8.12454 16.4152 8.0587 16.5741 7.94151 16.6913C7.82432 16.8086 7.66537 16.8744 7.49962 16.8744L3.75008 16.8749C3.668 16.8749 3.58671 16.8588 3.51088 16.8274C3.43504 16.796 3.36613 16.7499 3.30809 16.6919C3.25004 16.6339 3.204 16.565 3.17258 16.4891C3.14117 16.4133 3.125 16.332 3.125 16.2499V9.02646C3.125 8.93939 3.14319 8.85327 3.17842 8.77364C3.21364 8.69401 3.26511 8.62261 3.32954 8.56403L9.57911 2.88163C9.69415 2.77703 9.84406 2.71906 9.99955 2.71906C10.155 2.71905 10.3049 2.777 10.42 2.8816L16.6704 8.56403C16.7349 8.62261 16.7863 8.69401 16.8216 8.77364C16.8568 8.85328 16.875 8.9394 16.875 9.02648V16.2499C16.875 16.332 16.8588 16.4133 16.8274 16.4891C16.796 16.565 16.75 16.6339 16.6919 16.6919C16.6339 16.7499 16.565 16.796 16.4891 16.8274C16.4133 16.8588 16.332 16.8749 16.2499 16.8749L12.4995 16.8744C12.3337 16.8744 12.1748 16.8086 12.0576 16.6914C11.9404 16.5741 11.8745 16.4152 11.8745 16.2494V16.2494Z\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgHubsIcon = function SvgHubsIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHubsIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/hubs-icon.8f564b53.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.77067 14.2569L10.0089 14.4773L10.2466 14.2564L16.2382 8.68961L16.5 8.44643L16.2515 8.18975L15.8321 7.75655L15.5936 7.5102L15.3424 7.7436L10.0073 12.7007L4.65652 7.74912L4.40518 7.51653L4.16716 7.76273L3.74837 8.19593L3.49974 8.4531L3.76227 8.69607L9.77067 14.2569Z\",\n fill: \"#4D4D4D\",\n stroke: \"#0E5AA7\",\n strokeWidth: 0.7\n});\n\nvar SvgDownArrowIcon = function SvgDownArrowIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 21,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownArrowIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/down-arrow-icon.313dbaee.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2811 8.91726L6.67538 2.96202L6.24492 3.38423L11.4591 8.92321L6.32358 14.5458L6.7595 14.9617L12.2811 8.91726Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgRightArrowIcon = function SvgRightArrowIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 21,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRightArrowIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/right-arrow-icon.7b90754a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-outside-1\",\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 27,\n height: 22,\n fill: \"black\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"white\",\n width: 27,\n height: 22\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1518 9.81245H23.855C23.7033 9.34364 23.2059 9.01738 22.6359 9.01279H21.2516V6.12409C21.2548 6.01407 21.1882 5.91113 21.0774 5.85479L11.312 1.04168C11.2 0.986107 11.0616 0.986107 10.9496 1.04168L1.18118 5.85479C1.06868 5.91044 0.999588 6.01313 1 6.12409V15.7504C1 15.8615 1.06947 15.9641 1.18222 16.0197L10.9516 20.8328C11.007 20.8601 11.0699 20.8744 11.1338 20.8744C11.1995 20.8745 11.264 20.8601 11.3213 20.8328L16.462 18.3025V20.1316C16.461 20.4834 16.6249 20.8209 16.9172 21.0689C17.2095 21.3169 17.606 21.4548 18.0182 21.4519H25.1518C25.5651 21.4551 25.9628 21.3176 26.2568 21.0698C26.5508 20.8219 26.7168 20.4843 26.718 20.1316V11.1533C26.7175 10.4146 26.0174 9.81528 25.1518 9.81245ZM22.6489 9.63475C22.941 9.63475 23.1779 9.83685 23.1779 10.0862V10.1163C23.1779 10.3656 22.941 10.5677 22.6489 10.5677H20.5312C20.239 10.5677 20.0022 10.3656 20.0022 10.1163V10.0862C20.0022 9.83685 20.239 9.63475 20.5312 9.63475H22.6489ZM11.1338 1.67007L15.1932 3.67L6.15329 8.12371L2.09396 6.12378L11.1338 1.67007ZM10.7874 20.0248L1.72885 15.5708V6.66204L10.7874 11.1161V20.0248ZM11.1338 10.5774L6.88214 8.48276L15.9221 4.02909L20.174 6.12378L11.1338 10.5774ZM16.462 11.1533V17.5843L11.5163 20.0248V11.1161L20.5228 6.66204V9.01279H20.5341C19.9641 9.01736 19.4667 9.34363 19.315 9.81245H18.0182C17.1546 9.81602 16.4579 10.4163 16.462 11.1533ZM25.9892 20.1316C25.9882 20.3194 25.899 20.499 25.7416 20.6302C25.5843 20.7614 25.3718 20.8333 25.1518 20.8299H18.0182C17.7992 20.833 17.588 20.7607 17.4323 20.6293C17.2766 20.4979 17.1896 20.3185 17.1909 20.1316V11.1533C17.1887 10.9643 17.2746 10.7823 17.4298 10.6474C17.585 10.5126 17.7967 10.4359 18.0182 10.4344H19.3292C19.4897 10.8865 19.9805 11.1941 20.5341 11.1896H22.6359C23.1895 11.1941 23.6803 10.8865 23.8408 10.4344H25.1518C25.615 10.4369 25.9891 10.758 25.9892 11.1533V20.1316Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1518 9.81245H23.855C23.7033 9.34364 23.2059 9.01738 22.6359 9.01279H21.2516V6.12409C21.2548 6.01407 21.1882 5.91113 21.0774 5.85479L11.312 1.04168C11.2 0.986107 11.0616 0.986107 10.9496 1.04168L1.18118 5.85479C1.06868 5.91044 0.999588 6.01313 1 6.12409V15.7504C1 15.8615 1.06947 15.9641 1.18222 16.0197L10.9516 20.8328C11.007 20.8601 11.0699 20.8744 11.1338 20.8744C11.1995 20.8745 11.264 20.8601 11.3213 20.8328L16.462 18.3025V20.1316C16.461 20.4834 16.6249 20.8209 16.9172 21.0689C17.2095 21.3169 17.606 21.4548 18.0182 21.4519H25.1518C25.5651 21.4551 25.9628 21.3176 26.2568 21.0698C26.5508 20.8219 26.7168 20.4843 26.718 20.1316V11.1533C26.7175 10.4146 26.0174 9.81528 25.1518 9.81245ZM22.6489 9.63475C22.941 9.63475 23.1779 9.83685 23.1779 10.0862V10.1163C23.1779 10.3656 22.941 10.5677 22.6489 10.5677H20.5312C20.239 10.5677 20.0022 10.3656 20.0022 10.1163V10.0862C20.0022 9.83685 20.239 9.63475 20.5312 9.63475H22.6489ZM11.1338 1.67007L15.1932 3.67L6.15329 8.12371L2.09396 6.12378L11.1338 1.67007ZM10.7874 20.0248L1.72885 15.5708V6.66204L10.7874 11.1161V20.0248ZM11.1338 10.5774L6.88214 8.48276L15.9221 4.02909L20.174 6.12378L11.1338 10.5774ZM16.462 11.1533V17.5843L11.5163 20.0248V11.1161L20.5228 6.66204V9.01279H20.5341C19.9641 9.01736 19.4667 9.34363 19.315 9.81245H18.0182C17.1546 9.81602 16.4579 10.4163 16.462 11.1533ZM25.9892 20.1316C25.9882 20.3194 25.899 20.499 25.7416 20.6302C25.5843 20.7614 25.3718 20.8333 25.1518 20.8299H18.0182C17.7992 20.833 17.588 20.7607 17.4323 20.6293C17.2766 20.4979 17.1896 20.3185 17.1909 20.1316V11.1533C17.1887 10.9643 17.2746 10.7823 17.4298 10.6474C17.585 10.5126 17.7967 10.4359 18.0182 10.4344H19.3292C19.4897 10.8865 19.9805 11.1941 20.5341 11.1896H22.6359C23.1895 11.1941 23.6803 10.8865 23.8408 10.4344H25.1518C25.615 10.4369 25.9891 10.758 25.9892 11.1533V20.1316Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1518 9.81245H23.855C23.7033 9.34364 23.2059 9.01738 22.6359 9.01279H21.2516V6.12409C21.2548 6.01407 21.1882 5.91113 21.0774 5.85479L11.312 1.04168C11.2 0.986107 11.0616 0.986107 10.9496 1.04168L1.18118 5.85479C1.06868 5.91044 0.999588 6.01313 1 6.12409V15.7504C1 15.8615 1.06947 15.9641 1.18222 16.0197L10.9516 20.8328C11.007 20.8601 11.0699 20.8744 11.1338 20.8744C11.1995 20.8745 11.264 20.8601 11.3213 20.8328L16.462 18.3025V20.1316C16.461 20.4834 16.6249 20.8209 16.9172 21.0689C17.2095 21.3169 17.606 21.4548 18.0182 21.4519H25.1518C25.5651 21.4551 25.9628 21.3176 26.2568 21.0698C26.5508 20.8219 26.7168 20.4843 26.718 20.1316V11.1533C26.7175 10.4146 26.0174 9.81528 25.1518 9.81245ZM22.6489 9.63475C22.941 9.63475 23.1779 9.83685 23.1779 10.0862V10.1163C23.1779 10.3656 22.941 10.5677 22.6489 10.5677H20.5312C20.239 10.5677 20.0022 10.3656 20.0022 10.1163V10.0862C20.0022 9.83685 20.239 9.63475 20.5312 9.63475H22.6489ZM11.1338 1.67007L15.1932 3.67L6.15329 8.12371L2.09396 6.12378L11.1338 1.67007ZM10.7874 20.0248L1.72885 15.5708V6.66204L10.7874 11.1161V20.0248ZM11.1338 10.5774L6.88214 8.48276L15.9221 4.02909L20.174 6.12378L11.1338 10.5774ZM16.462 11.1533V17.5843L11.5163 20.0248V11.1161L20.5228 6.66204V9.01279H20.5341C19.9641 9.01736 19.4667 9.34363 19.315 9.81245H18.0182C17.1546 9.81602 16.4579 10.4163 16.462 11.1533ZM25.9892 20.1316C25.9882 20.3194 25.899 20.499 25.7416 20.6302C25.5843 20.7614 25.3718 20.8333 25.1518 20.8299H18.0182C17.7992 20.833 17.588 20.7607 17.4323 20.6293C17.2766 20.4979 17.1896 20.3185 17.1909 20.1316V11.1533C17.1887 10.9643 17.2746 10.7823 17.4298 10.6474C17.585 10.5126 17.7967 10.4359 18.0182 10.4344H19.3292C19.4897 10.8865 19.9805 11.1941 20.5341 11.1896H22.6359C23.1895 11.1941 23.6803 10.8865 23.8408 10.4344H25.1518C25.615 10.4369 25.9891 10.758 25.9892 11.1533V20.1316Z\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.4,\n mask: \"url(#path-1-outside-1)\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.438 14.2994H18.8194C19.0207 14.2994 19.1838 14.1602 19.1838 13.9884C19.1838 13.8167 19.0207 13.6775 18.8194 13.6775H18.805V12.8334H19.8102C19.8572 12.9619 19.999 13.0478 20.1566 13.0434C20.3581 13.0438 20.522 12.905 20.523 12.7331V12.5239C20.5213 12.3512 20.357 12.2118 20.1547 12.2114H18.438C18.3414 12.2118 18.249 12.245 18.1811 12.3036C18.1133 12.3622 18.0755 12.4415 18.0762 12.5239V13.9888C18.0756 14.071 18.1135 14.15 18.1814 14.2083C18.2493 14.2666 18.3416 14.2994 18.438 14.2994Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4406 17.1427H20.1586C20.3599 17.1427 20.523 17.0035 20.523 16.8317V15.3657C20.523 15.1939 20.3599 15.0547 20.1586 15.0547H18.4406C18.2393 15.0547 18.0762 15.1939 18.0762 15.3657V16.8317C18.0762 17.0035 18.2393 17.1427 18.4406 17.1427ZM18.805 15.6766H19.7942V16.5207H18.805V15.6766Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.8195 19.3639H18.805V18.5198H19.7905C19.7944 18.6899 19.957 18.8261 20.1564 18.8263C20.3558 18.8264 20.5187 18.6905 20.5231 18.5204V18.2208C20.5223 18.046 20.3594 17.9032 20.1547 17.8978H18.438C18.2346 17.9037 18.0739 18.0471 18.0762 18.2208V19.6857C18.0761 19.7668 18.1145 19.8445 18.1827 19.9011C18.2508 19.9576 18.3429 19.9882 18.438 19.9858H18.8195C19.0207 19.9858 19.1839 19.8466 19.1839 19.6748C19.1839 19.5031 19.0207 19.3639 18.8195 19.3639Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.9926 12.5931L19.9253 13.5038L19.6007 13.2267C19.5086 13.1481 19.3744 13.1174 19.2486 13.1462C19.1229 13.1749 19.0246 13.2588 18.9909 13.3661C18.9572 13.4734 18.9932 13.5879 19.0853 13.6665L19.6677 14.1634C19.736 14.2217 19.8287 14.2545 19.9254 14.2545C20.022 14.2545 20.1147 14.2217 20.1831 14.1634L21.5081 13.0327C21.6504 12.9113 21.6504 12.7144 21.5081 12.5929C21.3658 12.4715 21.135 12.4715 20.9927 12.5929L20.9926 12.5931Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.9926 18.335L19.9253 19.2457L19.6007 18.9686C19.5086 18.8901 19.3744 18.8594 19.2486 18.8881C19.1229 18.9169 19.0246 19.0007 18.9909 19.108C18.9572 19.2154 18.9932 19.3299 19.0853 19.4084L19.6677 19.9054C19.736 19.9637 19.8287 19.9965 19.9254 19.9965C20.022 19.9965 20.1147 19.9637 20.1831 19.9054L21.5081 18.7747C21.6504 18.6532 21.6504 18.4563 21.5081 18.3349C21.3658 18.2134 21.135 18.2134 20.9927 18.3349L20.9926 18.335Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7315 12.9667H22.4426C22.2413 12.9667 22.0781 13.1059 22.0781 13.2776C22.0781 13.4494 22.2413 13.5886 22.4426 13.5886H24.7315C24.9327 13.5886 25.0959 13.4494 25.0959 13.2776C25.0959 13.1059 24.9327 12.9667 24.7315 12.9667Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7315 15.8098H22.4426C22.2413 15.8098 22.0781 15.949 22.0781 16.1208C22.0781 16.2925 22.2413 16.4318 22.4426 16.4318H24.7315C24.9327 16.4318 25.0959 16.2925 25.0959 16.1208C25.0959 15.949 24.9327 15.8098 24.7315 15.8098Z\",\n fill: \"#4D4D4D\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7315 18.6531H22.4426C22.2413 18.6531 22.0781 18.7923 22.0781 18.9641C22.0781 19.1358 22.2413 19.275 22.4426 19.275H24.7315C24.9327 19.275 25.0959 19.1358 25.0959 18.9641C25.0959 18.7923 24.9327 18.6531 24.7315 18.6531Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgAllOrdersIcon = function SvgAllOrdersIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 22,\n viewBox: \"0 0 27 22\",\n fill: \"none\",\n className: \"MuiSvgIcon-root listIcon\",\n focusable: \"false\",\n \"aria-hidden\": \"true\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAllOrdersIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/all-orders-icon.87f5adbd.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 14.75C13.2426 14.75 14.25 13.7426 14.25 12.5C14.25 11.2574 13.2426 10.25 12 10.25C10.7574 10.25 9.75 11.2574 9.75 12.5C9.75 13.7426 10.7574 14.75 12 14.75Z\",\n stroke: \"#4D4D4D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 14.75C5.74264 14.75 6.75 13.7426 6.75 12.5C6.75 11.2574 5.74264 10.25 4.5 10.25C3.25736 10.25 2.25 11.2574 2.25 12.5C2.25 13.7426 3.25736 14.75 4.5 14.75Z\",\n stroke: \"#4D4D4D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.5 14.75C20.7426 14.75 21.75 13.7426 21.75 12.5C21.75 11.2574 20.7426 10.25 19.5 10.25C18.2574 10.25 17.25 11.2574 17.25 12.5C17.25 13.7426 18.2574 14.75 19.5 14.75Z\",\n stroke: \"#4D4D4D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgDotsThreeOutline = function SvgDotsThreeOutline(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDotsThreeOutline, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DotsThreeOutline.6e1acff1.svg\";\nexport { ForwardRef as ReactComponent };","export enum ADDRESS_STATUS {\n VERIFIED = \"VERIFIED\",\n UNVERIFIED = \"UNVERIFIED\",\n}\n\nexport enum API_RESPONSE_STATUS {\n IDLE = \"idle\",\n LOADING = \"loading\",\n SUCCEEDED = \"succeeded\",\n FAILED = \"failed\",\n}\n\nexport enum TIMER_CONST {\n globalTimeForRefresh = 60,\n pullTimeForRefresh = 64,\n}\n\nexport enum UnitOfMeasure {\n PIECES = \"Pieces\",\n GRAMS = \"Grams\",\n}\n\nexport enum QcVerificationStatus {\n VERIFIED = \"VERIFIED\",\n VERIFIED_ISSUES = \"VERIFIED_ISSUES\",\n PARTIALLY_VERIFIED = \"PARTIALLY_VERIFIED\",\n PARTIALLY_VERIFIED_ISSUES = \"PARTIALLY_VERIFIED_ISSUES\",\n UNVERIFIED = \"UNVERIFIED\",\n ALL = \"ALL\",\n}\n","const AppConstants = {\n COUNTRY: \"country\",\n COUNTRY_CODE: \"countryCode\",\n COUNTRY_URL: \"countryUrl\",\n HUB_CODE: \"hubCode\",\n COUNTRY_ALL: \"ALL\",\n ROLE: \"role\",\n HUB_NAME: \"hubName\",\n QCOMM:'QCOMM',\n DELIVERY_STATUS: \"deliveryStatus\",\n DELIVERY_DATE: \"deliveryDate\",\n CARREFOUR: \"(carrefour|market)\",\n DATE_FORMAT: \"DD/MM/YYYY\",\n DATE_FORMAT_UI: \"DD MMM YY\",\n DATE_FORMAT_BACKEND: \"YYYY-MM-DDTHH:mm:ss\",\n DATE_FORMAT_DAY_MONTH: \"DD MMMM\",\n SLOT_FORMAT_UI: \"HH:mm\",\n SLOT_FORMAT_BACKEND: \"HH:mm:ss\",\n DATE_FORMAT_API: \"YYYY-MM-DD\",\n TIMESTAMP: \"DD/MM/YYYY HH:mm:ss\",\n DATE_TIME_FORMAT: \"DD/MM/YY HH:mm\",\n CLEAR_ALL_FILTERS_THRESHOLD: 2,\n SEARCH_BOX_LIMIT: 3,\n SEARCH_TEXT_LIMIT: \"Search box must have at least 3 characters\",\n NO_OPTIONS_TEXT: \"No options to select\",\n COUNTRY_LB: \"LB\",\n COUNTRY_KENYA: \"KE\",\n COUNTRY_UAE: \"AE\",\n COUNTRY_OMAN: \"OM\",\n COUNTRY_OBJ: {\n value: \"AE\",\n name: \"United Arab Emirates\",\n },\n COUNTRY_MAP: {\n AE: \"mafuae\",\n BH: \"mafbhr\",\n EG: \"mafegy\",\n JO: \"mafjor\",\n KE: \"mafken\",\n KW: \"mafkwt\",\n LB: \"maflbn\",\n OM: \"mafomn\",\n PK: \"mafpak\",\n QA: \"mafqat\",\n SA: \"mafsau\",\n GE: \"mafgeo\",\n },\n SELECT_ALL: {\n name: \"Select All\",\n value: \"all\",\n },\n SELECT_NONE: {\n name: \"Please Select\",\n value: \"n/a\",\n },\n ITEMS: [\n {\n name: \"1\",\n value: \"1\",\n },\n {\n name: \"2\",\n value: \"2\",\n },\n ],\n HUB: {\n name: \"Al Saqr, HyperMarket, Customer Service DeskPlease Select\",\n value: \"D04\",\n },\n CATEGORY: {\n name: \"Consignments\",\n value: \"Consignments\",\n },\n ROUTES: {\n name: \"Routes\",\n value: \"Routes\",\n },\n CATEGORIES: {\n category: [\n {\n name: \"Consignments\",\n value: \"Consignments\",\n },\n {\n name: \"Routes\",\n value: \"Routes\",\n },\n ],\n },\n CATEGORIES_HUBWISE: {\n category: [\n {\n name: \"Consignments\",\n value: \"Consignments\",\n },\n ],\n },\n DELIVERY_TYPE: {\n name: \"Food\",\n value: \"Food\",\n },\n\n BUTTONS: {\n SEARCH: \"SEARCH\",\n RESET: \"RESET\",\n CLEAR_ALL: \"CLEAR ALL\",\n CLEAR: \"CLEAR\",\n CLEAR_ALL_FILTERS: \"Clear All Filters\",\n LOAD_MORE_LOADING: \"LOADING MORE DATA\",\n LOGIN: \"LOGIN\",\n FORGOT_PWD: \"Forgot Password?\",\n REGISTER_USER: \"New User Registration\",\n SUBMIT: \"SUBMIT\",\n CREATE_ROUTE: \"CREATE ROUTE\",\n CANCEL: \"CANCEL\",\n YES: \"Yes\",\n NO: \"No\",\n PROCEED: \"PROCEED\",\n ASSIGN: \"Assign\",\n CLEAR_NEW: \"Clear\",\n OPTIMIZE: \"OPTIMIZE\",\n DISCARD: \"DISCARD CHANGES\",\n SAVE: \"SAVE\",\n APPLY: \"APPLY\",\n ADD_USER: \"ADD USER\",\n ADD_HUB: \"ADD HUB\",\n APPROVE: \"APPROVE\",\n REJECT: \"REJECT\",\n RESET_PWD: \"RESET PASSWORD\",\n CONFIRM: \"CONFIRM\",\n GENERATE: \"GENERATE ID\",\n REFRESH_MAP: \"REFRESH MAP\",\n CONTINUE: \"CONTINUE\",\n END_ACTIVE_SESSION: \"END ACTIVE SESSION\",\n END_DRIVER_HELPER_SESSION: \"RELEASE DRIVER/HELPER\",\n GET_CRATE_INFO: \"GET CRATE INFORMATION\",\n EDIT_ITEMS: \"EDIT ITEMS\",\n DOWNLOAD_QR: \"Download QR Code\",\n REGENERATE_QR: \"Re generate QR Code\",\n VIEW_AND_UPLOAD: \"View and Upload Cash reciepts\",\n PUBLISH: \"Publish\",\n ADD: \"Add\",\n SHOW_ORDERS: \"Show Orders\",\n ADD_TO_EXISTING_ROUTES: \"Add to Existing Routes\",\n RELEASE_DRIVER: \"Release Driver\",\n BACK: \"Back\",\n SEND_COMM: \"Send Communication\",\n DELETE: \"DELETE\",\n GENERATE_OTP: \"GENERATE OTP\",\n RESEND_OTP: \"RESEND OTP\",\n DOWNLOAD_ICON: \"Download Icon\",\n },\n SNACKBAR: {\n TYPES: {\n SUCCESS: \"success\",\n ERROR: \"error\",\n },\n AUTO_HIDE_TIMEOUT: 2500,\n AUTO_HIDE_TIMEOUT_PUBLISH: 5000,\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n DEFAULT_API_FAILED: \"BR100\",\n },\n DEFAULT_API_FAILED_ERROR_MSG: \"Something went wrong, Please try again later\",\n },\n VALIDATIONS: {\n EMAIL: {\n REQUIRED: {\n msg: \"Email is required\",\n },\n VALID_EMAIL: {\n msg: \"Please enter a valid email\",\n },\n },\n USERNAME: {\n REQUIRED: {\n msg: \"Username is required\",\n },\n },\n PASSWORD: {\n REQUIRED: {\n msg: \"Password is required\",\n },\n STRONG_PWD: {\n msg: \"Password should be of minimum 8 characters length and should contain at least one Lowercase character, one Uppercase character, one Number and one Special character\",\n value: \"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[@$!%*?&])[A-Za-z\\\\d@$!%*?&]{8,}$\",\n },\n ONE_OF: {\n msg: \"Passwords should be same\",\n },\n },\n SERVICE_TYPE: {\n REQUIRED: {\n msg: \"Service type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\",\n },\n },\n },\n ADMIN_ROLE: \"ROLE_SUPER_ADMIN\",\n CPM_ROLE: \"ROLE_COLLECTION_POINT_MANAGER\",\n CHD_ROLE: \"ROLE_CARREFOUR_HOME_DELIVERY_MANAGER\",\n VT_MANAGER_ROLE: \"ROLE_STANDARD_VALET_TROLLEY_MANAGER\",\n QC_MANAGER_ROLE: \"ROLE_LAST_MILE_QC_MANAGER\",\n DISPATCHER_ROLE: \"ROLE_LAST_MILE_DISPATCHER\",\n EXPRESS_DISPATCHER_ROLE: \"ROLE_LAST_MILE_DISPATCHER_EXPRESS\",\n EXPRESS_VIEWER_ROLE: \"ROLE_LAST_MILE_VIEWER_EXPRESS\",\n COUNTRY_ADMIN: \"COUNTRY_ADMIN\",\n DRIVER_ROLE: \"ROLE_LAST_MILE_DRIVER\",\n HELPER_ROLE: \"ROLE_LAST_MILE_HELPER\",\n ACCESS_DENIED: \"You do not have access to view this page.\",\n DEFAULT_STATUS: \"UNPLANNED\",\n COMPLETED: \"COMPLETED\",\n DRIVER: \"Driver\",\n HELPER: \"Helper\",\n TODAY_DATA_TEXT: \"Shows only today's data\",\n PLANNED: \"PLANNED\",\n TIME_PICKER_FORMAT_UI: \"hh:mm\",\n POP_UP_MESSAGE_CONSTANT: {\n DOWNLOAD_USER_INFORMATION: \"Download User Information\",\n DOWNLOAD_USER_INFORMATION_CONFIRMATION: \"Are you sure you want to download/export the user information?\",\n },\n NR_FEATURES: {\n ALL_ROUTE: {\n NAME: \"all-routes\",\n FEATURES: {\n CREATE_DRAFT_ROUTE: \"create-draft-routes\",\n EDIT_ROUTE: \"edit-routes\",\n PUBLISH_ROUTE: \"publish-routes\",\n FETCH_ALL_PLANNED: \"fetch-all-planned-routes\",\n FETCH_ALL_UNPLANNED: \"fetch-all-unplanned-routes\",\n UPDATE_ORDER_IN_ROUTE: \"update-route-order\",\n ADD_ORDER_TO_ROUTE: \"add-order-to-route\",\n BULK_DELETE: \"bulk-delete\",\n CREATE_AND_EDIT_ROUTE: \"create-and-edit-route\",\n FETCH_ALL_DRIVERS: \"fetch-all-drivers\",\n FETCH_ALL_HELPERS: \"fetch-all-helpers\",\n FETCH_ALL_VEHICLES: \"fetch-all-vehicles\",\n PUBLISH_ALL_ROUTE: \"publish-all-routes\",\n CREATE_DRAFT_ALL_ROUTE: \"create-draft-all-route\",\n LOAD_ALL_SLOTS: \"load-all-slots\",\n UPDATE_CONSIGNMENT_STATUS: \"update-consignment-status\",\n },\n },\n SUB_ROUTE: {\n NAME: \"sub-routes\",\n FEATURES: {\n CREATE_SUB_ROUTE: \"create-sub-route\",\n },\n },\n },\n};\n\nexport default AppConstants;\n","const RouteConstants = {\n ROUTES: {\n LOGIN: \"/login\",\n PLANNING: \"/standard/planning\",\n RECONCILIATION: \"/reconciliation\",\n PERFORMANCE: \"/standard/performance-dashboard\",\n CREATE_ROUTE: \"/create-route\",\n EDIT_ROUTE: \"/edit-route\",\n VIEW_ROUTE: \"/view-route\",\n RESET_PWD: \"/reset-pwd\",\n USERS: \"/users\",\n INDEX: \"/\",\n HOME: \"/standard/planning\",\n TRACKING: \"/standard/tracking\",\n CLICKNCOLLECT: \"/other-deliveries/click-and-collect\",\n VALETTROLLEY: \"/other-deliveries/valet-trolley\",\n CARREFOUR_HOME_DLVRY: \"/other-deliveries/home-delivery\",\n EXPRESS: \"/standard/express-leb\",\n CARREFOUR_NOW: \"/express-delivery/express\",\n DASHBOARD: \"/dashboard\",\n HUBS: \"/standard/hubs\",\n POS: \"/express-delivery/pos\",\n FLEET: \"/fleet\",\n DRIVERS: \"/express-delivery/drivers\",\n ADMINISTRATION: \"/administration\",\n STD_COD_PORTAL: \"/standard/cod-reconciliation\",\n ALL_ORDERS: \"/all-orders/deliveries\",\n RETURNS: \"/all-orders/returns\",\n DASHBOARDCAMS: \"/all-orders/C4dashboard\",\n EXCEPTIONS_DELIVERIES: \"/all-orders/exceptions-deliveries\",\n STAGING_AREA: \"/administration/staging-area\",\n CUSTOMER_COMMUNICATION: \"/administration/communication\",\n HUBWISE: \"/standard/hub-wise\",\n COD_PORTAL: \"/express-delivery/cod-reconciliation\",\n VALET_TROLLEY_CREATE_ROUTE: \"/valet-trolley_create-route\",\n VALET_TROLLEY_EDIT_ROUTE: \"/valet-trolley_edit-route\",\n VALET_TROLLEY_VIEW_ROUTE: \"/valet-trolley_view-route\",\n CARREFOUR_DELIVERY_CREATE_ROUTE: \"/home-delivery_create-route\",\n CARREFOUR_DELIVERY_EDIT_ROUTE: \"/home-delivery_edit-route\",\n CARREFOUR_DELIVERY_VIEW_ROUTE: \"/home-delivery_view-route\",\n DELVE_DASHBOARD: \"/delve/dashboard\",\n DELVE_ORDER_LIST: \"/delve/order-list\",\n STANDARD: \"/standard\",\n EXPRESS_PAGE: \"/express\",\n STORE_MANAGEMENT: \"/store-management\",\n //\n DELIVERIES_GROUP_ID: \"deliveries\",\n DELIVERIES_GROUP: [\n {\n route: \"/standard/planning\",\n isListItem: true,\n },\n {\n route: \"/create-route\",\n isListItem: false,\n },\n {\n route: \"/edit-route\",\n isListItem: false,\n hasParams: true,\n },\n ],\n DASHBOARD_GROUP_ID: \"dashboard\",\n DASHBOARD_GROUP: [\n {\n route: \"/performance\",\n isListItem: true,\n },\n {\n route: \"/reconciliation\",\n isListItem: true,\n },\n ],\n HUB_GROUP_ID: \"hubs\",\n HUB_GROUP: [\n {\n route: \"/standard/hubs\",\n isListItem: true,\n },\n {\n route: \"/pos\",\n isListItem: true,\n },\n ],\n ADMINISTRATION_GROUP_ID: \"administration\",\n ADMINISTRATION_GROUP: [\n {\n route: \"/administration/staging-area\",\n isListItem: true,\n },\n {\n route: \"/administration/communication\",\n isListItem: true,\n },\n ],\n ALL_ORDERS_GROUP_ID: \"all-orders\",\n ALL_ORDERS_GROUP: [\n {\n route: \"/all-orders/deliveries\",\n isListItem: true,\n },\n {\n route: \"/all-orders/returns\",\n isListItem: true,\n },\n {\n route: \"/all-orders/C4dashboard\",\n isListItem: true,\n },\n {\n route: \"/all-orders/exceptions-deliveries\",\n isListItem: true,\n },\n ],\n VT_CONFIG: {\n Routes: {\n VALETTROLLEY: \"/other-deliveries/valet-trolley\",\n Hubs: \"/other-deliveries/hubs\",\n Tracking: \"/other-deliveries/tracking\",\n },\n VT_GROUP_ID: \"other-deliveries\",\n VT_GROUP: [\n {\n route: \"/other-deliveries/valet-trolley\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/hubs\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/tracking\",\n isListItem: true,\n },\n ],\n },\n CNC_CONFIG: {\n Routes: {\n CLICKNCOLLECT: \"/other-deliveries/click-and-collect\",\n Hubs: \"/other-deliveries/hubs\",\n Tracking: \"/other-deliveries/tracking\",\n },\n CNC_GROUP_ID: \"other-deliveries\",\n CNC_GROUP: [\n {\n route: \"/other-deliveries/click-and-collect\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/hubs\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/tracking\",\n isListItem: true,\n },\n ],\n },\n CHD_CONFIG: {\n Routes: {\n CARREFOUR_HOME_DLVRY: \"/other-deliveries/home-delivery\",\n Hubs: \"/other-deliveries/hubs\",\n Tracking: \"/other-deliveries/tracking\",\n },\n CHD_GROUP_ID: \"other-deliveries\",\n CHD_GROUP: [\n {\n route: \"/other-deliveries/home-delivery\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/hubs\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/tracking\",\n isListItem: true,\n },\n ],\n },\n DELVE_GROUP_ID: \"delve\",\n DELVE_GROUP: [\n {\n route: \"/delve/dashboard\",\n isListItem: true,\n },\n {\n route: \"/delve/order-list\",\n isListItem: true,\n },\n ],\n /////For Testing Purpose\n STD_DELIVERIES_GROUP_ID: \"standard\",\n STD_DELIVERIES_GROUP: [\n {\n route: \"/standard/planning\",\n isListItem: true,\n },\n {\n route: \"/standard/performance-dashboard\",\n isListItem: true,\n },\n {\n route: \"/standard/hub-wise\",\n isListItem: true,\n },\n {\n route: \"/standard/tracking\",\n isListItem: true,\n },\n {\n route: \"/standard/hubs\",\n isListItem: true,\n },\n {\n route: \"/standard/cod-reconciliation\",\n isListItem: true,\n },\n {\n route: \"/standard/express-leb\",\n isListItem: true,\n },\n ],\n EXP_DELIVERIES_GROUP_ID: \"express-delivery\",\n EXP_DELIVERIES_GROUP: [\n {\n route: \"/express-delivery/express\",\n isListItem: true,\n },\n {\n route: \"/express-delivery/drivers\",\n isListItem: true,\n },\n {\n route: \"/express-delivery/pos\",\n isListItem: true,\n },\n {\n route: \"/express-delivery/cod-reconciliation\",\n isListItem: true,\n },\n ],\n OFFLINE_DELIVERIES_GROUP_ID: \"other-deliveries\",\n OFFLINE_DELIVERIES_GROUP: [\n {\n route: \"/other-deliveries/click-and-collect\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/valet-trolley\",\n isListItem: true,\n },\n {\n route: \"/other-deliveries/home-delivery\",\n isListItem: true,\n },\n ],\n },\n};\n\nexport default RouteConstants;\n","// REF: https://github.com/nhn/tui.code-snippet/tree/v2.0.0\nimport { saveAs } from 'file-saver'\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { useEffect } from 'react';\nimport AppConstants from '../constants';\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { UnitOfMeasure } from \"../constants/CommonConstants\";\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Check whether the given variable is undefined or not.\n * If the given variable is undefined, returns true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is undefined?\n */\nexport const isUndefined = (target: any): boolean => target === undefined;\n\n/**\n * Check whether the given variable is null or not.\n * If the given variable(arguments[0]) is null, returns true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is null?\n */\nexport const isNull = (target: any): boolean =>\n target === null || target === \"\";\n\n/**\n * Check whether the given variable is existing or not.\n * If the given variable is not null and not undefined, returns true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is existy?\n */\nexport const isExisty = (target: any): boolean =>\n !isUndefined(target) && !isNull(target);\n\n/**\n * Check whether the given variable is a function or not.\n * If the given variable is a function, return true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is function?\n * @memberof module:type\n */\nexport const isFunction = (target: any): boolean => target instanceof Function;\n\n/**\n * Check whether the given variable is a number or not.\n * If the given variable is a number, return true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is number?\n */\nexport const isNumber = (target: any): boolean =>\n typeof target === \"number\" || target instanceof Number;\n\n/**\n * Check whether the given variable is an object or not.\n * If the given variable is an object, return true.\n * @param {*} target - Target for checking\n * @returns {boolean} Is object?\n */\nexport const isObject = (target: any) => target === Object(target);\n\n/**\n * Check whether the given variable is a valid non-empty Array\n * @param {*} target - Target for checking\n * @returns {boolean} Is non-empty Array?\n */\nexport const isNonEmptyArray = (target: any[]): boolean =>\n !!target && target.length > 0;\n\n/**\n * Convert the given variable into decimal point\n * @param {*} target - Target for checking\n * @param {number} decimalPoint - Decimal point\n * @returns {string | number}\n */\nexport const setDecimalPoint = (\n target: any,\n decimalPoint = 2\n): string | number =>\n isNumber(target) ? target.toFixed(decimalPoint) : target;\n\n/**\n * Round up/down to at most 2 decimal places\n * @param {*} target - Target for checking\n * @returns {string | number}\n * REF: https://stackoverflow.com/questions/11832914/round-to-at-most-2-decimal-places-only-if-necessary\n * REF: https://stackoverflow.com/questions/41259253/how-to-round-down-number-2-decimal-places\n */\nexport const roundDecimalNumber = (\n target: any,\n isRoundUp = true\n): string | number =>\n isNumber(target)\n ? Math[isRoundUp ? \"round\" : \"floor\"]((target + 0.00001) * 100) / 100\n : target;\n\n/**\n * Return the correct Noun based on the given \"target\" variable\n * @param {number} target - Target for checking\n * @param {string} singularNoun - Will return if \"target\" is only one\n * @param {string} pluralNoun - Will return if \"target\" is more than one\n * @returns {string}\n */\nexport const getProperNoun = (\n target: number,\n singularNoun: string,\n pluralNoun: string\n): string => (target < 2 ? singularNoun : pluralNoun);\n\n/**\n * Return the length of enumerable properties of the given object\n * @param {object} target - Target for checkout\n */\nexport const countObjectProperties = (target: object) =>\n Object.keys(target).length;\n\n/**\n * Return the key of the given object\n * @param {*} target - Target for checking\n */\nexport const getObjectKeys = (target: object) =>\n Object.keys(target);\n\n/**\n * Return the non empty target\n * @param {object} target - Target for checking\n */\nexport const isArrayNonEmpty = (target: any) =>\n target.length !== 0;\n\n/**\n * Taken from packages/checkout/src/pages/Checkout/components/Delivery/NewAddress/redux/NewAddress.action.ts\n * @param {object} params\n */\nexport const qs = (params: object) => {\n return Object.entries(params)\n .map(([key, val]) => `${key}=${encodeURIComponent(val)}`)\n .join(\"&\");\n};\n\n/**\n * Check whether the given variable is a valid non-empty Object\n * @param {*} target - Target for checking\n * @returns {boolean} Is non-empty Object?\n */\nexport const isNonEmptyObject = (target: any): boolean =>\n target && countObjectProperties(target) > 0;\n\n\nexport const deepCopy = (value: any): any => cloneDeep(value);\n\nexport const parseQuery = (queryString: string) => {\n if (!queryString) {\n return {};\n }\n const query: any = {};\n const pairs = (queryString[0] === \"?\"\n ? queryString.substr(1)\n : queryString\n ).split(\"&\");\n for (const item of pairs) {\n const pair = item.split(\"=\");\n query[\n (window as any).decodeURIComponent(pair[0])\n ] = (window as any).decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\n\n/**\n * Check whether the given variable is a String\n * @param {*} candidate - Target for checking\n * @returns {boolean} Is a string\n */\nexport const isAString = (candidate: any) =>\n typeof candidate === \"string\" || candidate instanceof String;\n\nexport const saveFile = (fileBlob: Blob, fileName: string) => {\n if (fileBlob && fileName) {\n saveAs(fileBlob, fileName);\n }\n}\n\nexport const transformSelectValues = (values: any, nameKey?: string) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item && Object.keys(item).length) {\n return {\n name: nameKey ? item[nameKey] : item.value ? item.value : item.storeName ? item.storeName : \"\",\n value: item.code ? item.code : item.store ? item.store : \"\",\n }\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n}\n\nexport const transformSelectValuesBasedOnKey = (values: any, firstKey?: string,secondKey?: string) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item && Object.keys(item).length) {\n return {\n name: firstKey ? item[firstKey] : item.value,\n value: secondKey ? item[secondKey] : item.value\n }\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n}\n\nexport const transformIntoObjArrays = (value: any, qty: any) => {\n let obj = [];\n for (let value = 0; value <= qty; value++) {\n obj.push({\n name: value.toString(),\n value: value.toString()\n })\n }\n return obj;\n}\n\nexport const transformListOrObjIntoKeyValue = (value: any, nameKey?: string) => {\n let result;\n if (value.constructor.name == \"Array\") {\n let obj = [];\n for (let item = 0; item < value.length; item++) {\n obj.push({\n name: value[item].toString(),\n value: value[item].toString()\n })\n }\n result = obj\n}\nelse{\n if(nameKey){\n result = transformSelectValues(value,nameKey)\n }\n else{\n result = transformSelectValues(value)\n }\n}\n \n return result;\n}\n\nexport const transformForScalable = (val: any, qty: any) => {\n let obj = [];\n for (let value = 0; value <= qty; value++) {\n if(value==qty && val && Number(val)){\n obj.push({\n name:`${val?.toString()} ${'g'}`,\n value: value?.toString()\n })\n }\n else{\n obj.push({\n name: value?.toString(),\n value: value?.toString()\n })\n }\n }\n return obj;\n}\n\n\nexport const transformIntoObj = (value: any) => {\n let obj = [];\n obj.push({\n name: value.toString(),\n value: value.toString()\n })\n return obj;\n}\n\nexport const displayUnitGrams = (value: any) => {\n return value?.toLowerCase() === \"grams\" && 'g';\n}\n\n\nexport const transformProductsResponse = (values: any) => {\n let qty;\n let prodRes: any = [];\n let finalResp = values.forEach((item: any) => {\n qty = isNumeric(item.shippedQty) ? item.shippedQty : item.quantity;\n let isSubstitution = item.hasOwnProperty('substitutedProducts');\n let isScalable = item.uom?.toLowerCase() === 'grams';\n let totalQty = isScalable ? 1 : isSubstitution ? item.substitutedProducts[0].shippedQty : +qty;\n const rejectedItems = isSubstitution\n ? +item.substitutedProducts[0].rejectedQty || 0\n : +item.rejectedQty || 0;\n const initialQty = isScalable ? rejectedItems > 0 ? 1 : 0 : rejectedItems;\n let newObj = [];\n let selectRejected = [];\n if (initialQty === 0) {\n selectRejected.push({\n name: initialQty.toString(),\n value: initialQty.toString()\n })\n } else {\n selectRejected.push({\n name: initialQty.toString(),\n value: initialQty.toString()\n })\n }\n for (let i = 0; i <= totalQty; i++) {\n newObj.push({\n name: i.toString(),\n value: i.toString()\n })\n };\n let deliveryReason = [];\n if (item.reason) {\n deliveryReason.push({\n name: item.reason.reasonDescription,\n value: item.reason.reasonCode\n });\n } else {\n if (item.substitutedProducts && item.substitutedProducts.length) {\n item.substitutedProducts.forEach((subProd: any) => {\n if (subProd.reason) {\n deliveryReason.push({\n name: subProd.reason.reasonDescription,\n value: subProd.reason.reasonCode\n });\n }\n })\n }\n }\n let newResp = {\n ...item, totalQty: totalQty, rejectedQtyList: newObj, selectedRejectedQty: selectRejected, itemDeliveryReason: deliveryReason\n }\n prodRes.push(newResp);\n });\n return prodRes;\n}\n\nexport const transformDateWithEmptyValues = (keys: any, state: any, allDates: any = []) => {\n let result: any = [];\n let emptyRes = keys.reduce((acc: any, item: any) => ({ ...acc, [item.value]: 0 }), {});\n\n if (isNonEmptyObject(state)) {\n const newObj = allDates.reduce((acc: any, item: any) => {\n let responseObj = {}\n if (state[item]) {\n responseObj = { ...state[item] };\n } else {\n responseObj = { ...emptyRes };\n }\n return { ...acc, [item]: { ...responseObj } }\n }, {})\n keys.forEach((key: any) => {\n let obj: any = {};\n\n if (newObj) {\n Object.keys(newObj).forEach((day) => {\n if (obj[key.value]) {\n obj[key.value] = {\n ...obj[key.value],\n data: [...obj[key.value].data, (newObj[day][key.value] || 0)],\n };\n } else {\n obj[key.value] = { name: key.label, data: [newObj[day][key.value] || 0], type: key.type };\n }\n });\n }\n result.push(obj[key.value]);\n });\n }\n return result;\n};\n\nexport const transformDateValues = (keys: any, state: any) => {\n let result: any = [];\n\n if (isNonEmptyObject(state)) {\n\n keys.forEach((key: any) => {\n let obj: any = {};\n\n if (state) {\n Object.keys(state).forEach((day) => {\n if (obj[key.value]) {\n obj[key.value] = {\n ...obj[key.value],\n data: [...obj[key.value].data, (state[day][key.value] || 0)],\n };\n } else {\n obj[key.value] = { name: key.label, data: [state[day][key.value] || 0], type: key.type };\n }\n });\n }\n result.push(obj[key.value]);\n });\n }\n return result;\n};\n\nexport const transformDates = (state: any) => {\n let filteredValues: any = [];\n if (isNonEmptyObject(state)) {\n state.forEach((date: any) => {\n filteredValues.push(moment(date).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_DAY_MONTH));\n })\n return filteredValues;\n }\n}\nexport const transformSlotValues = (keys: any, state: any) => {\n let result: any = [];\n if (isNonEmptyObject(state)) {\n keys.forEach((key: any) => {\n let obj: any = {};\n if (state) {\n Object.keys(state).forEach((day) => {\n if (obj[key.value]) {\n obj[key.value] = {\n ...obj[key.value],\n data: [...obj[key.value].data, state[day][key.value]],\n };\n } else {\n obj[key.value] = { name: key.label, data: [state[day][key.value]] };\n }\n });\n }\n result.push(obj[key.value]);\n });\n }\n return result;\n};\n\nexport const transformPerformanceResponse = (state: any) => {\n if (isNonEmptyObject(state)) {\n const newResponse = Object.keys(state).reduce((acc, item) => {\n let obj = state[item];\n let newSlotWis = { ...obj, ...obj.elementsStatesCount }\n return { ...acc, [item]: { ...newSlotWis } }\n\n }, {})\n return newResponse;\n }\n};\n\nexport const transformVolumeResponse = (state: any) => {\n if (isNonEmptyObject(state)) {\n const newResponse = Object.keys(state).reduce((acc, item) => {\n let obj = state[item];\n let newSlotWis = { ...obj, ...obj.statusWise }\n return { ...acc, [item]: { ...newSlotWis } }\n\n }, {})\n return newResponse;\n }\n};\n\nexport const transformSlots = (state: any) => {\n let filteredSlots: any = [];\n if (isNonEmptyObject(state)) {\n Object.keys(state).forEach((slot) => {\n const splitSlot = slot.split('-');\n const startSlot: any = splitSlot[0] && splitSlot[0].split(':');\n const endSlot: any = splitSlot[1] && splitSlot[1].split(':');\n const startTime: any = moment(slot, AppConstants.SLOT_FORMAT_BACKEND).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.SLOT_FORMAT_UI);\n const endTime: any = moment(slot, AppConstants.SLOT_FORMAT_BACKEND).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.SLOT_FORMAT_UI);\n const formattedSlots = startTime + \"-\" + endTime;\n filteredSlots.push(formattedSlots);\n })\n }\n return filteredSlots;\n}\n\nexport const transformSlotValue = (slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot: any = splitSlot[0] && splitSlot[0].split(':');\n const endSlot: any = splitSlot[1] && splitSlot[1].split(':');\n const startTime: any = moment(slot, AppConstants.SLOT_FORMAT_BACKEND).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.SLOT_FORMAT_UI);\n const endTime: any = moment(slot, AppConstants.SLOT_FORMAT_BACKEND).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.SLOT_FORMAT_UI);\n const formattedSlots = startTime + \"-\" + endTime;\n return formattedSlots;\n}\n\nexport const totalValues = (state: any) => {\n let sum: any = \"\";\n if (isNonEmptyObject(state)) {\n sum = Object.values(state).reduce((a: any, b: any) => a + b, 0);\n };\n return sum;\n}\n\nexport const transformIntoArray = (state: any) => {\n if (isNonEmptyObject(state)) {\n let result: any = [];\n state.map((val: any) => {\n return result.push(val.value);\n })\n }\n return [];\n}\n\nexport const transformDataIntoArray = (keys: any, state: any) => {\n if (isNonEmptyObject(state)) {\n let result: any = [];\n keys.forEach((key: any) => {\n result.push(state[key] || 0);\n });\n return result;\n }\n return [];\n}\n\nexport const localTimeString = (date: Date) => {\n return date.toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n });\n};\n\nexport const localTimeStringNEw = (date: Date) => {\n return date.toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n });\n};\n\nexport const calculateTimeBetweenSlots = (startSlot: any, endSlot: any) => {\n const startTime = startSlot.split(':');\n const endTime = endSlot.split(':');\n let startTimeInMins = Number(Number(startTime[0]) * 60) + Number(startTime[1]);\n let endTimeInMins = Number(Number(endTime[0]) * 60) + Number(endTime[1]);\n let differenceInMins = Number(endTimeInMins) - Number(startTimeInMins);\n return differenceInMins;\n}\n\nexport const isEqualArrays = (a: any[], b: any[], key?: string) => {\n return _.isEqual(_.sortBy(a, key || []), _.sortBy(b, key || []));\n}\n\nexport const getDifferenceValues = (a: any[], b: any[], isObject: boolean = true, key: string = 'value') => {\n let difference = [];\n if (isObject) {\n difference = a.filter((aItem: any) => b.filter((bItem: any) => bItem[key] === aItem[key]).length > 0 ? false : true);\n } else {\n difference = a.filter((aItem: any) => b.filter((bItem: any) => bItem === aItem).length > 0 ? false : true);\n }\n return difference;\n}\n\nexport const getMatchingValues = (a: any[], b: any[], isObject: boolean = true, key: string = 'value') => {\n let matches = [];\n if (isObject) {\n matches = a.filter((aItem: any) => b.filter((bItem: any) => bItem[key] === aItem[key]).length > 0);\n } else {\n matches = a.filter((aItem: any) => b.filter((bItem: any) => bItem === aItem).length > 0);\n }\n return matches;\n}\n\nexport const enumerateDaysBetweenDates = (startDate: string, endDate: string, dateFormat: string = AppConstants.DATE_FORMAT) => {\n let dates = [];\n const currDate = moment(startDate, dateFormat);\n const lastDate = moment(endDate, dateFormat);\n while (currDate.isSameOrBefore(lastDate)) {\n dates.push(currDate.format(dateFormat));\n currDate.add(1, 'days');\n }\n return dates;\n};\n\nexport const getUniqueValues = (array: any[], key?: string) => {\n return Array.from(new Set(key ? array.map((item: any) => item[key]).filter((item: any) => item !== undefined) : array));\n}\n\nexport const getUniqueObjValues = (array: any[], key: string) => {\n return array.filter((item: any, index: number, self: any[]) => {\n return self.findIndex((selfItem: any) => selfItem[key] === item[key]) === index;\n });\n}\n\nexport const highlightTextWithClass = (queryStr: string, resultStr: string) => {\n const regex = new RegExp(queryStr, 'gi');\n return resultStr.replace(regex, (res: string) => {\n return `${res}`;\n });\n}\n\nexport const getSlotUIValue = (slot: any[]) => {\n const startTime = slot.length && moment(slot[0], AppConstants.SLOT_FORMAT_BACKEND).format(AppConstants.SLOT_FORMAT_UI);\n const endTime = slot.length && moment(slot[1], AppConstants.SLOT_FORMAT_BACKEND).format(AppConstants.SLOT_FORMAT_UI);\n return {\n startTime: startTime,\n endTime: endTime\n }\n}\n\nexport const useOutsideClickHandler = (ref: any, handler: any, handlerParams?: any) => {\n useEffect(() => {\n function handleClickOutside(event: any) {\n if (ref.current && !ref.current.contains(event.target)) {\n handler(event, handlerParams);\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, handler, handlerParams]);\n}\n\nexport const useClickHandler = (ref: any, handler: any, handlerParams?: any) => {\n useEffect(() => {\n function handleClick(event: any) {\n if (ref.current && ref.current.contains(event.target)) {\n handler(event, handlerParams);\n }\n }\n\n document.addEventListener(\"mousedown\", handleClick);\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, [ref, handler, handlerParams]);\n}\n\nexport const getValueFromArray = (array: any[], key: string, match: any, matchKey?: string) => {\n return array.filter((item: any) => (matchKey ? item[key] === match[matchKey] : item[key] === match));\n}\n\nexport const convertTime = (seconds: number, showSecs?: boolean) => {\n const hrs = ~~(seconds / 3600);\n let mins = ~~((seconds % 3600) / 60);\n if (~~((seconds % 3600) % 60) > 0) {\n mins = mins + 1;\n }\n const secs = ~~seconds % 60;\n let ret = \"\";\n if (hrs > 0) {\n ret += \"\" + hrs + \" Hrs \" + (mins < 10 ? \"0\" : \"\");\n }\n ret += \"\" + mins + \" Mins \";\n if (showSecs) {\n ret += \"\" + (secs < 10 ? \"0\" : \"\") + secs + \" Secs\";\n }\n return ret;\n}\n\nexport const fixDecimals = (n: number, value: string) => {\n return value && value.indexOf('.') > -1 && !isNaN(parseInt(value)) ? parseFloat(value).toFixed(n) : value;\n}\n\nexport function isNumeric(num: any) {\n return !isNaN(num);\n}\n\nexport const isDisplayStatusEditable = (data: any, country?: any) => {\n if (country === \"EG\") {\n if (AppConstants.DEFAULT_STATUS === (data && data.displayRouteStatus) || AppConstants.PLANNED === (data && data.displayRouteStatus) || (AppConstants.COMPLETED === (data && data.displayRouteStatus))) {\n return true;\n }\n } else {\n if (AppConstants.DEFAULT_STATUS === (data && data.displayRouteStatus) || (AppConstants.COMPLETED === (data && data.displayRouteStatus))) {\n return true;\n }\n }\n}\n\nexport const generateRandomNumber = (startNumber: number, endNumber: number) => {\n return Math.floor(Math.random() * endNumber) + startNumber;\n}\n\nexport function matchAllElements(array1: any, array2: any) {\n return array1.every((ele: any) => {\n return array2.includes(ele);\n })\n}\n\nexport function isModifiedBySystem(lastModifiedBy: string) {\n return lastModifiedBy === AppConstants.EXPRESS_CONSTANTS.ORDER_LOG_MODIFIED_BY.SYSTEM\n}\n\nexport const isInputAnArray = (value: any) => {\n return Array.isArray(value);\n};\n\nexport const checkIfInputIsObject = (value: any) => {\n return typeof value === \"object\";\n};\n\nexport const checkIfInputIsValidObjectWithKeys = (value: any) => {\n return !isUndefined(value) && checkIfInputIsObject(value) && countObjectProperties(value) > 0;\n};\n\nexport const isNumberGreaterThanZero = (num: any) => {\n return isNumeric(num) && parseInt(num) > 0\n}\n\nexport const getPercentageValue = (sumValue: any, currentValue: any) => {\n if(!isUndefined(sumValue) && isNumeric(sumValue) && isNumberGreaterThanZero(sumValue) && !isUndefined(currentValue) && isNumeric(currentValue) && isNumberGreaterThanZero(currentValue)){\n return Math.round((currentValue / sumValue) * 100);\n }\n return 0;\n}\n\nexport const transformHubWithNameAndValueFromSelectValues = (values: any, nameKey?: string) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item && Object.keys(item).length) {\n return {\n name: nameKey ? item[nameKey] : item.value ? item.code + ' - ' + item.value : item.storeName ? item.store + ' - ' + item.storeName : \"\",\n value: item.code ? item.code : item.store ? item.store : \"\",\n }\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n}\n\nexport const filterSlots =(value:any, array:any) =>{\n const startDate = moment(new Date(value.startDate)).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND)\n const endDate = moment(new Date(value.endDate)).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n const arr:any = []\n array.filter((d:any) => {let time = moment(new Date(d.deliveryDate)).format(AppConstants.DATE_FORMAT_BACKEND);\n let obj:any = {}\n if(startDate <= time && time <= endDate){\n obj['name'] = `${d.startTime}-${d.endTime}`\n obj['value'] = `${d.startTime}-${d.endTime}`\n arr.push(obj)\n }\n });\n return arr;\n}\n\n/**\n* Formats a number with commas as thousand separators and rounds it to a specified precision.\n* @param {(number|string)} num - The number to be formatted.\n* @param {number} [precision=2] - The number of decimal places to round the number to.\n* @return {string} The formatted number, or a dash if the input is null, NaN, or non-numeric.\n*/\nexport function formatNumberWithCommas(num : any, precision: number = 2) {\n // handle null, NaN, and non-numeric input\n if (num === null || isNaN(num)) {\n return '-';\n }\n num = +num; // convert input to a number\n // round the number to the specified precision\n num = +num.toFixed(precision);\n // split the number into the integer and decimal parts\n const parts = num.toString().split('.');\n const integerPart = parts[0];\n let decimalPart = parts[1];\n // add trailing zeros to the decimal part if the decimal part is shorter than the desired precision\n if (decimalPart && decimalPart.length < precision) {\n decimalPart += '0'.repeat(precision - decimalPart.length);\n }\n // add commas to the integer part\n let formattedInt = '';\n for (let i = integerPart.length - 1, j = 1; i >= 0; i--, j++) {\n formattedInt = integerPart[i] + formattedInt;\n if (j % 3 === 0 && i > 0) {\n formattedInt = ',' + formattedInt;\n }\n }\n // join the integer and decimal parts\n return decimalPart ? `${formattedInt}.${decimalPart}` : formattedInt;\n}\n\n\n export function transformCountryAndZones(data:any){\n let newValues : {hubs: any[], zoneList: {[key: string]: {}}}= {hubs:[],zoneList:{}}\n if (data && data.length) {\n data.forEach((item: any) => {\n if (item && Object.keys(item).length) {\n newValues.hubs.push({\n name: `${item.posNo} - ${item.name}`,\n value: item.posNo\n }) \n newValues.zoneList[item.posNo] = item.serviceTypes[0].zones\n }\n });\n \n \n }\n return newValues\n }\nexport function isUomGrams(unit: UnitOfMeasure): boolean {\n return unit === UnitOfMeasure.GRAMS;\n}\n\nexport function isCardOnDelivery(paymentType: 'string'): boolean {\n const type = paymentType?.toLowerCase() === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.CARD_ON_DELIVERY.toLowerCase()\n return type;\n}\n\nexport function isFeatureEnabledForCountry(FeatureEnabledForCountries: string, country: string): boolean {\n return FeatureEnabledForCountries?.split(',').includes(country?.toUpperCase());\n}\nexport const isFeatureEnabled = (featureEnabledFor:string, regions: string) => {\n if (regions && featureEnabledFor?.split(\",\").includes(regions?.toUpperCase())) {\n return true;\n }\n return false;\n}\n\nexport const isFeatureDisabled = (featureDisabledFor:string, regions: string) => {\n if (regions && featureDisabledFor?.split(\",\").includes(regions?.toUpperCase())) {\n return false;\n }\n return true;\n}\n\nexport function areDatesEqual(date1: Date, date2: Date): boolean {\n const firstDate = moment(date1,\"DD-MM-YYYY\")\n const secDate = moment(date2,\"DD-MM-YYYY\");\n return moment(firstDate).isSame(secDate)\n}\n\nexport function loadDashIsEmpty(value: any): boolean {\n return _.isEmpty(value);\n}\n\nexport function loadDashIsArray(value: any) : boolean {\n return _.isArray(value);\n}\n\nexport function loadDashIsArrayAndNotEmpty(value: any) : boolean {\n return loadDashIsArray(value) && _.size(value) > 0\n}\n\nexport const transformSelectValuesForPhonePrefixes = (values: any) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item && Object.keys(item).length) {\n return {\n name: `${item.phonePrefix} - ${item.countryName}`,\n value: item.phonePrefix,\n countryCode: item.countryCode,\n };\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n};\n\nexport const transformUerTypeListSelectValues = (values: any, nameKey?: string) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item && Object.keys(item).length) {\n return {\n name: nameKey \n ? item[nameKey]\n : item.value\n ? item.value === 'Internal' \n ? 'Portal User' \n : item.value === 'External' \n ? 'App User'\n : item.value\n : null,\n value: item.code\n }\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n}\n\nexport function combineTwoArrayAndRemoveDuplicate(updatingArr: any[], origArr: any[], keyName: string) {\n let result = _.unionBy(updatingArr, origArr, keyName);\n return result\n}\n\nexport const transformSelectMenuValue = (values: any) => {\n let newValues = [];\n if (values && values.length) {\n newValues = values.map((item: any) => {\n if (item !== undefined) {\n return { name: item ? item : \"(Blanks)\", value: item }\n }\n return false;\n });\n }\n return newValues.filter((item: any) => item);\n}\n\nexport const getHubRecordList = (hubRecordList : any, countryCode : string) => {\n return hubRecordList ? hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode] : []\n}\n\nexport const isRapydActivity = (activity: any) => {\n return activity === AppConstants.QCOMM;\n};\n \n","import { generateRandomNumber } from \"./../utils/helpers.utils\";\n\nexport enum ACTION_BUTTON {\n PUBLISH = 'publish', \n BULK_DELETE =\"bulkDelete\"\n}\n\nconst PlanningConstants = {\n PLANNING_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hub-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hubName-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'consignmentId',\n headerName: 'Consignment ID',\n width: 150\n },\n {\n field: \"deliveryArea\",\n headerName: \"Customer Area\",\n width: 180,\n tooltip: true,\n tooltipDataKey: \"address\",\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName:\n \"c.deliveryInformation.customerContactInfo.address.area\",\n multiple: true,\n key: `autoComplete-deliveryArea-${generateRandomNumber(0, 1000)}`,\n label: \"Area\",\n category: \"std Area\",\n items: [],\n },\n },\n {\n field: \"deliveryZone\", \n headerName: \"Zone\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryZone\",\n fieldName: \"deliveryZone\",\n fieldFullName: \"c.metadata.deliveryZone\",\n multiple: true,\n key: `autoComplete-deliveryZone-${generateRandomNumber(0, 1000)}`,\n label: \"Zone\",\n items: []\n }\n },\n {\n field: \"addressStatus\",\n headerName: \"Address Status\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"addressStatus\",\n fieldName: \"addressStatus\",\n fieldFullName:\n \"c.deliveryInformation.customerContactInfo.address.status\",\n multiple: true,\n key: `autoComplete-addressStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Address Status\",\n items: [],\n },\n },\n {\n field: 'type',\n headerName: 'Type',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"orderType\",\n fieldFullName: \"c.metadata.category\",\n multiple: true,\n key: `autoComplete-orderType-${generateRandomNumber(0, 1000)}`,\n label: \"Order Type\",\n items: [],\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${generateRandomNumber(0, 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'startEndTime',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"startEndTime\",\n }\n },\n {\n field: 'deliveryStatus',\n headerName: 'Status',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"c.metadata.deliveryStatus\",\n multiple: true,\n key: `autoComplete-delStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Status\",\n items: []\n }\n },\n {\n field: 'statusDate',\n headerName: 'Last Updated',\n width: 160\n },\n {\n field: 'numberOfItems',\n headerName: 'No. of Items',\n width: 130\n },\n {\n field: 'crates',\n headerName: 'Crates',\n width: 80\n },\n {\n field: 'orderId',\n headerName: 'Order ID',\n width: 130\n },\n {\n field: 'transactionDate',\n headerName: 'Order Creation Date',\n width: 180\n },\n {\n field: 'customerName',\n headerName: 'Customer Name',\n width: 150\n },\n {\n field: 'customerEmail',\n headerName: 'Customer Email',\n width: 150\n },\n {\n field: 'customerMobileNumber',\n headerName: 'Customer Mobile',\n width: 160\n },\n {\n field: 'paymentType',\n headerName: 'Payment Type',\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"paymentType\",\n fieldName: \"paymentType\",\n fieldFullName: \"c.metadata.paymentType\",\n multiple: true,\n key: `autoComplete-paymentType-${generateRandomNumber(0, 1000)}`,\n label: \"Payment Type\",\n items: []\n }\n },\n {\n field: 'totalAmount',\n headerName: 'Total Amount',\n width: 140\n },\n {\n field: 'codAmount',\n headerName: 'COD Amount',\n width: 130\n },\n {\n field: 'collectedAmount',\n headerName: 'Collected Amount',\n width: 160\n },\n {\n field: 'paybill',\n headerName: 'Pay Bill No',\n width: 160,\n hide: true\n },\n {\n field: 'mpesaphoneNumber',\n headerName: 'MPesa Request Phone',\n width: 160,\n hide: true\n },\n {\n field: 'refNo',\n headerName: 'Reference No',\n width: 180,\n hide: true\n },\n {\n field: 'requestedAmt',\n headerName: 'Amount Requested',\n width: 140,\n hide: true\n },\n {\n field: 'mpesaAttemptNo',\n headerName: 'MPesa Attempt No',\n width: 140,\n hide: true\n },\n {\n field: 'mpesaStatus',\n headerName: 'MPesa Status',\n width: 180,\n hide: true\n },\n {\n field: 'timestamp',\n headerName: 'Timestamp',\n width: 160,\n hide: true\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.deliveryInformation.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${generateRandomNumber(0, 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.metadata.deliveryType\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.metadata.routeName\",\n multiple: true,\n key: `autoComplete-routeId-${generateRandomNumber(0, 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.metadata.routeStatus\",\n multiple: true,\n key: `autoComplete-routeStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Route Status\",\n items: []\n }\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.deliveryInformation.driver.id\",\n multiple: true,\n key: `autoComplete-driver-${generateRandomNumber(0, 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vendor',\n headerName: 'Vendor',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vendor\",\n fieldName: \"vendor\",\n fieldFullName: \"c.deliveryInformation.driver.vendor\",\n multiple: true,\n key: `autoComplete-vendor-${generateRandomNumber(0, 1000)}`,\n label: \"Vendor\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.deliveryInformation.vehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${generateRandomNumber(0, 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.deliveryInformation.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${generateRandomNumber(0, 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration (in mins)',\n width: 220\n },\n {\n field: \"deliveryExecutionStatus\",\n headerName: \"Delivery Status\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryExecutionStatus\",\n fieldName: \"deliveryExecutionStatus\",\n fieldFullName: \"c.deliveryInformation.deliveryExecutionStatus\",\n multiple: true,\n key: `autoComplete-deliveryExecutionStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Status\",\n items: [],\n },\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration (in mins)',\n width: 210\n },\n {\n field: \"deliveryFailedReason\",\n headerName: \"Undelivered Reason\",\n width: 200,\n },\n ],\n headerButtons: [\n {\n name: \"createRoute\",\n displayName: \"CREATE ROUTE\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.area'\n },\n addressStatus: {\n key: \"addressStatus\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.status'\n },\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n fieldName: 'c.metadata.deliveryZone'\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n fieldName: 'c.metadata.paymentType'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.deliveryInformation.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [\"STD\"],\n fieldName: 'c.metadata.deliveryType',\n ignoreCount:true\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.metadata.routeId'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.metadata.routeStatus'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.deliveryInformation.driver.id'\n },\n vendor: {\n key: \"vendor\",\n value: [],\n fieldName: 'c.deliveryInformation.driver.vendor'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.deliveryInformation.vehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.deliveryInformation.helper.id'\n },\n deliveryFailedReason: {\n key: \"deliveryFailedReason\",\n value: [],\n fieldName: 'c.reason.reasonCode'\n },\n deliveryExecutionStatus: {\n key: \"deliveryExecutionStatus\",\n value: [],\n fieldName: 'c.deliveryInformation.deliveryExecutionStatus'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus',\n ignoreCount:true\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"c.consignmentCode\"\n },\n {\n name: \"Order Id\",\n value: \"c.orderCode\"\n },\n {\n name: \"Crate Id\",\n value: \"c.crateId\"\n },\n {\n name: \"Phone\",\n value: \"c.deliveryInformation.customerContactInfo.phone\"\n },\n {\n name: \"Full Name\",\n value: \"c.deliveryInformation.customerContactInfo.name\"\n },\n {\n name: \"Email\",\n value: \"c.deliveryInformation.customerContactInfo.email\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"NEW\": {\n color: \"PICTON_BLUE\",\n hintText: \"\"\n },\n \"READY_TO_PREPARE\": {\n color: \"CREAM_CAN\",\n hintText: \"\"\n },\n \"READY_TO_DISPATCH\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"VISTA_BLUE\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"SEA_GREEN\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"GOLDEN_BELL\",\n hintText: \"\"\n },\n \"ON_HOLD\": {\n color: \"SCAMPI\",\n hintText: \"\"\n },\n \"PENDING_DELIVERY\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"DELIVERED\": {\n color: \"SEA_GREEN2\",\n hintText: \"\"\n },\n \"PARTIALLY_DELIVERED\": {\n color: \"LUCKY\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"DUSTY_GRAY\",\n hintText: \"\"\n },\n \"RETURNED_TO_STORE/HUB\": {\n color: \"JUNGLE_GREEN\",\n hintText: \"\"\n },\n \"DELIVERY_FAILED\": {\n color: \"BLACK\",\n hintText: \"\"\n },\n \"PACKING_COMPLETE\": {\n color: \"MINSK\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"BLUE\",\n hintText: \"\"\n }\n },\n ORDER_STATUS: {\n NEW: \"NEW\",\n READY_TO_PREPARE: \"READY_TO_PREPARE\",\n READY_TO_DISPATCH: \"READY_TO_DISPATCH\",\n PREPARING: \"PREPARING\",\n PREPARED: \"PREPARED\",\n OUT_FOR_DELIVERY: \"OUT_FOR_DELIVERY\",\n ON_HOLD: \"ON_HOLD\",\n PENDING_DELIVERY: \"PENDING_DELIVERY\",\n DELIVERED: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n CANCELLED: \"CANCELLED\",\n \"RETURNED_TO_STORE/HUB\": \"RETURNED_TO_STORE/HUB\",\n DELIVERY_FAILED: \"DELIVERY_FAILED\",\n PACKING_COMPLETE: \"PACKING_COMPLETE\",\n ASSIGNED:\"ASSIGNED\"\n },\n PC_NOT_RECEIVED: \"PC_NOT_RECEIVED\",\n COMPLETED: \"COMPLETED\",\n TERMINAL_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED', 'PARTIALLY_DELIVERED', 'ON_HOLD','OUT_FOR_DELIVERY'],\n NON_EDITABLE_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'PARTIALLY_DELIVERED', 'DELIVERED'],\n REFRESHABLE_STATUSES:['NEW'],\n CANCELLED: 'CANCELLED',\n DEFAULT_FILTER_CHIP: 'UNPLANNED',\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: 'Consignment updated successfully.',\n ADDRESS_MARKED_UNVERIFIED: \"Address has been marked as inaccurate\",\n DEFAULT_REPLANNING_SELECTION: 'reschedule',\n COD_TEXT: \"COD\",\n CARD_ON_DELIVERY:\"Card on delivery\",\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus',\n ignoreCount:true\n },\n CRATE_ID: \"Crate Id\",\n TAB_VALUES_DETAIL: {\n ORDER_DETAIL: \"Order Detail\",\n ORDER_LOG: \"Order\",\n },\n DELIVERY_EXECUTION_STATUS: {\n DELAYED:{\n color: \"ORANGE\",\n },\n ON_TIME:{\n color: \"SUCCESS_GREEN\",\n },\n },\n },\n \n ROUTES_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Routes\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 165,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hub-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hubName-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 155,\n filter: true,\n showArrowIcon:true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.routeId\",\n multiple: true,\n key: `autoComplete-routeId-${generateRandomNumber(0, 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'deliveryArea',\n headerName: 'Area',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"c.deliveryArea\",\n multiple: true,\n key: `autoComplete-deliveryArea-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Area\",\n items: []\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${generateRandomNumber(0, 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'deliverySlot',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlot\",\n }\n },\n {\n field: 'consignments',\n headerName: 'Consignments',\n width: 110\n },\n {\n field: 'crates',\n headerName: 'Crates',\n width: 80\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${generateRandomNumber(0, 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.deliveryProposition\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n },\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.status\",\n multiple: true,\n key: `autoComplete-routeStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Route Status\",\n items: []\n },\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.assignee.id\",\n multiple: true,\n key: `autoComplete-driver-${generateRandomNumber(0, 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.assignedVehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${generateRandomNumber(0, 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${generateRandomNumber(0, 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'createdBy',\n headerName: 'Created By',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"createdBy\",\n fieldName: \"createdBy\",\n fieldFullName: \"c.createdBy\",\n multiple: true,\n key: `autoComplete-createdBy-${generateRandomNumber(0, 1000)}`,\n label: \"Created By\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration',\n width: 180\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration',\n width: 180\n },\n {\n field: 'actualDistance',\n headerName: 'Actual Distance',\n width: 180\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100\n }\n ],\n headerButtons: [\n {\n name: ACTION_BUTTON.BULK_DELETE,\n displayName: \"\",\n disabled: false,\n classes: 'customButton',\n hide: false\n },\n {\n name: ACTION_BUTTON.PUBLISH,\n displayName: \"PUBLISH ROUTES\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.hubCode'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.hubCode'\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.routeId'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryArea'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [],\n fieldName: 'c.deliveryProposition'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.status'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.assignee.id'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.assignedVehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.helper.id'\n },\n createdBy: {\n key: \"createdBy\",\n value: [],\n fieldName: 'c.createdBy'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus',\n ignoreCount:true\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Route Id\",\n value: \"c.routeId\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n SUB_ROUTE_TAG:{\n color: \"TROPICAL_BLUE\",\n hintText: \"\"\n },\n STATUSES: {\n \"DRAFTED\": {\n color: \"TROPICAL_BLUE\",\n hintText: \"\"\n },\n \"CREATED\": {\n color: \"CATSKILL_WHITE\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"BLUE_HAZE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"BARLEY_WHITE\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"DOUBLE_PEARL_LUSTA\",\n hintText: \"\"\n },\n \"COMPLETED\": {\n color: \"JAGGED_ICE\",\n hintText: \"\"\n },\n \"PUBLISHED\": {\n color: \"TARA\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"JAGGED_ICE_PREPARED\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"ALTO\",\n hintText: \"\"\n }\n },\n DEFAULT_FILTER_CHIP: 'PLANNED',\n PUBLISHED_FILTER_CHIP:'PUBLISHED',\n UNEDITABLE_CHIP: 'COMPLETED',\n DELETE_STATUS:['PLANNED','PUBLISHED','PREPARING','PREPARED'],\n EDIT_STATUS_ROUTE:['PLANNED','PUBLISHED','PREPARING','PREPARED', 'OUT_FOR_DELIVERY'],\n PUBLISH_ROUTES_SUCCESS_MSG: 'have been published successfully.',\n OUT_FOR_DELIVERY:'OUT_FOR_DELIVERY',\n UPDATE_ROUTE_SUCCESS_MSG: 'has been updated.',\n DELETE_ROUTE_SUCCESS_MSG: 'has been deleted!',\n PUBLISH_ROUTES_ERROR_MSG: 'could not be published',\n BULK_DELETE_ERROR_MSG:'Route(s) could not be deleted',\n TAB_VALUES: {\n CONSIGNMENTS: 'consignments',\n ROUTES: 'routes',\n ALLROUTES: 'All Routes'\n },\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus',\n ignoreCount:true\n },\n DISPLAY_PUBLISHED_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['PUBLISHED'],\n fieldName: 'c.displayRouteStatus',\n ignoreCount:true\n },\n },\n CREATE_ROUTE_DATA: {\n CREATE_ROUTE_SUCCESS_MSG: 'has been created successfully',\n DRAFTED_CONSIGNMENT_TOOLTIP_MSG: 'This consignment is being used in another route',\n CAPACITY_BREACH_MSGS: {\n CONSIGNMENTS: \"You are exceeding capacity for the consignments\",\n CRATES: \"You are exceeding capacity for the crates\",\n TRANSIT_TIME: \"You are exceeding capacity for the transit time\",\n CONSIGNMENTS_AND_CRATES: \"You are exceeding capacity for the consignments and crates\",\n CONSIGNMENTS_AND_TRANSIT_TIME: \"You are exceeding capacity for the consignments and transit time\",\n CRATES_AND_TRANSIT_TIME: \"You are exceeding capacity for the crates and transit time\",\n ALL_VALUES: \"You are exceeding capacity for the consignments, crates and transit time\",\n },\n DRIVER_SERVICE_TIME: 600,\n TAB_VALUES: {\n UNPLANNED: 'unplanned',\n PLANNED: 'planned'\n }\n },\n // EXCEL_FILE_NAME: \"consignments.xlsx\",\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\"\n }\n },\n ALL_FILTER_CHIP: \"ALL\",\n HUB_FOR_ROUTES: 'hubForRoutes',\n CHANGE_HUB: 'Change Hub',\n ROUTE_DATA_PERSIST :'RoutePayload',\n DRIVER_LOCATION_REFRESH_INTERVAL: 300000,\n REDUCE_DRIVER_LOCATION_COUNT_DOWN_INTERVAL: 1000,\n },\n}\n\nexport default PlanningConstants;\n\n","import AppConstants from \"./AppConstants\";\n\nexport enum ACTION_BUTTON {\n BULK_DELETE =\"bulkDelete\"\n}\n\nconst UsersConstants = {\n USERS_CONSTANTS: {\n TABLE_WRAPPER_DATA: {\n title: \"Users\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'type',\n headerName: 'Type',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"type\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-type-${Math.floor(Math.random() * 1000)}`,\n label: \"Type\",\n items: [],\n }\n },\n {\n field: 'firstname',\n headerName: 'First Name',\n width: 150\n },\n {\n field: 'lastname',\n headerName: 'Last Name',\n width: 150\n },\n {\n field: 'userId',\n headerName: 'User Id/ Email',\n width: 220\n },\n {\n field: 'country',\n headerName: 'Country',\n width: 150\n },\n {\n field: 'hubName',\n headerName: 'Hub',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hub\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub\",\n items: []\n }\n },\n {\n field: 'phone',\n headerName: 'Phone No.',\n width: 150\n },\n {\n field: 'buildVersion',\n headerName: 'App Version',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"buildVersion\",\n fieldName: \"buildVersion\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-buildVersion-${Math.floor(Math.random() * 1000)}`,\n label: \"buildVersion\",\n items: [],\n }\n },\n {\n field: 'status',\n headerName: 'Status',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"status\",\n fieldName: \"status\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-status-${Math.floor(Math.random() * 1000)}`,\n label: \"Status\",\n items: [],\n }\n },\n {\n field: 'role',\n headerName: 'Role',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"role\",\n fieldName: \"role\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-role-${Math.floor(Math.random() * 1000)}`,\n label: \"Role\",\n items: [],\n }\n },\n {\n field: 'vehicleType',\n headerName: 'Vehicle Type',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicleType\",\n fieldName: \"vehicleType\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-vehicleType-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle Type\",\n items: [],\n }\n },\n {\n field: 'vendor',\n headerName: 'Vendor',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vendor\",\n fieldName: \"vendor\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-vendor-${Math.floor(Math.random() * 1000)}`,\n label: \"Vendor\",\n items: [],\n }\n },\n {\n field: 'deliveryType',\n headerName: 'Delivery Type',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryType\",\n fieldName: \"deliveryType\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-deliveryType-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Type\",\n items: [],\n }\n },\n {\n field: 'serviceType',\n headerName: 'Service Type',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"serviceType\",\n fieldName: \"serviceType\",\n fieldFullName: \"\",\n multiple: true,\n key: `autoComplete-serviceType-${Math.floor(Math.random() * 1000)}`,\n label: \"Service Type\",\n items: [],\n }\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100,\n hide: false\n }\n ],\n headerButtons: [\n {\n name: ACTION_BUTTON.BULK_DELETE,\n displayName: \"\",\n disabled: false,\n classes: 'primary',\n hide: false\n },\n {\n name: \"addUser\",\n displayName: \"Add New User\",\n disabled: false,\n classes: 'primary',\n hide: false\n },\n {\n name: AppConstants.BUTTONS.DOWNLOAD_ICON,\n displayName: \"\",\n disabled: false,\n classes: 'primary',\n hide: false\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n role: {\n key: \"role\",\n value: [],\n fieldName: ''\n },\n buildVersion:{\n key: \"buildVersion\",\n value: [],\n fieldName: ''\n },\n status: {\n key: \"status\",\n value: [],\n fieldName: ''\n },\n type: {\n key: \"type\",\n value: [],\n fieldName: ''\n },\n vendor: { key: \"type\", value: [], fieldName: 'vendor' },\n deliveryType: { key: \"type\", value: [], fieldName: 'deliveryType' },\n vehicleType: { key: \"type\", value: [], fieldName: 'vehicleType' },\n serviceType: { key: \"type\", value: [], fieldName: 'serviceType' },\n page: 0\n },\n SEARCH_TYPES: [\n {\n name: \"First Name\",\n value: \"firstname\"\n },\n {\n name: \"Last Name\",\n value: \"lastname\"\n },\n {\n name: \"Email Id\",\n value: \"email\"\n },\n {\n name: \"Username\",\n value: \"username\"\n }\n ],\n sortModel: {\n field: \"email\",\n direction: \"asc\"\n }\n },\n VALIDATIONS: {\n FIRSTNAME: {\n REQUIRED: {\n msg: \"Firstname is required\"\n }\n },\n LASTNAME: {\n REQUIRED: {\n msg: \"Lastname is required\"\n }\n },\n PHONE: {\n REQUIRED: {\n msg: \"Phone Number is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid Phone number\",\n value: \"^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$\",\n lengthIssue: \"Please enter a valid phone number between 6 to 10 digits\"\n }\n },\n STATUS: {\n REQUIRED: {\n msg: \"Status is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n ROLE: {\n REQUIRED: {\n msg: \"Role is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n TYPE: {\n REQUIRED: {\n msg: \"Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n DELIVERY_TYPE: {\n REQUIRED: {\n msg: \"Delivery Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n VEHICLE: {\n REQUIRED: {\n msg: \"Vehicle Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n VENDOR: {\n REQUIRED: {\n msg: \"Vendor is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n COUNTRY: {\n REQUIRED: {\n msg: \"Country is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n HUB: {\n REQUIRED: {\n msg: \"Hub is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\",\n multipleHubs: \"Please select atleast one hub for all selected countries.\",\n }\n },\n PREFIX: {\n REQUIRED: {\n msg: \"Phone prefix is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\",\n },\n },\n },\n STATUSES: {\n \"CREATED\": {\n color: \"black\",\n name: \"Created\",\n tooltip: \"User created by admin\"\n },\n \"ACTIVE\": {\n color: \"green\",\n name: \"Active\",\n tooltip: \"User approved by admin\"\n },\n \"INACTIVE\": {\n color: \"red\",\n name: \"Inactive\",\n tooltip: \"User is deactivated by admin\"\n },\n \"REJECTED\": {\n color: \"gray\",\n name: \"Rejected\",\n tooltip: \"User request is rejected by admin\"\n },\n \"AWAITING_APPROVAL\": {\n color: \"yellow\",\n name: \"Pending Approval\",\n tooltip: \"User approval is pending at admin end\"\n },\n \"AWAITING_EMAIL_VERIFICATION\": {\n color: \"yellow\",\n name: \"Pending Email Verification\",\n tooltip: \"User email verification is pending at user end\"\n }\n },\n USER_ROLES: [\n {\n code: \"ROLE_SUPER_ADMIN\",\n value: \"Super Admin\"\n },\n {\n code: \"ROLE_APP_ADMIN\",\n value: \"Application Admin\"\n },\n {\n code: \"ROLE_COUNTRY_ADMIN\",\n value: \"Country Admin\"\n },\n {\n code: \"ROLE_LAST_MILE_DRIVER\",\n value: \"Driver\"\n },\n {\n code: \"ROLE_LAST_MILE_HELPER\",\n value: \"Helper\"\n },\n {\n code: \"ROLE_LAST_MILE_DISPATCHER\",\n value: \"Last Mile Dispatcher\"\n },\n {\n code: \"ROLE_LAST_MILE_OPERATIONS_MANAGER\",\n value: \"Last Mile Operations Manager\"\n },\n {\n code: \"ROLE_CUSTOMER_SERVICE\",\n value: \"Customer Service\"\n },\n {\n code: \"ROLE_COLLECTION_POINT_MANAGER\",\n value: \"Collection Point Manager\"\n },\n {\n code: \"ROLE_STANDARD_VALET_TROLLEY_MANAGER\",\n value: \"Standard Valet Trolley Manager\"\n },\n {\n code: \"ROLE_CARREFOUR_HOME_DELIVERY_MANAGER\",\n value: \"Carrefour Home Delivery Manager\"\n },\n {\n code: \"ROLE_LAST_MILE_QC_MANAGER\",\n value: \"QC Manager\"\n },\n {\n code: \"ROLE_LAST_MILE_QC_EXECUTIVE\",\n value: \"QC Executive\"\n },\n {\n code: \"ROLE_LAST_MILE_VIEWER\",\n value: \"Last Mile Viewer\"\n }\n ],\n READ_ONLY_ROLE: \"LAST_MILE_VIEWER\",\n READ_ONLY_ROLE_STANDARD: \"LAST_MILE_VIEWER_STANDARD\",\n READ_ONLY_ROLE_EXPRESS: \"LAST_MILE_VIEWER_EXPRESS\",\n DISPATCHER_ROLE: \"LAST_MILE_DISPATCHER\",\n DISPATCHER_ROLE_EXP: \"LAST_MILE_DISPATCHER_EXPRESS\",\n DISPATCHER_ROLE_STD: \"LAST_MILE_DISPATCHER_STANDARD\",\n COLLECTION_POINT_MANAGER: [\n {\n code: \"ROLE_COLLECTION_POINT_MANAGER\",\n value: \"Collection Point Manager\"\n }\n ],\n VALET_TROLLEY_MANAGER: [\n {\n code: \"ROLE_STANDARD_VALET_TROLLEY_MANAGER\",\n value: \"Standard Valet Trolley Manager\"\n }\n ],\n CARREFOUR_DELIVERY_MANAGER: [\n {\n code: \"ROLE_CARREFOUR_HOME_DELIVERY_MANAGER\",\n value: \"Carrefour Home Delivery Manager\"\n }\n ],\n QC_MANAGER: [\n {\n code: \"ROLE_LAST_MILE_QC_MANAGER\",\n value: \"QC Manager\"\n }\n ],\n QC_EXECUTIVE: [\n {\n code: \"ROLE_LAST_MILE_QC_EXECUTIVE\",\n value: \"QC Executive\"\n }\n ],\n DRIVER: [\n {\n code: \"ROLE_LAST_MILE_DRIVER\",\n value: \"Driver\"\n }\n ],\n ADMIN_ROLES: [\n {\n code: \"ROLE_SUPER_ADMIN\",\n value: \"Super Admin\"\n },\n {\n code: \"ROLE_APP_ADMIN\",\n value: \"Application Admin\"\n },\n {\n code: \"ROLE_COUNTRY_ADMIN\",\n value: \"Country Admin\"\n }\n ],\n EXPRESS: \"EXPRESS\",\n DRIVER_ROLE: \"ROLE_LAST_MILE_DRIVER\",\n LAST_MILE_DISPATCHER_ROLE: \"ROLE_LAST_MILE_DISPATCHER\",\n LAST_MILE_VIEWER_ROLE: \"ROLE_LAST_MILE_VIEWER\",\n DRIVER_OR_VEHICLE_ROLES: [\n {\n code: \"ROLE_LAST_MILE_DRIVER\",\n value: \"Driver\"\n },\n {\n code: \"ROLE_LAST_MILE_HELPER\",\n value: \"Helper\"\n },\n ],\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n },\n USER_UPDATE_SUCCESS_MSG: \"has been approved successfully!\",\n USER_UPDATE_REJECT_MSG: \"has been rejected.\"\n },\n USERNAME_USERTYPE: \"External\",\n RELEASE_ASSIGNEE_CONTENT: \"This will result in clearing the assigned slots to the driver / helper.Please confirm to proceed.\",\n END_ACTIVE_SESSION_CONTENT: \"Ending a session will result in losing all unsaved data from the device. Please confirm to proceed.\",\n END_SESSION: \"END SESSION\",\n LAST_MILE_QC_EXECUTIVE_ROLE: \"ROLE_LAST_MILE_QC_EXECUTIVE\",\n USER_ROLE_TYPE_ERROR : \"Only Drivers or QC Executives roles can be External User.\",\n POP_UP_MESSAGE_CONSTANT: {\n DELETE_USER_RECORD: 'Delete User Data',\n DOWNLOAD_USER_INFORMATION_CONFIRMATION : 'Are you sure you want to delete the user data ? This action cannot be undone.'\n },\n ROLE_LAST_MILE_HELPER: 'ROLE_LAST_MILE_HELPER',\n USER_TYPE: {\n INTERNAL: 'Internal',\n PORTAL_USER: 'Portal User',\n EXTERNAL: 'External',\n APP_USER: 'App User'\n },\n SERVICE_TYPE:{\n STANDARD: \"STANDARD\",\n EXPRESS: \"EXPRESS\",\n },\n MULTIPLE_COUNTRIES_ROLE: {\n ROLE_SUPER_ADMIN: 'ROLE_SUPER_ADMIN'\n }\n },\n}\n\nexport default UsersConstants;","const LoginConstants = {\n LOGIN_CONSTANTS: {\n VALIDATIONS: {\n EMAIL: {\n REQUIRED: {\n msg: \"Email is required\"\n },\n VALID_EMAIL: {\n msg: \"Please enter a valid email\"\n }\n },\n USERNAME: {\n REQUIRED: {\n msg: \"Username is required\"\n },\n },\n OLDPASSWORD: {\n REQUIRED: {\n msg: \"Old Password is required\"\n },\n },\n PASSWORD: {\n REQUIRED: {\n msg: \"Password is required\"\n },\n STRONG_PWD: {\n msg: \"Password should be of minimum 8 characters length and should contain at least one Lowercase character, one Uppercase character, one Number and one Special character\",\n value: \"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[@$!%*?&])[A-Za-z\\\\d@$!%*?&]{8,}$\"\n },\n ONE_OF: {\n msg: \"Passwords should be same\"\n }\n },\n FIRSTNAME: {\n REQUIRED: {\n msg: \"Firstname is required\"\n }\n },\n LASTNAME: {\n REQUIRED: {\n msg: \"Lastname is required\"\n }\n },\n PHONE: {\n REQUIRED: {\n msg: \"Phone Number is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid Phone number\",\n value: \"^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$\"\n }\n },\n ROLE: {\n REQUIRED: {\n msg: \"Role is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n TYPE: {\n REQUIRED: {\n msg: \"Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n COUNTRY: {\n REQUIRED: {\n msg: \"Country is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n HUB: {\n REQUIRED: {\n msg: \"Hub is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n OTP: {\n REQUIRED: {\n msg: \"OTP is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid OTP\",\n value: \"^[0-9]{6}$\",\n }\n }\n },\n ROLES: [\n {\n name: \"Last Mile Dispatcher\",\n value: \"ROLE_LMD\"\n },\n {\n name: \"Last Mile Operations Manager\",\n value: \"ROLE_LMOM\"\n },\n {\n name: \"Customer Service\",\n value: \"ROLE_CS\"\n }\n ],\n TYPES: [\n {\n name: \"Staff\",\n value: \"STAFF\"\n },\n {\n name: \"Outsourced\",\n value: \"OUTSOURCED\"\n }\n ],\n INCORRECT_UNAME_PWD_ERROR_MSG: \"Incorrect Username or Password. Please try again\",\n PWD_CHANGE_SUCCESS_MSG: \"We have sent a reset password link to your email. Please check.\",\n USER_CREATION_SUCCESS_MSG: \"Account is created successfully and sent to admin for approval.\",\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n CONFIRM_PWD: \"UM102\",\n ACCOUNT_DISABLED: \"UM103\",\n INVALID_UNAME: \"UM104\",\n PWD_EXP: \"UM105\",\n INVALID_PWD: \"UM106\",\n PWD_MISMATCH: \"UM107\"\n }\n },\n OTP_SENT_SUCCESSFULLY: \"OTP Sent Successfully\"\n }\n}\n\nexport default LoginConstants;","const ReconciliationConstants = {\n RECONCILIATION_CONSTANTS: {\n AMOUNT_VALUES: {\n Amount: [\n { label: \"Handed Over\", value: \"handedOver\" },\n { label: \"Pending\", value: \"pendingAmount\" },\n { label: \"Excess\", value: \"excess\" },\n { label: \"Shortage\", value: \"shortage\" },\n ]\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n }\n },\n }\n}\n\nexport default ReconciliationConstants;\n","const DashboardConstants = {\n DASHBOARD_CONSTANTS: {\n PERFORMANCE_CONSTANTS: {\n SLOT_VALUES: {\n Percentages: [\n { label: \"OnTime Handover Percentage\", value: \"handOverOnTimePercentage\" },\n { label: \"OnTime Delivery Percentage\", value: \"onTimePercentage\" }\n ],\n Counts: [\n { label: \"OnTime Handover\", value: \"OnTime Handover\" },\n { label: \"OnTime Delivery\", value: \"OnTime\" }\n ],\n Volume: [\n { label: \"Unplanned\", value: \"Unplanned\" },\n { label: \"Planned/Published\", value: \"Planned/Published\" },\n { label: \"Preparing/Prepared\", value: \"Preparing/Prepared\" },\n { label: \"Out for Delivery\", value: \"Out for Delivery\" },\n { label: \"Delivered\", value: \"Delivered\" },\n { label: \"Un-Delivered\", value: \"Un-Delivered\" },\n { label: \"Cancelled\", value: \"Cancelled\" },\n ],\n PaymentWise: [\n \"COD\", \"Card on Delivery\", \"Prepaid\"\n ],\n DeliveryTypeWise: ['E-Food Standard', 'Marketplace', 'Non Food', 'Express Delivery'] // https://mafretail.atlassian.net/browse/MILE-3550\n },\n },\n ROUTES_PERFORMANCE_CONSTANTS: {\n SLOT_VALUES: {\n Percentages: [\n { label: \"OnTime Delivery Percentage\", value: \"onTimePercentage\" },\n { label: \"OnTime Handover Percentage\", value: \"handOverOnTimePercentage\" }\n ],\n Counts: [\n { label: \"OnTime Delivery\", value: \"OnTime\" },\n { label: \"OnTime Handover\", value: \"Late\" }\n ],\n Volume: [\n { label: \"Planned/Published\", value: \"Planned/Published\" },\n { label: \"In Progress\", value: \"In Progress\" },\n { label: \"Completed\", value: \"Completed\" },\n ],\n PaymentWise: [\n \"COD\", \"Card on Delivery\", \"COD And Prepaid\"\n ],\n DeliveryTypeWise: ['E-Food Standard', 'Marketplace', 'Non Food', 'Express Delivery'] // https://mafretail.atlassian.net/browse/MILE-3550 */\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n }\n },\n TAB_VALUES: {\n DASHBOARD: 'Dashboard',\n HUB_WISE_DASHBOARS: 'Hubwise Dashboard',\n COD_RECON: 'COD Recon'\n },\n }\n}\n\nexport default DashboardConstants;\n","const TrackingConstants = {\n TRACKING_CONSTANTS: {\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hubCode: {\n key: \"hubCode\",\n value: [],\n fieldName: 'c.hubCode'\n },\n pageNumber: 0,\n status: {\n key: \"status\",\n value: [],\n fieldName: 'c.status'\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n },\n searchAttribute: {\n key: \"routeId\",\n value: \"\",\n fieldName: 'c.routeId'\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n }\n },\n }\n}\nexport default TrackingConstants;","const HubConstants = {\n HUB_CONSTANTS: {\n TABLE_WRAPPER_DATA: {\n title: \"Hubs\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubId',\n headerName: 'Hub Id',\n width: 150,\n },\n {\n field: 'hubName',\n headerName: 'Hub',\n width: 150\n },\n {\n field: 'latLong',\n headerName: 'Latitude/Longitude',\n width: 150\n },\n {\n field: 'country',\n headerName: 'Country',\n width: 150\n },\n {\n field: 'category',\n headerName: 'Category',\n width: 150\n },\n {\n field: 'status',\n headerName: 'Status',\n width: 150\n },\n {\n field: 'serviceType',\n headerName: 'Service Type',\n width: 150\n },\n {\n field: 'area',\n headerName: 'Address',\n width: 150\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100\n }\n ],\n headerButtons: [\n {\n name: \"addHub\",\n displayName: \"Add New Hub\",\n disabled: false,\n classes: 'primary'\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hubId: {\n key: \"hubId\",\n value: [],\n fieldName: 'c.id'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.name'\n },\n pageNumber: 0\n },\n SEARCH_TYPES: [\n {\n name: \"Hub Id\",\n value: \"hubId\"\n },\n {\n name: \"Hub Name\",\n value: \"hubName\"\n }\n ],\n },\n VALIDATIONS: {\n HUBID: {\n REQUIRED: {\n msg: \"Hub Id is required\"\n }\n },\n HUBNAME: {\n REQUIRED: {\n msg: \"Hub Name is required\"\n }\n },\n LATITUDE: {\n REQUIRED: {\n msg: \"Latitude is required\",\n },\n VALIDITY: {\n msg: \"Please enter a valid latitude value\",\n value: \"/^[a-zA-Z0-9]+$/\",\n }\n },\n LONGITUDE: {\n REQUIRED: {\n msg: \"Longitude is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid longitude value\",\n value: \"/^[a-zA-Z0-9]+$/\",\n }\n },\n HUB_STATUS: {\n REQUIRED: {\n msg: \"Status is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n SERVICE_TYPE: {\n REQUIRED: {\n msg: \"Service Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n CATEGORY: {\n REQUIRED: {\n msg: \"Service Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n COUNTRY: {\n REQUIRED: {\n msg: \"Country is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n ADDRESS: {\n REQUIRED: {\n msg: \"Address is required\"\n }\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n }\n },\n HUB_STATUS: [\n { name: \"ACTIVE\", value: \"ACTIVE\" },\n { name: \"INACTIVE\", value: \"INACTIVE\" },\n ],\n HUB_SERVICE_TYPE: [\n { name: \"Standard\", value: \"Standard\" },\n { name: \"Express\", value: \"Express\" },\n { name: \"Click & Collect\", value: \"Click&Collect\" },\n ],\n CATEGORY: [\n { name: \"Food\", value: \"Food\" },\n { name: \"Non Food\", value: \"NonFood\" },\n ]\n }\n}\nexport default HubConstants;","const HubDashboardConstants = {\n HUB_DASHBOARD_CONSTANTS: {\n HUBS_LIST: [\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"7832\", onTimeDelivery: \"223\", onTimeHandover: \"342\", ordersAtRisk: \"45\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"732\", onTimeDelivery: \"12\", onTimeHandover: \"142\", ordersAtRisk: \"25\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"32\", onTimeDelivery: \"234\", onTimeHandover: \"23\", ordersAtRisk: \"35\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"932\", onTimeDelivery: \"156\", onTimeHandover: \"144\", ordersAtRisk: \"65\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"188\", onTimeDelivery: \"123\", onTimeHandover: \"155\", ordersAtRisk: \"44\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"200\", onTimeDelivery: \"111\", onTimeHandover: \"166\", ordersAtRisk: \"41\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"300\", onTimeDelivery: \"112\", onTimeHandover: \"177\", ordersAtRisk: \"48\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"416\", onTimeDelivery: \"100\", onTimeHandover: \"188\", ordersAtRisk: \"09\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"090\", onTimeDelivery: \"180\", onTimeHandover: \"199\", ordersAtRisk: \"56\" },\n { hubName: \"Carrefour Shindagha City Center\", consignments: \"890\", onTimeDelivery: \"130\", onTimeHandover: \"101\", ordersAtRisk: \"87\" },\n ]\n },\n}\n\nexport default HubDashboardConstants;\n","// import { SortDirection } from \"@material-ui/data-grid\";\n\nconst ClickAndCollectConstants = {\n CNC_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: 'collectionHubCode',\n headerName: 'Collection Hub Code',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"collectionHubCode\",\n fieldName: \"collectionHubCode\",\n fieldFullName: \"c.pickUpInformation.pickUpContactInfo.companyName\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'collectionHubName',\n headerName: 'Collection Hub Name',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"collectionHubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.pickUpInformation.pickUpContactInfo.name\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'consignmentId',\n headerName: 'Consignment ID',\n width: 150,\n },\n {\n field: 'deliveryStatus',\n headerName: 'Status',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"c.metadata.deliveryStatus\",\n multiple: true,\n key: `autoComplete-delStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Status\",\n items: []\n }\n },\n {\n field: 'orderId',\n headerName: 'Order ID',\n width: 150,\n },\n {\n type: \"date\",\n field: 'transactionDate',\n headerName: 'Order Date',\n width: 120,\n },\n {\n field: 'type',\n headerName: 'Order Type',\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"orderType\",\n fieldFullName: \"c.metadata.category\",\n multiple: true,\n key: `autoComplete-orderType-${Math.floor(Math.random() * 1000)}`,\n label: \"Order Type\",\n items: [],\n }\n },\n {\n type: \"date\",\n field: 'collectionDate',\n headerName: 'Collection Date',\n width: 170,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"collectionDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Collection Date',\n label: 'Collection Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'deliverySlot',\n headerName: 'Collection Slot',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Collection Slot\",\n items: [],\n fieldKey: \"startEndTime\",\n }\n },\n {\n field: 'customerName',\n headerName: 'Customer Name',\n width: 160\n },\n {\n field: 'customerEmail',\n headerName: 'Customer Email',\n width: 160\n },\n {\n field: 'customerMobileNumber',\n headerName: 'Customer Mobile Number',\n width: 220\n },\n {\n field: 'hubCode',\n headerName: 'Fulfilment Hub Code',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hub\",\n fieldName: \"hub\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Fulfilment Hub Name',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.storeName\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n type: 'date',\n field: 'statusDate',\n headerName: 'Last Updated',\n width: 150\n },\n {\n field: 'numberOfItems',\n headerName: 'No of Items',\n width: 150\n },\n {\n field: 'paymentType',\n headerName: 'Payment Type',\n width: 160,\n },\n {\n field: 'cancellationReason',\n headerName: 'Cancellation Reason',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"cancellationReason\",\n fieldName: \"cancellationReason\",\n fieldFullName: \"c.reason.reasonCode\",\n multiple: true,\n key: `autoComplete-cancellationReason-${Math.floor(Math.random() * 1000)}`,\n label: \"Cancellation Reason\",\n items: []\n }\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n pageNumber: 0,\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.posInformation.storeName'\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n collectionHubCode: {\n key: \"collectionHubCode\",\n value: [],\n fieldName: 'c.pickUpInformation.pickUpContactInfo.companyName'\n },\n collectionHubName: {\n key: \"collectionHubName\",\n value: [],\n fieldName: 'c.pickUpInformation.pickUpContactInfo.name'\n },\n modeOfCollection: {\n key: \"modeOfCollection\",\n value: ['CNC'],\n fieldName: 'c.metadata.modeOfCollection',\n ignoreCount:true\n },\n deliveryType: {\n key: \"deliveryType\",\n value: ['SCC'],\n fieldName: 'c.metadata.deliveryType',\n ignoreCount:true\n },\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['NEW'],\n fieldName: 'c.metadata.displayRouteStatus',\n ignoreCount:true\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n },\n cancellationReason: {\n key: \"cancellationReason\",\n value: [],\n fieldName: 'c.reason.reasonCode'\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"c.consignmentCode\"\n },\n {\n name: \"Order Id\",\n value: \"c.orderCode\"\n },\n {\n name: \"Full Name\",\n value: \"c.deliveryInformation.customerContactInfo.name\"\n },\n {\n name: \"Email\",\n value: \"c.deliveryInformation.customerContactInfo.email\"\n },\n {\n name: \"Phone\",\n value: \"c.deliveryInformation.customerContactInfo.phone\"\n },\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'NEW',\n value: 'New'\n },\n {\n code: 'PACKED',\n value: 'Packed'\n },\n {\n code: 'READY_TO_COLLECT',\n value: 'Ready'\n },\n {\n code: 'COLLECTED',\n value: 'Collected'\n },\n {\n code: 'UNCOLLECTED',\n value: 'Uncollected'\n },\n {\n code: 'CANCELLED',\n value: 'Cancelled'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"NEW\": {\n color: \"PICTON_BLUE\",\n hintText: \"\"\n },\n \"PACKING_COMPLETE\": {\n color: \"MINSK\",\n hintText: \"\"\n },\n \"READY_TO_COLLECT\": {\n color: \"AMBER\",\n hintText: \"\"\n },\n \"COLLECTED\": {\n color: \"SEA_GREEN\",\n hintText: \"\"\n },\n \"UNCOLLECTED\": {\n color: \"ERROR_RED\",\n hintText: \"\"\n },\n \"COLLECTION_FAILED\": {\n color: \"ERROR_RED\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"MADISON_BLUE\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"DUSTY_GRAY\",\n hintText: \"\"\n }\n },\n TERMINAL_STATUSES: ['COLLECTION_FAILED', 'CANCELLED', 'COLLECTED'],\n NON_EDITABLE_STATUSES: ['COLLECTION_FAILED', 'CANCELLED', 'COLLECTED'],\n CANCELLED: 'CANCELLED',\n DEFAULT_FILTER_CHIP: 'NEW',\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: 'Consignment updated successfully.',\n DEFAULT_REPLANNING_SELECTION: 'reschedule',\n COD_TEXT: \"COD\",\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['NEW'],\n fieldName: 'c.metadata.displayRouteStatus'\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\"\n }\n },\n ALL_FILTER_CHIP: \"ALL\"\n },\n}\n\nexport default ClickAndCollectConstants;","// import { SortDirection } from \"@material-ui/data-grid\";\n\nconst ValetTrolleyConstants = {\n VALET_TROLLEY_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'consignmentId',\n headerName: 'Consignment ID',\n width: 150\n },\n {\n field: 'deliveryArea',\n headerName: 'Area',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"c.deliveryInformation.customerContactInfo.address.area\",\n multiple: true,\n key: `autoComplete-deliveryArea-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Area\",\n items: [],\n }\n },\n {\n field: 'type',\n headerName: 'Type',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"orderType\",\n fieldFullName: \"c.metadata.category\",\n multiple: true,\n key: `autoComplete-orderType-${Math.floor(Math.random() * 1000)}`,\n label: \"Order Type\",\n items: [],\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'startEndTime',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"startEndTime\",\n }\n },\n {\n field: 'deliveryStatus',\n headerName: 'Status',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"c.metadata.deliveryStatus\",\n multiple: true,\n key: `autoComplete-delStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Status\",\n items: []\n }\n },\n {\n field: 'statusDate',\n headerName: 'Last Updated',\n width: 160\n },\n {\n field: 'numberOfItems',\n headerName: 'No. of Items',\n width: 130\n },\n {\n field: 'orderId',\n headerName: 'Order ID',\n width: 130\n },\n {\n field: 'transactionDate',\n headerName: 'Order Creation Date',\n width: 180\n },\n {\n field: 'customerName',\n headerName: 'Customer Name',\n width: 150\n },\n {\n field: 'customerEmail',\n headerName: 'Customer Email',\n width: 150\n },\n {\n field: 'customerMobileNumber',\n headerName: 'Customer Mobile',\n width: 160\n },\n {\n field: 'deliveryStreetAddress',\n headerName: 'Delivery Street Address',\n width: 200\n },\n {\n field: 'landmark',\n headerName: 'Landmark',\n width: 200\n },\n {\n field: 'paymentType',\n headerName: 'Payment Type',\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"paymentType\",\n fieldName: \"paymentType\",\n fieldFullName: \"c.metadata.paymentType\",\n multiple: true,\n key: `autoComplete-paymentType-${Math.floor(Math.random() * 1000)}`,\n label: \"Payment Type\",\n items: []\n }\n },\n {\n field: 'totalAmount',\n headerName: 'Total Amount',\n width: 140\n },\n {\n field: 'codAmount',\n headerName: 'COD Amount',\n width: 130\n },\n {\n field: 'collectedAmount',\n headerName: 'Collected Amount',\n width: 160\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.deliveryInformation.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${Math.floor(Math.random() * 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.metadata.deliveryType\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.metadata.routeName\",\n multiple: true,\n key: `autoComplete-routeId-${Math.floor(Math.random() * 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.metadata.routeStatus\",\n multiple: true,\n key: `autoComplete-routeStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Route Status\",\n items: []\n }\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.deliveryInformation.driver.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.deliveryInformation.vehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.deliveryInformation.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${Math.floor(Math.random() * 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration (in mins)',\n width: 220\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration (in mins)',\n width: 210\n },\n {\n field: 'deliveryFailedReason',\n headerName: 'Undelivered Reason',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryFailedReason\",\n fieldName: \"deliveryFailedReason\",\n fieldFullName: \"c.reason.reasonCode\",\n multiple: true,\n key: `autoComplete-deliveryFailedReason-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Failed Reason\",\n items: []\n }\n },\n ],\n headerButtons: [\n {\n name: \"createRoute\",\n displayName: \"Create Route\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.area'\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n fieldName: 'c.metadata.paymentType'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.deliveryInformation.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [\"STD\"],\n fieldName: 'c.metadata.deliveryType',\n ignoreCount:true\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.metadata.routeId'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.metadata.routeStatus'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.deliveryInformation.driver.id'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.deliveryInformation.vehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.deliveryInformation.helper.id'\n },\n deliveryFailedReason: {\n key: \"deliveryFailedReason\",\n value: [],\n fieldName: 'c.reason.reasonCode'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus',\n ignoreCount:true\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment ID\",\n value: \"c.consignmentCode\"\n },\n {\n name: \"Order Id\",\n value: \"c.orderCode\"\n },\n {\n name: \"Phone\",\n value: \"c.deliveryInformation.customerContactInfo.phone\"\n },\n {\n name: \"Full Name\",\n value: \"c.deliveryInformation.customerContactInfo.name\"\n },\n {\n name: \"Email\",\n value: \"c.deliveryInformation.customerContactInfo.email\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"NEW\": {\n color: \"PICTON_BLUE\",\n hintText: \"\"\n },\n \"READY_TO_PREPARE\": {\n color: \"CREAM_CAN\",\n hintText: \"\"\n },\n \"READY_TO_DISPATCH\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"VISTA_BLUE\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"SEA_GREEN\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"GOLDEN_BELL\",\n hintText: \"\"\n },\n \"ON_HOLD\": {\n color: \"SCAMPI\",\n hintText: \"\"\n },\n \"PENDING_DELIVERY\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"DELIVERED\": {\n color: \"SEA_GREEN2\",\n hintText: \"\"\n },\n \"PARTIALLY_DELIVERED\": {\n color: \"LUCKY\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"DUSTY_GRAY\",\n hintText: \"\"\n },\n \"RETURNED_TO_STORE/HUB\": {\n color: \"JUNGLE_GREEN\",\n hintText: \"\"\n },\n \"DELIVERY_FAILED\": {\n color: \"BLACK\",\n hintText: \"\"\n },\n \"PACKING_COMPLETE\": {\n color: \"MINSK\",\n hintText: \"\"\n },\n },\n COMPLETED: 'COMPLETED',\n TERMINAL_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED', 'PARTIALLY_DELIVERED', 'ON_HOLD'],\n NON_EDITABLE_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED', 'PARTIALLY_DELIVERED'],\n CANCELLED: 'CANCELLED',\n UNDELIVERED: 'UNDELIVERED',\n DELIVERED: 'DELIVERED',\n DEFAULT_FILTER_CHIP: 'UNPLANNED',\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: 'Consignment updated successfully.',\n ADDRESS_UPDATE_SUCCESS_MSG: 'Customer address updated successfully.',\n UNPLAN_CONSIGNMENT_WARNING_MSG: 'Please unplan the consignment first than edit the address.',\n COD_TEXT: \"COD\",\n DEFAULT_REPLANNING_SELECTION: \"RESCHEDULED\",\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus'\n },\n },\n ROUTES_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Routes\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.routeId\",\n multiple: true,\n key: `autoComplete-routeId-${Math.floor(Math.random() * 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'deliveryArea',\n headerName: 'Area',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"c.deliveryArea\",\n multiple: true,\n key: `autoComplete-deliveryArea-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Area\",\n items: []\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'deliverySlot',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlot\",\n }\n },\n {\n field: 'consignments',\n headerName: 'Consignments',\n width: 110\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${Math.floor(Math.random() * 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.deliveryProposition\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n }\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.status\",\n multiple: true,\n key: `autoComplete-routeStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Route Status\",\n items: []\n }\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.assignee.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.assignedVehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${Math.floor(Math.random() * 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'createdBy',\n headerName: 'Created By',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"createdBy\",\n fieldName: \"createdBy\",\n fieldFullName: \"c.createdBy\",\n multiple: true,\n key: `autoComplete-createdBy-${Math.floor(Math.random() * 1000)}`,\n label: \"Created By\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration',\n width: 180\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration',\n width: 180\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100\n }\n ],\n headerButtons: [\n {\n name: \"publish\",\n displayName: \"Publish Routes\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.hubCode'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.hubCode'\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.routeId'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryArea'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [],\n fieldName: 'c.deliveryProposition'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.status'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.assignee.id'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.assignedVehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.helper.id'\n },\n createdBy: {\n key: \"createdBy\",\n value: [],\n fieldName: 'c.createdBy'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus'\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Route Id\",\n value: \"c.routeId\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"DRAFTED\": {\n color: \"TROPICAL_BLUE\",\n hintText: \"\"\n },\n \"CREATED\": {\n color: \"CATSKILL_WHITE\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"BLUE_HAZE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"BARLEY_WHITE\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"DOUBLE_PEARL_LUSTA\",\n hintText: \"\"\n },\n \"COMPLETED\": {\n color: \"JAGGED_ICE\",\n hintText: \"\"\n },\n \"PUBLISHED\": {\n color: \"TARA\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"JAGGED_ICE_PREPARED\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"ALTO\",\n hintText: \"\"\n }\n },\n DEFAULT_FILTER_CHIP: 'PLANNED',\n UNEDITABLE_CHIP: 'COMPLETED',\n PUBLISH_ROUTES_SUCCESS_MSG: 'have been published successfully.',\n UPDATE_ROUTE_SUCCESS_MSG: 'has been updated.',\n DELETE_ROUTE_SUCCESS_MSG: 'has been deleted!',\n PUBLISH_ROUTES_ERROR_MSG: 'could not be published',\n TAB_VALUES: {\n VALET_TROLLEY: 'valetTrolley',\n ROUTES: 'routes'\n },\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus'\n },\n },\n VALIDATIONS: {\n AREA: {\n REQUIRED: {\n msg: \"Area is required\"\n }\n },\n CITY: {\n REQUIRED: {\n msg: \"City is required\"\n }\n },\n STREETNO: {\n REQUIRED: {\n msg: \"Street Name/No is required\",\n }\n },\n BUILDING: {\n REQUIRED: {\n msg: \"Building Name/Villa No. is required\"\n }\n },\n APARTMENT: {\n REQUIRED: {\n msg: \"Apartment No. is required\",\n }\n },\n PHONE: {\n REQUIRED: {\n msg: \"Phone Number is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid Phone number\",\n value: \"^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$\"\n }\n },\n },\n CREATE_ROUTE_DATA: {\n CREATE_ROUTE_SUCCESS_MSG: 'has been created successfully',\n DRAFTED_CONSIGNMENT_TOOLTIP_MSG: 'This consignment is being used in another route',\n CAPACITY_BREACH_MSGS: {\n CONSIGNMENTS: \"You are exceeding capacity for the consignments\",\n TRANSIT_TIME: \"You are exceeding capacity for the transit time\",\n CONSIGNMENTS_AND_CRATES: \"You are exceeding capacity for the consignments and crates\",\n CONSIGNMENTS_AND_TRANSIT_TIME: \"You are exceeding capacity for the consignments and transit time\",\n CRATES_AND_TRANSIT_TIME: \"You are exceeding capacity for the crates and transit time\",\n ALL_VALUES: \"You are exceeding capacity for the consignments, crates and transit time\",\n },\n DRIVER_SERVICE_TIME: 600,\n TAB_VALUES: {\n UNPLANNED: 'unplanned',\n PLANNED: 'planned'\n }\n },\n // EXCEL_FILE_NAME: \"consignments.xlsx\",\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\"\n }\n },\n ALL_FILTER_CHIP: \"ALL\"\n },\n}\n\nexport default ValetTrolleyConstants;","\nconst CarrefourHomeDeliveryConstants = {\n CARREFOUR_HOME_DLVRY_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'consignmentId',\n headerName: 'Consignment ID',\n width: 150\n },\n {\n field: 'deliveryArea',\n headerName: 'Area',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"c.deliveryInformation.customerContactInfo.address.area\",\n multiple: true,\n key: `autoComplete-deliveryArea-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Area\",\n items: [],\n }\n },\n {\n field: 'type',\n headerName: 'Type',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"orderType\",\n fieldFullName: \"c.metadata.category\",\n multiple: true,\n key: `autoComplete-orderType-${Math.floor(Math.random() * 1000)}`,\n label: \"Order Type\",\n items: [],\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'startEndTime',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"startEndTime\",\n }\n },\n {\n field: 'deliveryStatus',\n headerName: 'Status',\n width: 170,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"c.metadata.deliveryStatus\",\n multiple: true,\n key: `autoComplete-delStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Status\",\n items: []\n }\n },\n {\n field: 'statusDate',\n headerName: 'Last Updated',\n width: 160\n },\n {\n field: 'numberOfItems',\n headerName: 'No. of Items',\n width: 130\n },\n {\n field: 'orderId',\n headerName: 'Order ID',\n width: 130\n },\n {\n field: 'transactionDate',\n headerName: 'Order Creation Date',\n width: 180\n },\n {\n field: 'customerName',\n headerName: 'Customer Name',\n width: 150\n },\n {\n field: 'customerEmail',\n headerName: 'Customer Email',\n width: 150\n },\n {\n field: 'customerMobileNumber',\n headerName: 'Customer Mobile',\n width: 160\n },\n {\n field: 'deliveryStreetAddress',\n headerName: 'Delivery Street Address',\n width: 200\n },\n {\n field: 'landmark',\n headerName: 'Landmark',\n width: 200\n },\n {\n field: 'paymentType',\n headerName: 'Payment Type',\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"paymentType\",\n fieldName: \"paymentType\",\n fieldFullName: \"c.metadata.paymentType\",\n multiple: true,\n key: `autoComplete-paymentType-${Math.floor(Math.random() * 1000)}`,\n label: \"Payment Type\",\n items: []\n }\n },\n {\n field: 'totalAmount',\n headerName: 'Total Amount',\n width: 140\n },\n {\n field: 'codAmount',\n headerName: 'COD Amount',\n width: 130\n },\n {\n field: 'collectedAmount',\n headerName: 'Collected Amount',\n width: 160\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.deliveryInformation.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${Math.floor(Math.random() * 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.metadata.deliveryType\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.metadata.routeName\",\n multiple: true,\n key: `autoComplete-routeId-${Math.floor(Math.random() * 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.metadata.routeStatus\",\n multiple: true,\n key: `autoComplete-routeStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Route Status\",\n items: []\n }\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.deliveryInformation.driver.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.deliveryInformation.vehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.deliveryInformation.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${Math.floor(Math.random() * 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration (in mins)',\n width: 220\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration (in mins)',\n width: 210\n },\n {\n field: 'deliveryFailedReason',\n headerName: 'Undelivered Reason',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryFailedReason\",\n fieldName: \"deliveryFailedReason\",\n fieldFullName: \"c.reason.reasonCode\",\n multiple: true,\n key: `autoComplete-deliveryFailedReason-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Failed Reason\",\n items: []\n }\n },\n ],\n headerButtons: [\n {\n name: \"createRoute\",\n displayName: \"Create Route\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.area'\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n fieldName: 'c.metadata.paymentType'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.deliveryInformation.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [\"STD\"],\n fieldName: 'c.metadata.deliveryType',\n ignoreCount:true\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.metadata.routeId'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.metadata.routeStatus'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.deliveryInformation.driver.id'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.deliveryInformation.vehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.deliveryInformation.helper.id'\n },\n deliveryFailedReason: {\n key: \"deliveryFailedReason\",\n value: [],\n fieldName: 'c.reason.reasonCode'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus',\n ignoreCount:true\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment ID\",\n value: \"c.consignmentCode\"\n },\n {\n name: \"Order Id\",\n value: \"c.orderCode\"\n },\n {\n name: \"Phone\",\n value: \"c.deliveryInformation.customerContactInfo.phone\"\n },\n {\n name: \"Full Name\",\n value: \"c.deliveryInformation.customerContactInfo.name\"\n },\n {\n name: \"Email\",\n value: \"c.deliveryInformation.customerContactInfo.email\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"NEW\": {\n color: \"PICTON_BLUE\",\n hintText: \"\"\n },\n \"READY_TO_PREPARE\": {\n color: \"CREAM_CAN\",\n hintText: \"\"\n },\n \"READY_TO_DISPATCH\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"VISTA_BLUE\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"SEA_GREEN\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"GOLDEN_BELL\",\n hintText: \"\"\n },\n \"ON_HOLD\": {\n color: \"SCAMPI\",\n hintText: \"\"\n },\n \"PENDING_DELIVERY\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"DELIVERED\": {\n color: \"SEA_GREEN2\",\n hintText: \"\"\n },\n \"PARTIALLY_DELIVERED\": {\n color: \"LUCKY\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"DUSTY_GRAY\",\n hintText: \"\"\n },\n \"RETURNED_TO_STORE/HUB\": {\n color: \"JUNGLE_GREEN\",\n hintText: \"\"\n },\n \"DELIVERY_FAILED\": {\n color: \"BLACK\",\n hintText: \"\"\n },\n \"PACKING_COMPLETE\": {\n color: \"MINSK\",\n hintText: \"\"\n },\n },\n TERMINAL_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED', 'PARTIALLY_DELIVERED', 'ON_HOLD'],\n NON_EDITABLE_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED'],\n CANCELLED: 'CANCELLED',\n DEFAULT_FILTER_CHIP: 'UNPLANNED',\n COMPLETED: 'COMPLETED',\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: 'Consignment updated successfully.',\n ADDRESS_UPDATE_SUCCESS_MSG: 'Customer Address Updated Successfully.',\n UNPLAN_CONSIGNMENT_WARNING_MSG: 'Please unplan the consignment first than edit the address.',\n DEFAULT_REPLANNING_SELECTION: \"RESCHEDULED\",\n UNDELIVERED: \"UNDELIVERED\",\n DELIVERED: \"DELIVERED\",\n COD_TEXT: \"COD\",\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus'\n },\n DELIVERY_SLOT: [\n {\n name: \"08:00-20:00\",\n value: \"08:00:00-20:00:00\"\n }\n ]\n },\n ROUTES_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Routes\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hub\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.hubCode\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'routeId',\n headerName: 'Route ID',\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeId\",\n fieldName: \"routeId\",\n fieldFullName: \"c.routeId\",\n multiple: true,\n key: `autoComplete-routeId-${Math.floor(Math.random() * 1000)}`,\n label: \"Route ID\",\n items: []\n }\n },\n {\n field: 'deliveryArea',\n headerName: 'Area',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"c.deliveryArea\",\n multiple: true,\n key: `autoComplete-deliveryArea-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Area\",\n items: []\n }\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\"\n },\n locale: {},\n }\n },\n {\n field: 'deliverySlot',\n headerName: 'Delivery Slot',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlot\",\n }\n },\n {\n field: 'consignments',\n headerName: 'Consignments',\n width: 110\n },\n {\n field: 'carrier',\n headerName: 'Carrier',\n width: 120,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"carrier\",\n fieldName: \"carrier\",\n fieldFullName: \"c.carrier\",\n multiple: true,\n key: `autoComplete-carrier-${Math.floor(Math.random() * 1000)}`,\n label: \"Carrier\",\n items: []\n }\n },\n {\n field: 'deliveryProposition',\n headerName: 'Delivery Proposition',\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryProposition\",\n fieldName: \"deliveryProposition\",\n fieldFullName: \"c.deliveryProposition\",\n multiple: true,\n key: `autoComplete-deliveryProposition-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Proposition\",\n items: []\n }\n },\n {\n field: 'routeStatus',\n headerName: 'Route Status',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"routeStatus\",\n fieldName: \"routeStatus\",\n fieldFullName: \"c.status\",\n multiple: true,\n key: `autoComplete-routeStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Route Status\",\n items: []\n }\n },\n {\n field: 'driver',\n headerName: 'Driver',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.assignee.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: []\n }\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"c.assignedVehicle.id\",\n multiple: true,\n key: `autoComplete-vehicle-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'helper',\n headerName: 'Helper',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"helper\",\n fieldName: \"helper\",\n fieldFullName: \"c.helper.id\",\n multiple: true,\n key: `autoComplete-helper-${Math.floor(Math.random() * 1000)}`,\n label: \"Helper\",\n items: []\n }\n },\n {\n field: 'createdBy',\n headerName: 'Created By',\n width: 220,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"createdBy\",\n fieldName: \"createdBy\",\n fieldFullName: \"c.createdBy\",\n multiple: true,\n key: `autoComplete-createdBy-${Math.floor(Math.random() * 1000)}`,\n label: \"Created By\",\n items: []\n }\n },\n {\n field: 'plannedDuration',\n headerName: 'Planned Duration',\n width: 180\n },\n {\n field: 'actualDuration',\n headerName: 'Actual Duration',\n width: 180\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100\n }\n ],\n headerButtons: [\n {\n name: \"publish\",\n displayName: \"Publish Routes\",\n disabled: false,\n hide: false,\n classes: 'primary'\n },\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.hubCode'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.hubCode'\n },\n routeId: {\n key: \"routeId\",\n value: [],\n fieldName: 'c.routeId'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryArea'\n },\n carrier: {\n key: \"carrier\",\n value: [],\n fieldName: 'c.carrier'\n },\n deliveryProposition: {\n key: \"deliveryProposition\",\n value: [],\n fieldName: 'c.deliveryProposition'\n },\n routeStatus: {\n key: \"routeStatus\",\n value: [],\n fieldName: 'c.status'\n },\n driver: {\n key: \"driver\",\n value: [],\n fieldName: 'c.assignee.id'\n },\n vehicle: {\n key: \"vehicle\",\n value: [],\n fieldName: 'c.assignedVehicle.id'\n },\n helper: {\n key: \"helper\",\n value: [],\n fieldName: 'c.helper.id'\n },\n createdBy: {\n key: \"createdBy\",\n value: [],\n fieldName: 'c.createdBy'\n },\n pageNumber: 0,\n displayRouteStatus: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus',\n ignoreCount:true\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Route Id\",\n value: \"c.routeId\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"DRAFTED\": {\n color: \"TROPICAL_BLUE\",\n hintText: \"\"\n },\n \"CREATED\": {\n color: \"CATSKILL_WHITE\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"BLUE_HAZE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"BARLEY_WHITE\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"DOUBLE_PEARL_LUSTA\",\n hintText: \"\"\n },\n \"COMPLETED\": {\n color: \"JAGGED_ICE\",\n hintText: \"\"\n },\n \"PUBLISHED\": {\n color: \"TARA\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"JAGGED_ICE_PREPARED\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"ALTO\",\n hintText: \"\"\n }\n },\n DEFAULT_FILTER_CHIP: 'PLANNED',\n UNEDITABLE_CHIP: 'COMPLETED',\n PUBLISH_ROUTES_SUCCESS_MSG: 'have been published successfully.',\n UPDATE_ROUTE_SUCCESS_MSG: 'has been updated.',\n DELETE_ROUTE_SUCCESS_MSG: 'has been deleted!',\n PUBLISH_ROUTES_ERROR_MSG: 'could not be published',\n TAB_VALUES: {\n VALET_TROLLEY: 'valetTrolley',\n ROUTES: 'routes'\n },\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['PLANNED'],\n fieldName: 'c.displayRouteStatus'\n },\n },\n CREATE_ROUTE_DATA: {\n CREATE_ROUTE_SUCCESS_MSG: 'has been created successfully',\n DRAFTED_CONSIGNMENT_TOOLTIP_MSG: 'This consignment is being used in another route',\n CAPACITY_BREACH_MSGS: {\n CONSIGNMENTS: \"You are exceeding capacity for the consignments\",\n TRANSIT_TIME: \"You are exceeding capacity for the transit time\",\n CONSIGNMENTS_AND_CRATES: \"You are exceeding capacity for the consignments and crates\",\n CONSIGNMENTS_AND_TRANSIT_TIME: \"You are exceeding capacity for the consignments and transit time\",\n CRATES_AND_TRANSIT_TIME: \"You are exceeding capacity for the crates and transit time\",\n ALL_VALUES: \"You are exceeding capacity for the consignments, crates and transit time\",\n },\n DRIVER_SERVICE_TIME: 600,\n TAB_VALUES: {\n UNPLANNED: 'unplanned',\n PLANNED: 'planned'\n }\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\"\n }\n },\n ALL_FILTER_CHIP: \"ALL\"\n },\n}\n\nexport default CarrefourHomeDeliveryConstants;","import moment from \"moment\";\n\nexport function newDate() {\n return new Date();\n}\n\n/**\n *@param {String} format - format string\n */\nexport function currentDate(format: string) {\n return moment(newDate()).format(format);\n}\n\n/**\n * @param {String} date - date string\n *@param {String} format - format string\n */\nexport function dateWithReqFormat(date: string, format: string) {\n return moment(date).hours(0).minutes(0).seconds(0).format(format);\n}\n\n/**\n *@param {String} date - date string\n *@param {String} currFormat - currFormat string\n *@param {String} reqFormat - reqFormat string\n */\nexport function startOfDay(date: string, currFormat: string, reqFormat: string) {\n return moment(date, currFormat).hours(0).minutes(0).seconds(0).format(reqFormat);\n}\n\n/**\n *@param {String} date - date string\n *@param {String} currFormat - currFormat string\n *@param {String} reqFormat - reqFormat string\n */\nexport function endOfDay(date: string, currFormat: string, reqFormat: string) {\n return moment(date, currFormat).hours(23).minutes(59).seconds(59).format(reqFormat);\n}\n\n/**\n *@param {String} hour - hour value string\n *@param {String} minutes - minutes value string\n *@param {String} seconds - seconds value string\n *@param {String} reqFormat - reqFormat string\n */\nexport function getTimeByHourMinutesAndSecond(hour: any, minutes: any, seconds: any, reqFormat: string) {\n return moment().hours(hour).minutes(minutes).seconds(seconds).format(reqFormat)\n}\n\nexport function getTimeByHourAndMinutes(hour: any, minutes: any, reqFormat: string) {\n return moment().hours(hour).minutes(minutes).format(reqFormat);\n}\n\nexport function isDateValid(date: any) {\n return moment(date).isValid();\n}\n\nexport function isEndDateBeforeStartDate(start: any, end : any){\n return moment(end).isBefore(moment(start))\n}\n\nexport function getDateOrTimeInReqFormat(date:any, reqFormat:string){\n return moment(date).format(reqFormat);\n}\n\nexport function getDateFromFormatInReqFormat(date:any, currFormat: string, reqFormat:string){\n return moment(date, currFormat).format(reqFormat);\n}","import { currentDate, startOfDay, endOfDay } from \"../utils/dateUtils\";\nimport AppConstants from \"./AppConstants\";\nimport { API_RESPONSE_STATUS } from \"./CommonConstants\";\n\nexport const DELVE_DASHBOARD_CONST = {\n VERIFIED: \"VERIFIED\",\n UNVERIFIED: \"UNVERIFIED\",\n PARTIALLY_VERIFIED: \"PARTIALLY_VERIFIED\",\n};\n\nexport interface DATE_PICKER_VALUE_INTERFACE {\n startDate: any;\n endDate: any;\n}\nexport const DATE_PICKER_VALUE: DATE_PICKER_VALUE_INTERFACE = {\n startDate: currentDate(AppConstants.DATE_FORMAT),\n endDate: currentDate(AppConstants.DATE_FORMAT),\n};\n\nexport interface TIME_PICKER_VALUE_INTERFACE {\n startTime: any;\n endTime: any;\n}\nexport const TIME_PICKER_VALUE: TIME_PICKER_VALUE_INTERFACE = {\n startTime: startOfDay(currentDate(AppConstants.DATE_FORMAT), AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(currentDate(AppConstants.DATE_FORMAT), AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n};\n\nexport interface DELVE_ORDER_DETAILS_INTERFACE {\n count: any;\n cost: any;\n}\nexport const DELVE_ORDER_DETAILS: DELVE_ORDER_DETAILS_INTERFACE = {\n count: 0,\n cost: 0,\n};\n\nexport interface DELVE_ORDER_COUNT_OBJ_INTERFACE {\n totalOrders: DELVE_ORDER_DETAILS_INTERFACE;\n ordersVerified: DELVE_ORDER_DETAILS_INTERFACE;\n ordersPartialVerified: DELVE_ORDER_DETAILS_INTERFACE;\n ordersUnverified: DELVE_ORDER_DETAILS_INTERFACE;\n cratesVerified: DELVE_ORDER_DETAILS_INTERFACE;\n cratesUnverified: DELVE_ORDER_DETAILS_INTERFACE;\n itemsVerified: DELVE_ORDER_DETAILS_INTERFACE;\n itemsUnverified: DELVE_ORDER_DETAILS_INTERFACE;\n issuesFound: DELVE_ORDER_DETAILS_INTERFACE;\n}\nexport const DELVE_ORDER_COUNT_OBJ: DELVE_ORDER_COUNT_OBJ_INTERFACE = {\n totalOrders: DELVE_ORDER_DETAILS,\n ordersVerified: DELVE_ORDER_DETAILS,\n ordersPartialVerified: DELVE_ORDER_DETAILS,\n ordersUnverified: DELVE_ORDER_DETAILS,\n cratesVerified: DELVE_ORDER_DETAILS,\n cratesUnverified: DELVE_ORDER_DETAILS,\n itemsVerified: DELVE_ORDER_DETAILS,\n itemsUnverified: DELVE_ORDER_DETAILS,\n issuesFound: DELVE_ORDER_DETAILS,\n};\n\nexport interface DELVE_DASHBOARD_DATA_OBJ_INTERFCAE {\n orderCount: DELVE_ORDER_COUNT_OBJ_INTERFACE;\n currency: any;\n totalIssueSummaryCount: any;\n itemsCountObj: any;\n hubSeriesObj: any;\n hubFooterData: any;\n hubLevelVerificationData: any;\n}\nexport const DELVE_DASHBOARD_DATA_OBJ = {\n orderCount: DELVE_ORDER_COUNT_OBJ,\n currency: \"\",\n totalIssueSummaryCount: 0,\n itemsCountObj: {} as any,\n hubSeriesObj: [] as any,\n hubFooterData: [] as any,\n hubLevelVerificationData: {} as any,\n};\n\nexport const TAB_VALUES_CONSTANT = {\n DELIVERIES: { value: \"DELIVERY\", name: \"Deliveries\" },\n RETURNS: { value: \"RETURNS\", name: \"Returns\" },\n};\n\nexport interface DELVE_RETURN_COUNT_OBJ_INTERFACE {\n totalConsignments: DELVE_ORDER_DETAILS_INTERFACE;\n verifiedConsignments: DELVE_ORDER_DETAILS_INTERFACE;\n unverifiedConsignments: DELVE_ORDER_DETAILS_INTERFACE;\n itemsVerified: DELVE_ORDER_DETAILS_INTERFACE;\n itemsUnverified: DELVE_ORDER_DETAILS_INTERFACE;\n issuesFound: DELVE_ORDER_DETAILS_INTERFACE;\n}\nexport const DELVE_RETURN_COUNT_OBJ: DELVE_RETURN_COUNT_OBJ_INTERFACE = {\n totalConsignments: DELVE_ORDER_DETAILS,\n verifiedConsignments: DELVE_ORDER_DETAILS,\n unverifiedConsignments: DELVE_ORDER_DETAILS,\n itemsVerified: DELVE_ORDER_DETAILS,\n itemsUnverified: DELVE_ORDER_DETAILS,\n issuesFound: DELVE_ORDER_DETAILS,\n};\n\nexport interface DELVE_RETURN_DASHBOARD_DATA_OBJ_INTERFCAE {\n orderCount: DELVE_RETURN_COUNT_OBJ_INTERFACE;\n currency: any;\n totalIssueSummaryCount: any;\n itemsCountObj: any;\n hubSeriesObj: any;\n hubFooterData: any;\n hubLevelVerificationData: any;\n}\nexport const DELVE_RETURN_DASHBOARD_DATA_OBJ = {\n orderCount: DELVE_RETURN_COUNT_OBJ,\n currency: \"\",\n totalIssueSummaryCount: 0,\n itemsCountObj: {} as any,\n hubSeriesObj: [] as any,\n hubFooterData: [] as any,\n hubLevelVerificationData: {} as any,\n};\nexport interface DELVE_DASHBOARD_STATE_INTERFACE {\n loading: boolean;\n countryIsoCode: any;\n hubs: any;\n dateSlot: DATE_PICKER_VALUE_INTERFACE;\n istimeSlotEnabled: boolean;\n timeSlot: TIME_PICKER_VALUE_INTERFACE;\n delveDashboardRecord: DELVE_DASHBOARD_DATA_OBJ_INTERFCAE;\n returnDashboardRecord: DELVE_RETURN_DASHBOARD_DATA_OBJ_INTERFCAE;\n tabValue: any;\n}\n\nexport const DELVE_DASHBOARD_STATE: DELVE_DASHBOARD_STATE_INTERFACE = {\n loading: false,\n countryIsoCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE) || AppConstants.COUNTRY_OBJ.value,\n hubs: [AppConstants.SELECT_ALL.value],\n dateSlot: DATE_PICKER_VALUE,\n istimeSlotEnabled: false,\n timeSlot: TIME_PICKER_VALUE,\n delveDashboardRecord: DELVE_DASHBOARD_DATA_OBJ,\n returnDashboardRecord: DELVE_RETURN_DASHBOARD_DATA_OBJ,\n tabValue: TAB_VALUES_CONSTANT.DELIVERIES.value,\n};\n\nexport interface commonFetchInitialStateInterface {\n fetchStatus: any;\n error: any;\n data: any;\n loading: boolean;\n}\n\nexport const commonFetchInitialState: commonFetchInitialStateInterface = {\n fetchStatus: API_RESPONSE_STATUS.IDLE,\n error: \"\",\n data: {},\n loading: false,\n};\n\nexport type DelveDashboardSliceState = {\n delveDashboardRecod: commonFetchInitialStateInterface;\n delveConsignmentsIssueName: commonFetchInitialStateInterface;\n};\n\nexport const NO_ISSUE_NAME_FOUND = \"No issue name found\";\nexport const ERROR_WHILE_FETCHING_CONSIGNMENT_LIST_BASED_ON_ISSUE = \"Error while fetching consignment list based on issue name\";\nexport const NO_CONSIGNMENT_LIST_FOUND = \"No Consignment list found based on issue name\";","import { generateRandomNumber } from \"./../utils/helpers.utils\";\nconst CustomerCommConstants = {\n CUSTOMER_COMM_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Consignments\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"hubCode\",\n headerName: \"Hub\",\n width: 100,\n \n },\n {\n field: \"hubNames\",\n headerName: \"Hub Name\",\n width: 150,\n \n },\n {\n field: \"consignmentId\",\n headerName: \"Consignment ID\",\n width: 100,\n },\n {\n field: \"deliveryArea\",\n headerName: \"Customer Area\",\n width: 150,\n tooltip: true,\n tooltipDataKey: \"address\",\n \n },\n {\n field: \"deliveryZone\", \n headerName: \"Zone\",\n width: 100,\n \n },\n {\n field: \"status\",\n headerName: \"Status\",\n width: 186,\n },\n {\n field: 'deliveryType',\n headerName: 'Type',\n width: 100,\n \n },\n {\n type: \"date\",\n field: \"deliveryDate\",\n headerName: \"Delivery Date\",\n width: 100,\n \n },\n {\n field: \"deliverySlotTime\",\n headerName: \"Delivery Slot\",\n width: 100,\n \n },\n ],\n \n FilterFormData: [\n {\n type: \"selectBox\",\n fieldName: \"orderType\",\n multiple: false,\n enableOnChangeFetch:true,\n key: `selectBox-orderType-${Math.floor(Math.random() * 1000)}`,\n label: \"Order Type\",\n items: []\n },\n {\n type: \"autocomplete\",\n fieldName: \"hub\",\n multiple: false,\n enableOnChangeFetch:true,\n key: `autocomplete-hub-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub\",\n items: []\n },\n {\n type: \"autocomplete\",\n fieldName: \"zones\",\n multiple: true,\n key: `autocomplete-deliveryAreas-${Math.floor(Math.random() * 1000)}`,\n label: \"Zones\",\n items: []\n },\n {\n type: \"autocomplete\",\n fieldName: \"deliveryAreas\",\n multiple: true,\n key: `autocomplete-deliveryAreas-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Area\",\n items: []\n },\n {\n type: \"autocomplete\",\n fieldName: \"deliveryStatus\",\n multiple: true,\n key: `autocomplete-delStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"Status\",\n items: []\n },\n {\n type: \"dateRange\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: 'Delivery Date',\n label: 'Delivery Date',\n isTextField:true,\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n day: \"6\"\n },\n locale: {}\n },\n {\n type: \"timeRange\",\n fieldName: \"deliveryStartTime\",\n multiple: false,\n enableOnChangeFetch:true,\n key: `autocomplete-timeSlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Start Time\",\n default:'start',\n items: []\n },\n {\n type: \"timeRange\",\n fieldName: \"deliveryEndTime\",\n multiple: false,\n enableOnChangeFetch:true,\n key: `autocomplete-timeSlot-${Math.floor(Math.random() * 1000)}`,\n label: \"End Time\",\n default:'end',\n items: []\n },\n \n ],\n defaultFiltersObjForm: {\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n deliveryStartTime:\"\",\n deliveryEndTime:\"\",\n zones: {\n key: \"zones\",\n value: [],\n },\n deliveryAreas:{\n key: \"deliveryStatus\",\n value:[]\n },\n dateRange: {\n startDate: new Date(),\n endDate: new Date()\n },\n orderType:{\n key:'orderType',\n value:['']\n },\n hub:{\n key:'hub',\n value:[]\n }\n },\n headerButtons: [\n {\n name: \"selectedRow\",\n displayName: \"\",\n disabled: false,\n classes: 'customButton',\n hide: true\n }\n ],\n orderType:[{name: \"EXPRESS\" , value: \"EXPRESS\"}, {name: \"STANDARD\" , value: \"STANDARD\"}],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 400,\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n },\n hubName: {\n key: \"hubNames\",\n value: [],\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n },\n addressStatus: {\n key: \"addressStatus\",\n value: [],\n },\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n status: {\n key: \"status\",\n value: [],\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n },\n deliveryExecutionStatus: {\n key: \"deliveryExecutionStatus\",\n value: [],\n },\n driverId: {\n key: \"driverId\",\n value: [],\n },\n deliverySlotTime: {\n key: \"deliverySlotTime\",\n value: [],\n },\n pageNumber: 0,\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"consignmentCode\",\n },\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\",\n },\n },\n FILTER_CHIPS: [\n {\n code: \"UNASSIGNED\",\n value: \"Unassigned\",\n },\n {\n code: \"ON_HOLD\",\n value: \"On Hold\",\n },\n {\n code: \"ASSIGNED\",\n value: \"Assigned\",\n },\n {\n code: \"OUT_FOR_DELIVERY\",\n value: \"Out For Delivery\",\n },\n {\n code: \"COMPLETED\",\n value: \"Completed\",\n },\n {\n code: \"ALL\",\n value: \"All\",\n },\n ],\n STATUSES: {\n UNASSIGNED: {\n color: \"INFO_BLUE\",\n },\n ON_HOLD: {\n color: \"MINSK\",\n },\n ASSIGNED: {\n color: \"MINSK\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n OUT_FOR_DELIVERY: {\n color: \"PRIMARY_BLUE\",\n },\n DELIVERED: {\n color: \"JUNGLE_GREEN\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"ALERT_ORANGE\",\n },\n CANCELLED_BY_SOURCE: {\n color: \"PALE_GRAY\",\n },\n DELIVERY_FAILED: {\n color: \"ERROR_RED\",\n },\n PACKING_COMPLETE: {\n color: \"MINSK\",\n },\n },\n ORDER_STATUSES: {\n READY: {\n color: \"INFO_BLUE\",\n },\n EXPORTED: {\n color: \"READY_BLUE\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n PAYMENT_ACCEPTED: {\n color: \"MINSK_DARK\",\n },\n DISPATCHED: {\n color: \"SCAMPI\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"DRIFT_WOOD\",\n },\n OUT_FOR_DELIVERY: {\n color: \"TAG_YEllOW\",\n },\n DELIVERED: {\n color: \"PERSIAN_GREEN_DARK\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n CANCELLED: {\n color: \"SILVER_CHALICE2\",\n },\n DELIVERY_FAILED: {\n color: \"PALE_RED\",\n },\n PACKING_COMPLETE: {\n color: \"GREEN_BLUE\",\n },\n PICKING_STARTED: {\n color: \"MAROON\",\n },\n },\n ORDER_STATUS: {\n READY: \"READY\",\n EXPORTED: \"EXPORTED\",\n READY_TO_DISPATCH: \"READY_TO_DISPATCH\",\n PAYMENT_ACCEPTED: \"PAYMENT_ACCEPTED\",\n DISPATCHED: \"DISPATCHED\",\n DELIVERY_ATTEMPTED: \"DELIVERY_ATTEMPTED\",\n OUT_FOR_DELIVERY: \"OUT_FOR_DELIVERY\",\n DELIVERED: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n CANCELLED: \"CANCELLED\",\n DELIVERY_FAILED: \"DELIVERY_FAILED\",\n PACKING_COMPLETE: \"PACKING_COMPLETE\",\n PICKING_STARTED: \"PICKING_STARTED\",\n },\n NON_TERMINAL_STATUSES:[\"DELIVERY_ATTEMPTED\",\"DISPATCHED\",\"EXPORTED\",\"OUT_FOR_DELIVERY\",\"PACKING_COMPLETE\",\"PAYMENT_ACCEPTED\",\"PICKING_STARTED\",\"READY\",\"READY_TO_DISPATCH\"],\n DELIVERY_EXECUTION_STATUS: {\n DELAYED:{\n color: \"ORANGE\",\n },\n ON_TIME:{\n color: \"SUCCESS_GREEN\",\n },\n },\n TAB_VALUES: {\n CONSIGNMENTS: \"Consignments\",\n COMM_HISTORY: \"Communiction History\",\n },\n TAB_VALUES_HISTORY: {\n STANDARD: \"STANDARD\",\n EXPRESS: \"EXPRESS\",\n },\n ORDER_TYPE:{\n STANDARD: \"STANDARD\",\n EXPRESS: \"EXPRESS\",\n },\n DEFAULT_FILTER_CHIP: \"ALL\",\n ALL_FILTER_CHIP: \"ALL\",\n NON_EDITABLE_STATUSES: [\n \"DELIVERY_FAILED\",\n \"CANCELLED_BY_SOURCE\",\n \"PARTIALLY_DELIVERED\",\n \"DELIVERED\",\n ],\n REFRESHABLE_STATUSES:['READY','EXPORTED','PICKING_STARTED'],\n DRIVER_ASSIGNED_SUCCESS_MSG: \"Driver Assigned successfully\",\n DEFAULT_STATUS_SELECTION: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: \"Consignment updated successfully.\",\n ADDRESS_MARKED_UNVERIFIED: \"Address has been marked as inaccurate\",\n },\n DELIVERY_TYPE: {\n DISPATCHER: \"DELIVERY_DISPATCHER\",\n LINE_ITEM_REJECTION: \"LINE_ITEM_REJECTION\",\n ON_HOLD: \"ONHOLD_DISPATCHER\",\n ORDER_COMMENTS: \"ORDER_COMMENTS\"\n },\n DRIVERS_CATEGORY: {\n ASSIGNED: \"ASSIGNED\",\n UNASSIGNED: \"UNASSIGNED\",\n OTHERS: \"OTHERS\",\n },\n DRIVER_STATUS: {\n OUT_FOR_DELIVERY: \"Out For Delivery\",\n },\n VEHICLE_TYPE: {\n CAR: \"CAR\",\n BIKE: \"BIKE\",\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n ORDER_LOG_MODIFIED_BY: {\n MANUAL: \"Manual\",\n SYSTEM: \"System\",\n },\n VALIDTION_ADDITIONAL_COMMENT:{\n REASON: {\n REQUIRED: {\n msg: \"Please select the reason\"\n }\n },\n COMMENT: {\n REQUIRED: {\n msg: \"Additional information is required\"\n }\n },\n }\n },\n CUSTOMER_COMM_CONSTANTSÙ€STD: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubCode',\n headerName: 'Hub Code',\n width: 150,\n \n },\n {\n field: 'hubName',\n headerName: 'Hub Name',\n width: 200,\n \n },\n {\n field: 'consignmentId',\n headerName: 'Consignment ID',\n width: 150\n },\n {\n field: \"deliveryArea\",\n headerName: \"Customer Area\",\n width: 180,\n tooltip: true,\n tooltipDataKey: \"address\",\n \n },\n {\n field: \"deliveryZone\", \n headerName: \"Zone\",\n width: 150,\n \n },\n {\n field: 'deliveryStatus',\n headerName: 'Status',\n width: 170,\n \n },\n {\n field: 'type',\n headerName: 'Type',\n width: 120,\n },\n {\n type: \"date\",\n field: 'deliveryDate',\n headerName: 'Delivery Date',\n width: 160,\n \n },\n {\n field: 'startEndTime',\n headerName: 'Delivery Slot',\n width: 150,\n \n },\n ],\n \n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 400\n },\n defaultFiltersObj: {\n pageNumber: 0,\n hub: {\n key: \"hub\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n hubName: {\n key: \"hubName\",\n value: [],\n fieldName: 'c.posInformation.store'\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.area'\n },\n addressStatus: {\n key: \"addressStatus\",\n value: [],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.status'\n },\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n fieldName: 'c.metadata.deliveryZone'\n },\n orderType: {\n key: \"orderType\",\n value: [],\n fieldName: 'c.metadata.category'\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date()\n }\n },\n deliverySlot: {\n key: \"deliverySlot\",\n value: []\n }\n },\n headerButtons: [\n {\n name: \"selectedRow\",\n displayName: \"\",\n disabled: false,\n classes: 'customButton',\n hide: true\n }\n ],\n defaultFiltersObjForm: {\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n fieldName: 'c.metadata.deliveryStatus'\n },\n deliveryStartTime:\"\",\n deliveryEndTime:\"\",\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n fieldName: 'c.metadata.deliveryZone'\n },\n deliveryArea:{\n key: \"deliveryArea\",\n value:[],\n fieldName: 'c.deliveryInformation.customerContactInfo.address.area'\n },\n dateRange: {\n startDate: new Date(),\n endDate: new Date()\n },\n orderType:{\n key:'orderType',\n value:[''],\n fieldName: 'c.metadata.category'\n },\n hub:{\n key:'hub',\n value:[],\n fieldName: 'c.posInformation.store'\n }\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"c.consignmentCode\"\n }\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n {\n code: 'UNPLANNED',\n value: 'Unplanned'\n },\n {\n code: 'PLANNED',\n value: 'Planned'\n },\n {\n code: 'PUBLISHED',\n value: 'Published'\n },\n {\n code: 'PREPARING',\n value: 'Preparing'\n },\n {\n code: 'PREPARED',\n value: 'Prepared'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'COMPLETED',\n value: 'Completed'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n STATUSES: {\n \"NEW\": {\n color: \"PICTON_BLUE\",\n hintText: \"\"\n },\n \"READY_TO_PREPARE\": {\n color: \"CREAM_CAN\",\n hintText: \"\"\n },\n \"READY_TO_DISPATCH\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"PREPARING\": {\n color: \"VISTA_BLUE\",\n hintText: \"\"\n },\n \"PREPARED\": {\n color: \"SEA_GREEN\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"GOLDEN_BELL\",\n hintText: \"\"\n },\n \"ON_HOLD\": {\n color: \"SCAMPI\",\n hintText: \"\"\n },\n \"PENDING_DELIVERY\": {\n color: \"BLUE\",\n hintText: \"\"\n },\n \"DELIVERED\": {\n color: \"SEA_GREEN2\",\n hintText: \"\"\n },\n \"PARTIALLY_DELIVERED\": {\n color: \"LUCKY\",\n hintText: \"\"\n },\n \"CANCELLED\": {\n color: \"DUSTY_GRAY\",\n hintText: \"\"\n },\n \"RETURNED_TO_STORE/HUB\": {\n color: \"JUNGLE_GREEN\",\n hintText: \"\"\n },\n \"DELIVERY_FAILED\": {\n color: \"BLACK\",\n hintText: \"\"\n },\n \"PACKING_COMPLETE\": {\n color: \"MINSK\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"BLUE\",\n hintText: \"\"\n }\n },\n ORDER_STATUS: {\n NEW: \"NEW\",\n READY_TO_PREPARE: \"READY_TO_PREPARE\",\n READY_TO_DISPATCH: \"READY_TO_DISPATCH\",\n PREPARING: \"PREPARING\",\n PREPARED: \"PREPARED\",\n OUT_FOR_DELIVERY: \"OUT_FOR_DELIVERY\",\n ON_HOLD: \"ON_HOLD\",\n PENDING_DELIVERY: \"PENDING_DELIVERY\",\n DELIVERED: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n CANCELLED: \"CANCELLED\",\n \"RETURNED_TO_STORE/HUB\": \"RETURNED_TO_STORE/HUB\",\n DELIVERY_FAILED: \"DELIVERY_FAILED\",\n PACKING_COMPLETE: \"PACKING_COMPLETE\",\n ASSIGNED:\"ASSIGNED\"\n },\n PC_NOT_RECEIVED: \"PC_NOT_RECEIVED\",\n COMPLETED: \"COMPLETED\",\n TERMINAL_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'DELIVERED', 'PARTIALLY_DELIVERED', 'ON_HOLD','OUT_FOR_DELIVERY'],\n NON_TERMINAL_STATUSES:[\"NEW\", \"READY_TO_PREPARE\", \"ON_HOLD\", \"OUT_FOR_DELIVERY\", \"ASSIGNED\", \"PACKING_COMPLETE\", \"PENDING_DELIVERY\", \"PREPARED\", \"PREPARING\", \"READY_TO_DISPATCH\", \"RETURNED_TO_STORE/HUB\"],\n NON_EDITABLE_STATUSES: ['DELIVERY_FAILED', 'CANCELLED', 'PARTIALLY_DELIVERED', 'DELIVERED'],\n REFRESHABLE_STATUSES:['NEW'],\n CANCELLED: 'CANCELLED',\n DEFAULT_FILTER_CHIP: 'UNPLANNED',\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: 'Consignment updated successfully.',\n ADDRESS_MARKED_UNVERIFIED: \"Address has been marked as inaccurate\",\n DEFAULT_REPLANNING_SELECTION: 'reschedule',\n COD_TEXT: \"COD\",\n DISPLAY_ROUTE_STATUS_FILTER_OBJ: {\n key: \"displayRouteStatus\",\n value: ['UNPLANNED'],\n fieldName: 'c.metadata.displayRouteStatus'\n },\n CRATE_ID: \"Crate Id\",\n TAB_VALUES_DETAIL: {\n ORDER_DETAIL: \"Order Detail\",\n ORDER_LOG: \"Order\",\n },\n },\n DELIVERY_TYPE: {\n DISPATCHER: \"DELIVERY_DISPATCHER\",\n LINE_ITEM_REJECTION: \"LINE_ITEM_REJECTION\",\n ON_HOLD: \"ONHOLD_DISPATCHER\",\n ORDER_COMMENTS: \"ORDER_COMMENTS\"\n },\n DRIVERS_CATEGORY: {\n ASSIGNED: \"ASSIGNED\",\n UNASSIGNED: \"UNASSIGNED\",\n OTHERS: \"OTHERS\",\n },\n DRIVER_STATUS: {\n OUT_FOR_DELIVERY: \"Out For Delivery\",\n },\n VEHICLE_TYPE: {\n CAR: \"CAR\",\n BIKE: \"BIKE\",\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n ORDER_LOG_MODIFIED_BY: {\n MANUAL: \"Manual\",\n SYSTEM: \"System\",\n },\n VALIDTION_ADDITIONAL_COMMENT:{\n REASON: {\n REQUIRED: {\n msg: \"Please select the reason\"\n }\n },\n COMMENT: {\n REQUIRED: {\n msg: \"Additional information is required\"\n }\n },\n }\n },\n CUSTOMER_COMM_HISTORY_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Consignments\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"hubCode\",\n headerName: \"Hub\",\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hub\",\n fieldName: \"hub\",\n fieldFullName: \"hub\",\n multiple: true,\n key: `autoComplete-hub-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Code\",\n items: [],\n },\n },\n {\n field: \"hubNames\",\n headerName: \"Hub Name\",\n width: 200,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"hubName\",\n multiple: true,\n key: `autoComplete-hubName-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Name\",\n items: [],\n },\n },\n {\n field: \"consignmentId\",\n headerName: \"Consignment ID\",\n width: 150,\n },\n {\n field: \"deliveryArea\",\n headerName: \"Customer Area\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"deliveryArea\",\n multiple: true,\n key: `autoComplete-deliveryArea-${generateRandomNumber(0, 1000)}`,\n label: \"Area\",\n items: [],\n },\n },\n {\n field: \"deliveryZone\", \n headerName: \"Zone\",\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryZone\",\n fieldName: \"deliveryZone\",\n fieldFullName: \"c.metadata.deliveryZone\",\n multiple: true,\n key: `autoComplete-deliveryZone-${generateRandomNumber(0, 1000)}`,\n label: \"zone\",\n items: []\n }\n },\n {\n field: 'orderType',\n headerName: 'Type',\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"type\",\n fieldName: \"orderType\",\n fieldFullName: \"c.metadata.category\",\n multiple: true,\n key: `autoComplete-orderType-${generateRandomNumber(0, 1000)}`,\n label: \"Order Type\",\n items: [],\n }\n },\n {\n type: \"date\",\n field: \"deliveryDate\",\n headerName: \"Delivery Date\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${generateRandomNumber(0, 1000)}`,\n placeholderText: \"Delivery Date\",\n label: \"Delivery Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n day: \"29\",\n },\n locale: {},\n },\n },\n {\n type: \"date\",\n field: \"deliveredAt\",\n headerName: \"Initiated At\",\n width: 150,\n },\n {\n field: \"initiatedBy\",\n headerName: \"Initiated By\",\n width: 180,\n },\n {\n field: \"reasonDescription\",\n headerName: \"Reason For Delay\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"reason\",\n fieldName: \"reason\",\n fieldFullName: \"c.reason\",\n multiple: true,\n key: `autoComplete-orderType-${generateRandomNumber(0, 1000)}`,\n label: \"reason\",\n items: [],\n }\n },\n {\n field: \"comment\",\n headerName: \"Comment\",\n width: 180,\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false,\n },\n ],\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 400,\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n },\n hubName: {\n key: \"hubNames\",\n value: [],\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n },\n addressStatus: {\n key: \"addressStatus\",\n value: [],\n },\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n orderType: {\n key: \"orderType\",\n value: [],\n },\n reason: {\n key: \"reason\",\n value: [],\n },\n status: {\n key: \"status\",\n value: [],\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n },\n deliveryExecutionStatus: {\n key: \"deliveryExecutionStatus\",\n value: [],\n },\n driverId: {\n key: \"driverId\",\n value: [],\n },\n deliverySlotTime: {\n key: \"deliverySlotTime\",\n value: [],\n },\n pageNumber: 0,\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"consignmentCode\",\n },\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\",\n },\n },\n FILTER_CHIPS: [\n {\n code: \"UNASSIGNED\",\n value: \"Unassigned\",\n },\n {\n code: \"ON_HOLD\",\n value: \"On Hold\",\n },\n {\n code: \"ASSIGNED\",\n value: \"Assigned\",\n },\n {\n code: \"OUT_FOR_DELIVERY\",\n value: \"Out For Delivery\",\n },\n {\n code: \"COMPLETED\",\n value: \"Completed\",\n },\n {\n code: \"ALL\",\n value: \"All\",\n },\n ],\n STATUSES: {\n UNASSIGNED: {\n color: \"INFO_BLUE\",\n },\n ON_HOLD: {\n color: \"MINSK\",\n },\n ASSIGNED: {\n color: \"MINSK\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n OUT_FOR_DELIVERY: {\n color: \"PRIMARY_BLUE\",\n },\n DELIVERED: {\n color: \"JUNGLE_GREEN\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"ALERT_ORANGE\",\n },\n CANCELLED_BY_SOURCE: {\n color: \"PALE_GRAY\",\n },\n DELIVERY_FAILED: {\n color: \"ERROR_RED\",\n },\n PACKING_COMPLETE: {\n color: \"MINSK\",\n },\n },\n DRIVER_STATUSES: {\n ACTIVE: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"ACTIVE\",\n },\n AVAILABLE: {\n color: \"SEA_GREEN\",\n hintText: \"\",\n value: \"AVAILABLE\",\n },\n UNASSIGNED: {\n color: \"SEA_GREEN\",\n hintText: \"\",\n value: \"UNASSIGNED\",\n },\n ASSIGNED: {\n color: \"GOLDEN_BELL\",\n hintText: \"\",\n value: \"ASSIGNED\",\n },\n BACK_TO_STORE: {\n color: \"INFO_BLUE\",\n hintText: \"\",\n value: \"BACK_TO_STORE\",\n },\n AWAY: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"AWAY\",\n },\n OUT_FOR_DELIVERY: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"OUT_FOR_DELIVERY\",\n },\n OFFLINE: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"OFFLINE\",\n },\n },\n ORDER_STATUSES: {\n READY: {\n color: \"INFO_BLUE\",\n },\n EXPORTED: {\n color: \"READY_BLUE\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n PAYMENT_ACCEPTED: {\n color: \"MINSK_DARK\",\n },\n DISPATCHED: {\n color: \"SCAMPI\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"DRIFT_WOOD\",\n },\n OUT_FOR_DELIVERY: {\n color: \"TAG_YEllOW\",\n },\n DELIVERED: {\n color: \"PERSIAN_GREEN_DARK\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n CANCELLED: {\n color: \"SILVER_CHALICE2\",\n },\n DELIVERY_FAILED: {\n color: \"PALE_RED\",\n },\n PACKING_COMPLETE: {\n color: \"GREEN_BLUE\",\n },\n PICKING_STARTED: {\n color: \"MAROON\",\n },\n },\n ORDER_STATUS: {\n READY: \"READY\",\n EXPORTED: \"EXPORTED\",\n READY_TO_DISPATCH: \"READY_TO_DISPATCH\",\n PAYMENT_ACCEPTED: \"PAYMENT_ACCEPTED\",\n DISPATCHED: \"DISPATCHED\",\n DELIVERY_ATTEMPTED: \"DELIVERY_ATTEMPTED\",\n OUT_FOR_DELIVERY: \"OUT_FOR_DELIVERY\",\n DELIVERED: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n CANCELLED: \"CANCELLED\",\n DELIVERY_FAILED: \"DELIVERY_FAILED\",\n PACKING_COMPLETE: \"PACKING_COMPLETE\",\n PICKING_STARTED: \"PICKING_STARTED\",\n },\n DELIVERY_EXECUTION_STATUS: {\n DELAYED:{\n color: \"ORANGE\",\n },\n ON_TIME:{\n color: \"SUCCESS_GREEN\",\n },\n },\n TAB_VALUES: {\n CONSIGNMENTS: \"Consignments\",\n COMM_HISTORY: \"Communiction History\",\n },\n DEFAULT_FILTER_CHIP: \"UNASSIGNED\",\n ALL_FILTER_CHIP: \"ALL\",\n NON_EDITABLE_STATUSES: [\n \"DELIVERY_FAILED\",\n \"CANCELLED_BY_SOURCE\",\n \"PARTIALLY_DELIVERED\",\n \"DELIVERED\",\n ],\n REFRESHABLE_STATUSES:['READY','EXPORTED','PICKING_STARTED'],\n DRIVER_ASSIGNED_SUCCESS_MSG: \"Driver Assigned successfully\",\n DEFAULT_STATUS_SELECTION: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: \"Consignment updated successfully.\",\n ADDRESS_MARKED_UNVERIFIED: \"Address has been marked as inaccurate\",\n },\n DELIVERY_TYPE: {\n DISPATCHER: \"DELIVERY_DISPATCHER\",\n LINE_ITEM_REJECTION: \"LINE_ITEM_REJECTION\",\n ON_HOLD: \"ONHOLD_DISPATCHER\",\n ORDER_COMMENTS: \"ORDER_COMMENTS\"\n },\n DRIVERS_CATEGORY: {\n ASSIGNED: \"ASSIGNED\",\n UNASSIGNED: \"UNASSIGNED\",\n OTHERS: \"OTHERS\",\n },\n DRIVER_STATUS: {\n OUT_FOR_DELIVERY: \"Out For Delivery\",\n },\n VEHICLE_TYPE: {\n CAR: \"CAR\",\n BIKE: \"BIKE\",\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n ORDER_LOG_MODIFIED_BY: {\n MANUAL: \"Manual\",\n SYSTEM: \"System\",\n },\n VALIDTION_ADDITIONAL_COMMENT:{\n REASON: {\n REQUIRED: {\n msg: \"Please select the reason\"\n }\n },\n COMMENT: {\n REQUIRED: {\n msg: \"Additional information is required\"\n }\n },\n }\n },\n};\n\nexport default CustomerCommConstants;\n\nexport enum EXPRESS_DELIVERY_TYPE {\n UNASSIGNED = \"UNASSIGNED\",\n ASSIGNED = \"ASSIGNED\",\n ON_HOLD = \"ON_HOLD\",\n DELIVERY_ATTEMPTED = \"DELIVERY_ATTEMPTED\",\n UNDELIVERED = \"UNDELIVERED\",\n}","import { TAB_VALUES_CONSTANT } from \"./DelveDashboardConstant\";\n\nconst DelveConstants = {\n DELVE_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Consignments\",\n HeaderData: [\n { field: \"id\", headerName: \"Id\", hide: true },\n {\n field: \"hubName\",\n headerName: \"Hub Name\",\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: [],\n },\n },\n { field: \"consignmentId\", headerName: \"Consignment Id\", width: 160 },\n { field: \"verified\", headerName: \"Consignment Status at Time of Verification\", width: 170 },\n {\n type: \"date\",\n field: \"readyToDispatchDate\",\n headerName: \"Ready to Dispatch Date [Default]\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"readyToDispatchDate\",\n fieldName: \"delveDateRange\",\n key: `delveDateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: \"Ready To Dispatch Date\",\n label: \"Ready To Dispatch Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: { month: \"1\" },\n locale: {},\n },\n },\n {\n type: \"date\",\n field: \"deliveryDate\",\n headerName: \"Delivery Date\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: \"Delivery Date\",\n label: \"Delivery Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: { month: \"1\" },\n locale: {},\n },\n },\n {\n field: \"deliverySlot\",\n headerName: \"Delivery Slot\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlot\",\n },\n },\n { field: \"crates\", headerName: \"Crates\", width: 100 },\n { field: \"totalItems\", headerName: \"Total Items\", width: 100 },\n { field: \"verificationStatus\", headerName: \"Verification Status\", width: 220 },\n { field: \"itemsVerified\", headerName: \"Items Verified\", width: 120 },\n { field: \"issuesFound\", headerName: \"Issues Found\", width: 120 },\n { field: \"verificationDate\", headerName: \"Verification Date\", width: 160, hide: false },\n { field: \"verificationTime\", headerName: \"Verification Time\", width: 160, hide: false },\n { field: \"verifiedBy\", headerName: \"Verified By\", width: 160 },\n {\n field: \"driverName\",\n headerName: \"Driver Name\",\n width: 150,\n hide: false,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.deliveryInformation.driver.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: [],\n },\n },\n ],\n ReturnTabHeaderData: [\n { field: \"id\", headerName: \"Id\", hide: true },\n {\n field: \"hubName\",\n headerName: \"Hub Name\",\n width: 130,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"c.posInformation.store\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: [],\n },\n },\n { field: \"consignmentId\", headerName: \"Consignment Id\", width: 160 },\n { field: \"verified\", headerName: \"Consignment Status at Time of Verification\", width: 170 },\n {\n type: \"date\",\n field: \"readyToDispatchDate\",\n headerName: \"Ready to Dispatch Date [Default]\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"readyToDispatchDate\",\n fieldName: \"delveDateRange\",\n key: `delveDateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: \"Ready To Dispatch Date\",\n label: \"Ready To Dispatch Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: { month: \"1\" },\n locale: {},\n },\n },\n {\n type: \"date\",\n field: \"deliveryDate\",\n headerName: \"Delivery Date\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: \"Delivery Date\",\n label: \"Delivery Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: { month: \"1\" },\n locale: {},\n },\n },\n {\n field: \"deliverySlot\",\n headerName: \"Delivery Slot\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlot\",\n multiple: true,\n key: `autoComplete-deliverySlot-${Math.floor(Math.random() * 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlot\",\n },\n },\n { field: \"totalItems\", headerName: \"Total Items\", width: 100 },\n { field: \"verificationStatus\", headerName: \"Verification Status\", width: 220 },\n { field: \"itemsVerified\", headerName: \"Items Verified\", width: 120 },\n { field: \"issuesFound\", headerName: \"Issues Found\", width: 120 },\n { field: \"verificationDate\", headerName: \"Verification Date\", width: 160, hide: false },\n { field: \"verificationTime\", headerName: \"Verification Time\", width: 160, hide: false },\n { field: \"verifiedBy\", headerName: \"Verified By\", width: 160 },\n {\n field: \"driverName\",\n headerName: \"Driver Name\",\n width: 150,\n hide: false,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driver\",\n fieldName: \"driver\",\n fieldFullName: \"c.deliveryInformation.driver.id\",\n multiple: true,\n key: `autoComplete-driver-${Math.floor(Math.random() * 1000)}`,\n label: \"Driver\",\n items: [],\n },\n },\n ],\n FilterFormData: [\n {\n type: \"dateRange\",\n fieldName: \"verificationDateRange\",\n key: `verificationDateRange-filter-${Math.floor(Math.random() * 1000)}`,\n placeholderText: \"Verification Date\",\n label: \"Verification Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n day: \"6\",\n },\n locale: {},\n },\n {\n type: \"selectBox\",\n fieldName: \"verificationStatus\",\n multiple: true,\n key: `selectBox-verificationStatus-${Math.floor(Math.random() * 1000)}`,\n label: \"verification Status\",\n items: [],\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [{ name: \"excel\", displayName: \"EXPORT DATA\", disabled: false }],\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 20,\n },\n defaultFiltersObj: {\n hub: { key: \"hub\", value: [], fieldName: \"c.posInformation.store\" },\n hubName: { key: \"hubName\", value: [], fieldName: \"c.posInformation.store\" },\n verified: { key: \"verified\", value: [], fieldName: \"c.metadata.qcStatusDelivery.verified\" },\n deliveryArea: { key: \"deliveryArea\", value: [], fieldName: \"c.deliveryInformation.customerContactInfo.address.area\" },\n orderType: { key: \"orderType\", value: [], fieldName: \"c.metadata.category\" },\n paymentType: { key: \"paymentType\", value: [], fieldName: \"c.metadata.paymentType\" },\n carrier: { key: \"carrier\", value: [], fieldName: \"c.deliveryInformation.carrier\" },\n deliveryProposition: { key: \"deliveryProposition\", value: [\"STD\"], fieldName: \"c.metadata.deliveryType\" },\n routeId: { key: \"routeId\", value: [], fieldName: \"c.metadata.routeId\" },\n routeStatus: { key: \"routeStatus\", value: [], fieldName: \"c.metadata.routeStatus\" },\n driver: { key: \"driver\", value: [], fieldName: \"c.deliveryInformation.driver.id\" },\n vehicle: { key: \"vehicle\", value: [], fieldName: \"c.deliveryInformation.vehicle.id\" },\n helper: { key: \"helper\", value: [], fieldName: \"c.deliveryInformation.helper.id\" },\n deliveryFailedReason: { key: \"deliveryFailedReason\", value: [], fieldName: \"c.reason.reasonCode\" },\n dateRange: { key: \"dateRange\", value: { startDate: new Date(), endDate: new Date() } },\n deliverySlot: { key: \"deliverySlot\", value: [] },\n delveDateRange: { key: \"delveDateRange\", value: { startDate: new Date(), endDate: new Date() } },\n consignmentCode: { key: \"c.consignmentCode\", value: [] },\n isDelve: true,\n pageNumber: 0,\n deliveryFlow: TAB_VALUES_CONSTANT.DELIVERIES.value /** https://mafretail.atlassian.net/browse/LMC-2428 */,\n returns: { key: \"verified\", value: [], fieldName: \"c.metadata.qcStatusReturn.verified\" },\n },\n SEARCH_TYPES: [{ name: \"Consignment Id\", value: \"c.consignmentCode\" }],\n sortModel: { field: \"deliveryDate\", direction: \"asc\" },\n },\n FILTER_CHIPS: [\n { code: \"ALL\", value: \"All\" },\n { code: \"VERIFIED\", value: \"Verified\" },\n { code: \"PARTIALLY_VERIFIED\", value: \"Partially Verified\" },\n { code: \"UNVERIFIED\", value: \"Unverified\" },\n { code: \"ISSUES_REPORTED\", value: \"Issues Reported\" }, // Combination of PARTIALLY_VERIFIED_ISSUES and VERIFIED_ISSUES\n ],\n RETURN_TYPE_FILTER_CHIPS: [\n { code: \"ALL\", value: \"All\" },\n { code: \"VERIFIED\", value: \"Verified\" },\n { code: \"UNVERIFIED\", value: \"Unverified\" },\n { code: \"ISSUES_REPORTED\", value: \"Issues Reported\" }, // Combination of PARTIALLY_VERIFIED_ISSUES and VERIFIED_ISSUES\n ],\n STATUSES: {\n NEW: { color: \"PICTON_BLUE\", hintText: \"\" },\n READY_TO_PREPARE: { color: \"CREAM_CAN\", hintText: \"\" },\n READY_TO_DISPATCH: { color: \"BLUE\", hintText: \"\" },\n PREPARING: { color: \"VISTA_BLUE\", hintText: \"\" },\n PREPARED: { color: \"SEA_GREEN\", hintText: \"\" },\n OUT_FOR_DELIVERY: { color: \"GOLDEN_BELL\", hintText: \"\" },\n ON_HOLD: { color: \"SCAMPI\", hintText: \"\" },\n PENDING_DELIVERY: { color: \"TROPICAL_BLUE\", hintText: \"\" },\n DELIVERED: { color: \"SEA_GREEN2\", hintText: \"\" },\n PARTIALLY_DELIVERED: { color: \"LUCKY\", hintText: \"\" },\n CANCELLED: { color: \"DUSTY_GRAY\", hintText: \"\" },\n \"RETURNED_TO_STORE/HUB\": { color: \"JUNGLE_GREEN\", hintText: \"\" },\n DELIVERY_FAILED: { color: \"BLACK\", hintText: \"\" },\n PACKING_COMPLETE: { color: \"MINSK\", hintText: \"\" },\n ASSIGNED: { color: \"BLUE_HAZE\", hintText: \"\" },\n },\n VERIFICATION_STATUS: {\n VERIFIED: { color: \"OCEAN_GREEN\", hintText: \"\" },\n UNVERIFIED: { color: \"CORAL_PINK\", hintText: \"\" },\n VERIFIED_ISSUES: { color: \"ALERT_ORANGE\", hintText: \"\" },\n PARTIALLY_VERIFIED: { color: \"AVATAR_OCEAN\", hintText: \"\" },\n PARTIALLY_VERIFIED_ISSUES: { color: \"DARK_GOLD_ORANGE\", hintText: \"\" },\n },\n ALL_FILTER_CHIP: \"ALL\",\n DEFAULT_FILTER_CHIP: \"UNVERIFIED\",\n VERIFIED_FILTER_CHIP: \"VERIFIED\",\n ISSUES_REPORTED_CHIP: \"ISSUES_REPORTED\",\n PARTIALLY_VERIFIED_ISSUES_CHIP: \"PARTIALLY_VERIFIED_ISSUES\",\n VERIFIED_ISSUES_CHIP: \"VERIFIED_ISSUES\",\n VERIFIED: { key: \"verified\", value: [], fieldName: \"c.metadata.qcStatusDelivery.verified\" },\n },\n RESPONSE_CONSTANTS: { ERROR_CODES: { SESSION_TIMEOUT: \"UM100\", UNAUTHORISED: \"UM101\", CONCURRENT_CONSIGNMENT: \"CWO15\" } },\n },\n};\n\nexport default DelveConstants;","import { generateRandomNumber } from \"./../utils/helpers.utils\";\nconst ExpressConstants = {\n EXPRESS_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Consignments\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"hubCode\",\n headerName: \"Hub\",\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hub\",\n fieldName: \"hub\",\n fieldFullName: \"hub\",\n multiple: true,\n key: `autoComplete-hub-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Code\",\n items: [],\n },\n },\n {\n field: \"hubNames\",\n headerName: \"Hub Name\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"hubName\",\n multiple: true,\n key: `autoComplete-hubName-${generateRandomNumber(0, 1000)}`,\n label: \"Hub Name\",\n items: [],\n },\n },\n {\n field: \"consignmentId\",\n headerName: \"Consignment ID\",\n width: 130,\n },\n {\n field: \"status\",\n headerName: \"Order Status\",\n width: 186,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"status\",\n fieldName: \"status\",\n fieldFullName: \"status\",\n multiple: true,\n key: `autoComplete-status-${generateRandomNumber(0, 1000)}`,\n label: \"Order Status\",\n items: [],\n },\n },\n {\n field: \"vehicle\",\n headerName: \"Vehicle\",\n width: 80,\n },\n {\n field: \"promiseTime\",\n headerName: \"Delivery Promise\",\n width: 100,\n },\n {\n field: \"deliveryStatus\",\n headerName: \"Status\",\n width: 186,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"deliveryStatus\",\n multiple: true,\n key: `autoComplete-deliveryStatus-${generateRandomNumber(\n 0,\n 1000\n )}`,\n label: \"Hub Name\",\n items: [],\n },\n },\n {\n field: \"activity\",\n headerName: \"Activity Type\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"activity\",\n fieldName: \"activity\",\n fieldFullName: \"activity\",\n multiple: true,\n key: `autoComplete-activity-${generateRandomNumber(0, 1000)}`,\n label: \"activity\",\n items: [],\n },\n },\n {\n field: \"actions\",\n headerName: \"Actions\",\n width: 100,\n hide: false,\n },\n {\n field: \"driverName\",\n headerName: \"Driver\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driverId\",\n fieldName: \"driverId\",\n fieldFullName: \"driverId\",\n multiple: true,\n key: `autoComplete-driverId-${generateRandomNumber(0, 1000)}`,\n label: \"Driver Name\",\n items: [],\n },\n },\n {\n field: \"deliveryArea\",\n headerName: \"Customer Area\",\n width: 180,\n tooltip: true,\n tooltipDataKey: \"address\",\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryArea\",\n fieldName: \"deliveryArea\",\n fieldFullName: \"deliveryArea\",\n multiple: true,\n key: `autoComplete-deliveryArea-${generateRandomNumber(0, 1000)}`,\n label: \"Area\",\n category: \"ExpressArea\",\n items: [],\n },\n },\n {\n field: \"addressStatus\",\n headerName: \"Address Status\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"addressStatus\",\n fieldName: \"addressStatus\",\n fieldFullName: \"c.deliveryInformation.customerContactInfo.address.status\",\n multiple: true,\n key: `autoComplete-addressStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Area\",\n items: [],\n },\n },\n {\n field: \"deliveryZone\", \n headerName: \"Zone\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryZone\",\n fieldName: \"deliveryZone\",\n fieldFullName: \"c.metadata.deliveryZone\",\n multiple: true,\n key: `autoComplete-deliveryZone-${generateRandomNumber(0, 1000)}`,\n label: \"Zone\",\n items: []\n }\n },\n {\n field: \"deliverySlotTime\",\n headerName: \"Delivery Time\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldName: \"deliverySlotTime\",\n multiple: true,\n key: `autoComplete-deliverySlot-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Slot\",\n items: [],\n fieldKey: \"deliverySlotTime\",\n },\n },\n \n {\n type: \"date\",\n field: \"deliveryDate\",\n headerName: \"Delivery Date\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"dateRange\",\n fieldKey: \"deliveryDate\",\n fieldName: \"dateRange\",\n key: `dateRange-filter-${generateRandomNumber(0, 1000)}`,\n placeholderText: \"Delivery Date\",\n label: \"Delivery Date\",\n autoUpdateInput: false,\n autoApply: true,\n showDropdowns: true,\n linkedCalendars: true,\n maxSpan: {\n month: \"1\",\n },\n locale: {},\n },\n },\n {\n field: \"paymentType\",\n headerName: \"Payment Type\",\n width: 160,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"paymentType\",\n fieldName: \"paymentType\",\n fieldFullName: \"paymentType\",\n multiple: true,\n key: `autoComplete-paymentType-${generateRandomNumber(0, 1000)}`,\n label: \"Payment Type\",\n items: [],\n },\n },\n\n {\n field: \"orderId\",\n headerName: \"Order ID\",\n width: 150,\n },\n {\n field: \"transactionDate\",\n headerName: \"Order Creation Date\",\n width: 170,\n },\n {\n field: \"deliveryActualTime\",\n headerName: \"Delivery Actual Time(mins)\",\n width: 180,\n },\n {\n field: \"deliveryExecutionStatus\",\n headerName: \"Delivery Status\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryExecutionStatus\",\n fieldName: \"deliveryExecutionStatus\",\n fieldFullName: \"deliveryExecutionStatus\",\n multiple: true,\n key: `autoComplete-deliveryExecutionStatus-${generateRandomNumber(\n 0,\n 1000\n )}`,\n label: \"Delivery Status\",\n items: [],\n },\n },\n {\n field: \"customerName\",\n headerName: \"Customer Name\",\n width: 150,\n },\n {\n field: \"customerEmail\",\n headerName: \"Customer Email\",\n width: 180,\n },\n {\n field: \"totalAmount\",\n headerName: \"Total Order Value\",\n width: 140,\n },\n {\n field: \"codAmount\",\n headerName: \"COD Amount\",\n width: 130,\n },\n {\n field: \"collectedAmount\",\n headerName: \"Collected Amount\",\n width: 160,\n },\n {\n field: \"undeliveredReason\",\n headerName: \"Undelivered Reason\",\n width: 160,\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false,\n },\n ],\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 20,\n },\n defaultFiltersObj: {\n hub: {\n key: \"hub\",\n value: [],\n },\n hubName: {\n key: \"hubNames\",\n value: [],\n },\n deliveryArea: {\n key: \"deliveryArea\",\n value: [],\n },\n addressStatus: {\n key: \"addressStatus\",\n value: [],\n },\n activity: {\n key: \"activity\",\n value: [],\n },\n deliveryZone: {\n key: \"deliveryZone\",\n value: [],\n },\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n status: {\n key: \"status\",\n value: [],\n },\n paymentType: {\n key: \"paymentType\",\n value: [],\n },\n deliveryExecutionStatus: {\n key: \"deliveryExecutionStatus\",\n value: [],\n },\n driverId: {\n key: \"driverId\",\n value: [],\n },\n deliverySlotTime: {\n key: \"deliverySlotTime\",\n value: [],\n },\n pageNumber: 0,\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: new Date(),\n endDate: new Date(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment Id\",\n value: \"consignmentCode\",\n },\n {\n name: \"Order Id\",\n value: \"orderCode\",\n },\n {\n name: \"Customer Name\",\n value: \"customerName\",\n },\n {\n name: \"Customer Email\",\n value: \"customerEmail\",\n },\n ],\n sortModel: {\n field: \"deliveryDate\",\n direction: \"asc\",\n },\n },\n FILTER_CHIPS: [\n {\n code: \"UNASSIGNED\",\n value: \"Unassigned\",\n },\n {\n code: \"ON_HOLD\",\n value: \"On Hold\",\n },\n {\n code: \"ASSIGNED\",\n value: \"Assigned\",\n },\n {\n code: \"OUT_FOR_DELIVERY\",\n value: \"Out For Delivery\",\n },\n {\n code: \"COMPLETED\",\n value: \"Completed\",\n },\n {\n code: \"ALL\",\n value: \"All\",\n },\n ],\n STATUSES_ALECTO_CRATE:['UNASSIGNED', 'ON_HOLD', 'ASSIGNED', 'READY_TO_DISPATCH','OUT_FOR_DELIVERY'],\n STATUSES: {\n UNASSIGNED: {\n color: \"INFO_BLUE\",\n },\n ON_HOLD: {\n color: \"MINSK\",\n },\n ASSIGNED: {\n color: \"MINSK\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n OUT_FOR_DELIVERY: {\n color: \"PRIMARY_BLUE\",\n },\n DELIVERED: {\n color: \"JUNGLE_GREEN\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"ALERT_ORANGE\",\n },\n CANCELLED_BY_SOURCE: {\n color: \"PALE_GRAY\",\n },\n DELIVERY_FAILED: {\n color: \"ERROR_RED\",\n },\n PACKING_COMPLETE: {\n color: \"MINSK\",\n },\n },\n DRIVER_STATUSES: {\n ACTIVE: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"ACTIVE\",\n },\n AVAILABLE: {\n color: \"SEA_GREEN\",\n hintText: \"\",\n value: \"AVAILABLE\",\n },\n UNASSIGNED: {\n color: \"SEA_GREEN\",\n hintText: \"\",\n value: \"UNASSIGNED\",\n },\n ASSIGNED: {\n color: \"GOLDEN_BELL\",\n hintText: \"\",\n value: \"ASSIGNED\",\n },\n BACK_TO_STORE: {\n color: \"INFO_BLUE\",\n hintText: \"\",\n value: \"BACK_TO_STORE\",\n },\n AWAY: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"AWAY\",\n },\n OUT_FOR_DELIVERY: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"OUT_FOR_DELIVERY\",\n },\n OFFLINE: {\n color: \"GREY_SCALE\",\n hintText: \"\",\n value: \"OFFLINE\",\n },\n },\n ORDER_STATUSES: {\n READY: {\n color: \"INFO_BLUE\",\n },\n EXPORTED: {\n color: \"READY_BLUE\",\n },\n READY_TO_DISPATCH: {\n color: \"READY_BLUE\",\n },\n PAYMENT_ACCEPTED: {\n color: \"MINSK_DARK\",\n },\n DISPATCHED: {\n color: \"SCAMPI\",\n },\n DELIVERY_ATTEMPTED: {\n color: \"DRIFT_WOOD\",\n },\n OUT_FOR_DELIVERY: {\n color: \"TAG_YEllOW\",\n },\n DELIVERED: {\n color: \"PERSIAN_GREEN_DARK\",\n },\n PARTIALLY_DELIVERED: {\n color: \"PARTIAL_SUCCESS_GREEN\",\n },\n CANCELLED: {\n color: \"SILVER_CHALICE2\",\n },\n DELIVERY_FAILED: {\n color: \"PALE_RED\",\n },\n PACKING_COMPLETE: {\n color: \"GREEN_BLUE\",\n },\n PICKING_STARTED: {\n color: \"MAROON\",\n },\n },\n ORDER_STATUS: {\n READY: \"READY\",\n EXPORTED: \"EXPORTED\",\n READY_TO_DISPATCH: \"READY_TO_DISPATCH\",\n PAYMENT_ACCEPTED: \"PAYMENT_ACCEPTED\",\n DISPATCHED: \"DISPATCHED\",\n DELIVERY_ATTEMPTED: \"DELIVERY_ATTEMPTED\",\n OUT_FOR_DELIVERY: \"OUT_FOR_DELIVERY\",\n DELIVERED: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n CANCELLED: \"CANCELLED\",\n DELIVERY_FAILED: \"DELIVERY_FAILED\",\n PACKING_COMPLETE: \"PACKING_COMPLETE\",\n PICKING_STARTED: \"PICKING_STARTED\",\n },\n DELIVERY_EXECUTION_STATUS: {\n DELAYED:{\n color: \"ORANGE\",\n },\n ON_TIME:{\n color: \"SUCCESS_GREEN\",\n },\n },\n TAB_VALUES: {\n ORDER_DETAIL: \"Order Detail\",\n ORDER_LOG: \"Order\",\n ORDER_COMMENTS: \"Order Comments\"\n },\n DEFAULT_FILTER_CHIP: \"UNASSIGNED\",\n ALL_FILTER_CHIP: \"ALL\",\n NON_EDITABLE_STATUSES: [\n \"DELIVERY_FAILED\",\n \"CANCELLED_BY_SOURCE\",\n \"PARTIALLY_DELIVERED\",\n \"DELIVERED\",\n ],\n REFRESHABLE_STATUSES:['READY','EXPORTED','PICKING_STARTED'],\n DRIVER_ASSIGNED_SUCCESS_MSG: \"Driver Assigned successfully\",\n DEFAULT_STATUS_SELECTION: \"DELIVERED\",\n PARTIALLY_DELIVERED: \"PARTIALLY_DELIVERED\",\n REPLANNING_CONSIGNMENT_SUCCESS_MSG: \"Consignment updated successfully.\",\n ADDRESS_MARKED_UNVERIFIED: \"Address has been marked as inaccurate\",\n },\n DELIVERY_TYPE: {\n DISPATCHER: \"DELIVERY_DISPATCHER\",\n LINE_ITEM_REJECTION: \"LINE_ITEM_REJECTION\",\n ON_HOLD: \"ONHOLD_DISPATCHER\",\n ORDER_COMMENTS: \"ORDER_COMMENTS\"\n },\n DRIVERS_CATEGORY: {\n ASSIGNED: \"ASSIGNED\",\n UNASSIGNED: \"UNASSIGNED\",\n OTHERS: \"OTHERS\",\n },\n DRIVER_STATUS: {\n OUT_FOR_DELIVERY: \"Out For Delivery\",\n },\n VEHICLE_TYPE: {\n CAR: \"CAR\",\n BIKE: \"BIKE\",\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n ORDER_LOG_MODIFIED_BY: {\n MANUAL: \"Manual\",\n SYSTEM: \"System\",\n },\n VALIDTION_ADDITIONAL_COMMENT:{\n REASON: {\n REQUIRED: {\n msg: \"Please select the reason\"\n }\n },\n COMMENT: {\n REQUIRED: {\n msg: \"Additional information is required\"\n }\n },\n }\n },\n};\n\nexport default ExpressConstants;\n\nexport enum EXPRESS_DELIVERY_TYPE {\n UNASSIGNED = \"UNASSIGNED\",\n ASSIGNED = \"ASSIGNED\",\n ON_HOLD = \"ON_HOLD\",\n DELIVERY_ATTEMPTED = \"DELIVERY_ATTEMPTED\",\n UNDELIVERED = \"UNDELIVERED\",\n}","const PosConstants = {\n POS_CONSTANTS: {\n TABLE_WRAPPER_DATA: {\n title: \"Hubs\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'hubId',\n headerName: 'POS Id',\n width: 120,\n },\n {\n field: 'hubName',\n headerName: 'POS',\n width: 150\n },\n {\n field: 'latLong',\n headerName: 'Latitude/Longitude',\n width: 150\n },\n {\n field: 'country',\n headerName: 'Country',\n width: 150\n },\n /* {\n field: 'category',\n headerName: 'Category',\n width: 150\n }, */\n {\n field: 'status',\n headerName: 'Status',\n width: 150\n },\n {\n field: 'serviceType',\n headerName: 'Service Type',\n width: 150\n },\n {\n field: 'area',\n headerName: 'Delivery Areas',\n width: 150\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100\n }\n ],\n headerButtons: [\n {\n name: \"addHub\",\n displayName: \"Add New Hub\",\n disabled: false,\n classes: 'primary'\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hubId: {\n key: \"hubId\",\n value: [],\n },\n hubName: {\n key: \"hubName\",\n value: [],\n },\n pageNumber: 0\n },\n SEARCH_TYPES: [\n {\n name: \"POS Id\",\n value: \"store\"\n },\n {\n name: \"POS Name\",\n value: \"storeName\"\n }\n ],\n },\n VALIDATIONS: {\n HUBID: {\n REQUIRED: {\n msg: \"Hub Id is required\"\n }\n },\n HUBNAME: {\n REQUIRED: {\n msg: \"Hub Name is required\"\n }\n },\n LATITUDE: {\n REQUIRED: {\n msg: \"Latitude is required\",\n },\n VALIDITY: {\n msg: \"Please enter a valid latitude value\",\n value: \"/^[a-zA-Z0-9]+$/\",\n }\n },\n LONGITUDE: {\n REQUIRED: {\n msg: \"Longitude is required\"\n },\n VALIDITY: {\n msg: \"Please enter a valid longitude value\",\n value: \"/^[a-zA-Z0-9]+$/\",\n }\n },\n HUB_STATUS: {\n REQUIRED: {\n msg: \"Status is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n SERVICE_TYPE: {\n REQUIRED: {\n msg: \"Service Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n CATEGORY: {\n REQUIRED: {\n msg: \"Service Type is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n COUNTRY: {\n REQUIRED: {\n msg: \"Country is required\",\n value: \"\\\\b(?![n\\\\/a]\\\\b)\\\\w+\"\n }\n },\n ADDRESS: {\n REQUIRED: {\n msg: \"Address is required\"\n }\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n }\n },\n HUB_STATUS: [\n { name: \"ACTIVE\", value: \"ACTIVE\" },\n { name: \"INACTIVE\", value: \"INACTIVE\" },\n ],\n HUB_SERVICE_TYPE: [\n { name: \"Standard\", value: \"Standard\" },\n { name: \"Express\", value: \"Express\" },\n { name: \"Click & Collect\", value: \"Click&Collect\" },\n ],\n CATEGORY: [\n { name: \"Food\", value: \"Food\" },\n { name: \"Non Food\", value: \"NonFood\" },\n ]\n }\n}\nexport default PosConstants;","const DriversConstants = {\n DRIVERS_CONSTANTS: {\n CONSIGNMENTS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Drivers\",\n HeaderData: [\n {\n field: 'id',\n headerName: 'Id',\n hide: true\n },\n {\n field: 'driverId',\n headerName: 'Driver ID',\n width: 150,\n },\n {\n field: 'driverName',\n headerName: 'Driver Name',\n width: 180,\n },\n {\n field: 'vehicle',\n headerName: 'Vehicle',\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vehicle\",\n fieldName: \"vehicle\",\n fieldFullName: \"vehicle\",\n multiple: true,\n key: `autoComplete-vehicle-${Math.floor(Math.random() * 1000)}`,\n label: \"Vehicle\",\n items: []\n }\n },\n {\n field: 'vendor',\n headerName: 'Vendor',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vendor\",\n fieldName: \"vendor\",\n fieldFullName: \"vendor\",\n multiple: true,\n key: `autoComplete-vendor-${Math.floor(Math.random() * 1000)}`,\n label: \"Vendor\",\n items: []\n }\n },\n {\n field: 'hubCode',\n headerName: 'POS No',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubCode\",\n fieldName: \"hubCode\",\n fieldFullName: \"hubCode\",\n multiple: true,\n key: `autoComplete-hubCode-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Code\",\n items: []\n }\n },\n {\n field: 'hubNames',\n headerName: 'POS Name',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"hubName\",\n fieldName: \"hubName\",\n fieldFullName: \"hubName\",\n multiple: true,\n key: `autoComplete-hubName-${Math.floor(Math.random() * 1000)}`,\n label: \"Hub Name\",\n items: []\n }\n },\n {\n field: 'status',\n headerName: 'Status',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"status\",\n fieldName: \"status\",\n fieldFullName: \"status\",\n multiple: true,\n key: `autoComplete-status-${Math.floor(Math.random() * 1000)}`,\n label: \"Status\",\n items: []\n }\n },\n {\n field: 'modes',\n headerName: 'Assignment Mode',\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"modes\",\n fieldName: \"modes\",\n fieldFullName: \"modes\",\n multiple: true,\n key: `autoComplete-modes-${Math.floor(Math.random() * 1000)}`,\n label: \"Assignment Mode\",\n items: []\n }\n },\n {\n field: 'actions',\n headerName: 'Actions',\n width: 100,\n hide: false\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false\n }\n ]\n }\n ],\n loadMore: {\n name: 'loadMore',\n disabled: false,\n pageSize: 20\n },\n defaultFiltersObj: {\n hubCode: {\n key: \"hubCode\",\n value: [],\n },\n hubName: {\n key: \"hubNames\",\n value: [],\n },\n vehicle: {\n key: \"vehicle\",\n value: []\n },\n vendor: {\n key: \"vendor\",\n value: []\n },\n status: {\n key: \"status\",\n value: []\n },\n modes: {\n key: \"modes\",\n value: []\n },\n pageNumber: 0,\n },\n SEARCH_TYPES: [\n {\n name: \"Driver ID\",\n value: \"driverId\"\n },\n {\n name: \"Driver Name\",\n value: \"driverName\"\n }\n ],\n sortModel: {\n field: \"id\",\n direction: \"asc\"\n }\n },\n FILTER_CHIPS: [\n\n {\n code: 'ACTIVE',\n value: 'Active'\n },\n {\n code: 'AVAILABLE',\n value: 'Available'\n },\n {\n code: 'ASSIGNED',\n value: 'Assigned'\n },\n {\n code: 'OUT_FOR_DELIVERY',\n value: 'Out For Delivery'\n },\n {\n code: 'AWAY',\n value: 'Away'\n },\n {\n code: 'BACK_TO_STORE',\n value: 'Back To Store'\n },\n {\n code: 'OFFLINE',\n value: 'Offline'\n },\n {\n code: \"ALL\",\n value: \"All\"\n }\n ],\n DRIVER_STATUSES: {\n \"ACTIVE\": {\n color: \"OCEAN_GREEN\",\n value: \"ACTIVE\",\n hintText: \"\"\n },\n \"AVAILABLE\": {\n color: \"SEA_GREEN\",\n value: \"AVAILABLE\",\n hintText: \"\"\n },\n \"UNASSIGNED\": {\n color: \"SEA_GREEN\",\n value: \"UNASSIGNED\",\n hintText: \"\"\n },\n \"ASSIGNED\": {\n color: \"GOLDEN_BELL\",\n value: \"ASSIGNED\",\n hintText: \"\"\n },\n \"BACK_TO_STORE\": {\n color: \"INFO_BLUE\",\n value: \"BACK TO STORE\",\n hintText: \"\"\n },\n \"AWAY\": {\n color: \"GREY_SCALE\",\n value: \"AWAY\",\n hintText: \"\"\n },\n \"OUT_FOR_DELIVERY\": {\n color: \"GREY_SCALE\",\n value: \"OUT FOR DELIVERY\",\n hintText: \"\"\n },\n \"OFFLINE\": {\n color: \"GREY_SCALE\",\n value: \"OFFLINE\",\n hintText: \"\"\n },\n },\n STATUSES: {\n \"ACTIVE\": {\n value: \"ACTIVE\",\n },\n \"AVAILABLE\": {\n value: \"AVAILABLE\",\n },\n \"UNASSIGNED\": {\n value: \"UNASSIGNED\",\n },\n \"ASSIGNED\": {\n value: \"ASSIGNED\",\n },\n \"BACK TO STORE\": {\n value: \"BACK_TO_STORE\",\n },\n \"AWAY\": {\n value: \"AWAY\",\n },\n \"OUT FOR DELIVERY\": {\n value: \"OUT_FOR_DELIVERY\",\n },\n \"OFFLINE\": {\n value: \"OFFLINE\",\n },\n },\n DEFAULT_FILTER_CHIP: 'ACTIVE',\n TAB_VALUES: {\n DRIVER_PROFILE: 'User Profile',\n ACTIVITY_LOG: 'Activity Log',\n },\n ALL_FILTER_CHIP: \"ALL\",\n DRIVER_ASSIGNED_SUCCESS_MSG: \"Driver Assigned successfully\"\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\"\n }\n }\n },\n}\n\nexport default DriversConstants;","import { newDate } from \"utils/dateUtils\";\nimport { generateRandomNumber } from \"./../utils/helpers.utils\";\nconst CODPortalConstants = {\n COD_RECON_CONSTANTS: {\n DRIVERS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Drivers\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"driverName\",\n headerName: \"Driver Name\",\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driverName\",\n fieldName: \"driverName\",\n fieldFullName: \"driverName\",\n multiple: true,\n key: `autoComplete-driverName-${generateRandomNumber(0, 1000)}`,\n label: \"Driver Name\",\n items: [],\n },\n },\n {\n field: \"totalOrders\",\n headerName: \"Total COD Orders\",\n width: 130,\n },\n {\n field: \"codCollected\",\n headerName: \"Total COD Collected (By Driver)\",\n width: 186,\n },\n {\n field: \"codReceived\",\n headerName: \"COD amount recieved (By Dispatcher)\",\n width: 180,\n },\n {\n field: \"codPending\",\n headerName: \"Total COD amount Due\",\n width: 180,\n },\n {\n field: \"vendor\",\n headerName: \"Vendor Name\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vendorName\",\n fieldName: \"vendorName\",\n fieldFullName: \"vendorName\",\n multiple: true,\n key: `autoComplete-vendorName-${generateRandomNumber(0, 1000)}`,\n label: \"Vendor\",\n items: [],\n },\n },\n {\n field: \"actions\",\n headerName: \"Actions\",\n width: 100,\n hide: false,\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false,\n },\n ],\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 50,\n },\n defaultFiltersObj: {\n pageNumber: 0,\n driverName: {\n key: \"driverNames\",\n value: [],\n },\n vendorName: {\n key: \"vendorNames\",\n value: [],\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: newDate(),\n endDate: newDate(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Driver Name\",\n value: \"driverName\",\n },\n ],\n },\n },\n\n ORDERS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"orderNo\",\n headerName: \"Order Number\",\n width: 150,\n },\n {\n field: \"deliveryStatus\",\n headerName: \"Delivery Status\",\n width: 186,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"deliveryStatus\",\n multiple: true,\n key: `autoComplete-deliveryStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Status\",\n items: [],\n },\n },\n {\n field: \"orderDate\",\n headerName: \"Order Date\",\n width: 140,\n },\n {\n field: \"slot\",\n headerName: \"Slot\",\n width: 140,\n },\n {\n field: \"codCollected\",\n headerName: \"Total COD Collected (By Driver)\",\n width: 130,\n hide: false,\n },\n {\n field: \"codReceived\",\n headerName: \"COD Amount Received (By Dispatcher)\",\n width: 140,\n hide: false,\n },\n {\n field: \"codAmountDue\",\n headerName: \"Total COD Amount Due\",\n width: 180,\n hide: false,\n },\n {\n field: \"remarks\",\n headerName: \"Remarks\",\n width: 180,\n hide: false,\n },\n {\n field: \"collectionStatus\",\n headerName: \"Collection Status\",\n width: 100,\n hide: false,\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 100,\n },\n defaultFiltersObj: {\n pageNumber: 0,\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: newDate(),\n endDate: newDate(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment ID\",\n value: \"consignmentCode\",\n },\n ],\n },\n },\n MAX_FILE_SIZE: \"File Size cannot exceed 5 MB\",\n MAX_FILE_SIZE_ALLOWED: 5242880,\n UPLOAD_MESSAGES: {\n ERROR:'error',\n SUCCESS:'success' ,\n MAX_SIZE:'maxSize' ,\n },\n VALIDATIONS: {\n NAME: {\n REQUIRED: {\n msg: \"Receipt name is required\",\n },\n VALIDITY: {\n msg: \"Special Case Character not allowed\",\n value: /^[a-z0-9]+$/i,\n },\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n },\n};\nexport default CODPortalConstants;\n","import {newDate} from \"utils/dateUtils\";\nimport {generateRandomNumber} from \"../utils/helpers.utils\";\nconst StdCodPortalConstants = {\n STD_COD_RECON_CONSTANTS: {\n DRIVERS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Drivers\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"driverName\",\n headerName: \"Driver Name\",\n width: 100,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"driverName\",\n fieldName: \"driverName\",\n fieldFullName: \"driverName\",\n multiple: true,\n key: `autoComplete-driverName-${generateRandomNumber(0, 1000)}`,\n label: \"Driver Name\",\n items: [],\n },\n },\n {\n field: \"totalOrders\",\n headerName: \"Total COD Orders\",\n width: 130,\n },\n {\n field: \"codCollected\",\n headerName: \"Total COD Collected (By Driver)\",\n width: 186,\n },\n {\n field: \"codReceived\",\n headerName: \"COD amount recieved (By Dispatcher)\",\n width: 180,\n },\n {\n field: \"codPending\",\n headerName: \"Total COD amount Due\",\n width: 180,\n },\n {\n field: \"vendor\",\n headerName: \"Vendor Name\",\n width: 180,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"vendorName\",\n fieldName: \"vendorName\",\n fieldFullName: \"vendorName\",\n multiple: true,\n key: `autoComplete-vendorName-${generateRandomNumber(0, 1000)}`,\n label: \"Vendor\",\n items: [],\n },\n },\n {\n field: \"actions\",\n headerName: \"Actions\",\n width: 100,\n hide: false,\n },\n ],\n headerButtons: [\n {\n name: \"colsettings\",\n displayName: \"Column Settings\",\n disabled: false,\n childElements: [\n {\n name: \"excel\",\n displayName: \"EXPORT DATA\",\n disabled: false,\n },\n ],\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 50,\n },\n defaultFiltersObj: {\n pageNumber: 0,\n driverName: {\n key: \"driverNames\",\n value: [],\n },\n vendorName: {\n key: \"vendorNames\",\n value: [],\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: newDate(),\n endDate: newDate(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Driver Name\",\n value: \"driverName\",\n },\n ],\n },\n },\n\n ORDERS_DATA: {\n TABLE_WRAPPER_DATA: {\n title: \"Orders\",\n HeaderData: [\n {\n field: \"id\",\n headerName: \"Id\",\n hide: true,\n },\n {\n field: \"orderNo\",\n headerName: \"Order Number\",\n width: 150,\n },\n {\n field: \"deliveryStatus\",\n headerName: \"Delivery Status\",\n width: 186,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"deliveryStatus\",\n fieldName: \"deliveryStatus\",\n fieldFullName: \"deliveryStatus\",\n multiple: true,\n key: `autoComplete-deliveryStatus-${generateRandomNumber(0, 1000)}`,\n label: \"Delivery Status\",\n items: [],\n },\n },\n {\n field: \"orderDate\",\n headerName: \"Order Date\",\n width: 140,\n },\n {\n field: \"slot\",\n headerName: \"Slot\",\n width: 140,\n },\n {\n field: \"codCollected\",\n headerName: \"Total COD Collected (By Driver)\",\n width: 130,\n hide: false,\n },\n {\n field: \"codReceived\",\n headerName: \"COD Amount Received (By Dispatcher)\",\n width: 140,\n hide: false,\n },\n {\n field: \"codAmountDue\",\n headerName: \"Total COD Amount Due\",\n width: 180,\n hide: false,\n },\n {\n field: \"remarks\",\n headerName: \"Remarks\",\n width: 180,\n hide: false,\n },\n {\n field: \"collectionStatus\",\n headerName: \"Collection Status\",\n width: 100,\n hide: false,\n },\n ],\n loadMore: {\n name: \"loadMore\",\n disabled: false,\n pageSize: 100,\n },\n defaultFiltersObj: {\n pageNumber: 0,\n deliveryStatus: {\n key: \"deliveryStatus\",\n value: [],\n },\n dateRange: {\n key: \"dateRange\",\n value: {\n startDate: newDate(),\n endDate: newDate(),\n },\n },\n },\n SEARCH_TYPES: [\n {\n name: \"Consignment ID\",\n value: \"consignmentCode\",\n },\n ],\n },\n },\n RESPONSE_CONSTANTS: {\n ERROR_CODES: {\n SESSION_TIMEOUT: \"UM100\",\n UNAUTHORISED: \"UM101\",\n CONCURRENT_CONSIGNMENT: \"CWO15\",\n },\n },\n },\n};\nexport default StdCodPortalConstants;\n","const StagingAreaConstants = {\n STAGING_AREA_CONSTANTS: {\n VALIDATIONS: {\n NAME: {\n REQUIRED: {\n msg: \"Name is required\",\n },\n VALIDITY: {\n msg: \"Special Case Character not allowed\",\n value: /^[a-z0-9]+$/i,\n },\n MIN: {\n msg: \"Minimum 2 character required\",\n value: 2,\n },\n MAX: {\n msg: \"should not be more than 4 character\",\n value: 4,\n },\n },\n },\n SUCCESS_MSG: {\n create: \"Staging location successfully added\",\n update: \"Staging location successfully updated\",\n delete: \"Staging location deleted successfully\",\n },\n },\n};\nexport default StagingAreaConstants;\n","import { generateRandomNumber } from \"../utils/helpers.utils\";\n\nconst StoreManagementConstant = {\n STORE_MANAGEMENT_CONSTANT: {\n TABLE_WRAPPER_DATA: {\n title: \"Hubs\",\n HeaderData: [\n { field: \"id\", headerName: \"Id\", hide: true },\n { field: \"store\", headerName: \"Store Id\", width: 120 },\n { field: \"storeName\", headerName: \"Store\", width: 150 },\n { field: \"latLong\", headerName: \"Latitude/Longitude\", width: 150 },\n { field: \"countryName\", headerName: \"Country\", width: 120 },\n {\n field: \"serviceType\",\n headerName: \"Service Type\",\n width: 150,\n filter: true,\n filterObj: {\n type: \"autocomplete\",\n fieldKey: \"serviceType\",\n fieldName: \"serviceType\",\n fieldFullName: \"serviceType\",\n multiple: true,\n key: `autoComplete-serviceType-${generateRandomNumber(0, 1000)}`,\n label: \"Service Type\",\n items: [\n { name: \"STANDARD\", value: \"STANDARD\" },\n { name: \"EXPRESS\", value: \"EXPRESS\" },\n ],\n },\n },\n { field: \"area\", headerName: \"Delivery Areas\", width: 120 },\n { field: \"actions\", headerName: \"Actions\", width: 100 },\n ],\n headerButtons: [],\n loadMore: { name: \"loadMore\", disabled: false, pageSize: 20 },\n defaultFiltersObj: {\n serviceType: {\n key: \"serviceType\",\n value: [],\n fieldName: \"serviceType\",\n },\n },\n SEARCH_TYPES: [\n { name: \"Store Id\", value: \"store\" },\n { name: \"Store Name\", value: \"storeName\" },\n ],\n },\n },\n};\n\nexport default StoreManagementConstant;\n","import AppConstants from \"./AppConstants\";\nimport RouteConstants from \"./RouteConstants\";\nimport PlanningConstants from \"./PlanningConstants\";\nimport LoginConstants from \"./LoginConstants\";\nimport UsersConstants from \"./UsersConstants\";\nimport CodReconciliationConstants from \"./CodReconciliationConstants\";\nimport DashboardConstants from \"./PerformanceConstants\";\nimport TrackingConstants from \"./TrackingConstants\";\nimport HubConstants from \"./HubConstants\";\nimport HubDashboardConstants from \"./HubDashboardConstant\";\nimport ClickAndCollectConstants from \"./ClickAndCollectConstants\";\nimport ValetTrolleyConstants from \"./ValetTrolleyConstants\";\nimport CarrefourHomeDeliveryConstants from \"./CarrefourHomeDeliveryConstants\";\nimport DelveConstants from \"./DelveConstants\";\nimport CustomerCommConstants from \"./CustomerCommunications\";\nimport ExpressConstants from \"./ExpressConstants\";\nimport POSConstants from \"./POSConstants\";\nimport DriversConstants from \"./DriversConstants\";\nimport CODPortalConstants from \"./CODPortalConstants\";\nimport StdCodPortalConstants from \"./StdCodPortalConstants\";\nimport StagingAreaConstants from \"./StagingAreaConstants\";\nimport StoreManagementConstant from \"./StoreManagementConstant\";\n\nexport default {\n ...AppConstants,\n ...RouteConstants,\n ...PlanningConstants,\n ...UsersConstants,\n ...CodReconciliationConstants,\n ...DashboardConstants,\n ...LoginConstants,\n ...TrackingConstants,\n ...HubConstants,\n ...HubDashboardConstants,\n ...ClickAndCollectConstants,\n ...ValetTrolleyConstants,\n ...CarrefourHomeDeliveryConstants,\n ...DelveConstants,\n ...ExpressConstants,\n ...POSConstants,\n ...DriversConstants,\n ...CODPortalConstants,\n ...StdCodPortalConstants,\n ...StagingAreaConstants,\n ...CustomerCommConstants,\n ...StoreManagementConstant,\n};\n","// Deployemnt\nexport const basicAuthorization = process.env.REACT_APP_AUTHORIZATION;\nexport const reportBaseURL = `${process.env.REACT_APP_REPORT_BASE_URL}/lastmile`;\nexport const userBaseURL = `${process.env.REACT_APP_USER_BASE_URL}/lastmile`;\nexport const googleApiKey = process.env.REACT_APP_GOOGLE_API_KEY;\nexport const expressBaseURL = `${process.env.REACT_APP_EXPRESS_URL}/lastmile`;\nexport const expressDriverBaseURL = `${process.env.REACT_APP_EXPRESS_DRIVER_URL}/lastmile`;\nexport const delveBaseURL = `${process.env.REACT_APP_LASTMILE_DELVE_URL}/lastmile`;\nexport const apigeeServiceURL = `${process.env.REACT_APP_LASTMILE_APIGEE_URL}/lastmile/v1`;\nexport const camsServiceURL = `${process.env.REACT_APP_CAMS_URL}/lastmile`;\nexport const growthBookURL = `${process.env.REACT_APP_GB_URL}`;\nexport const growthBookKey = `${process.env.REACT_APP_GB_Key}`;\nexport const customerCommunicationFeatureEnabledForCountries = `${process.env.REACT_APP_CUSTOMER_COMMUNICATION_FEATURE_ENABLED}`;\nexport const cWingsServiceBaseURL = `${process.env.REACT_APP_CWINGS_BASE_URL}`;\n","import { isExisty } from \"./helpers.utils\";\n\nexport const replaceUrlVariables = (\n url: string,\n params: { [key: string]: string }\n): string => {\n const regex = /[^{{}]+(?=}})/g;\n const matches = url.match(regex);\n\n let modifiedURL = url;\n\n if (matches) {\n matches.forEach((item: string) => {\n const value = params[item];\n modifiedURL = modifiedURL.replace(\n new RegExp(\"{{\" + item + \"}}\"),\n isExisty(value) || value === \"\" ? value : `{{${item}}}`\n );\n });\n }\n\n return modifiedURL;\n};\n","import axios from \"axios\";\nimport { NetworkCallPayload } from \"./networkHandler.types\";\nimport { reportBaseURL, userBaseURL, expressBaseURL, expressDriverBaseURL, camsServiceURL, apigeeServiceURL } from \"../config/Api.config\";\nimport { replaceUrlVariables } from \"../utils/updateUrlParams\";\nimport AppConstants from \"constants/AppConstants\";\n\nconst setupInterceptors = () => {\n axios.interceptors.response.use(\n response => response,\n error => {\n if (error.response && error.response.status === 401) {\n const currentPath = window.location.pathname;\n if (currentPath !== \"/login\") { // Adjust if your login route differs\n sessionStorage.clear();\n window.location.href = \"/login\"; // Redirect only if not on the login page\n }\n }\n return Promise.reject(error);\n }\n );\n};\n\nconst networkDefaultSetting = (isUser?: boolean, isAuth?: boolean, isUAE?: boolean, isLogin?: boolean) => {\n let countryUrl = null;\n if (sessionStorage.getItem(AppConstants.COUNTRY_URL)) {\n countryUrl = sessionStorage.getItem(AppConstants.COUNTRY_URL);\n }\n axios.defaults.baseURL = countryUrl && isUAE ? countryUrl : reportBaseURL;\n\n if (isAuth) {\n axios.defaults.headers.common = {\n \"Authorization\": sessionStorage.getItem(\"token\")\n };\n } else {\n axios.defaults.headers.common = {};\n }\n if (isUser) {\n axios.defaults.baseURL = userBaseURL;\n }\n if (!isLogin && !isUser) {\n axios.defaults.headers.common['countryISOCode'] = sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n }\n axios.defaults.headers.common['system-id'] = \"CWINGS\";\n\n};\n\nconst networkSettingForExpress = (isAuth?: boolean, isExpress?: boolean, isExpressDriver?: boolean) => {\n axios.defaults.baseURL = expressBaseURL;\n if (isAuth) {\n axios.defaults.headers.common = {\n \"Authorization\": sessionStorage.getItem(\"token\")\n };\n } else {\n axios.defaults.headers.common = {};\n }\n if (isExpress) {\n axios.defaults.headers.common['countryISOCode'] = sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n }\n if (isExpressDriver) {\n axios.defaults.baseURL = expressDriverBaseURL;\n }\n axios.defaults.headers.common['system-id'] = \"CWINGS\";\n\n};\n\nconst networkSettingForCamService = (isAuth?: boolean) => {\n axios.defaults.baseURL = camsServiceURL;\n if (isAuth) {\n axios.defaults.headers.common = {\n \"Authorization\": sessionStorage.getItem(\"token\")\n };\n } else {\n axios.defaults.headers.common = {};\n }\n axios.defaults.headers.common['system-id'] = \"CWINGS\";\n\n};\n\nconst networkSettingForApigeeService = (isAuth?: boolean) => {\n axios.defaults.baseURL = apigeeServiceURL;\n if (isAuth) {\n axios.defaults.headers.common = {\n \"Authorization\": sessionStorage.getItem(\"token\")\n };\n } else {\n axios.defaults.headers.common = {};\n }\n axios.defaults.headers.common['system-id'] = \"CWINGS\";\n\n};\n\nconst networkHandler = async (params: NetworkCallPayload, isUser?: boolean, isAuth?: boolean, isUAE?: boolean, isLogin?: boolean, isExpress?: boolean, isExpressDriver?: boolean, isCamsService?:boolean, isApigeeService?:boolean) => {\n const { url, urlParams, ...restApiOptions } = params;\n let updateUrl = url;\n if (urlParams) {\n updateUrl = replaceUrlVariables(url, urlParams);\n }\n // axios default configs\n if (isExpress) {\n networkSettingForExpress(isAuth, isExpress, isExpressDriver);\n } else if (isCamsService) {\n networkSettingForCamService(isAuth);\n } else if(isApigeeService){\n networkSettingForApigeeService(isAuth);\n }\n else {\n networkDefaultSetting(isUser, isAuth, isUAE, isLogin);\n }\n return await axios.request({ url: updateUrl, ...restApiOptions });\n};\n\n// Call setupInterceptors once at application startup\nsetupInterceptors();\n\nexport default networkHandler;\n","export enum EApiMiddlewareMethods {\n DELETE = \"DELETE\",\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n}\nexport interface NetworkCallPayload {\n data?: object | string; // Usually used with \"POST|PUT\" methods\n headers?: object; // Override headers\n isAbsUrl?: boolean; // Set this to true for absolute URLs\n method?: EApiMiddlewareMethods;\n urlParams?: { [key: string]: string }; // Usually used with \"GET|DELETE\" methods\n url: string;\n body?: any;\n}\n","import axios from \"axios\";\n\nimport { NetworkCallPayload } from \"./networkHandler.types\";\nimport { cWingsServiceBaseURL } from \"../config/Api.config\";\nimport { replaceUrlVariables } from \"../utils/updateUrlParams\";\n\nconst networkHandlerReporting = async (params: NetworkCallPayload) => {\n const { url, urlParams, ...restApiOptions } = params;\n let updateUrl = url;\n if (urlParams) {\n updateUrl = replaceUrlVariables(url, urlParams);\n }\n\n axios.defaults.headers.common = {\n Authorization: sessionStorage.getItem(\"token\"),\n };\n\n axios.defaults.baseURL = cWingsServiceBaseURL;\n axios.defaults.headers.common[\"system-id\"] = \"CWINGS\";\n\n return await axios.request({ url: updateUrl, ...restApiOptions });\n};\n\nexport default networkHandlerReporting;\n","import AppConstants from \"../../constants\";\n\nexport interface formDetail { }\n\nexport interface Permission {\n assignedRole: string;\n formDetails: formDetail[];\n}\n\nexport interface Hub {\n hubCode: string;\n hubName: string;\n countryName: string;\n permissions: Permission[];\n}\n\nexport interface Country {\n [key: string]: Hub[];\n}\nexport interface Content {\n username: string;\n email: string;\n firstname: string;\n lastname: string;\n phone: number;\n enabled: boolean;\n createdBy: string;\n lastModifiedBy: string;\n userType: string;\n countryDetails: Country;\n status: string;\n deliveryType: string;\n vehicleType: string;\n serviceType: string[];\n vendor: string;\n buildVersion: string;\n emailVerified?: boolean;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface UserDataResponse {\n content: Content[];\n pageable: Pageable;\n totalElements: number;\n totalPages: number;\n last: boolean;\n sort: Sort2;\n first: boolean;\n numberOfElements: number;\n size: number;\n number: number;\n empty: boolean;\n}\n\nconst getUserType = (userType : string) => {\n if(userType){\n switch(userType){\n case AppConstants.USERS_CONSTANTS.USER_TYPE.INTERNAL:\n return AppConstants.USERS_CONSTANTS.USER_TYPE.PORTAL_USER;\n case AppConstants.USERS_CONSTANTS.USER_TYPE.EXTERNAL:\n return AppConstants.USERS_CONSTANTS.USER_TYPE.APP_USER;\n }\n return userType;\n }\n}\n\nconst lastMileUserDataTransform = (listToShow: any, response: UserDataResponse, countryCode: string): any[] => {\n const transformedArray: any[] = [];\n response.content.forEach((content: Content) => {\n const { username, firstname, lastname, phone, userType, countryDetails, status, deliveryType, vehicleType, serviceType, vendor, buildVersion, emailVerified } = content;\n const hubDetails: Hub[] = countryDetails[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode] || [];\n const currentHubDetails: Hub = hubDetails.length ? hubDetails[0] : countryDetails[AppConstants.COUNTRY_ALL] ? countryDetails[AppConstants.COUNTRY_ALL][0] : { hubCode: \"N/A\", hubName: \"N/A\", countryName: \"N/A\", permissions: [] };\n const currentRole = currentHubDetails.permissions.length ? currentHubDetails.permissions[0].assignedRole : \"N/A\";\n const currentRoleIndex = AppConstants.USERS_CONSTANTS.USER_ROLES.findIndex((role:any) => role.code === currentRole);\n const accessibleRoles = AppConstants.USERS_CONSTANTS.USER_ROLES.slice(currentRoleIndex);\n const role = accessibleRoles.length ? accessibleRoles[0].value : \"N/A\";\n if(transformedArray.findIndex((obj: any) => obj?.username === username) === -1){\n transformedArray.push({\n id: username,\n userId: username,\n firstname: firstname,\n lastname: lastname,\n hubName: `${currentHubDetails.hubCode} - ${currentHubDetails.hubName}`,\n hub: `${currentHubDetails.hubCode}`,\n phone: phone,\n role: role,\n type: getUserType(userType),\n country: currentHubDetails.countryName,\n deliveryType: deliveryType,\n status: status,\n vendor: vendor,\n vehicleType: vehicleType,\n serviceType: serviceType?.length > 0 ? serviceType.join(\", \") : \"\",\n actions: content,\n buildVersion: buildVersion,\n emailVerified: emailVerified || false,\n });\n }\n });\n return [...transformedArray];\n};\n\nexport { lastMileUserDataTransform };\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, role?: any) => {\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.hub = hubValue;\n } else {\n payload.hub = [];\n }\n }\n //To get the current role of the user from the session storage\n const currentRoles = sessionStorage.getItem('role');\n if (currentRoles) {\n const currentRole = JSON.parse(currentRoles)[0];\n if (currentRole) {\n role = currentRole.code;\n }\n }\n //To check whether the user is either CPM or VT Manager or CHD Manager\n let isCpmVtOrChdUser = role === AppConstants.CPM_ROLE || role === AppConstants.VT_MANAGER_ROLE || role === AppConstants.CHD_ROLE;\n\n if (isCpmVtOrChdUser) {\n //If the role is collection point manager, the user will be shown only CPM users in the users dashboard\n if (role === AppConstants.CPM_ROLE) {\n payload.role = [role];\n }\n //If the role is vt manager or chd manager, the user will be shown only VT Managers or CHD Managers along with drivers and helpers in the users dashboard\n if (role === AppConstants.VT_MANAGER_ROLE || role === AppConstants.CHD_ROLE) {\n if (payload.role) {\n if (payload.role.value.length) {\n let roleValue = payload.role.value.map((item: any) => item.value);\n const selectAllIdx = roleValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = roleValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n roleValue = [role, AppConstants.DRIVER_ROLE, AppConstants.HELPER_ROLE];\n }\n if (selectNoneIdx > -1) {\n roleValue = [role, AppConstants.DRIVER_ROLE, AppConstants.HELPER_ROLE];\n }\n payload.role = roleValue;\n } else {\n payload.role = [role, AppConstants.DRIVER_ROLE, AppConstants.HELPER_ROLE];\n }\n }\n }\n } else {\n if (payload.role) {\n if (payload.role.value) {\n let roleValue = payload.role.value.map((item: any) => item.value);\n const selectAllIdx = roleValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = roleValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n roleValue = [];\n }\n if (selectNoneIdx > -1) {\n roleValue = [];\n }\n payload.role = roleValue;\n } else {\n payload.role = [];\n }\n }\n }\n if (payload.status) {\n if (payload.status.value) {\n let statusValue = payload.status.value.map((item: any) => item.value);\n const selectAllIdx = statusValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = statusValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n statusValue = [];\n }\n if (selectNoneIdx > -1) {\n statusValue = [];\n }\n payload.status = statusValue;\n } else {\n payload.status = [];\n }\n }\n if (payload.buildVersion) {\n if (payload.buildVersion.value) {\n let buildVersionValue = payload.buildVersion.value.map((item: any) => item.value);\n const selectAllIdx = buildVersionValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = buildVersionValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n buildVersionValue = [];\n }\n if (selectNoneIdx > -1) {\n buildVersionValue = [];\n }\n payload.buildVersion = buildVersionValue;\n } else {\n payload.buildVersion = [];\n }\n }\n if (payload.type) {\n if (payload.type.value) {\n let typeValue = payload.type.value.map((item: any) => item.value);\n const selectAllIdx = typeValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = typeValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n typeValue = [];\n }\n if (selectNoneIdx > -1) {\n typeValue = [];\n }\n payload.type = typeValue;\n } else {\n payload.type = [];\n }\n }\n\n /** vehicleType */\n if (payload.vehicleType) {\n if (payload.vehicleType.value) {\n let typeValue = payload.vehicleType.value.map((item: any) => item.value);\n const selectAllIdx = typeValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = typeValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n typeValue = [];\n }\n if (selectNoneIdx > -1) {\n typeValue = [];\n }\n payload.vehicleType = typeValue;\n } else {\n payload.vehicleType = [];\n }\n }\n\n /** vendor */\n if (payload.vendor) {\n if (payload.vendor.value) {\n let typeValue = payload.vendor.value.map((item: any) => item.value);\n const selectAllIdx = typeValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = typeValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n typeValue = [];\n }\n if (selectNoneIdx > -1) {\n typeValue = [];\n }\n payload.vendor = typeValue;\n } else {\n payload.vendor = [];\n }\n }\n\n /** deliveryType */\n if (payload.deliveryType) {\n if (payload.deliveryType.value) {\n let typeValue = payload.deliveryType.value.map((item: any) => item.value);\n const selectAllIdx = typeValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = typeValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n typeValue = [];\n }\n if (selectNoneIdx > -1) {\n typeValue = [];\n }\n payload.deliveryType = typeValue;\n } else {\n payload.deliveryType = [];\n }\n }\n\n /** serviceType */\n if (payload.serviceType) {\n if (payload.serviceType.value) {\n let typeValue = payload.serviceType.value.map((item: any) => item.value);\n const selectAllIdx = typeValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = typeValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n typeValue = [AppConstants.USERS_CONSTANTS.SERVICE_TYPE.STANDARD, AppConstants.USERS_CONSTANTS.SERVICE_TYPE.EXPRESS];\n }\n if (selectNoneIdx > -1) {\n typeValue = [];\n }\n payload.serviceType = typeValue;\n } else {\n payload.serviceType = [];\n }\n }\n\n if (isLoadMore && data) {\n const paginationObj = data.pageable;\n if (paginationObj) {\n payload.page = paginationObj.pageNumber + 1 < data.totalPages ? paginationObj.pageNumber + 1 : payload.page;\n }\n }\n return payload;\n};\n\nexport const createUserResetPwdPayload = (payload: any) => {\n return payload;\n}\n\nexport const createGenerateIdPayload = (payload: any) => {\n return {\n queryString: `userName=${payload.firstName}.${payload.lastName}`\n }\n}\n\nexport const createAddUserPayload = (payload: any, dropdowns: any) => {\n if(payload.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n let countryDetails = dropdowns.countriesList[payload.userRole] ? dropdowns.countriesList[payload.userRole].filter((country: any) => country.value === payload.country) : [];\n let hubDetails = dropdowns.hubList[payload.country] ? dropdowns.hubList[payload.country].filter((hub: any) => payload.hub.includes(hub.value)) : [];\n if (countryDetails.length) {\n payload.countryDetails = countryDetails.map((country: any) => { \n return {code: country.value, value: country.name}; \n })[0];\n }\n\n if (hubDetails.length) {\n const selectAllIdx = hubDetails.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubDetails.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubDetails = [];\n }\n if (selectNoneIdx > -1) {\n hubDetails = [];\n }\n payload.hubDetails = hubDetails.map((hub: any) => {\n return {code: hub.value, value: hub.name};\n });\n }\n }\n\n let serviceTypesList = dropdowns.serviceTypeList ? dropdowns.serviceTypeList.filter((service: any) => payload.serviceTypes.includes(service.value)) : [];\n if (serviceTypesList.length !== undefined && serviceTypesList.length > 0) {\n const selectAllIdx = payload.serviceTypes.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = payload.serviceTypes.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n payload.serviceTypes = [];\n }\n if (selectNoneIdx > -1) {\n payload.serviceTypes = [];\n }\n payload.serviceTypes = serviceTypesList.map((service: any) => {\n return { code: service.value, value: service.name};\n });\n }\n else{\n delete payload.serviceTypes;\n }\n\n if (payload.vehicleType === AppConstants.SELECT_NONE.value) {\n delete payload.vehicleType;\n }\n if (payload.vendor === AppConstants.SELECT_NONE.value) {\n delete payload.vendor;\n }\n if(payload.deliveryType === AppConstants.SELECT_NONE.value) {\n delete payload.deliveryType;\n }\n if(payload.serviceType === AppConstants.SELECT_NONE.value) {\n delete payload.serviceType;\n }\n delete payload.confirmPassword;\n delete payload.country;\n delete payload.hub;\n if(payload.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n delete payload.countryHubDetails;\n delete payload.countries; \n }\n else{\n delete payload.countries; \n }\n return payload;\n}\n\nexport const createUserUAEPayload = (payload: any, dropdowns: any) => {\n if(payload.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n let countryDetails = dropdowns.countriesList[payload.userRole] ? dropdowns.countriesList[payload.userRole].filter((country: any) => country.value === payload.country) : [];\n let hubDetails = dropdowns.hubList[payload.country] ? dropdowns.hubList[payload.country].filter((hub: any) => payload.hub.includes(hub.value)) : []\n if (countryDetails.length) {\n payload.countryDetails = countryDetails.map((country: any) => {\n return { code: country.value, value: country.name };\n })[0];\n }\n if (hubDetails.length) {\n payload.hubDetails = hubDetails.map((hub: any) => {\n return { code: hub.value, value: hub.name };\n });\n }\n }\n if (payload.vehicleType === AppConstants.SELECT_NONE.value) {\n delete payload.vehicleType;\n }\n if (payload.vendor === AppConstants.SELECT_NONE.value) {\n delete payload.vendor;\n }\n if(payload.deliveryType === AppConstants.SELECT_NONE.value) {\n delete payload.deliveryType;\n }\n if(payload.serviceType === AppConstants.SELECT_NONE.value) {\n delete payload.serviceType;\n }\n if(payload.serviceTypes !== undefined && Array.isArray(payload.serviceTypes) && payload.serviceTypes.length > 0){\n if(payload.serviceTypes.length === 1 && payload.serviceTypes[0] === AppConstants.SELECT_NONE.value){\n delete payload.serviceTypes\n }\n }\n delete payload.password;\n delete payload.confirmPassword;\n delete payload.country;\n delete payload.hub;\n delete payload.userType;\n if(payload.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n delete payload.countryHubDetails;\n }\n else{\n delete payload.countries; \n }\n return payload;\n}\n\nexport const createEditUserPayload = (values: any, dropdowns: any) => { \n if(values.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n let countryDetails = dropdowns.countriesList[values.userRole] ? dropdowns.countriesList[values.userRole].filter((country: any) => country.value === values.country) : [];\n let hubDetails = dropdowns.hubList[values.country] ? dropdowns.hubList[values.country].filter((hub: any) => values.hub.includes(hub.value)) : []\n if (countryDetails.length) {\n values.countryDetails = countryDetails.map((country: any) => {\n return {countryCode: country.value,countryName: country.name};\n })[0];\n }\n if (hubDetails.length) {\n const selectAllIdx = hubDetails.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubDetails.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubDetails = [];\n }\n if (selectNoneIdx > -1) {\n hubDetails = [];\n }\n values.hubDetails = hubDetails.map((hub: any) => {\n return {hubCode: hub.value,hubName: hub.name};\n });\n }\n }\n \n values.firstname = values.firstName;\n values.lastname = values.lastName;\n values.role = values.userRole;\n values.type = values.userType;\n\n // removing \"n/a\"\n if(values.vehicleType === AppConstants.SELECT_NONE.value){\n delete values.vehicleType\n }\n if(values.vendor === AppConstants.SELECT_NONE.value){\n delete values.vendor\n }\n if(values.deliveryType === AppConstants.SELECT_NONE.value){\n delete values.deliveryType\n }\n if(values.serviceType === AppConstants.SELECT_NONE.value){\n delete values.serviceType\n }\n \n if(values.serviceTypes !== undefined && Array.isArray(values.serviceTypes) && values.serviceTypes.length > 0){\n if(values.serviceTypes.length === 1 && values.serviceTypes[0] === AppConstants.SELECT_NONE.value){\n delete values.serviceTypes\n }\n else{\n let serviceTypesList = dropdowns.serviceTypeList ? dropdowns.serviceTypeList.filter((service: any) => values.serviceTypes.includes(service.value)) : [];\n if(serviceTypesList !== undefined && serviceTypesList.length > 0){\n values.serviceTypes = serviceTypesList.map((service: any) => {\n return {code: service.value, value: service.name};\n });\n }\n else{\n values.serviceTypes = []\n }\n }\n }\n\n if(Object.keys(values.countryHubDetails).length !== 0){\n Object.keys(values.countryHubDetails).forEach((keyName : string) => {\n values.countryHubDetails[keyName] = values.countryHubDetails[keyName].map((item: any) => ({hubCode : item.code, hubName : item.value}))\n })\n }\n\n let payload = {userName: values.userName, data: values}\n if(values.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN){\n delete payload.data.countryHubDetails;\n delete payload.data.countries; \n }\n else{\n delete payload.data.countries; \n }\n delete payload.data.firstName;\n delete payload.data.lastName;\n delete payload.data.userRole;\n delete payload.data.userType;\n delete payload.data.confirmPassword;\n delete payload.data.country;\n delete payload.data.hub;\n delete payload.data.email;\n delete payload.data.userName;\n return payload;\n}\n\nexport const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.USERS_CONSTANTS.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const checkRequiredUser = (currentRoles: any, role:any) => {\n let isReqUser = false;\n for (let adminRole of role) {\n for (let currentRole of currentRoles) {\n if (currentRole.code === adminRole.code) {\n isReqUser = true;\n break;\n }\n }\n if (isReqUser) {\n break;\n }\n }\n return isReqUser;\n}\n\nexport const checkUserRoleAccess = (currentRole: any, selectedRole: any) => {\n let canAccess = false;\n const currentRoleIndex = AppConstants.USERS_CONSTANTS.USER_ROLES.findIndex(role => role.code === currentRole.code);\n let accessibleRoles = AppConstants.USERS_CONSTANTS.USER_ROLES.slice(currentRoleIndex);\n if (currentRole.code === 'ROLE_COUNTRY_ADMIN') {\n accessibleRoles = accessibleRoles.filter(role => role.code !== 'ROLE_COUNTRY_ADMIN');\n }\n for (let userRole of accessibleRoles) {\n if (selectedRole.code === userRole.code) {\n canAccess = true;\n break;\n }\n }\n return canAccess;\n}\n","import AppConstants from \"../constants/AppConstants\";\n\nexport const emptySessionStorage = () => {\n sessionStorage.setItem(\"token\", \"\");\n sessionStorage.setItem(\"username\", \"\");\n sessionStorage.setItem(\"name\", \"\");\n sessionStorage.setItem(\"role\", \"[]\");\n sessionStorage.setItem(\"images\", \"\");\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, \"\");\n};\n\nexport const setSessionStorage = (payload: any) => {\n const token = `Bearer ${payload.jwtToken}`;\n sessionStorage.setItem(\"token\", token);\n sessionStorage.setItem(\"username\", payload?.username);\n sessionStorage.setItem(\"name\", payload?.name);\n sessionStorage.setItem(\"role\", JSON.stringify(payload?.roles));\n sessionStorage.setItem(\"images\", JSON.stringify(payload?.images || \"\"));\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, payload?.countryCode);\n};\n","import AppConstants from \"../../constants\";\nimport networkHandler from \"../../network/networkHandler\";\nimport networkHandlerReporting from \"../../network/networkHandlerReporting\";\n\nimport { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\n\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { UserLoginState } from \"./loginSlice.types\";\nimport { checkRequiredUser } from \"../../mocks/users/response.transforms\";\nimport { matchAllElements } from \"../../utils/helpers.utils\";\nimport { emptySessionStorage, setSessionStorage } from \"../LoginUtils\";\n\nexport const userLogin = createAsyncThunk(\"UserLogin/Login\", async ({ userdata }: { userdata: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: \"v2/authenticate/verify-otp\",\n method: EApiMiddlewareMethods.POST,\n data: userdata,\n } as any;\n const { data } = await networkHandler(request, true, false, false, true);\n let userResponse = data;\n try {\n const countryRequest = {\n url: \"fulfilment/country/url\",\n method: EApiMiddlewareMethods.GET,\n } as any;\n countryRequest.headers = {\n countryISOCode: userResponse.countryCode,\n Authorization: `Bearer ${userResponse.jwtToken}`,\n };\n const { data: countryData } = await networkHandlerReporting(countryRequest);\n let countryUrl = countryData?.url?.wings ? countryData.url.wings : countryData?.countryUrl ? countryData.countryUrl : \"\";\n sessionStorage.setItem(AppConstants.COUNTRY_URL, countryUrl);\n } catch (error: any) {\n return rejectWithValue(error?.response?.data);\n }\n return data;\n } catch (error: any) {\n return rejectWithValue(error?.response?.data);\n }\n});\n\nexport const newUserLogin = createAsyncThunk(\"UserLogin/newUserLogin\", async ({ userdata }: { userdata: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: \"v2/authenticate\",\n method: EApiMiddlewareMethods.POST,\n data: userdata,\n } as any;\n const { data } = await networkHandler(request, true, false, false, true);\n if (data?.jwtToken) {\n let userResponse = data;\n try {\n const countryRequest = { url: \"fulfilment/country/url\", method: EApiMiddlewareMethods.GET } as any;\n countryRequest.headers = { countryISOCode: userResponse.countryCode, Authorization: `Bearer ${userResponse.jwtToken}` };\n const { data: countryData } = await networkHandlerReporting(countryRequest);\n let countryUrl = countryData?.url?.wings ? countryData.url.wings : countryData?.countryUrl ? countryData.countryUrl : \"\";\n sessionStorage.setItem(AppConstants.COUNTRY_URL, countryUrl);\n } catch (error: any) {\n return rejectWithValue(error?.response?.data);\n }\n }\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const userLogout = createAsyncThunk(\"UserLogin/Logout\", () => {\n return false;\n});\n\nexport const resetUserResetPwd = createAsyncThunk(\"UserLogin/ResetUserResetPassword\", () => {\n return false;\n});\n\nexport const resetUserError = createAsyncThunk(\"UserLogin/ResetUserError\", () => {\n return \"\";\n});\n\nexport const userResetPwd = createAsyncThunk(\"UserLogin/ResetPassword\", async ({ userdata }: { userdata: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: \"user/expiry/resetPassword\",\n method: EApiMiddlewareMethods.POST,\n data: userdata,\n } as any;\n const { data } = await networkHandler(request, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nconst initialState: UserLoginState = {\n isLoggedIn: sessionStorage.getItem(\"token\") ? true : false,\n loading: false,\n errorCode: \"\",\n countryCode: \"\",\n error: \"\",\n username: \"\",\n resetPwdSuccess: false,\n resetPwdMsg: \"\",\n isAdmin: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.ADMIN_ROLES) : false,\n isCollectionPointManager: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.COLLECTION_POINT_MANAGER) : false,\n isCHDManager: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.CARREFOUR_DELIVERY_MANAGER) : false,\n isVTManager: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.VALET_TROLLEY_MANAGER) : false,\n isQCManager: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.QC_MANAGER) : false,\n isDriver: sessionStorage.getItem(\"role\") ? checkRequiredUser(JSON.parse(sessionStorage.getItem(\"role\") || \"[]\"), AppConstants.USERS_CONSTANTS.DRIVER) : false,\n isLastMileViewer: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.READ_ONLY_ROLE : false,\n isDispatcher: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.DISPATCHER_ROLE : false,\n isOnlyExpressDispatcher: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.DISPATCHER_ROLE_EXP : false,\n isOnlyStandardDispatcher: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.DISPATCHER_ROLE_STD : false,\n isOnlyStdLastMileViewer: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.READ_ONLY_ROLE_STANDARD : false,\n isOnlyExpLastMileViewer: sessionStorage.getItem(\"currentRole\") ? (sessionStorage.getItem(\"currentRole\") || \"\") === AppConstants.USERS_CONSTANTS.READ_ONLY_ROLE_EXPRESS : false,\n role: \"\",\n showOtp: false,\n};\n\nconst userLoginSlice = createSlice({\n name: \"UserLogin\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(newUserLogin.pending, (state) => {\n state.showOtp = false;\n state.errorCode = \"\";\n state.error = \"\";\n emptySessionStorage();\n state.countryCode = \"\";\n state.token = \"\";\n state.isLoggedIn = false;\n state.loading = true;\n })\n .addCase(newUserLogin.fulfilled, (state, action) => {\n const { payload, meta: { arg: { userdata }}} = action;\n if (payload?.jwtToken && payload?.countryCode) {\n // Skip OTP\n setSessionStorage(payload);\n const token = `Bearer ${payload.jwtToken}`;\n state.countryCode = payload.countryCode;\n state.token = token;\n state.username = userdata.username;\n state.isLoggedIn = true;\n state.role = payload?.roles?.length > 0 && payload.roles[0].code;\n let serviceType = payload.serviceTypes;\n if (payload.roles[0].code === \"ROLE_SUPER_ADMIN\" || payload.roles[0].code === \"ROLE_COUNTRY_ADMIN\" || payload.roles[0].code === \"ROLE_APP_ADMIN\") {\n state.isAdmin = true;\n }\n\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_COLLECTION_POINT_MANAGER\") {\n state.isCollectionPointManager = true;\n }\n\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_LAST_MILE_DISPATCHER\") {\n if (matchAllElements([\"STANDARD\", \"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER\");\n }\n if (!matchAllElements([\"STANDARD\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER_EXPRESS\");\n state.role = AppConstants.EXPRESS_DISPATCHER_ROLE;\n }\n if (!matchAllElements([\"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER_STANDARD\");\n }\n }\n\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_CARREFOUR_HOME_DELIVERY_MANAGER\") {\n state.isCHDManager = true;\n }\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_STANDARD_VALET_TROLLEY_MANAGER\") {\n state.isVTManager = true;\n }\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_LAST_MILE_QC_MANAGER\") {\n state.isQCManager = true;\n }\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_LAST_MILE_DRIVER\") {\n state.isDriver = true;\n }\n\n if (payload?.roles?.length > 0 && payload.roles[0].code === \"ROLE_LAST_MILE_VIEWER\") {\n if (matchAllElements([\"STANDARD\", \"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER\");\n }\n if (!matchAllElements([\"STANDARD\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER_EXPRESS\");\n state.role = AppConstants.EXPRESS_VIEWER_ROLE;\n }\n if (!matchAllElements([\"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER_STANDARD\");\n }\n }\n\n if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER\") {\n state.isLastMileViewer = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER_EXPRESS\") {\n state.isOnlyExpLastMileViewer = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER_STANDARD\") {\n state.isOnlyStdLastMileViewer = true;\n }\n\n if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER\") {\n state.isDispatcher = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER_EXPRESS\") {\n state.isOnlyExpressDispatcher = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER_STANDARD\") {\n state.isOnlyStandardDispatcher = true;\n }\n state.loading = false;\n } else if (payload?.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (state.errorCode === AppConstants.LOGIN_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.PWD_EXP) {\n sessionStorage.setItem(\"username\", userdata.username);\n }\n state.error = payload ? payload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.isLoggedIn = false;\n state.loading = false;\n } else {\n state.showOtp = true;\n sessionStorage.setItem(\"username\", userdata?.username);\n state.loading = false;\n }\n })\n .addCase(newUserLogin.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.loading = false;\n })\n /** User Login */\n /** */\n .addCase(userLogin.pending, (state) => {\n emptySessionStorage();\n state.errorCode = \"\";\n state.error = \"\";\n state.countryCode = \"\";\n state.token = \"\";\n state.isLoggedIn = false;\n state.loading = true;\n })\n .addCase(userLogin.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { userdata },\n },\n } = action;\n state.showOtp = false;\n if (payload.error) {\n sessionStorage.setItem(\"token\", \"\");\n sessionStorage.setItem(\"name\", \"\");\n sessionStorage.setItem(\"role\", \"[]\");\n sessionStorage.setItem(\"images\", \"\");\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, \"\");\n state.countryCode = \"\";\n state.token = \"\";\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (state.errorCode === AppConstants.LOGIN_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.PWD_EXP) {\n sessionStorage.setItem(\"username\", userdata.username);\n }\n state.error = payload ? payload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.isLoggedIn = false;\n } else {\n const token = `Bearer ${payload.jwtToken}`;\n sessionStorage.setItem(\"token\", token);\n sessionStorage.setItem(\"name\", payload.name);\n sessionStorage.setItem(\"role\", JSON.stringify(payload.roles));\n sessionStorage.setItem(\"images\", JSON.stringify(payload.images || \"\"));\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, payload.countryCode);\n state.countryCode = payload.countryCode;\n state.errorCode = \"\";\n state.error = \"\";\n state.token = token;\n state.username = userdata.username;\n state.isLoggedIn = true;\n state.role = payload.roles[0].code;\n let serviceType = payload.serviceTypes;\n if (payload.roles[0].code === \"ROLE_SUPER_ADMIN\" || payload.roles[0].code === \"ROLE_COUNTRY_ADMIN\" || payload.roles[0].code === \"ROLE_APP_ADMIN\") {\n state.isAdmin = true;\n }\n if (payload.roles[0].code === \"ROLE_COLLECTION_POINT_MANAGER\") {\n state.isCollectionPointManager = true;\n }\n /* if (payload.roles[0].code === \"ROLE_LAST_MILE_DISPATCHER\") {\n state.isDispatcher = matchAllElements([\"STANDARD\", \"EXPRESS\"], serviceType);\n state.isOnlyExpressDispatcher = !matchAllElements([\"STANDARD\"], serviceType);\n state.isOnlyStandardDispatcher = !matchAllElements([\"EXPRESS\"], serviceType);\n state.role = !matchAllElements([\"STANDARD\"], serviceType)\n ? \"ROLE_LAST_MILE_DISPATCHER_EXPRESS\"\n : \"ROLE_LAST_MILE_DISPATCHER\";\n } */\n if (payload.roles[0].code === \"ROLE_LAST_MILE_DISPATCHER\") {\n if (matchAllElements([\"STANDARD\", \"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER\");\n }\n if (!matchAllElements([\"STANDARD\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER_EXPRESS\");\n state.role = AppConstants.EXPRESS_DISPATCHER_ROLE;\n }\n if (!matchAllElements([\"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_DISPATCHER_STANDARD\");\n }\n }\n if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER\") {\n state.isDispatcher = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER_EXPRESS\") {\n state.isOnlyExpressDispatcher = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_DISPATCHER_STANDARD\") {\n state.isOnlyStandardDispatcher = true;\n }\n if (payload.roles[0].code === \"ROLE_CARREFOUR_HOME_DELIVERY_MANAGER\") {\n state.isCHDManager = true;\n }\n if (payload.roles[0].code === \"ROLE_STANDARD_VALET_TROLLEY_MANAGER\") {\n state.isVTManager = true;\n }\n if (payload.roles[0].code === \"ROLE_LAST_MILE_QC_MANAGER\") {\n state.isQCManager = true;\n }\n if (payload.roles[0].code === \"ROLE_LAST_MILE_DRIVER\") {\n state.isDriver = true;\n }\n if (payload.roles[0].code === \"ROLE_LAST_MILE_VIEWER\") {\n if (matchAllElements([\"STANDARD\", \"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER\");\n }\n if (!matchAllElements([\"STANDARD\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER_EXPRESS\");\n state.role = AppConstants.EXPRESS_VIEWER_ROLE;\n }\n if (!matchAllElements([\"EXPRESS\"], serviceType)) {\n sessionStorage.setItem(\"currentRole\", \"LAST_MILE_VIEWER_STANDARD\");\n }\n }\n if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER\") {\n state.isLastMileViewer = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER_EXPRESS\") {\n state.isOnlyExpLastMileViewer = true;\n } else if (sessionStorage.getItem(\"currentRole\") === \"LAST_MILE_VIEWER_STANDARD\") {\n state.isOnlyStdLastMileViewer = true;\n }\n state.loading = false;\n }\n })\n .addCase(userLogin.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.loading = false;\n })\n .addCase(userResetPwd.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(userResetPwd.fulfilled, (state, action) => {\n const payload: any = action.payload;\n state.loading = false;\n if (payload.error) {\n state.resetPwdSuccess = false;\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload ? payload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n sessionStorage.setItem(\"token\", \"\");\n sessionStorage.setItem(\"username\", \"\");\n sessionStorage.setItem(\"name\", \"\");\n sessionStorage.setItem(\"role\", \"[]\");\n sessionStorage.setItem(\"images\", \"\");\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, \"\");\n state.countryCode = \"\";\n state.errorCode = \"\";\n state.error = \"\";\n state.resetPwdSuccess = true;\n state.resetPwdMsg = payload;\n }\n })\n .addCase(userResetPwd.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.resetPwdSuccess = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(resetUserResetPwd.fulfilled, (state, action) => {\n const { payload } = action;\n state.resetPwdSuccess = payload;\n })\n .addCase(resetUserError.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = payload;\n state.error = payload;\n })\n .addCase(userLogout.fulfilled, (state, action) => {\n const { payload } = action;\n sessionStorage.setItem(\"token\", \"\");\n sessionStorage.setItem(\"username\", \"\");\n sessionStorage.setItem(\"name\", \"\");\n sessionStorage.setItem(\"role\", \"[]\");\n sessionStorage.setItem(\"images\", \"\");\n sessionStorage.setItem(AppConstants.HUB_CODE, \"[]\");\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, \"\");\n sessionStorage.setItem(\"currentRole\", \"\");\n state.countryCode = \"\";\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.token = \"\";\n state.username = \"\";\n state.isAdmin = false;\n state.isCHDManager = false;\n state.isVTManager = false;\n state.isCollectionPointManager = false;\n state.isDriver = false;\n state.isLoggedIn = payload;\n state.isOnlyExpressDispatcher = false;\n state.isOnlyStandardDispatcher = false;\n state.isDispatcher = false;\n state.isLastMileViewer = false;\n state.isOnlyStdLastMileViewer = false;\n state.isOnlyExpLastMileViewer = false;\n });\n },\n});\n\nexport default userLoginSlice.reducer;\n","import { createStyles, makeStyles, PopoverOrigin, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n formControl: {\n \"& .open\": {\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderBottom: \"none\",\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n },\n searchBox: {\n background: \"white\",\n overflowY: \"auto\",\n fontSize: \"12px\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderBottomLeftRadius: \"inherit !important\",\n borderBottomRightRadius: \"inherit !important\",\n borderBottom: \"ridge !important\",\n },\n },\n customWidthSearch: {\n \"& fieldset\": {\n maxWidth: \"170px\",\n },\n \"& .MuiIconButton-sizeSmall.MuiIconButton-edgeEnd\": {\n marginRight: 20,\n },\n },\n chips: {\n display: \"flex\",\n flexWrap: \"wrap\",\n maxHeight: 19,\n overflow: \"auto\",\n },\n chip: {\n margin: 2,\n height: 17,\n fontSize: 12,\n },\n menuPropsList: {\n \"& .MuiListItem-root\": {\n fontSize: 12,\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n whiteSpace: \"normal\",\n },\n \"& .MuiCheckbox-root\": {\n backgroundSize: \"16px 16px\",\n marginRight: theme.spacing(0.75),\n },\n \"& .customMenuPropsList\": {\n paddingLeft: theme.spacing(5.6),\n },\n },\n menuPropsPaper: {\n maxHeight: 200,\n maxWidth: 200,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\",\n },\n //\n customMenuPropsList: {\n margin: theme.spacing(0, 0, 0, 4),\n },\n customMenuPropsPaper: {\n maxHeight: 400,\n maxWidth: 200,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\",\n },\n hubChipDiv: {\n margin: 0,\n padding: \"4px 0px 4px 0px\",\n minWidth: \"125px\",\n height: \"30px\",\n borderRadius: \"16px 0px 0px 0px\",\n background: COLORS.ALTO,\n },\n selectedTextStyle: {\n fontSize: 12,\n fontWeight: 600,\n color: `${COLORS.PRIMARY_MAIN}`,\n },\n })\n);\n\nexport const anchorOriginDefault: PopoverOrigin = {\n vertical: \"bottom\",\n horizontal: \"left\",\n};\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0126 17L21 8.6498L20.3709 8L12.0117 15.767L3.6282 8.009L3 8.6588L12.0126 17Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgDownArrow = function SvgDownArrow(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownArrow, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/down-arrow.80589070.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 14.125L10.8438 11.7538C9.89348 12.431 8.75565 12.795 7.58875 12.795C6.13743 12.795 4.74503 12.2209 3.71552 11.198C2.68601 10.175 2.10299 8.7863 2.09375 7.33501C2.15061 5.90528 2.75857 4.55302 3.79024 3.56156C4.82192 2.5701 6.19726 2.01636 7.62812 2.01636C9.05898 2.01636 10.4343 2.5701 11.466 3.56156C12.4977 4.55302 13.1056 5.90528 13.1625 7.33501C13.1625 8.28837 12.9088 9.22457 12.4275 10.0475C12.3773 10.141 12.3217 10.2316 12.2612 10.3188L11.5 9.83751C11.5517 9.76793 11.5985 9.69484 11.64 9.61876C12.0426 8.92511 12.254 8.13704 12.2525 7.33501C12.2525 6.10042 11.7621 4.91641 10.8891 4.04342C10.0161 3.17044 8.83208 2.68001 7.5975 2.68001C6.36292 2.68001 5.1789 3.17044 4.30592 4.04342C3.43294 4.91641 2.9425 6.10042 2.9425 7.33501C2.95405 8.56039 3.45014 9.73138 4.32237 10.5921C5.19461 11.4529 6.37207 11.9334 7.5975 11.9288C8.70275 11.9337 9.7745 11.5496 10.625 10.8438C10.7068 10.7706 10.8127 10.7301 10.9225 10.7301C11.0323 10.7301 11.1382 10.7706 11.22 10.8438L13.8975 13.4688L13.25 14.125Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgSearchIconSmall = function SvgSearchIconSmall(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSearchIconSmall, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/search-icon-small.9fd409a5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useRef, useState, useMemo } from \"react\";\nimport {\n Checkbox,\n Chip,\n FormControl,\n FormHelperText,\n InputLabel,\n ListItemText,\n MenuItem,\n PopoverOrigin,\n Select,\n SelectProps,\n ListSubheader,\n TextField,\n InputAdornment,\n IconButton,\n SvgIcon,\n Typography,\n} from \"@material-ui/core\";\nimport { useStyles, anchorOriginDefault } from \"./SelectBox.styles\";\nimport { ReactComponent as downArrowIcon } from \"./../../assets/icons/down-arrow.svg\";\nimport AppConstants from \"../../constants\";\nimport { ReactComponent as searchIcon } from \"./../../assets/icons/search-icon-small.svg\";\nimport { isEqualArrays } from \"utils/helpers.utils\";\n\nexport interface SelectItemProps {\n name?: string;\n value: any;\n countryCode?: any;\n}\n\ninterface SelectBoxProps extends SelectProps {\n handleChange?: (value: any) => void;\n handleFormikChange?: (e: React.ChangeEvent) => void;\n items: Array;\n helperText?: any;\n hideIconComponent?: boolean;\n menuPropsList?: string;\n menuPaperProps?: string;\n anchorOrigin?: PopoverOrigin | undefined;\n reset?: boolean;\n resetAll?: boolean;\n showSelectNone?: boolean;\n enableSearch?: boolean;\n classes?: any;\n customWidthSearchBar?: boolean;\n}\nconst SelectBox = (props: SelectBoxProps) => {\n const classes = useStyles();\n\n const {\n handleChange,\n handleFormikChange,\n value,\n multiple,\n id,\n label,\n items,\n hideIconComponent,\n menuPaperProps,\n menuPropsList,\n anchorOrigin,\n className,\n reset,\n resetAll,\n showSelectNone,\n error,\n helperText,\n fullWidth,\n enableSearch,\n customWidthSearchBar,\n ...rest\n } = props;\n const [itemsDdn, setItemsDdn] = useState(items && items.map((item) => item.value));\n const [itemsPrevValues, setItemsPrevValues] = useState([]);\n const [ddnValue, setDdnValue] = useState(value || AppConstants.SELECT_NONE.value);\n const anchorEl = useRef(null);\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState(\"\");\n\n const containsText = (text: any, searchText: any) => {\n return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;\n };\n\n const displayedOptions = useMemo(() => {\n return items.filter((option) => containsText(option.name, searchText));\n }, [searchText]);\n\n const getMenuItems = () => {\n const result = searchText ? displayedOptions : items;\n return result && result.length\n ? result.map((item, index) => (\n \n {multiple && -1} />}\n \n \n ))\n : null;\n };\n\n const handleDdnChange = useCallback(\n (event: React.ChangeEvent, child: React.ReactNode) => {\n let selected = event.target.value;\n\n if (multiple) {\n const selectAllIdx = selected.indexOf(AppConstants.SELECT_ALL.value);\n const selectAllPreviousIdx = ddnValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = selected.indexOf(AppConstants.SELECT_NONE.value);\n if (selectNoneIdx > -1) {\n selected = selected.filter((item: any) => item !== AppConstants.SELECT_NONE.value);\n }\n if (selectAllIdx > -1) {\n if (selected.length < itemsDdn.length) {\n if (selectAllPreviousIdx > -1) {\n selected = selected.filter((item: any) => item !== AppConstants.SELECT_ALL.value);\n } else {\n selected = itemsDdn.slice();\n }\n }\n } else {\n if (selected.length < itemsDdn.length) {\n if (selectAllPreviousIdx > -1) {\n selected = [];\n } else if (selected.length === itemsDdn.length - 1) {\n selected = itemsDdn.slice();\n }\n }\n }\n if (!selected.length) {\n selected = [AppConstants.SELECT_NONE.value];\n }\n }\n\n if (Array.isArray(selected)) {\n selected.filter((item: any) => item);\n if (!selected.includes(undefined)) {\n event.target.value = selected;\n setDdnValue(selected);\n handleChange && handleChange(selected);\n handleFormikChange && handleFormikChange(event);\n }\n } else {\n event.target.value = selected;\n setDdnValue(selected);\n handleChange && handleChange(selected);\n handleFormikChange && handleFormikChange(event);\n }\n },\n [ddnValue, itemsDdn, multiple, handleChange, handleFormikChange]\n );\n\n useEffect(() => {\n if (!isEqualArrays(items, itemsPrevValues, \"value\")) {\n if (multiple) {\n setItemsDdn([AppConstants.SELECT_ALL.value, ...items.map((item) => item.value)]);\n setDdnValue([AppConstants.SELECT_ALL.value, ...items.map((item) => item.value)]);\n } else {\n setDdnValue(value);\n showSelectNone && setItemsDdn([AppConstants.SELECT_NONE.value, ...items.map((item) => item.value)]);\n }\n }\n setItemsPrevValues(items);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n if (reset) {\n if (multiple) {\n setDdnValue(itemsDdn);\n handleChange && handleChange(itemsDdn);\n } else {\n setDdnValue(value);\n handleChange && handleChange(value);\n }\n } else {\n setDdnValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n if (resetAll) {\n if (multiple) {\n setDdnValue(itemsDdn);\n handleChange && handleChange(itemsDdn);\n } else {\n setDdnValue(value);\n handleChange && handleChange(itemsDdn);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resetAll]);\n\n const getChips = (selected: any) => {\n if (multiple) {\n if (selected.indexOf(AppConstants.SELECT_ALL.value) > -1) {\n return AppConstants.SELECT_ALL.name;\n }\n if (selected.indexOf(AppConstants.SELECT_NONE.value) > -1) {\n return AppConstants.SELECT_NONE.name;\n }\n return Array.isArray(selected) && selected?.length > 0 ? (\n {`${selected.length} selected`}\n ) : (\n
\n {(selected as string[]).map((value) => {\n const item: SelectItemProps =\n value === AppConstants.SELECT_ALL.value ? AppConstants.SELECT_ALL : items.filter((i) => i.value === value).length ? items.filter((i) => i.value === value)[0] : { name: \"\", value: \"\" };\n return ;\n })}\n
\n );\n } else {\n const item: SelectItemProps = items && items.filter((i) => i.value === selected).length ? items.filter((i) => i.value === selected)[0] : AppConstants.SELECT_NONE;\n return item.name;\n }\n };\n\n const close = () => {\n setIsOpen(false);\n setSearchText(\"\");\n };\n\n const stopImmediatePropagation = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n };\n\n return (\n <>\n \n {label && {label}}\n {\n setIsOpen(true);\n }}\n onClose={close}\n onChange={handleDdnChange}\n renderValue={getChips}\n IconComponent={hideIconComponent ? () => <> : downArrowIcon}\n MenuProps={{\n disablePortal: true,\n classes: {\n list: menuPropsList || classes.menuPropsList,\n paper: menuPaperProps || classes.menuPropsPaper,\n },\n autoFocus: false,\n anchorEl: anchorEl.current,\n getContentAnchorEl: null,\n anchorOrigin: anchorOrigin || anchorOriginDefault,\n }}\n >\n {enableSearch && (\n e.stopPropagation()}>\n setSearchText(e.target.value)}\n onKeyDown={(e) => {\n if (e.key !== \"Escape\") {\n e.stopPropagation();\n }\n }}\n InputProps={{\n endAdornment: (\n \n \n \n \n \n ),\n }}\n />\n \n )}\n {(!searchText || searchText.length === 0) && multiple ? (\n \n -1} />\n \n \n ) : (\n showSelectNone && (\n \n \n \n )\n )}\n {getMenuItems()}\n \n {helperText && {helperText}}\n \n \n );\n};\n\nexport default SelectBox;\n","import { makeStyles } from \"@material-ui/core\";\n\nconst searchableDropdownStyles = makeStyles(() => ({\n fieldLabel: { marginBottom: \"8px\", fontSize: \"12px\" },\n \" & .MuiFormLabel-root\": {\n fontSize: \"12px\",\n },\n\n searchableDropdown: {\n margin: 0,\n padding: 0,\n minWidth: \"180px\",\n \"& .Mui-focused\": {\n color: \"rgba(0, 0, 0, 0.54)\",\n fontWeight: \"500\",\n },\n \"& .MuiInputBase-input \": {\n marginLeft: \"4px\",\n },\n },\n paperStyles: {\n margin: 0,\n padding: 0,\n borderRadius: \"inherit\",\n fontSize: \"12px\",\n },\n downArrowStyle: {\n marginLeft: \"6px\",\n marginRight: \"10px\",\n },\n\n labelOnInputBoxFontStyle: {\n fontSize: \"12px\",\n lineHeight: \"16px\",\n color: \"rgba(0, 0, 0, 0.54)\",\n paddingLeft: \"2px\",\n \"& .MuiFormLabel-root\": {\n fontWeight: \"500\",\n fontSize: \"12px !important\",\n lineHeight: \"8px\",\n color: \"rgba(0, 0, 0, 0.54)\",\n },\n\n \"& .MuiInputLabel-shrink\": {\n fontSize: \"12px !important\",\n },\n },\n labelHeaderOnInputBoxFontStyle: {\n fontSize: \"12px\",\n },\n autocompleteInputDivStyle: {\n fontSize: \"12px\",\n },\n isDropdownOpen: {\n fontSize: \"12px\",\n },\n clearIndicatorStyle: {\n \"& .MuiSvgIcon-fontSizeSmall\": {\n fontSize: \"1rem !important\",\n },\n },\n popupIndicatorOpenStyle: {\n fontSize: \"1rem !important\",\n },\n popupIndicatorStyle: {\n height: \"28px\",\n marginRight: \"10px\",\n },\n inputFocusedStyle: {\n paddingTop: \"8px\",\n },\n}));\n\nexport default searchableDropdownStyles;\n","/* eslint-disable no-use-before-define */\nimport React,{useState} from \"react\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Autocomplete, {\n createFilterOptions,\n} from \"@material-ui/lab/Autocomplete\";\nimport CheckBoxOutlineBlankIcon from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport CheckBoxIcon from \"@material-ui/icons/CheckBox\";\nimport { Checkbox, IconButton, InputAdornment,SvgIcon } from \"@material-ui/core\";\nimport searchableDropdownStyles from \"../SearchableDropdownStyles\";\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow.svg\";\nimport Chip from \"@material-ui/core/Chip\";\nimport AppConstants from \"../../../constants\";\n\nexport interface SelectItemProps {\n name?: string;\n value: any;\n}\ninterface AutoCompleteProps {\n onSelectAll: (isSelected: any) => void;\n onClearOptions:() => void;\n onToggleOption:(selectedOptions: any) => void;\n getOptionLabel:(option: any) => string;\n selectedVal: any;\n id: string;\n items: Array;\n selectedValues: any;\n label: string\n limitTags?: any\n multiple?: boolean\n}\n\nconst MultiSelect = ({\n items,\n selectedValues,\n label,\n limitTags,\n id,\n onToggleOption,\n onClearOptions,\n selectedVal,\n onSelectAll,\n getOptionLabel,\n multiple,\n}:AutoCompleteProps) => {\n const allSelected = items.length === selectedValues.length;\n const [isOpen, setIsOpen] = useState(false);\n const handleToggleSelectAll = () => {\n onSelectAll && onSelectAll(!allSelected);\n };\n\n const handleChange = (event:any, selectedOptions:any, reason:any) => {\n if (reason === \"select-option\" || reason === \"remove-option\") {\n if (multiple && selectedOptions.find((option:any) => option.value === \"all\")) {\n handleToggleSelectAll();\n } else {\n onToggleOption && onToggleOption(selectedOptions);\n }\n } else if (reason === \"clear\") {\n onToggleOption(selectedOptions)\n //onClearOptions && onClearOptions();\n }\n };\n const optionRenderer = (option:any, { selected }:any) => {\n const selectAllProps =\n option.value === \"all\" // To control the state of 'select-all' checkbox\n ? { checked: allSelected }\n : {};\n\n return (\n <>\n }\n checkedIcon={}\n style={{ marginRight: 8 }}\n checked={selected}\n {...selectAllProps}\n />\n {getOptionLabel(option)}\n \n );\n };\n const inputRenderer = (params:any) => (\n \n );\n const getOptionSelected = (option:any, anotherOption:any) =>\n option.value === anotherOption.value;\n const filter = createFilterOptions();\n const classes = searchableDropdownStyles();\n return (\n {\n setIsOpen(true);\n }}\n onClose={() => {\n setIsOpen(false);\n }}\n value={selectedValues}\n disableCloseOnSelect\n getOptionLabel={getOptionLabel}\n getOptionSelected={getOptionSelected}\n filterOptions={(options, params) => {\n const filtered = filter(options, params);\n if (params.inputValue) {\n return filtered;\n }\n return [{ name: \"Select all\", value: \"all\" }, ...filtered];\n }}\n onChange={handleChange}\n renderOption={optionRenderer}\n renderInput={inputRenderer}\n renderTags={(tagValue, getTagProps) => {\n if (selectedVal.indexOf(AppConstants.SELECT_ALL.value) > -1) {\n return ;\n } else {\n return tagValue.map((option, index) => (\n \n ));\n }\n }}\n popupIcon={}\n classes={{\n clearIndicatorDirty: classes.clearIndicatorStyle,\n popupIndicator: classes.popupIndicatorStyle,\n paper: classes.paperStyles\n }}\n />\n );\n};\n\nMultiSelect.defaultProps = {\n limitTags: 5,\n items: [],\n selectedValues: [],\n getOptionLabel: (value:any) => value,\n};\n\nexport default MultiSelect;\n","import React, { useState, useEffect } from \"react\";\nimport MultiSelect from './Multiselect/index'\n\nexport interface SelectItemProps {\n name?: string;\n value: any;\n}\n\ninterface AutoCompleteProps {\n handleChange: (value: any) => void;\n value: any;\n id: string;\n menuItems: Array;\n disabled: boolean;\n label: string\n fieldLabel?: string\n multiple?: boolean\n}\nconst SearchableDropdown = (props: AutoCompleteProps) => {\n const { fieldLabel = \"\", id, label, menuItems, value, handleChange, disabled, multiple=true } = props\n const [selectedOptions, setSelectedOptions] = useState([]);\n useEffect(() => {\n setSelectedOptions(menuItems)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [menuItems]);\n const getOptionLabel = (option: any) => `${option.name}`;\n const handleToggleOption = (selectedOptions: any) => {\n setSelectedOptions(selectedOptions);\n let result;\n if(multiple){\n result = selectedOptions.map((a:any) => a.value);\n }\n else{\n result = selectedOptions.value\n }\n handleChange(result)\n }\n \n const handleClearOptions = () => { setSelectedOptions([])};\n const handleSelectAll = (isSelected: any) => {\n if (isSelected) {\n setSelectedOptions(menuItems);\n let result = menuItems.map((a:any) => a.value);\n const allResult= ['all',...result]\n handleChange(allResult)\n } else {\n handleClearOptions();\n }\n };\n return (\n \n );\n};\n\nexport default SearchableDropdown;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport networkHandlerReporting from \"../../../network/networkHandlerReporting\";\n\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { countObjectProperties, isInputAnArray, isNull, transformHubWithNameAndValueFromSelectValues, transformSelectValues } from \"../../../utils/helpers.utils\";\nimport { CommonState } from \"./commonSlice.types\";\n\nimport AppConstants from \"../../../constants\";\n\nexport const countryCodeUpdate = createAsyncThunk(\"Common/CountryCodeUpdate\", async ({ countryCode }: { countryCode: any }, { rejectWithValue }) => {\n try {\n const countryRequest = { url: \"fulfilment/country/url\", method: EApiMiddlewareMethods.GET } as any;\n countryRequest.headers = { countryISOCode: countryCode };\n const { data: countryData } = await networkHandlerReporting(countryRequest);\n let countryUrl = countryData?.url?.wings ? countryData.url.wings : countryData?.countryUrl ? countryData.countryUrl : \"\";\n sessionStorage.setItem(AppConstants.COUNTRY_URL, countryUrl);\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n return countryCode;\n});\n\nexport const hubCodeUpdate = createAsyncThunk(\"Common/HubCodeUpdate\", (hubCode: string[]) => {\n return hubCode;\n});\n\nexport const updateMapDirections = createAsyncThunk(\"Common/MapDirectionsUpdate\", (directions: any) => {\n return directions;\n});\n\nexport const fetchCommonDropdownValues = createAsyncThunk(\n \"Common/FetchCommonDropdownValues\",\n async (\n {\n countryCode,\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `filter/all/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchUserDetailsDropdownValues = createAsyncThunk(\"Common/FetchUserDetailsDropdownValues\", async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `user/hubs`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchCountryConfigDetils = createAsyncThunk(\"Common/fetchCountryConfigDetils\", async ({ activeStatus }: any, { rejectWithValue }) => {\n try {\n const request = { url: `config?active=${activeStatus}`, method: EApiMiddlewareMethods.GET } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchCountryHubDetailsDetils = createAsyncThunk(\"Common/fetchCountryHubDetailsDetils\", async ({ countryCode, deliveryType = null }: any, { rejectWithValue }) => {\n try {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n const request = { url: `fulfilment/hub/country/${params}`, method: EApiMiddlewareMethods.GET } as any;\n if (!isNull(deliveryType)) {\n request.url = `${request.url}?deliveryType=${deliveryType}`;\n }\n const { data } = await networkHandlerReporting(request);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchCwingsReportCountriesList = createAsyncThunk(\"Common/fetchCwingsReportCountriesList\", async (_, { rejectWithValue }) => {\n try {\n const request = { url: `fulfilment/country/all`, method: EApiMiddlewareMethods.GET } as any;\n const { data } = await networkHandlerReporting(request);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nconst initialState: CommonState = {\n loading: false,\n error: \"\",\n errorCode: \"\",\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE) || AppConstants.COUNTRY_OBJ.value,\n hubCode: JSON.parse(sessionStorage.getItem(AppConstants.HUB_CODE) || \"[]\") || [],\n mapRouteDirections: {},\n hubData: {},\n commonDropdowns: { countriesList: [], hubCodeList: [], hubNameList: [], deliverySlotList: [] },\n userDetailsDropdowns: { countriesList: [], hubList: [], hubListWithCodeAndName: [] },\n routeConfigDetails: {},\n driverTripConfigDetails: {},\n hubRecordList: {},\n hubRecordListWithCodeAndName: {},\n cwingsReportCountriesList: [],\n};\n\nconst commonSlice = createSlice({\n name: \"Common\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchCommonDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchCommonDropdownValues.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n let hubCodeList: any = {};\n let hubNameList: any = {};\n let deliverySlotList: any = {};\n if (payload.hubMap) {\n Object.keys(payload.hubMap).filter((country: any) => {\n hubCodeList[country] = transformSelectValues(payload.hubMap[country], \"code\");\n hubNameList[country] = transformSelectValues(payload.hubMap[country], \"value\");\n return true;\n });\n }\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotList[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n state.commonDropdowns = {\n countriesList: transformSelectValues(payload.countries),\n hubCodeList: hubCodeList,\n hubNameList: hubNameList,\n deliverySlotList: deliverySlotList,\n };\n })\n .addCase(fetchCommonDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchUserDetailsDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchUserDetailsDropdownValues.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.hubData = payload.hubMap || {};\n let hubList: any = {};\n let hubListWithCodeAndName: any = {};\n if (payload.hubMap) {\n Object.keys(payload.hubMap).filter((country: any) => {\n hubList[country] = transformSelectValues(payload.hubMap[country]);\n hubListWithCodeAndName[country] = transformHubWithNameAndValueFromSelectValues(payload.hubMap[country]);\n return true;\n });\n }\n state.userDetailsDropdowns = {\n countriesList: transformSelectValues(payload.countries),\n hubList: hubList,\n hubListWithCodeAndName: hubListWithCodeAndName,\n };\n })\n .addCase(fetchUserDetailsDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(countryCodeUpdate.fulfilled, (state, action) => {\n const { payload } = action;\n sessionStorage.setItem(AppConstants.COUNTRY_CODE, payload);\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, \"\");\n state.countryCode = payload;\n })\n .addCase(hubCodeUpdate.fulfilled, (state, action) => {\n const { payload } = action;\n sessionStorage.setItem(AppConstants.HUB_CODE, JSON.stringify(payload));\n state.hubCode = payload;\n })\n .addCase(updateMapDirections.fulfilled, (state, action) => {\n const { payload } = action;\n state.mapRouteDirections = payload;\n })\n /** fetchCountryConfigDetils */\n .addCase(fetchCountryConfigDetils.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeConfigDetails = {};\n state.driverTripConfigDetails = {};\n })\n .addCase(fetchCountryConfigDetils.fulfilled, (state, action) => {\n state.loading = false;\n const { payload } = action;\n if (payload?.ROUTE && Object.keys(payload?.ROUTE).length > 0) {\n state.routeConfigDetails = payload?.ROUTE || {};\n }\n if (payload?.DRIVER_TRIP && Object.keys(payload?.DRIVER_TRIP).length > 0) {\n state.driverTripConfigDetails = payload?.DRIVER_TRIP || {};\n }\n })\n .addCase(fetchCountryConfigDetils.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchCountryHubDetailsDetils.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchCountryHubDetailsDetils.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { countryCode },\n },\n } = action;\n if (payload?.results && countObjectProperties(payload.results) > 0) {\n let hubRecordList: any = [];\n let hubRecordListWithCodeAndName: any = [];\n if (countryCode && payload?.results[countryCode] && isInputAnArray(payload?.results[countryCode])) {\n hubRecordList = transformSelectValues(payload?.results[countryCode]);\n hubRecordListWithCodeAndName = transformHubWithNameAndValueFromSelectValues(payload?.results[countryCode]);\n state.hubRecordList[countryCode] = hubRecordList;\n state.hubRecordListWithCodeAndName[countryCode] = hubRecordListWithCodeAndName;\n }\n }\n state.loading = false;\n })\n .addCase(fetchCountryHubDetailsDetils.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchCwingsReportCountriesList.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.cwingsReportCountriesList = [];\n })\n .addCase(fetchCwingsReportCountriesList.fulfilled, (state, action) => {\n const { payload } = action;\n if (payload && Array.isArray(payload)) {\n state.cwingsReportCountriesList = transformSelectValues(payload);\n }\n state.loading = false;\n })\n .addCase(fetchCwingsReportCountriesList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n });\n },\n});\n\nexport default commonSlice.reducer;\n","import moment from \"moment\";\nimport { RowData } from \"../../common/GridWrapper/DataTable\";\nimport AppConstants from \"../../constants\";\nimport {\n enumerateDaysBetweenDates,\n fixDecimals,\n getUniqueValues,\n getValueFromArray,\n localTimeString,\n transformIntoObj,\n transformIntoObjArrays,\n isUndefined,\n transformForScalable,\n displayUnitGrams,\n isNonEmptyArray,\n isNonEmptyObject,\n isNull,\n isObject,\n} from \"../../utils/helpers.utils\";\nimport { ADDRESS_STATUS } from \"../../constants/CommonConstants\";\nimport { getSlotName } from \"../../RoutePlanning/AllRoutes/utils/AllRouteUtils\";\nexport interface MetaData {\n paymentType: string;\n totalAmount: string;\n transactionDate: Date;\n amountToCollect: string;\n collectedAmount: string;\n currency: string;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n routeId: string;\n routeName: string;\n routeStatus: string;\n numberOfItems: number;\n lastStatusUpdatedTime: string;\n deliveryZone: string;\n}\n\nexport interface Name {\n ar: string;\n en: string;\n}\n\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: Name;\n quantity: string;\n acceptedQty: string;\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: string;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n}\n\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n status: string;\n}\n\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n rescheduled ?: boolean;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport const ROUTE_TYPE = {\n NORMAL_ROUTE: \"NORMAL_ROUTE\",\n PARENT_ROUTE: \"PARENT_ROUTE\",\n SUB_ROUTE: \"SUB_ROUTE\",\n ROUTE_AREA: \"ROUTE_AREA\",\n};\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n totalCratesCount: number;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n driver: Driver;\n helper: Driver;\n vehicle: Vehicle;\n transitTime: string;\n actualTransitTime: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n reason: Reason;\n deliveryExecutionStatus ?: string;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface PickUpInformation {\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface PaymentDetail {\n payBillNo: string;\n paymentPhoneNumber: string;\n uniqueReferenceNumber: string;\n transactionInitiatedTries: any;\n transactionStatus: any;\n timestamp: any;\n collectedAmount: string;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface Order {\n id: string;\n orderCode: string;\n consignmentCode: string;\n hasRejectedProducts: boolean;\n retryCount: number;\n metadata: MetaData;\n products: Product[];\n reason: Reason;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n pickUpInformation: PickUpInformation;\n paymentDetail: PaymentDetail;\n statuses: Statuses[];\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface AssignedStatus {\n vehicleAssigned: boolean;\n helperAssigned: boolean;\n driverAssigned: boolean;\n consignmentsAvailable: boolean;\n}\n\nexport interface Vehicle {\n brand: string;\n country: string;\n crateCapacity: number;\n fleetId: string;\n id: string;\n orderCapacity: number;\n type: string;\n name: string;\n}\n\nexport interface Driver {\n countryIsoCode: string;\n countryName: string;\n licenseNumber: number;\n id: string;\n name: string;\n type: string;\n vendor: string;\n}\n\nexport interface ActualTransitDistance {\n totalDistanceMeters: number;\n formattedDistance: string;\n}\n\nexport interface Route {\n id: string;\n routeId: string;\n creationTime: string;\n plannedDate: string;\n createdBy: string;\n carrier: string;\n deliveryProposition: string;\n deliveryArea: string[];\n deliverySlot: string[];\n countryDetails: CountryDetails;\n totalConsignment: number;\n totalCrates: number;\n transitTime: number;\n displayRouteStatus: string;\n hubCode: string;\n hubName: string;\n status: string;\n assignedStatus: AssignedStatus;\n assignedVehicle: Vehicle;\n assignee: Driver;\n helper: Driver;\n actualTransitTime: string;\n parentRouteId: string;\n routeType?: string;\n actualTransitDistance ?: ActualTransitDistance;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface PlanningOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Order[];\n}\n\nexport interface PlanningRoutesDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Route[];\n}\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport interface SubsProducts {\n sku: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n}\nexport interface ProductsDataTransform {\n sku: string;\n name: Name;\n entryNumber: string;\n quantity: string;\n shippedQty: any;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n substitution: boolean;\n substitutedProducts: SubsProducts[];\n}\n\nexport interface StandardProducts {\n products: ProductsDataTransform[];\n}\n\ninterface NameObj {\n ar: string;\n en: string;\n}\n\ninterface Metadata {\n bundleType: string;\n bundleName?: string;\n campaignId?: string;\n reason?: {\n reasonCode: string;\n reasonDescription: string;\n };\n}\n\ninterface Item {\n sku: string;\n name: NameObj;\n quantity: string;\n shippedQty: string;\n acceptedQty?: string;\n rejectedQty: string;\n unitPrice: string;\n imgUrl: string;\n uom: string;\n associatedCrates?: any;\n}\n\ninterface BundleProduct {\n sku: string;\n campaignId: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string;\n unitPrice: string;\n imgUrl: string;\n uom: string;\n orderedBarcodes?: any;\n associatedBarcodes?: string[];\n lmMetadata: Metadata;\n items?: Item[];\n}\n\ninterface TransformedBundleProduct {\n campaignId: string;\n bundleName: string;\n bundleShippedQty: string;\n bundlePrice: string;\n //bundleCurrency: string;\n bundleRejectedQty: string;\n bundleProductQuantity: string;\n bundleConstituents: {\n bundleProductName: string;\n bundleProductQuantity: string;\n bundleProductRejectedQty: string;\n bundleProductShippedQty: string;\n }[];\n reason?: {\n reasonCode: string;\n reasonDescription: string;\n };\n}\n\ninterface TransformedBundleProductForRejection extends TransformedBundleProduct {\n id: string;\n rejectedQty: string;\n rejectedQtyList: { name: string; value: string }[];\n selectedRejectedQty: { name: string; value: string }[];\n itemDeliveryReason: { name: string; value: string }[];\n showReason: boolean;\n error: string;\n}\n\nexport const lastMilePlanningOrdersDataTransform = (response: PlanningOrdersDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Order) => {\n const {\n id,\n metadata,\n posInformation: { store, storeName },\n deliveryInformation,\n paymentDetail,\n orderCode,\n products,\n reason,\n consignmentCode,\n statuses,\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n const customerContactInfo = deliveryInformation.customerContactInfo || { address: {} };\n const transactionDate = moment(metadata.transactionDate, AppConstants.DATE_FORMAT_BACKEND);\n const statusDate = metadata.lastStatusUpdatedTime\n ? moment(metadata.lastStatusUpdatedTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP)\n : statuses && statuses.length\n ? moment(statuses[0].statusDate, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP)\n : \"\";\n const mpesaTimestamp = paymentDetail ? moment(paymentDetail.timestamp, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : \"\";\n transformedArray.push({\n id: id,\n hubCode: store,\n hubName: storeName,\n deliveryArea: customerContactInfo.address ? customerContactInfo.address.area : \"\",\n consignmentId: consignmentCode,\n type: metadata.category,\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n startEndTime: `${localTimeString(startTime)} - ${localTimeString(endTime)}`,\n deliveryStatus: metadata.deliveryStatus,\n statusDate: statusDate,\n products: products && products.length ? products.length : 0,\n numberOfItems: metadata.numberOfItems && metadata.numberOfItems > 0 ? metadata.numberOfItems : products && products.length ? products.length : 0,\n crates: deliveryInformation.totalCratesCount,\n orderId: orderCode,\n transactionDate: transactionDate.format(AppConstants.DATE_FORMAT),\n customerName: customerContactInfo.name,\n customerEmail: customerContactInfo.email,\n customerMobileNumber: customerContactInfo.phone,\n deliveryStreetAddress: getAddressInfo(customerContactInfo.address),\n landmark: customerContactInfo.address.landmark,\n paymentType: metadata.paymentType,\n totalAmount: fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\"),\n codAmount: fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"),\n collectedAmount: metadata.collectedAmount ? parseFloat(metadata.collectedAmount.toString()).toFixed(2) : \"0.00\",\n carrier: deliveryInformation.carrier,\n deliveryProposition: metadata.deliveryType,\n routeId: metadata.routeName,\n routeStatus: metadata.routeStatus,\n driver: deliveryInformation.driver ? deliveryInformation.driver.name : \"\",\n deliveryZone: metadata && metadata?.deliveryZone ? metadata?.deliveryZone : \"\",\n vendor: deliveryInformation.driver ? deliveryInformation.driver?.vendor : \"\",\n helper: deliveryInformation.helper ? deliveryInformation.helper.name : \"\",\n vehicle: deliveryInformation.vehicle ? deliveryInformation.vehicle.name : \"\",\n plannedDuration: deliveryInformation.dynamicTransitTime ? deliveryInformation.dynamicTransitTime : deliveryInformation.estimatedTransitTime,\n actualDuration: deliveryInformation.actualTransitTime ? deliveryInformation.actualTransitTime : \"\",\n deliveryFailedReason: deliveryInformation?.reason ? deliveryInformation?.reason?.reasonDescription : \"\",\n paybill: paymentDetail ? paymentDetail.payBillNo : \"\",\n mpesaphoneNumber: paymentDetail ? paymentDetail.paymentPhoneNumber : \"\",\n refNo: paymentDetail ? paymentDetail.uniqueReferenceNumber : \"\",\n address: customerContactInfo && customerContactInfo.address ? getAddressInfo(customerContactInfo.address) : \"-\",\n requestedAmt: paymentDetail ? paymentDetail.collectedAmount : \"\",\n mpesaAttemptNo: paymentDetail ? paymentDetail.transactionInitiatedTries : \"\",\n mpesaStatus: paymentDetail ? paymentDetail.transactionStatus : \"\",\n timestamp: paymentDetail ? mpesaTimestamp : \"\",\n addressStatus: customerContactInfo && customerContactInfo?.address?.status ? customerContactInfo.address.status : \"\",\n rescheduled : deliveryInformation?.deliverySlot?.rescheduled || false,\n deliveryExecutionStatus : deliveryInformation?.deliveryExecutionStatus\n });\n });\n return [...transformedArray];\n};\n\nexport const lastMilePlanningRoutesDataTransform = (response: PlanningRoutesDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Route) => {\n const {\n id,\n routeId,\n hubCode,\n hubName,\n carrier,\n deliveryProposition,\n transitTime,\n deliveryArea,\n deliverySlot,\n plannedDate,\n status,\n totalConsignment,\n assignedVehicle,\n assignee,\n helper,\n createdBy,\n totalCrates,\n actualTransitTime,\n parentRouteId,\n routeType = \"\",\n actualTransitDistance,\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(plannedDate, AppConstants.DATE_FORMAT_BACKEND);\n transformedArray.push({\n id: id,\n hubCode: hubCode,\n hubName: hubName,\n deliveryArea: deliveryArea && deliveryArea.length ? deliveryArea : [],\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n deliverySlot: deliverySlot && deliverySlot.length ? deliverySlot : [],\n consignments: totalConsignment,\n crates: totalCrates,\n carrier: carrier,\n deliveryProposition: deliveryProposition,\n routeId: routeId,\n routeStatus: status,\n driver: assignee ? assignee.name : \"\",\n vehicle: assignedVehicle ? assignedVehicle.name : \"\",\n helper: helper ? helper.name : \"\",\n createdBy: createdBy,\n plannedDuration: transitTime,\n actualDuration: actualTransitTime,\n actions: order,\n parentRouteId: parentRouteId,\n routeType: routeType,\n actualDistance: actualTransitDistance?.formattedDistance || \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n};\n\nexport const getRouteStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n};\n\nexport const rejectionDataTransform = (response: any) => {\n const transformedArray: any[] = [];\n response &&\n response.forEach((product: ProductsDataTransform) => {\n const { sku, entryNumber, rejectedQty, name, unitPrice } = product;\n let showReason = false;\n let qty = product.quantity;\n let isSubstitution = product.hasOwnProperty(\"substitutedProducts\");\n\n let isScalable = isSubstitution\n ? product?.substitutedProducts?.length && product.substitutedProducts[0].uom\n ? product.substitutedProducts[0].uom?.toLowerCase() === \"grams\"\n : product.uom?.toLowerCase() === \"grams\"\n : product.uom?.toLowerCase() === \"grams\";\n\n let totalQty = `${qty} ${product.uom && product.uom === \"Grams\" ? displayUnitGrams(product.uom) : \"\"}`;\n\n const rejectedItems = isSubstitution\n ? (product && product.substitutedProducts && product.substitutedProducts.length && +product.substitutedProducts[0].rejectedQty) || 0\n : +product.rejectedQty || 0;\n\n const initialQty = isScalable ? (rejectedItems > 0 ? 1 : 0) : rejectedItems;\n\n let shipedQty = product.substitutedProducts && product.substitutedProducts.length ? product.substitutedProducts[0].shippedQty : product.shippedQty;\n\n let shipedQtyDisplay =\n (product.substitutedProducts && product.substitutedProducts.length && Number(product.substitutedProducts[0].shippedQty) === 0) || Number(product.shippedQty) === 0\n ? 0\n : isScalable\n ? 1\n : product.substitutedProducts && product.substitutedProducts.length\n ? product.substitutedProducts[0].shippedQty\n : product.shippedQty\n ? product.shippedQty\n : 0;\n\n let newObj: any = [];\n let selectRejected = [];\n if (isScalable) {\n for (let i = 0; i <= shipedQtyDisplay; i++) {\n newObj = transformForScalable(shipedQty, shipedQtyDisplay);\n }\n } else {\n for (let i = 0; i <= shipedQty; i++) {\n newObj = transformIntoObjArrays(i, shipedQty);\n }\n }\n if (initialQty === 0) {\n selectRejected = transformIntoObj(initialQty);\n } else {\n selectRejected = transformIntoObj(initialQty);\n }\n let deliveryReason = [];\n if (product.reason) {\n deliveryReason.push({\n name: product.reason.reasonDescription,\n value: product.reason.reasonCode,\n });\n } else {\n if (product.substitutedProducts) {\n product.substitutedProducts.forEach((subProd: any) => {\n if (subProd.reason) {\n deliveryReason.push({\n name: subProd.reason.reasonDescription,\n value: subProd.reason.reasonCode,\n });\n }\n });\n }\n }\n const uom = isSubstitution\n ? product?.substitutedProducts?.length && product.substitutedProducts[0]?.uom\n ? product.substitutedProducts[0].uom?.toLowerCase() === \"grams\"\n ? displayUnitGrams(product.substitutedProducts[0].uom)\n : \"\"\n : product.uom?.toLowerCase() === \"grams\"\n ? displayUnitGrams(product.uom)\n : \"\"\n : product.uom?.toLowerCase() === \"grams\"\n ? displayUnitGrams(product.uom)\n : \"\";\n //Logic to showReason only when the rejectedQty is not zero\n if (rejectedQty !== \"0\" && !isUndefined(rejectedQty)) {\n showReason = true;\n }\n transformedArray.push({\n id: sku,\n name: name,\n entryNumber: entryNumber,\n shippedQty: shipedQty || 0,\n rejectedQty: rejectedQty || 0,\n unitPrice: unitPrice,\n totalQty: totalQty,\n rejectedQtyList: newObj,\n selectedRejectedQty: selectRejected,\n itemDeliveryReason: deliveryReason,\n substitutedProducts: product.substitutedProducts,\n showReason: showReason,\n error: \"\",\n uom: uom,\n });\n });\n return [...transformedArray];\n};\n\nexport const bundleRejectionDataTransform = (response: TransformedBundleProduct[]) => {\n const transformedArray: TransformedBundleProductForRejection[] = [];\n response &&\n response.forEach((product: any) => {\n const { campaignId, bundleRejectedQty, bundleShippedQty } = product;\n\n let showReason = false;\n const rejectedItems = bundleRejectedQty || 0;\n const initialQty = rejectedItems;\n\n const shipedQty = bundleShippedQty;\n let newObj: any = [];\n let selectRejected = [];\n for (let i = 0; i <= shipedQty; i++) {\n newObj = transformIntoObjArrays(i, shipedQty);\n }\n selectRejected = transformIntoObj(initialQty);\n const deliveryReason = [];\n if (product.reason) {\n deliveryReason.push({\n name: product.reason.reasonDescription,\n value: product.reason.reasonCode,\n });\n }\n //Logic to showReason only when the rejectedQty is not zero\n if (bundleRejectedQty !== \"0\" && !isUndefined(bundleRejectedQty) && !bundleRejectedQty.includes(\"-\")) {\n showReason = true;\n }\n transformedArray.push({\n ...product,\n id: campaignId,\n rejectedQty: rejectedItems,\n rejectedQtyList: newObj,\n selectedRejectedQty: selectRejected,\n itemDeliveryReason: deliveryReason,\n showReason: showReason,\n error: \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const sortedCountryData = (columnName: string, isDescending: boolean) => (a: any, b: any) => {\n const aVal = isDescending ? a : b;\n const bVal = isDescending ? b : a;\n if (aVal[columnName].match(/^[0-9]+$/) && bVal[columnName].match(/^[0-9]+$/)) {\n return parseFloat(aVal[columnName]) - parseFloat(bVal[columnName]);\n } else {\n if (aVal[columnName] < bVal[columnName]) {\n return -1;\n } else if (aVal[columnName] > bVal[columnName]) {\n return 1;\n } else {\n return 0;\n }\n }\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n};\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, isExpress?: any, isRoute?: boolean) => {\n payload.attributes = [];\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue),\n });\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: [],\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.deliveryArea) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryArea.fieldName,\n value: attrValue,\n });\n delete payload.deliveryArea;\n }\n if (payload.addressStatus) {\n let attrValue = [];\n if (payload.addressStatus.value) {\n attrValue = getFilterAttributeValue(payload.addressStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.addressStatus.fieldName,\n value: attrValue,\n });\n delete payload.addressStatus;\n }\n if (payload.deliveryZone) {\n let attrValue = [];\n if (payload.deliveryZone.value) {\n attrValue = getFilterAttributeValue(payload.deliveryZone.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryZone.fieldName,\n value: attrValue,\n });\n delete payload.deliveryZone;\n }\n if (payload.vendor) {\n let attrValue = [];\n if (payload.vendor.value) {\n attrValue = getFilterAttributeValue(payload.vendor.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vendor.fieldName,\n value: attrValue,\n });\n delete payload.vendor;\n }\n\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue,\n });\n delete payload.orderType;\n }\n if (payload.deliveryStatus) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue,\n });\n delete payload.deliveryStatus;\n }\n if (payload.paymentType) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.paymentType.fieldName,\n value: attrValue,\n });\n delete payload.paymentType;\n }\n if (payload.carrier) {\n let attrValue = [];\n if (payload.carrier.value) {\n attrValue = getFilterAttributeValue(payload.carrier.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.carrier.fieldName,\n value: attrValue,\n });\n delete payload.carrier;\n }\n if (isExpress) {\n if (payload.deliveryProposition) {\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"EXP\"],\n });\n delete payload.deliveryProposition;\n }\n } else {\n if (payload.deliveryProposition) {\n /* let attrValue = [];\n if (payload.deliveryProposition.value) {\n attrValue = getFilterAttributeValue(payload.deliveryProposition.value);\n } else {\n attrValue = [];\n } */\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"STD\"],\n });\n delete payload.deliveryProposition;\n }\n }\n if (payload.routeId) {\n let attrValue = [];\n if (payload.routeId.value) {\n attrValue = getFilterAttributeValue(payload.routeId.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeId.fieldName,\n value: attrValue,\n });\n delete payload.routeId;\n }\n if (payload.routeStatus) {\n let attrValue = [];\n if (payload.routeStatus.value) {\n attrValue = getFilterAttributeValue(payload.routeStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeStatus.fieldName,\n value: attrValue,\n });\n delete payload.routeStatus;\n }\n if (payload.driver) {\n let attrValue = [];\n if (payload.driver.value) {\n attrValue = getFilterAttributeValue(payload.driver.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.driver.fieldName,\n value: attrValue,\n });\n delete payload.driver;\n }\n if (payload.vehicle) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vehicle.fieldName,\n value: attrValue,\n });\n delete payload.vehicle;\n }\n if (payload.helper) {\n let attrValue = [];\n if (payload.helper.value) {\n attrValue = getFilterAttributeValue(payload.helper.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.helper.fieldName,\n value: attrValue,\n });\n delete payload.helper;\n }\n if (payload.deliveryFailedReason) {\n let attrValue = [];\n if (payload.deliveryFailedReason.value) {\n attrValue = getFilterAttributeValue(payload.deliveryFailedReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryFailedReason.fieldName,\n value: attrValue,\n });\n delete payload.deliveryFailedReason;\n }\n if (payload.createdBy) {\n let attrValue = [];\n if (payload.createdBy.value) {\n attrValue = getFilterAttributeValue(payload.createdBy.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.createdBy.fieldName,\n value: attrValue,\n });\n delete payload.createdBy;\n }\n if (payload.displayRouteStatus) {\n payload.attributes.push({\n key: payload.displayRouteStatus.fieldName,\n value: payload.displayRouteStatus.value || [],\n });\n delete payload.displayRouteStatus;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n });\n }\n });\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n if (payload.deliveryExecutionStatus) {\n let attrValue = [];\n if (payload.deliveryExecutionStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryExecutionStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryExecutionStatus.fieldName,\n value: attrValue,\n });\n delete payload.deliveryExecutionStatus;\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken;\n }\n if (isExpress) {\n payload.isExpress = true;\n }\n return payload;\n};\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isExpress?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isExpress, isRoute);\n var orderFilterRequestDto = { orderFilterRequestDto: newPayload };\n return orderFilterRequestDto;\n};\n\nexport const createRoutesPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isExpress?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isExpress, isRoute);\n var routeFilterRequestDto = { routeFilterRequestDto: newPayload };\n return routeFilterRequestDto;\n};\n\nexport const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store;\n }\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode,\n },\n };\n return consignmentCodePosCodeMap;\n }\n};\n\nexport const createDraftRoutePayload = (payload: any) => {\n const routeId = sessionStorage.getItem(\"routeId\");\n const consignments = JSON.parse(sessionStorage.getItem(\"extraConsignments\") || \"[]\");\n let responsePayload: any;\n if (payload.isExpress) {\n responsePayload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n hubName: payload.hubName,\n isExpress: payload.isExpress,\n };\n } else {\n responsePayload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n hubName: payload.hubName,\n };\n }\n if (payload.slotValue) {\n let dateRange = [];\n const selectAllIdx = payload.slotValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = payload.slotValue.indexOf(AppConstants.SELECT_NONE.value);\n if (payload.date) {\n const allDates = enumerateDaysBetweenDates(payload.date.startDate, payload.date.endDate);\n if (selectAllIdx > -1 || selectNoneIdx > -1 || !payload.slotValue.length) {\n responsePayload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n } else {\n responsePayload.isDateRange = false;\n payload.slotValue.forEach((slot: any) => {\n const splitSlot = slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n });\n }\n });\n }\n }\n responsePayload.timeSlot = dateRange;\n }\n if (payload.zoneValue) {\n responsePayload.deliveryZones = getFilterAttributeValue(payload.zoneValue, true);\n }\n if (payload.editMode) {\n responsePayload.editMode = true;\n }\n if (payload.statusValue) {\n responsePayload.deliveryStatuses = getFilterAttributeValue(payload.statusValue, true);\n }\n if (routeId) {\n if (!payload.editMode) {\n if (consignments.length) {\n responsePayload.route = { id: routeId };\n }\n } else {\n responsePayload.route = { id: routeId };\n }\n if (consignments.length) {\n responsePayload.consignmentIds = consignments;\n }\n if(responsePayload?.route?.id && payload?.routeType){\n responsePayload.route.routeType = payload.routeType;\n }\n }\n return responsePayload;\n};\n\nexport const getDiscardRoutePayload = (params: any) => {\n const routeId = sessionStorage.getItem(\"routeId\");\n const consignments = JSON.parse(sessionStorage.getItem(\"extraConsignments\") || \"[]\");\n const previousConsignments = params.previousCons;\n let responsePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n routeId: routeId || \"\",\n previousConsignments: previousConsignments,\n };\n if (consignments.length) {\n responsePayload.consignmentsAdded = consignments;\n }\n return responsePayload;\n};\n\nexport const createPublishRoutesPayload = (routes: RowData[]) => {\n return routes.length\n ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n ids: routes.map((route: RowData) => route.id),\n }\n : null;\n};\n\n/* export const createConsignmentReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id\n };\n if (params.selection === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n payload.reScheduled = true;\n const splitSlot = params.slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n payload.timeSlot = {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT_UI).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT_UI).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n }\n } else {\n payload.reScheduled = false;\n payload.comments = params.commentsValue;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n }\n return payload;\n} */\n\nexport const createConsignmentReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id,\n };\n if (params.status === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n payload.reScheduled = true;\n const splitSlot = params.slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n payload.timeSlot = {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT_UI).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT_UI).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n };\n } else {\n payload.reScheduled = false;\n payload.status = params.selection;\n payload.comments = params.commentsValue;\n payload.reason = params.reason\n ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus,\n }\n : {};\n }\n return payload;\n};\n\nexport const createPayloadForCalculatingLineItems = (params: any, consignment: any) => {\n let payload: any = {};\n let lineItems: any = {};\n if (params.length > 0) {\n params.forEach((item: any) => {\n lineItems[item.entryNumber] = {\n rejectedQty: item.rejectedQty,\n };\n });\n }\n payload.consignmentCode = consignment.consignmentCode;\n payload.rejectedLineItems = lineItems;\n return payload;\n};\n\nexport const createPayloadForUpdatingLineItems = (params: any, consignment: any) => {\n let payload: any = {};\n let prodLineItems: any = {};\n if (params.length > 0) {\n params.forEach((item: any) => {\n prodLineItems[item.entryNumber] = {\n entryNumber: item.entryNumber,\n rejectedQty: item.rejectedQty,\n sku: item.substitutedProducts?.length === 1 ? item.substitutedProducts[0]?.sku : item.id,\n reason: {\n reasonCode: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].value : \"\",\n reasonDescription: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].name : \"\",\n },\n };\n });\n }\n payload.consignmentCode = consignment.consignmentCode;\n payload.lineItems = prodLineItems;\n return payload;\n};\n\nexport const createPayloadGetAllSlots = (pos: string, deliveryZone: string) => {\n return {\n orderType: \"slotted\",\n pos: pos,\n zone: deliveryZone,\n };\n};\n\nexport const createPayloadForReplanDuringPartialRejection = (params: any, consignment: any) => {\n let payload: any = {};\n let prodLineItems: any = {};\n let lineItems: any = {};\n if (params.length > 0) {\n params.forEach((item: any) => {\n lineItems[item.entryNumber] = {\n rejectedQty: item.rejectedQty,\n };\n });\n }\n if (params.length > 0) {\n params.forEach((item: any) => {\n prodLineItems[item.entryNumber] = {\n entryNumber: item.entryNumber,\n rejectedQty: item.rejectedQty,\n sku: item.substitutedProducts?.length === 1 ? item.substitutedProducts[0]?.sku : item.id,\n reason: {\n reasonCode: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].value : \"\",\n reasonDescription: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].name : \"\",\n },\n };\n });\n }\n\n payload.consignmentCode = consignment.consignmentCode;\n payload.lineItems = prodLineItems;\n payload.rejectedLineItems = lineItems;\n payload.reScheduled = false;\n payload.status = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DELIVERED;\n payload.comments = \"\";\n payload.reason = params.reason\n ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus,\n }\n : {};\n return payload;\n};\n\nexport const createPayloadBundlePartialRejection = (params: TransformedBundleProductForRejection[]) => {\n let payload: any = {};\n let prodLineItems: any = {};\n let bundleLineItems: any = {};\n if (params?.length > 0) {\n params.forEach((item: any) => {\n if (item?.rejectedQty > 0) {\n bundleLineItems[item.id] = {\n rejectedQty: item.rejectedQty,\n };\n }\n });\n }\n if (params?.length > 0) {\n params.forEach((item: any) => {\n if (item?.rejectedQty > 0) {\n prodLineItems[item.id] = {\n campaignId: item.id,\n rejectedQty: item.rejectedQty,\n reason: {\n reasonCode: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].value : \"\",\n reasonDescription: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].name : \"\",\n },\n };\n }\n });\n }\n payload.bundleLineItems = prodLineItems;\n payload.rejectedBundleLineItems = bundleLineItems;\n return payload;\n};\n\nexport const createDeleteRoutePayload = (id: string) => {\n return id\n ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n id: id,\n }\n : null;\n};\n\nexport const createBulkDeleteRoutePayload = (routes: Array) => {\n return routes.length\n ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n routeIds: routes.map(({ id }) => id),\n }\n : null;\n};\n\nexport const createRouteCreationPayload = (payload: any, editMode?: any) => {\n const isParentRoute = payload?.route.routeType === \"PARENT_ROUTE\";\n let transitTime: any = calculateTransitTimeForConsignments(payload.mapRouteDirections, payload.consignments);\n let routePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: payload.route.id,\n creationTime: payload.route.creationTime,\n createdBy: payload.route.createdBy,\n countryDetails: payload.route.countryDetails,\n hubCode: payload.route.hubCode,\n hubName: payload.route.hubName,\n deliveryArea: getUniqueValues(payload.consignments, \"area\"),\n deliverySlot: getUniqueValues(payload.consignments, \"slot\"),\n totalConsignment: payload.consignments.length,\n totalCrates: getTotalCrates(payload.consignments),\n deliveryDate: moment(payload.date, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n plannedDate: payload.route.plannedDate,\n transitTime: payload.transitTime,\n consignmentsIds: isParentRoute ? payload?.route?.consignmentsIds : payload.consignments.map((item: any) => item.code),\n },\n consignmentTransitTime: transitTime,\n };\n if (payload.selectedDriver !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignee = {\n id: payload.selectedDriver,\n };\n }\n if (payload.selectedHelper !== AppConstants.SELECT_NONE.value) {\n routePayload.route.helper = {\n id: payload.selectedHelper,\n };\n }\n if (payload.selectedVehicle !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignedVehicle = {\n id: payload.selectedVehicle,\n };\n }\n return routePayload;\n};\n\nexport const createGetAllDropdownsPayload = (params: any) => {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n hubCode: params.hubCode,\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n };\n};\n\nexport const createGetAllPlannedRoutesPayload = (params: any) => {\n if (params.isExpress) {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: params.hubCode,\n isExpress: params.isExpress,\n };\n } else {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: params.hubCode,\n };\n }\n};\n\nexport const createUpdateOrderStatusPayload = (params: any) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: params.consignments,\n displayRouteStatus: params.status,\n routeId: params.routeId,\n };\n};\n\nexport const getPlannedRoutesData = (routeData: any) => {\n let plannedSlots = [];\n if (routeData.PLANNED) {\n const plannedValue: any = routeData.PLANNED;\n for (let slotKey in plannedValue) {\n const slotValue: any = plannedValue[slotKey];\n let slot: any = {\n code: slotKey,\n value: slotValue.slotValue,\n data: [],\n };\n let totalConsignments = 0;\n let totalCrates = 0;\n const elements: any = slotValue.elements.map((route: any) => {\n totalConsignments += route.totalConsignment;\n totalCrates += route.totalCrates;\n return {\n code: route.id,\n value: route.routeId,\n data: route,\n slot: slotKey,\n slotValue: slotValue.slotValue,\n };\n });\n slot.data = elements;\n slot.totalConsignments = totalConsignments;\n slot.totalCrates = totalCrates;\n plannedSlots.push(slot);\n }\n }\n return plannedSlots;\n};\n\nexport const getConsignmentData = async (draftRouteData: any) => {\n let areas: any[] = [];\n let consignments: any[] = [];\n let slots: any = {};\n if (draftRouteData) {\n Object.keys(draftRouteData).forEach((statusKey: string) => {\n const statusValue: any = draftRouteData[statusKey];\n Object.keys(statusValue).forEach((areaKey: string) => {\n const areaIndex: number = areas.findIndex((area: any) => area.code === areaKey);\n let area: any =\n areaIndex === -1\n ? {\n code: areaKey,\n value: areaKey,\n data: [],\n }\n : { ...areas[areaIndex] };\n const areaValue: any = statusValue[areaKey];\n Object.keys(areaValue).forEach((slotKey: string) => {\n const slotValue: any = areaValue[slotKey];\n const slotIndex: number = areaIndex !== -1 ? area.data.findIndex((slot: any) => slot.code === slotKey) : -1;\n let slot: any =\n slotIndex === -1\n ? {\n code: slotKey,\n value: slotValue.slotValue,\n area: areaKey,\n data: [],\n }\n : { ...area.data[slotIndex] };\n const elements: any = slotValue.elements.map((consignment: any) => {\n return {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n slot: slotKey,\n slotValue: slotValue.slotValue,\n area: areaKey,\n status: statusKey,\n };\n });\n if (slotIndex !== -1) {\n slot.data = [...slot.data, ...elements];\n area.data[slotIndex] = slot;\n } else {\n slot.data = elements;\n area.data.push(slot);\n }\n if (slots[area.code]) {\n slots[area.code][slot.code] = slot.data;\n } else {\n slots[area.code] = {\n [slot.code]: slot.data,\n };\n }\n consignments = [...consignments, ...elements];\n });\n if (areaIndex !== -1) {\n areas[areaIndex] = area;\n } else {\n areas.push(area);\n }\n });\n });\n }\n return {\n areaWiseConsignments: areas,\n allConsignments: consignments,\n slotwiseConsignments: slots,\n };\n};\n\nexport const transformRouteConsignments = (consignments: any[]) => {\n let routeConsignments: any = {};\n let seqConsignments: any = [];\n consignments.forEach((consignment: any) => {\n if(consignment.id){\n let newConsignment: any = {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n area: consignment.deliveryInformation && consignment.deliveryInformation.customerContactInfo && consignment.deliveryInformation.customerContactInfo.address.area,\n slot: consignment.deliveryInformation && consignment.deliveryInformation.deliverySlot.deliverySlotTime,\n };\n seqConsignments.push(consignment.id);\n if (routeConsignments[newConsignment.area]) {\n if (routeConsignments[newConsignment.area][newConsignment.slot]) {\n routeConsignments[newConsignment.area][newConsignment.slot].push(newConsignment);\n } else {\n routeConsignments[newConsignment.area][newConsignment.slot] = [newConsignment];\n }\n } else {\n routeConsignments[newConsignment.area] = {\n [newConsignment.slot]: [newConsignment],\n };\n }\n }\n });\n return {\n routeConsignments: routeConsignments,\n seqConsignments: seqConsignments,\n };\n};\n\nexport const getAllAreasAndSlots = (areas: any[]) => {\n let allAreas: string[] = [];\n areas.forEach((area: any) => {\n const slots = area.data;\n slots.forEach((slot: any) => {\n allAreas.push(`${area.code}-${slot.code}`);\n });\n allAreas.push(area.code);\n });\n return allAreas;\n};\n\nexport const getDropdownsData = (payload: any, codeKey?: string, valueKey?: string) => {\n return payload.length\n ? payload.map((item: any) => {\n return {\n code: codeKey ? item[codeKey] : item.id,\n value: valueKey ? item[valueKey] : item.name,\n };\n })\n : [];\n};\n\nexport const getTotalCrates = (consignments: any[]) => {\n let totalCrates = 0;\n if (consignments.length) {\n consignments.forEach((item: any) => {\n if (item.data && item.data.deliveryInformation) {\n totalCrates += parseInt(item.data.deliveryInformation.totalCratesCount);\n }\n });\n }\n return totalCrates;\n};\n\nexport const calculateTransitTime = (directions: any) => {\n let transitTime = 0;\n if (directions.legs && directions.legs.length) {\n directions.legs.forEach((leg: any) => {\n transitTime += leg.duration ? leg.duration.value : 0;\n });\n transitTime += AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.DRIVER_SERVICE_TIME * directions.legs.length;\n }\n return transitTime;\n};\n\nexport const calculateTransitTimeForConsignments = (directions: any, consignments: any) => {\n let consignmentIdsTransitTime: any = {};\n if (directions.legs && directions.legs.length) {\n for (var i = 0; i < consignments.length; i++) {\n if (directions.legs[i]) {\n consignmentIdsTransitTime[consignments[i].code] = directions.legs[i].duration.value;\n } else {\n consignmentIdsTransitTime[consignments[i].code] = 0;\n }\n }\n }\n return consignmentIdsTransitTime;\n};\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj\n ? `${addressObj.building ? addressObj.building + \", \" : \"\"}${addressObj.apartment ? addressObj.apartment + \", \" : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + \", \" : \"\"}${\n addressObj.makani ? addressObj.makani + \", \" : \"\"\n }${addressObj.streetNumber ? addressObj.streetNumber + \", \" : \"\"}${addressObj.streetName ? addressObj.streetName + \", \" : \"\"}${addressObj.area ? addressObj.area + \", \" : \"\"}${\n addressObj.landmark ? addressObj.landmark + \", \" : \"\"\n }${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + \", \" : \"\"}${addressObj.postalCode ? addressObj.postalCode + \", \" : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}`\n : \"\";\n};\n\nexport const getCratesFromProducts = (items: any) => {\n let crates: any = [];\n items &&\n items.forEach((item: any) => {\n if (item.substitutedProducts && item.substitutedProducts.length) {\n item.substitutedProducts &&\n item.substitutedProducts\n .filter(({ shippedQty }: any) => {\n return +shippedQty > 0;\n })\n .forEach((element: any) => {\n if (element.associatedCrates) {\n let productCrates = element.associatedCrates;\n\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n });\n }\n });\n } else {\n if (item.shippedQty > 0 && item.associatedCrates) {\n let productCrates = item.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n });\n }\n }\n });\n return crates;\n};\n\nexport const checkTerminalStatus = (deliveryStatus: string) => {\n return AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TERMINAL_STATUSES.indexOf(deliveryStatus) > -1;\n};\n\nexport const createPayloadToReleaseAssignee = (params: any) => {\n let payload: any = {};\n if (params) {\n payload.routeId = params;\n }\n return payload;\n};\n\nexport const createPayloadToMarkAddressUnverified = (consignment: any, address: any) => {\n const payload = {\n consignmentCode: consignment.consignmentCode,\n address: {\n status: ADDRESS_STATUS.UNVERIFIED,\n },\n };\n return payload;\n};\n\nexport const transformBundleData = (bundleProducts: BundleProduct[]): TransformedBundleProduct[] => {\n const transformedData: TransformedBundleProduct[] = [];\n\n bundleProducts.forEach((bundle: any) => {\n const unitBundle = bundle?.uom === \"Grams\" ? displayUnitGrams(bundle.uom) : \"\";\n const bundleObj: TransformedBundleProduct = {\n campaignId: bundle?.campaignId,\n bundleName: bundle?.name?.en,\n bundleShippedQty: bundle?.shippedQty,\n bundlePrice: bundle?.unitPrice,\n bundleRejectedQty: bundle?.rejectedQty,\n bundleProductQuantity: bundle?.quantity,\n bundleConstituents: [],\n reason: bundle?.reason,\n };\n\n if (bundle.items) {\n bundle.items.forEach((item: any) => {\n const unit = item?.uom === \"Grams\" ? displayUnitGrams(item.uom) : \"\";\n const constituent = {\n bundleProductName: item?.name?.en,\n bundleProductQuantity: `${item?.quantity} ${unit}`,\n bundleProductRejectedQty: item?.rejectedQty ? `${item?.rejectedQty} ${unit}` : \"-\",\n bundleProductShippedQty: `${item?.shippedQty || 0} ${unit}`,\n };\n bundleObj.bundleConstituents.push(constituent);\n });\n }\n\n transformedData.push(bundleObj);\n });\n\n return transformedData;\n};\nexport const isRouteStatusOutForDelivery = (status: string | undefined) => {\n return status === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.ORDER_STATUS.OUT_FOR_DELIVERY;\n};\n\ninterface RouteObject {\n id: string;\n routeId: string;\n parentRouteId?: string;\n subRoutes?: RouteObject[];\n // other fields...\n}\n\nexport const transformDataForSubRoutes = (response: any) => {\n const data = lastMilePlanningRoutesDataTransform(response);\n const result: RouteObject[] = [];\n const idToObjectMap = new Map(data.map((item: RouteObject) => [item.id, item]));\n data.forEach((item: Route) => {\n if (item.parentRouteId) {\n const parentObject = idToObjectMap.get(item.parentRouteId);\n if (parentObject) {\n if (!parentObject?.subRoutes) {\n parentObject.subRoutes = [];\n }\n parentObject.subRoutes.push(item);\n } else {\n result.push(item);\n }\n } else {\n result.push(item);\n }\n });\n return result;\n};\n\ninterface NameObj {\n ar: string;\n en: string;\n}\ninterface NameObj {\n ar: string;\n en: string;\n}\n\nexport const transformedDataViewRoute = (response: any) => {\n return response?.map((route: any) => {\n return {\n routeId: route?.routeId,\n displayStatus: route?.displayStatus,\n orders: route.orders.map((order: any) => {\n return {\n consignmentCode: order?.consignmentCode,\n routeType: route?.routeType,\n slotValue: order?.slotValue,\n metadata: {\n deliveryStatus: order?.deliveryStatus,\n paymentType: order?.paymentType,\n },\n deliveryInformation: {\n totalCratesCount: order?.totalCratesCount,\n customerContactInfo: {\n address: order?.address?.fullAddress,\n phone: order?.customerPhone,\n },\n },\n };\n }),\n };\n });\n};\n\nexport const getDeliveryExecutionStatusField = (fieldName: string, statusCode:string) =>{\n let statuses: any = AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DELIVERY_EXECUTION_STATUS;\n if(statusCode === \"ON-TIME\"){\n statuses[statusCode] = AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DELIVERY_EXECUTION_STATUS.ON_TIME;\n }\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n","\nimport {isEmpty} from 'lodash'; \n\nexport interface CrateQtyAndLocationInfo {\n crateId: string;\n locationCode: string;\n quantitiesPerCrate?: number | null;\n scanned: boolean;\n productsCountPerCrate: number | null;\n }\n\n export interface CrateIdToQuantityMapValue extends Partial {\n quantitiesPerCrate: number;\n }\n\n export interface AssociatedCrates {\n crateId: string;\n scanned: boolean;\n quantity: number;\n locationCode: string;\n qcStatus: any;\n qcReports: any;\n }\n\n export function isProductHasAssociatedCrates(\n product: any,\n ): boolean {\n return (\n product.hasOwnProperty('associatedCrates') &&\n product.associatedCrates.length > 0\n );\n }\n\n export function checkIfSubstitutedProduct(product: any): boolean {\n return (\n product.hasOwnProperty('substitutedProducts') &&\n !isEmpty(product.substitutedProducts)\n );\n }\n\n export function getSubstitutedProductsField(\n product: any,\n ): any {\n return product.substitutedProducts?.[0];\n }\n\n export function isOrderHasAssociatedCrates(\n order: any\n ): boolean {\n return (\n order.hasOwnProperty('associatedCrates') &&\n order.associatedCrates.length > 0\n );\n }\n export function getShippedProduct(\n product: any,\n ): any{\n const isSubstituteProduct = checkIfSubstitutedProduct(product);\n if (isSubstituteProduct) {\n return getSubstitutedProductsField(product);\n } else {\n return product;\n }\n }\n export function processProductLevelCrateInfo(\n products: any,\n ): any {\n const crateIdToQuantityMap = new Map();\n const crateToSKUsMap = new Map>();\n \n products.forEach((product:any) => {\n const shippedProduct = getShippedProduct(product);\n const hasAssociatedCrates = isProductHasAssociatedCrates(shippedProduct);\n \n if (hasAssociatedCrates) {\n shippedProduct.associatedCrates.forEach((crate:any) => {\n const currentQuantity =\n crateIdToQuantityMap.get(crate.crateId)?.quantitiesPerCrate || 0;\n \n crateIdToQuantityMap.set(crate.crateId, {\n quantitiesPerCrate: currentQuantity + crate.quantity,\n locationCode: crate.locationCode,\n scanned: crate.scanned,\n });\n \n if (!crateToSKUsMap.has(crate.crateId)) {\n crateToSKUsMap.set(crate.crateId, new Set());\n }\n \n const SKUs = crateToSKUsMap.get(crate.crateId);\n SKUs?.add(product.sku);\n });\n }\n });\n \n return Array.from(crateIdToQuantityMap.entries()).map(\n ([crateId, {quantitiesPerCrate, locationCode, scanned}]) => ({\n crateId,\n quantitiesPerCrate,\n locationCode,\n productsCountPerCrate: crateToSKUsMap.get(crateId)?.size, // Getting the count of unique SKUs\n scanned,\n }),\n );\n }\n\n function processOrderLevelCrateInfo(\n order: any,\n ): CrateQtyAndLocationInfo[] {\n if (!isOrderHasAssociatedCrates(order)) {\n return [];\n }\n \n return order.associatedCrates.map(({crateId, scanned, locationCode}:CrateQtyAndLocationInfo) => {\n return {\n crateId,\n locationCode,\n scanned,\n quantitiesPerCrate: null,\n };\n });\n }\n\n export function getCrateDetails(\n order: any,\n ): CrateQtyAndLocationInfo[] {\n const orderLevelInfo = processOrderLevelCrateInfo(order);\n const products = order?.products || []\n const bundledProductsCombined = order?.bundleProducts?.flatMap(\n ({items}:any) => items || [],\n ) || [];\n const productLevelAndBundleItemLevelProducts = processProductLevelCrateInfo([\n ...products,\n ...bundledProductsCombined,\n ]);\n return [...orderLevelInfo, ...productLevelAndBundleItemLevelProducts];\n }","import AppConstants from \"constants/AppConstants\";\n\nexport const addNRPageAction = (actionName: string, featureName: string) => {\n const env = process.env.REACT_APP_NEW_RELIC_ENV || \"unknown\";\n const fullActionName = `${actionName}-${env}`;\n \n if (window.newrelic) {\n window.newrelic.addPageAction(fullActionName, {\n featureName,\n country: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n username: sessionStorage.getItem(\"username\"),\n timestamp: Date.now(),\n });\n }\n};","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport moment from \"moment\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { PlanningOrderListState, BulkDeletedRouteInterface } from \"./planningSlice.types\";\nimport AppConstants from \"../../constants\";\nimport { transformSelectValues, saveFile } from \"../../utils/helpers.utils\";\nimport { getDropdownsData, getPlannedRoutesData, transformBundleData, transformedDataViewRoute } from \"../../mocks/routePlanning/response.transforms\";\nimport {getCrateDetails} from '../../utils/business/crate'\nimport { API_RESPONSE_STATUS } from \"../../constants/CommonConstants\";\nimport { addNRPageAction } from \"utils/newRelicUtils\";\n\nexport const fetchPlanningList = createAsyncThunk(\n \"RoutePlanning/FetchByCountry\",\n async (\n {\n requestContinuationToken,\n searchBy,\n searchValue,\n }: {\n requestContinuationToken?: string;\n searchBy: string;\n searchValue: string;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/${searchBy}/${searchValue}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n\n if (requestContinuationToken) {\n request.headers = {\n \"x-requestcontinuation-token\": requestContinuationToken,\n };\n }\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"RoutePlanning/FetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersRoutesDropdownValues = createAsyncThunk(\n \"RoutePlanning/FetchDynamicFiltersRoutesDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasons = createAsyncThunk(\n \"RoutePlanning/FetchDeliveryReasons\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `order/get-delivery-reasons/Default`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasonsCountryBased = createAsyncThunk(\n \"RoutePlanning/FetchDeliveryReasonsCountryBased\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `order/get-delivery-reasons/Default_Dispatcher`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"RoutePlanning/FetchOrdersByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchExpressSlotDropdownValues = createAsyncThunk(\n \"Common/FetchExpressSlotDropdownValues\",\n async (\n {\n countryCode\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `filter/all/${params}/EXP`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrderLogs = createAsyncThunk(\n \"RoutePlanning/FetchOrderLogs\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `logs/getOrderLogs?consignmentCode=${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true)\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchSlots= createAsyncThunk(\n \"RoutePlanning/FetchSlots\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `/slots/availableSlots`,\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, false , true , true,false , false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningRouteListByFilter = createAsyncThunk(\n \"RoutePlanning/FetchRoutesByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllDrivers = createAsyncThunk(\n \"RoutePlanning/FetchAllDrivers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/drivers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllHelpers = createAsyncThunk(\n \"RoutePlanning/FetchAllHelpers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/helpers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllVehicles = createAsyncThunk(\n \"RoutePlanning/FetchAllVehicles\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'vehicle/load',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createDraftRoute = createAsyncThunk(\n \"RoutePlanning/CreateDraftRoute\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/create',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const loadAllSlots = createAsyncThunk(\n \"RoutePlanning/LoadAllSlots\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/load/slots',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const consignmentReplanning = createAsyncThunk(\n \"RoutePlanning/ConsignmentReplanning\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/replanning',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const replanDuringPartialRejection = createAsyncThunk(\n \"RoutePlanning/ReplanAndPartialRejection\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'v2/order/replan-order-line-items',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const fetchAllPlannedRoutes = createAsyncThunk(\n \"RoutePlanning/FetchAllPlannedRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/view',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createAndEditRoute = createAsyncThunk(\n \"RoutePlanning/CreateAndEditRoute\",\n async (\n {\n payload,\n editMode\n }: {\n payload: any,\n editMode: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/edit',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const discardRouteChanges = createAsyncThunk(\n \"RoutePlanning/DiscardRouteChanges\",\n async (\n {\n params,\n redirect\n }: {\n params: any,\n redirect?: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/discard',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const publishRoutes = createAsyncThunk(\n \"RoutePlanning/PublishRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/publish',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const deleteRoute = createAsyncThunk(\n \"RoutePlanning/DeleteRoute\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/delete',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\n\nexport const bulkDeleteRoute = createAsyncThunk(\n \"RoutePlanning/BulkDeleteRoute\",\n async (\n {\n payload\n }: {\n payload: BulkDeletedRouteInterface\n },\n { rejectWithValue }\n ) => {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.BULK_DELETE);\n \n try {\n const request = {\n url: 'v2/route/delete',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateConsignmentStatus = createAsyncThunk(\n \"RoutePlanning/UpdateOrderStatus\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/updateRouteStatus',\n method: EApiMiddlewareMethods.PUT,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"RoutePlanning/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRoutesFilterChipsDisplayCount = createAsyncThunk(\n \"RoutePlanning/FetchRoutesFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteConsignments = createAsyncThunk(\n \"RoutePlanning/FetchRouteConsignments\",\n async ({\n id\n }: {\n id: string\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `route/get-consignments-by-route/${id}`,\n method: EApiMiddlewareMethods.POST,\n data: {}\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"RoutePlanning/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/order',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportRoutesToExcel = createAsyncThunk(\n \"RoutePlanning/ExportRoutesToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/route',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportInvoicePdf = createAsyncThunk(\n \"RoutePlanning/ExportInvoicePdf\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/view-invoice',\n method: EApiMiddlewareMethods.POST,\n data: params,\n responseType: \"bytes\"\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchSubRouteById = createAsyncThunk(\n \"RoutePlanning/FetchSubRouteById\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n const {routeId, fetchOrders} = params\n try {\n const request = {\n url: `/route/sub-routes?parentRouteId=${routeId}&fetchOrders=${fetchOrders}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrderById = createAsyncThunk(\n \"RoutePlanning/FetchOrderById\",\n async (\n {\n id\n }: {\n id: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `/order/${id}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllPlannedRoutesNew = createAsyncThunk(\"RoutePlanning/FetchAllPlannedRoutesNew\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: \"route/planned-route\",\n method: EApiMiddlewareMethods.POST,\n data: payload,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n// export const clearPlanningStateValue = createAsyncThunk(\"RoutePlanning/ClearPlanningState\", (\n// {\n// params\n// }:\n// {\n// params: any\n// }\n// ) => {\n// return params.value;\n// });\n\nexport const updateAllConsignmentsState = createAsyncThunk(\"RoutePlanning/UpdateAllConsignmentsState\", ({\n consignments\n}: {\n consignments: any\n}) => {\n return consignments;\n});\n\nexport const clearPublishedRoutesErrors = createAsyncThunk(\"RoutePlanning/ClearPublishedRoutesErrors\", () => {\n return [];\n});\n\nexport const clearPublishedRoutes = createAsyncThunk(\"RoutePlanning/ClearPublishedRoutes\", () => {\n return [];\n});\n\nexport const resetPlanningError = createAsyncThunk(\"RoutePlanning/ResetPlanningError\", () => {\n return \"\";\n});\n\nexport const clearUpdatedRoute = createAsyncThunk(\"RoutePlanning/ClearUpdatedRoute\", () => {\n return null;\n});\n\nexport const clearDeletedRoute = createAsyncThunk(\"RoutePlanning/ClearDeletedRoute\", () => {\n return null;\n});\n\nexport const clearBulkDeletedRoute = createAsyncThunk(\"RoutePlanning/clearBulkDeletedRoute\", () => {\n return null;\n});\n\nexport const resetCreateRouteSuccess = createAsyncThunk(\"RoutePlanning/ResetCreateRouteSuccess\", () => {\n return false;\n});\n\nexport const resetDraftRoute = createAsyncThunk(\"RoutePlanning/ResetDraftRoute\", () => {\n return {};\n});\n\nexport const resetConsignmentReplanningSuccess = createAsyncThunk(\"RoutePlanning/ResetConsignmentReplanningSuccess\", () => {\n return false;\n});\n\nexport const clearCurrentSlot = createAsyncThunk(\"RoutePlanning/ClearCurrentSlot\", () => {\n return null;\n});\nexport const resetAddressupdateStatus = createAsyncThunk(\"Planning/resetAddressupdateStatus\", () => {\n return false;\n});\n\nexport const resetPlanningData = createAsyncThunk(\"Planning/resetPlanningData\", () => {\n return false;\n});\n\nexport const resetViewRouteState = createAsyncThunk(\"Planning/resetViewRouteState\", () => {\n return [];\n});\n\nexport const resetRouteConsignmentsState = createAsyncThunk(\"Planning/resetRouteConsignmentsState\", () => {\n return [];\n});\n\nexport const resetSubrouteState = createAsyncThunk(\"Planning/resetSubrouteState\", () => {\n return [];\n});\n\nexport const fetchConsignmentHistoryAndProducts = createAsyncThunk(\n \"ConsignmentDetails/FetchConsignmentHistoryAndProducts\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `v2/order/statusHistoryProducts/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchStatusOnClick = createAsyncThunk(\n \"ConsignmentDetails/FetchStatusOnClick\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `delayedUpdates/fetch/snapshot/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, false, false, false, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getCratesInfo = createAsyncThunk(\n \"ConsignmentDetails/getCratesInfo\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/updateCratesAlectoApi`,\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getAddressStatus = createAsyncThunk(\n \"ConsignmentDetails/getAddressStatus\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/update-delivery-address',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"Planning/CloseDialog\", () => {\n return false;\n});\n\nexport const resetStatusRefreshButton = createAsyncThunk(\"Planning/resetStatusRefreshButton\", () => {\n return false;\n});\n\nexport const resetReplanningSuccess = createAsyncThunk(\"Planning/ResetReplanningSuccess\", () => {\n return false;\n});\n\nexport const fetchOrderDeliveryStatuses = createAsyncThunk(\n \"RoutePlanning/fetchOrderDeliveryStatuses\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statuses/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRejectionReasons = createAsyncThunk(\n \"CarrefourDelivery/FetchRejectionReasons\",\n async (\n {\n countryCode\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `order/get-lineitem-rejection-reasons/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRefreshedDataForPCNotReceived = createAsyncThunk(\n \"RoutePlanning/FetchRefreshedDataForPCNotReceived\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/snapshot/consignmentCode/${params}`,\n method: EApiMiddlewareMethods.PUT,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const releaseAssignee = createAsyncThunk(\n \"RoutePlanning/ReleaseAssignee\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/release',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getDriverMarkerApi = createAsyncThunk(\"RoutePlanning/getDriverMarkerApi\", async ({ params }: { params: any }, { rejectWithValue }) => {\n try {\n const request = { url: \"assignee/locations\", method: EApiMiddlewareMethods.POST, data: params } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data?.results;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nconst initialState: PlanningOrderListState = {\n loading: false,\n tableLoading: false,\n fetchStatus: API_RESPONSE_STATUS.IDLE,\n invoiceData: \"\",\n invoiceUrl: \"\",\n displayInvoice: false,\n invoiceMessage: \"\",\n invoiceConsignment: \"\",\n exportError: \"\",\n cratesFromAlecto: \"\",\n productsListFromAlecto: [],\n orderLogs: [],\n bundleProductList:[],\n ordersFilterChipsDisplayCount: {\n consignmentCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n routesFilterChipsDisplayCount: {\n routCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n ordersFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n deliveryAreaList: [],\n addressStatusList: [],\n deliveryZonesList: [],\n vendorList: [],\n typeList: [],\n deliverySlotList: [],\n statusList: [],\n paymentTypeList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeIdList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n undeliveredReasonList: [],\n executionStatusList: []\n },\n routesFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n routeIdList: [],\n deliveryAreaList: [],\n deliverySlotList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n createdByList: []\n },\n reasonsDropdownList: [],\n deliveryReasons: {},\n ordersData: {\n elements: [],\n pageNumber: 0\n },\n routesData: {\n elements: [],\n pageNumber: 0\n },\n subRoutes:[],\n error: \"\",\n errorCode: \"\",\n draftRoute: {},\n plannedRoutes: {},\n plannedRoutesNew: {},\n slotwisePlannedRoutes: [],\n areawiseConsignments: [],\n slotwiseConsignments: {},\n allConsignments: [],\n routeConsignments: [],\n driversList: [],\n helpersList: [],\n vehiclesList: [],\n slotsList: [],\n zoneList:[],\n consignmentStatusList: [],\n currentSlot: null,\n routeCreateSuccess: false,\n updatedRoute: null,\n routeDiscardSuccess: false,\n publishedRoutesErrors: [],\n publishedRoutes: [],\n replanningConsignmentSuccess: false,\n deletedRoute: null,\n bulkDeletedRoute: null,\n excelLoading: false,\n consignmentStatuses: [],\n productsList: [],\n orderLevelCrateInfo: [],\n consignmentDataAfterReplanning: {},\n deliverySlotListExpress: [],\n orderDeliveryStatuses: [],\n rejectionReasonList: [],\n rejectionReasons: {},\n refreshedConsFromSnapshotService: {},\n productsAfterUpdateLineItem: [],\n isPolled: false,\n consignmentIdForPolledStatus: '',\n polledConsignmentOmsData: {},\n revisedAmountAfterCalculation: \"\",\n calculateConsignmentSuccess: false,\n isReleaseAssignee: false,\n releaseMessage: \"\",\n consignmentDataAfterAddressUpdate: {},\n isAddressUpdated: false,\n availableSlots: [],\n crateInfo:[],\n driverLocationData: {},\n bundleProductAfterUpdateLineItem: [],\n order: {}\n};\n\nconst timerStart = () => {\n let counter = 60\n setTimeout(() => counter - 1, 1000);\n return counter\n}\n\nconst routePlanningSlice = createSlice({\n name: \"RoutePlanning\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchPlanningList.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningList.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersData = payload;\n })\n .addCase(fetchPlanningList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = false;\n state.ordersFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n addressStatusList: transformSelectValues(payload.addressStatuses || []),\n deliveryZonesList: transformSelectValues(payload.deliveryZones || []),\n vendorList: transformSelectValues(payload.vendors || []),\n typeList: transformSelectValues(payload.types || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n statusList: transformSelectValues(payload.statuses || []),\n paymentTypeList: transformSelectValues(payload.paymentTypes || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n undeliveredReasonList: transformSelectValues(payload.undeliveredReasons || []),\n executionStatusList: transformSelectValues(payload.executionStatus || []),\n };\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n\n .addCase(fetchDynamicFiltersRoutesDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n createdByList: transformSelectValues(payload.createdBy || [])\n };\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDeliveryReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n if (payload.reasons) {\n deliveryReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.reasons;\n })\n .addCase(fetchDeliveryReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(resetPlanningData.fulfilled , (state) => {\n state.reasonsDropdownList = []\n state.deliveryReasons={}\n })\n .addCase(fetchDeliveryReasonsCountryBased.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasonsCountryBased.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n if (payload.reasons) {\n deliveryReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.reasons;\n })\n .addCase(fetchDeliveryReasonsCountryBased.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = false;\n state.isAddressUpdated = false;\n state.ordersFilterChipsDisplayCount = payload;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFilterChipsDisplayCount = payload;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllDrivers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllDrivers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversData = payload;\n const drivers = getDropdownsData(payload);\n state.driversList = transformSelectValues(drivers);\n })\n .addCase(fetchAllDrivers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllHelpers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllHelpers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.helpersData = payload;\n const helpers = getDropdownsData(payload);\n state.helpersList = transformSelectValues(helpers);\n })\n .addCase(fetchAllHelpers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllVehicles.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllVehicles.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vehiclesData = payload;\n const vehicles = getDropdownsData(payload);\n state.vehiclesList = transformSelectValues(vehicles);\n })\n .addCase(fetchAllVehicles.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(loadAllSlots.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(loadAllSlots.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.slotwisePlannedRoutes = [];\n state.slotsData = payload;\n state.currentSlot = payload.currentSlot && payload.currentSlot.length ? payload.currentSlot[0] : {};\n state.slotsList = transformSelectValues(payload.allSlots);\n state.zoneList = transformSelectValues(payload.deliveryZones);\n })\n .addCase(loadAllSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.currentSlot = null;\n state.slotsList = [];\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllPlannedRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllPlannedRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.plannedRoutes = payload;\n state.slotwisePlannedRoutes = getPlannedRoutesData(payload.allRoutes);\n })\n .addCase(fetchAllPlannedRoutes.rejected, (state, action) => {\n state.loading = false;\n state.plannedRoutes = {};\n state.slotwisePlannedRoutes = [];\n })\n .addCase(fetchOrderLogs.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrderLogs.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderLogs = payload.results.logs || [];\n })\n .addCase(fetchOrderLogs.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchSlots.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchSlots.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.availableSlots = payload?.data\n })\n .addCase(fetchSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n\n .addCase(createDraftRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.draftRoute = {};\n })\n .addCase(createDraftRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.slotwisePlannedRoutes = [];\n state.draftRoute = payload;\n state.consignmentStatusList = transformSelectValues(payload.deliveryStatuses || []);\n sessionStorage.setItem('routeId', payload.route && payload.route.id);\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createDraftRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n if (!params.editMode) {\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n }\n })\n .addCase(consignmentReplanning.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(consignmentReplanning.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = true;\n \n state.consignmentDataAfterReplanning = payload;\n })\n .addCase(consignmentReplanning.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.replanningConsignmentSuccess = false;\n })\n .addCase(createAndEditRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createAndEditRoute.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n state.loading = false;\n if (editMode) {\n state.updatedRoute = payload;\n } else {\n state.routeCreateSuccess = true;\n }\n state.currentSlot = null;\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createAndEditRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (editMode) {\n state.updatedRoute = null;\n } else {\n state.routeCreateSuccess = false;\n }\n })\n .addCase(discardRouteChanges.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(discardRouteChanges.fulfilled, (state, action) => {\n const {\n meta: {\n arg: { redirect }\n }\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeDiscardSuccess = true;\n state.draftRoute = {};\n state.currentSlot = null;\n if (!redirect) {\n sessionStorage.setItem('routeId', '');\n }\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(discardRouteChanges.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeDiscardSuccess = false;\n })\n .addCase(publishRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = [];\n })\n .addCase(publishRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.publishErrorDto && payload.publishErrorDto.length) {\n state.publishedRoutesErrors = payload.publishErrorDto;\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n } else {\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n }\n })\n .addCase(publishRoutes.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.publishedRoutes = [];\n state.publishedRoutesErrors = [];\n })\n .addCase(deleteRoute.pending, (state) => {\n state.bulkDeletedRoute = null;\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(deleteRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.deletedRoute = payload;\n })\n .addCase(deleteRoute.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.deletedRoute = null;\n })\n .addCase(bulkDeleteRoute.pending, (state) => {\n state.deletedRoute = null;\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(bulkDeleteRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.bulkDeletedRoute = payload;\n })\n .addCase(bulkDeleteRoute.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.BULK_DELETE_ERROR_MSG\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.bulkDeletedRoute = null;\n })\n .addCase(updateConsignmentStatus.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.fulfilled, (state, action) => {\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(resetAddressupdateStatus.fulfilled , (state) => {\n state.isAddressUpdated = false\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = false;\n state.isAddressUpdated = false;\n if(state.isPolled && state.consignmentIdForPolledStatus){\n state.polledConsignmentOmsData = payload.elements.find((x:any) => x.id === state.consignmentIdForPolledStatus);\n }\n state.ordersData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.ordersData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningRouteListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningRouteListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.routesData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningRouteListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteConsignments.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRouteConsignments.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeConsignments = payload;\n })\n .addCase(fetchRouteConsignments.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n // .addCase(clearPlanningStateValue.fulfilled, (state, action) => {\n // const {\n // payload,\n // meta: {\n // arg: { params }\n // }\n // } = action;\n // const stateKey: string = params.stateKey || \"\";\n // state = { ...state, [stateKey]: payload };\n // })\n .addCase(updateAllConsignmentsState.fulfilled, (state, action) => {\n const { payload } = action;\n state.areawiseConsignments = payload.areaWiseConsignments;\n state.slotwiseConsignments = payload.slotwiseConsignments;\n state.allConsignments = payload.allConsignments;\n state.loading = payload.loading;\n state.error = \"\";\n })\n .addCase(clearPublishedRoutesErrors.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = payload;\n })\n .addCase(clearPublishedRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutes = payload;\n })\n .addCase(resetPlanningError.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = payload;\n state.error = payload;\n })\n .addCase(clearUpdatedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.updatedRoute = payload;\n state.routeDiscardSuccess = false;\n })\n .addCase(clearDeletedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.deletedRoute = payload;\n })\n .addCase(clearBulkDeletedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.bulkDeletedRoute = payload;\n })\n .addCase(clearCurrentSlot.fulfilled, (state, action) => {\n const { payload } = action;\n state.currentSlot = payload;\n })\n .addCase(resetViewRouteState.fulfilled, (state, action) => {\n const { payload } = action;\n state.subRoutes = payload;\n })\n .addCase(resetCreateRouteSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.routeCreateSuccess = payload;\n })\n .addCase(resetDraftRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.draftRoute = payload;\n })\n .addCase(resetConsignmentReplanningSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.replanningConsignmentSuccess = payload;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Consignments_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportRoutesToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportRoutesToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Routes_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportRoutesToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.exportError = errorPayload.status;\n })\n .addCase(exportInvoicePdf.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(exportInvoicePdf.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n const data = payload.Invoices && payload.Invoices.length ? payload.Invoices[0] : [];\n state.invoiceConsignment = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].ConsignmentNo : \"\";\n state.displayInvoice = payload.Invoices && payload.Invoices.length;\n if(data?.FileUrl){\n state.invoiceUrl = data?.FileUrl\n }\n else if(data?.FileDataBytes){\n const pdfData = `data:application/pdf;base64,${data.FileDataBytes}`;\n state.invoiceData = pdfData ;\n }\n state.invoiceMessage = payload.Message;\n })\n .addCase(exportInvoicePdf.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistoryAndProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistoryAndProducts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.productsAfterUpdateLineItem = [];\n state.bundleProductAfterUpdateLineItem = [];\n state.consignmentStatuses = payload.statuses && payload.statuses.length ? payload.statuses : [];\n state.crateInfo = getCrateDetails(payload)\n state.productsList = payload.products && payload.products.length ? payload.products : [];\n //state.bundleProductList = transformBundleData(Demo);\n state.bundleProductList = payload?.bundleProducts?.length ? transformBundleData(payload?.bundleProducts) : [];\n state.orderLevelCrateInfo = payload.associatedCrates && payload.associatedCrates.length ? payload.associatedCrates : [];\n state.orderLogs = [];\n })\n .addCase(fetchConsignmentHistoryAndProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchStatusOnClick.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchStatusOnClick.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isPolled = payload.polled;\n state.consignmentIdForPolledStatus = payload.consignmentCode\n })\n .addCase(fetchStatusOnClick.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getCratesInfo.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getCratesInfo.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cratesFromAlecto = payload;\n state.productsListFromAlecto = payload && payload.crateAvailableOrders && payload.crateAvailableOrders.length > 0 && payload.crateAvailableOrders[0].products && payload.crateAvailableOrders[0].products.length > 0 ? payload.crateAvailableOrders[0].products : null;\n })\n .addCase(getCratesInfo.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.consignmentDataAfterReplanning = {};\n state.consignmentDataAfterAddressUpdate = {};\n state.isPolled = false\n state.consignmentIdForPolledStatus = \"\"\n state.polledConsignmentOmsData = {}\n })\n .addCase(resetStatusRefreshButton.fulfilled, (state, action) => {\n state.isPolled = false\n })\n .addCase(resetReplanningSuccess.fulfilled, (state, action) => {\n state.replanningConsignmentSuccess = false\n })\n .addCase(fetchExpressSlotDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchExpressSlotDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n let deliverySlotListExp: any = {};\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotListExp[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n state.deliverySlotListExpress = deliverySlotListExp;\n })\n .addCase(fetchExpressSlotDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrderDeliveryStatuses.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrderDeliveryStatuses.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderDeliveryStatuses = transformSelectValues(payload.statuses && payload.statuses.length ? payload.statuses : []);\n })\n .addCase(fetchOrderDeliveryStatuses.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRejectionReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRejectionReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let rejectionReasonsList: any = [];\n if (payload.reasons) {\n rejectionReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.rejectionReasonList = transformSelectValues(rejectionReasonsList);\n state.rejectionReasons = payload.reasons;\n })\n .addCase(fetchRejectionReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(replanDuringPartialRejection.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(replanDuringPartialRejection.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.revisedAmountAfterCalculation = payload && payload.metadata && payload.metadata.collectedAmount ? payload.metadata.collectedAmount : \"\";\n state.calculateConsignmentSuccess = true;\n state.productsAfterUpdateLineItem = payload && payload.products;\n state.bundleProductAfterUpdateLineItem = payload?.bundleProducts?.length && transformBundleData(payload?.bundleProducts)\n state.consignmentDataAfterReplanning = payload;\n state.replanningConsignmentSuccess = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(replanDuringPartialRejection.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.replanningConsignmentSuccess = false;\n })\n .addCase(fetchRefreshedDataForPCNotReceived.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRefreshedDataForPCNotReceived.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.refreshedConsFromSnapshotService = payload;\n })\n .addCase(fetchRefreshedDataForPCNotReceived.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.replanningConsignmentSuccess = false;\n })\n .addCase(releaseAssignee.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(releaseAssignee.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload) {\n state.isReleaseAssignee = true;\n state.releaseMessage = payload && payload.message;\n }\n })\n .addCase(releaseAssignee.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.isReleaseAssignee = false;\n state.releaseMessage = \"\";\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getAddressStatus.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getAddressStatus.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.consignmentDataAfterAddressUpdate = payload;\n state.isAddressUpdated = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getAddressStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getDriverMarkerApi.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.driverLocationData = {};\n })\n .addCase(getDriverMarkerApi.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driverLocationData = payload;\n })\n .addCase(getDriverMarkerApi.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchSubRouteById.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.subRoutes = [];\n })\n .addCase(fetchSubRouteById.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.subRoutes = transformedDataViewRoute(payload);\n })\n .addCase(fetchSubRouteById.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrderById.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.order = {};\n })\n .addCase(fetchOrderById.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.order = payload;\n })\n .addCase(fetchOrderById.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllPlannedRoutesNew.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.plannedRoutesNew = {};\n })\n .addCase(fetchAllPlannedRoutesNew.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.plannedRoutesNew = payload;\n })\n .addCase(fetchAllPlannedRoutesNew.rejected, (state, action) => {\n const { payload } : any = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload?.message;\n }) \n .addCase(resetRouteConsignmentsState.fulfilled, (state, action) => {\n const { payload } = action;\n state.routeConsignments = payload;\n }) \n .addCase(resetSubrouteState.fulfilled, (state, action) => {\n const { payload } = action;\n state.subRoutes = payload;\n }) \n },\n});\n\nexport default routePlanningSlice.reducer;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.6875 17.8586H2.8501C3.06323 19.1218 4.15698 20.0464 5.43774 20.0464C6.71875 20.0464 7.8125 19.1218 8.02563 17.8586H15.9751C16.1882 19.1218 17.282 20.0464 18.5627 20.0464C19.8438 20.0464 20.9375 19.1218 21.1506 17.8586H22.3125C23.2441 17.8577 23.999 17.1028 24 16.1711V10.5732C24 10.5696 23.9995 10.5659 23.9995 10.5623C23.9995 10.5544 23.9988 10.5464 23.9983 10.5386C23.9978 10.532 23.9971 10.5251 23.9961 10.5186C23.9954 10.5117 23.9941 10.5039 23.9929 10.4966C23.9917 10.4893 23.9902 10.4827 23.9888 10.4758C23.9873 10.469 23.9854 10.4619 23.9834 10.4551C23.9814 10.4482 23.9795 10.4414 23.9771 10.4346C23.9749 10.4277 23.9724 10.4211 23.9697 10.4146C23.9673 10.408 23.9646 10.4014 23.9617 10.3948C23.9587 10.3884 23.9553 10.3818 23.9524 10.3755C23.9492 10.3691 23.946 10.363 23.9421 10.3569C23.9385 10.3506 23.9351 10.3447 23.9314 10.3389C23.9275 10.3328 23.9231 10.3262 23.9187 10.3201C23.9146 10.3137 23.9109 10.3091 23.9067 10.304C23.9019 10.2976 23.8967 10.2913 23.8916 10.2856C23.8892 10.2827 23.887 10.28 23.8845 10.2773L20.665 6.76929C20.345 6.42163 19.8943 6.22339 19.4216 6.2229H13.5925V1.6875C13.5913 0.755859 12.8364 0.0012207 11.905 0H1.6875C0.755859 0.000976562 0.000976562 0.755859 0 1.6875V16.1711C0.000976562 17.1028 0.755859 17.8577 1.6875 17.8586ZM5.4375 19.1711C4.47095 19.1711 3.6875 18.3877 3.6875 17.4211C3.6875 16.4548 4.47095 15.6711 5.4375 15.6711C6.40405 15.6711 7.1875 16.4548 7.1875 17.4211C7.18628 18.3872 6.40356 19.1702 5.4375 19.1711ZM18.5625 19.1711C17.5959 19.1711 16.8125 18.3877 16.8125 17.4211C16.8125 16.4548 17.5959 15.6711 18.5625 15.6711C19.5291 15.6711 20.3125 16.4548 20.3125 17.4211C20.3113 18.3872 19.5286 19.1702 18.5625 19.1711ZM23.125 16.1711C23.1245 16.6199 22.761 16.9832 22.3125 16.9836H21.1499C20.9368 15.7207 19.843 14.7961 18.5623 14.7961C17.2812 14.7961 16.1875 15.7207 15.9744 16.9836H13.5925V11.0107H23.125V16.1711ZM19.4216 7.09814C19.6492 7.09839 19.8662 7.19385 20.0203 7.36133L22.5671 10.1362H13.592V7.09814H19.4216ZM0.875 1.6875C0.875488 1.23901 1.23901 0.875488 1.6875 0.875H11.905C12.3535 0.875488 12.7168 1.23901 12.7175 1.6875V16.9836H8.02539C7.81201 15.7207 6.71826 14.7961 5.4375 14.7961C4.15674 14.7961 3.06299 15.7207 2.84961 16.9836H1.6875C1.23901 16.9832 0.875488 16.6199 0.875 16.1711V1.6875Z\",\n fill: \"#1F1F1F\"\n});\n\nvar SvgStandardDeliveryIcon = function SvgStandardDeliveryIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 21,\n viewBox: \"0 0 24 21\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStandardDeliveryIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/standard-delivery-icon.135f65fa.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 12.0859V18.4995C4.5 18.6985 4.57902 18.8892 4.71967 19.0299C4.86032 19.1705 5.05109 19.2495 5.25 19.2495H18.75C18.9489 19.2495 19.1397 19.1705 19.2803 19.0299C19.421 18.8892 19.5 18.6985 19.5 18.4995V12.0861\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.06573 2.75H18.9343C19.0973 2.75 19.2558 2.80309 19.3859 2.90124C19.516 2.99939 19.6106 3.13725 19.6554 3.29396L21 8H3L4.34458 3.29396C4.38936 3.13725 4.48396 2.99939 4.61408 2.90124C4.7442 2.80309 4.90274 2.75 5.06573 2.75Z\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 8V9.5C9 10.2956 8.68393 11.0587 8.12132 11.6213C7.55871 12.1839 6.79565 12.5 6 12.5C5.20435 12.5 4.44129 12.1839 3.87868 11.6213C3.31607 11.0587 3 10.2956 3 9.5V8\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 8V9.5C15 10.2956 14.6839 11.0587 14.1213 11.6213C13.5587 12.1839 12.7956 12.5 12 12.5C11.2044 12.5 10.4413 12.1839 9.87868 11.6213C9.31607 11.0587 9 10.2956 9 9.5V8\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 8V9.5C21 10.2956 20.6839 11.0587 20.1213 11.6213C19.5587 12.1839 18.7956 12.5 18 12.5C17.2044 12.5 16.4413 12.1839 15.8787 11.6213C15.3161 11.0587 15 10.2956 15 9.5V8\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgOfflineDeliveryIcon = function SvgOfflineDeliveryIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOfflineDeliveryIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/offline-delivery-icon.019e74a1.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 10.75V5.25C3.75 5.05109 3.82902 4.86032 3.96967 4.71967C4.11032 4.57902 4.30109 4.5 4.5 4.5H19.5C19.6989 4.5 19.8897 4.57902 20.0303 4.71967C20.171 4.86032 20.25 5.05109 20.25 5.25V10.75C20.25 18.6264 13.5651 21.236 12.2303 21.6785C12.0811 21.7298 11.9189 21.7298 11.7697 21.6785C10.4349 21.236 3.75 18.6264 3.75 10.75Z\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.125 9.75L10.625 15L7.875 12.375\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgDelveIcon = function SvgDelveIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDelveIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/delve-icon.65aef513.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.9916 8.65422C16.5589 8.60013 16.1533 8.65422 15.7746 8.78944L15.5132 8.24855C15.8828 8.10431 16.2705 8.0322 16.6761 8.0322C17.4694 8.0322 18.2357 8.32067 18.8307 8.84353C18.9298 8.93368 19.0741 8.96072 19.1913 8.8886C19.3806 8.78042 19.3896 8.53703 19.2454 8.4018C18.5422 7.77978 17.6317 7.43722 16.6851 7.43722C16.5409 7.43722 16.4057 7.44623 16.2614 7.46426L13.9987 4.07469V2.37991C13.9987 2.21764 13.8635 2.08242 13.7012 2.08242H12.5113L11.5828 0.162267C11.5287 0.0631037 11.4205 0 11.3123 0H10.1314C10.0052 0 9.87897 0.0811333 9.83389 0.198326C9.77079 0.405666 9.92404 0.594977 10.1133 0.594977H11.114L11.8352 2.08242H11.2943C11.132 2.08242 10.9968 2.21764 10.9968 2.37991V4.16484C10.9968 4.24598 11.0329 4.32711 11.0869 4.3812C12.5383 5.80554 12.4842 8.01417 12.4842 8.0322V8.04121C12.5113 9.02383 11.6729 9.82614 10.6903 9.82614H8.68C7.81457 9.82614 7.03029 9.22215 6.86802 8.36574C6.66969 7.25692 7.51708 6.27431 8.58985 6.25628C9.00453 6.24726 9.39217 5.99485 9.49133 5.58918C9.63556 4.9942 9.19384 4.46233 8.62591 4.46233H2.11721C1.6845 4.46233 1.29687 4.7508 1.20672 5.16549C1.08953 5.74243 1.53125 6.24726 2.08116 6.24726H2.5319C1.27884 7.04057 0.719919 8.14939 0.467504 9.04185C0.124941 10.2679 0.287208 11.3136 0.296223 11.3587C0.323267 11.5029 0.44046 11.6111 0.593711 11.6111H1.50421C1.65746 12.9453 2.79332 13.991 4.17259 13.991C5.55186 13.991 6.68772 12.9453 6.83196 11.6111H13.1063C13.2685 11.6111 13.4038 11.4759 13.4038 11.3136C13.4038 10.1597 14.0168 9.10496 14.9813 8.50998L15.2428 9.05087C14.4044 9.58274 13.8725 10.5834 14.0168 11.6742C14.179 12.8641 15.1346 13.8197 16.3155 13.973C18.0644 14.1983 19.5428 12.7289 19.3265 10.98C19.1822 9.77205 18.1996 8.79846 16.9916 8.65422ZM11.6098 2.6774H12.322H13.3947V3.87637H11.6098V2.6774ZM2.08116 5.6613C1.88283 5.6613 1.72958 5.47199 1.8017 5.26465C1.83776 5.13844 1.96396 5.06632 2.09017 5.06632H8.61689C8.7431 5.06632 8.86931 5.13844 8.91438 5.26465C8.97748 5.47199 8.82423 5.6613 8.63492 5.6613H2.08116ZM4.16358 13.405C3.11786 13.405 2.24342 12.6297 2.09918 11.6201H6.22797C6.08373 12.6207 5.20929 13.405 4.16358 13.405ZM15.0625 7.79781C13.7824 8.38377 12.926 9.62782 12.8178 11.0251H1.1977C1.35096 9.51964 2.62204 8.34771 4.16358 8.34771H6.246C6.25501 8.34771 6.25501 8.34771 6.26403 8.34771C6.40826 9.51964 7.41792 10.4391 8.62591 10.4391H10.7083C12.0155 10.4391 13.0882 9.3754 13.0882 8.05924C13.0882 7.915 13.1153 6.02189 11.9524 4.48036H13.5209L15.6034 7.6085C15.4231 7.64456 15.2428 7.71668 15.0625 7.79781ZM16.3967 13.387C15.4681 13.2698 14.7199 12.5216 14.6027 11.593C14.4945 10.7637 14.8822 10.0155 15.4952 9.59176L16.3967 11.4488C16.4508 11.557 16.5499 11.6201 16.6671 11.6201C16.7392 11.6201 16.8204 11.593 16.8835 11.5299C16.9736 11.4398 16.9916 11.2956 16.9285 11.1784L16.0271 9.33033C16.3065 9.24018 16.613 9.20412 16.9285 9.2492C17.8661 9.36639 18.6143 10.1236 18.7315 11.0612C18.9028 12.4134 17.7579 13.5583 16.3967 13.387Z\",\n fill: \"#1F1F1F\"\n});\n\nvar SvgBike = function SvgBike(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 14,\n viewBox: \"0 0 20 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBike, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bike.d61c1fb9.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { useStyles } from \"./Header.styles\";\nimport { AppBar, Avatar, Collapse, Drawer, IconButton, Link, List, ListItem, ListItemIcon, ListItemText, SvgIcon, Toolbar, Typography } from \"@material-ui/core\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport { Link as RouterLink, useHistory, withRouter } from \"react-router-dom\";\nimport { ReactComponent as wingsLogo } from \"./../../assets/icons/wings-logo.svg\";\nimport { ReactComponent as planningLogoIcon } from \"./../../assets/icons/delivery-icon.svg\";\nimport { ReactComponent as usersNavLogoIcon } from \"./../../assets/icons/users-icon.svg\";\nimport { ReactComponent as dashboardIcon } from \"./../../assets/icons/dashboard-icon-bars.svg\";\nimport { ReactComponent as hubsIcon } from \"./../../assets/icons/hubs-icon.svg\";\nimport { ReactComponent as fleetIcon } from \"./../../assets/icons/fleet-icon.svg\";\nimport { ReactComponent as trackingIcon } from \"./../../assets/icons/tracking-icon.svg\";\nimport { ReactComponent as adminstrationIcon } from \"./../../assets/icons/admin-logo-icon.svg\";\nimport { ReactComponent as delveIcon } from \"./../../assets/icons/circle-wavy-check-delve.svg\";\nimport { ReactComponent as downArrowIcon } from \"./../../assets/icons/down-arrow-icon.svg\";\nimport { ReactComponent as rightArrowIcon } from \"./../../assets/icons/right-arrow-icon.svg\";\nimport { ReactComponent as codReconIcon } from \"./../../assets/icons/cod-recon-icon.svg\";\nimport { ReactComponent as allOrdersIcon } from \"./../../assets/icons/all-orders-icon.svg\";\nimport { ReactComponent as DotsThreeOutlineIcon } from \"./../../assets/icons/DotsThreeOutline.svg\";\nimport PersonIcon from \"@material-ui/icons/Person\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { userLogout } from \"../../Login/redux/loginSlice\";\nimport AppConstants from \"../../constants\";\nimport SelectBox, { SelectItemProps } from \"../SelectBox\";\nimport SearchableMultipleDropdown from \"../SearchableMultipleDropdown/index\";\nimport {\n countryCodeUpdate,\n fetchCommonDropdownValues,\n fetchCountryConfigDetils,\n fetchCountryHubDetailsDetils,\n fetchCwingsReportCountriesList,\n fetchUserDetailsDropdownValues,\n hubCodeUpdate,\n} from \"../../config/redux/common/commonSlice\";\nimport { resetPlanningData } from \"../../RoutePlanning/redux/planningSlice\";\nimport { AppState } from \"../../config/redux/reducers\";\nimport { isEqualArrays, isNull, isUndefined, isFeatureEnabledForCountry } from \"../../utils/helpers.utils\";\nimport { ReactComponent as stdDeliveryIcon } from \"./../../assets/icons/standard-delivery-icon.svg\";\nimport { ReactComponent as offlineDeliveryIcon } from \"./../../assets/icons/offline-delivery-icon.svg\";\nimport { ReactComponent as delveGroupIcon } from \"./../../assets/icons/delve-icon.svg\";\nimport { ReactComponent as expressDeliveryIcon } from \"./../../assets/icons/bike.svg\";\nimport { customerCommunicationFeatureEnabledForCountries } from \"../../config/Api.config\";\n\nconst Header = (props: any) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const initialRender = useRef(true); // Track the first render\n\n const { countryCode, cwingsReportCountriesList, hubRecordList, hubRecordListWithCodeAndName } = useSelector((state: AppState) => state.common);\n const {\n isCollectionPointManager,\n isAdmin,\n isCHDManager,\n isVTManager,\n isQCManager,\n isDriver,\n isDispatcher,\n isOnlyExpressDispatcher,\n isOnlyStandardDispatcher,\n isLastMileViewer,\n isOnlyStdLastMileViewer,\n isOnlyExpLastMileViewer,\n } = useSelector((state: AppState) => state.userLogin);\n\n const { location, openSideMenuOnClick, handleDrawerOnClick } = props;\n const [openDrawer, setOpenDrawer] = useState(false);\n const [afterUpdate, setAfterUpdate] = useState(false);\n const [openHeaders, setOpenHeaders] = useState([]);\n const [selectedNav, setSelectedNav] = useState(false);\n const [tabValue, setTabValue] = useState(location.pathname.substr(1));\n const [selectedHeadergroup, setSelectedHeadergroup] = useState(\"\");\n const [country, setCountry] = useState(sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value);\n const [hub, setHub] = useState(JSON.parse(sessionStorage.getItem(AppConstants.HUB_CODE) || \"[]\"));\n const [title, setTitle] = useState(\"\");\n const [headerState, setHeaderState] = useState<{ activeStatus: boolean }>({ activeStatus: true });\n const [imageUrl, setImageUrl] = useState(null);\n\n const handleDrawerOpen = () => {\n setOpenDrawer(true);\n };\n\n const handleDrawerClose = () => {\n setOpenHeaders([]);\n setOpenDrawer(false);\n };\n\n const toggleDrawer = useCallback(() => {\n handleDrawerOnClick(!openDrawer);\n openDrawer ? handleDrawerClose() : handleDrawerOpen();\n }, [openDrawer, handleDrawerOnClick]);\n\n const handleUserLogout = useCallback(() => {\n dispatch(userLogout());\n }, [dispatch]);\n\n const fetchCommonDetails = (value?: string) => {\n dispatch(fetchCommonDropdownValues({ countryCode: value }));\n };\n\n const handleCountryChange = (value: string) => {\n setCountry(value);\n dispatch(countryCodeUpdate({ countryCode: value }));\n dispatch(resetPlanningData());\n fetchCommonDetails(value);\n };\n\n const handleHubChange = useCallback((value: any) => {\n setHub(value);\n }, []);\n\n const getActiveRoute = useCallback(\n (routes: any[]) => {\n return routes.findIndex((item: any) => (item.hasParams ? `/${tabValue}`.indexOf(item.route) > -1 : item.route === `/${tabValue}`)) > -1;\n },\n [tabValue]\n );\n\n const handleDrawerHover = useCallback(() => {\n if (openSideMenuOnClick) {\n return;\n }\n handleDrawerOpen();\n }, [openSideMenuOnClick]);\n\n const handleDrawerHoverExit = useCallback(() => {\n if (openSideMenuOnClick) {\n return;\n }\n handleDrawerClose();\n }, [openSideMenuOnClick]);\n\n const getCurrentRole = () => {\n let role = \"\";\n const currentRoles = sessionStorage.getItem(\"role\");\n if (currentRoles) {\n const currentRole = JSON.parse(currentRoles)[0];\n if (currentRole) {\n role = currentRole.value;\n }\n }\n return role;\n };\n\n const handleHeaderClick = (headerId: string, headGroup: any[]) => {\n const headerIndex = openHeaders.indexOf(headerId);\n let redirectTabValue = \"\";\n if (headGroup.length) {\n const selectedIndex = headGroup.findIndex((header: any) => header.route === `/${tabValue}`);\n if (selectedIndex > -1) {\n setSelectedNav(!selectedNav);\n redirectTabValue = headGroup[selectedIndex].isListItem ? headGroup[selectedIndex].route : headGroup[0].route;\n } else {\n setSelectedNav(true);\n redirectTabValue = headGroup[0].route;\n }\n }\n\n let headerValues = [...openHeaders];\n if (headerIndex > -1) {\n headerValues.splice(headerIndex, 1);\n } else {\n headerValues.push(headerId);\n }\n\n if (tabValue !== redirectTabValue) {\n history.push(redirectTabValue);\n }\n setOpenHeaders(headerValues);\n };\n\n const checkOpenHeader = useCallback(\n (headerId: string) => {\n return selectedNav && openDrawer && selectedHeadergroup === headerId;\n },\n [openHeaders, openDrawer, selectedHeadergroup, selectedNav]\n );\n\n const fetchUserDetails = () => {\n // dispatch(fetchUserDetailsDropdownValues());\n dispatch(fetchCwingsReportCountriesList());\n if (initialRender.current) {\n initialRender.current = false; // Set to false after the first render\n } else {\n const countryCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n let deliveryType = null;\n\n if (history?.location?.pathname) {\n const pathName = history.location.pathname;\n if (pathName.includes(AppConstants.ROUTES.STANDARD)) {\n deliveryType = \"STANDARD\";\n } else if (pathName.includes(AppConstants.ROUTES.EXPRESS_PAGE)) {\n deliveryType = \"EXPRESS\";\n }\n dispatch(fetchCountryHubDetailsDetils({ countryCode, deliveryType }));\n } else {\n dispatch(fetchCountryHubDetailsDetils({ countryCode }));\n }\n }\n };\n\n useEffect(() => {\n if (!isNull(countryCode)) {\n fetchUserDetails();\n setAfterUpdate(true);\n dispatch(fetchCountryConfigDetils({ activeStatus: headerState.activeStatus }));\n }\n }, [countryCode]);\n\n useEffect(() => {\n if (hubRecordList[countryCode] && afterUpdate) {\n const sessionHubValue = JSON.parse(sessionStorage.getItem(AppConstants.HUB_CODE) || \"[]\");\n const ddnValues = [AppConstants.SELECT_ALL.value, ...hubRecordList[countryCode].map((hub: SelectItemProps) => hub.value)];\n if (!isEqualArrays(sessionHubValue, ddnValues)) {\n setHub(ddnValues);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubRecordList]);\n\n useEffect(() => {\n dispatch(hubCodeUpdate(hub));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hub]);\n\n useEffect(() => {\n setTabValue(location.pathname.substr(1));\n setSelectedHeadergroup(location.pathname.split(\"/\")[1]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location]);\n\n useEffect(() => {\n fetchCommonDetails();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (history?.location?.pathname) {\n if (initialRender.current) {\n initialRender.current = false; // Set to false after the first render\n } else {\n let deliveryType = null;\n if (history.location.pathname.includes(AppConstants.ROUTES.STANDARD)) {\n deliveryType = \"STANDARD\";\n } else if (history.location.pathname.includes(AppConstants.ROUTES.EXPRESS_PAGE)) {\n deliveryType = \"EXPRESS\";\n }\n dispatch(fetchCountryHubDetailsDetils({ countryCode, deliveryType }));\n }\n switch (history.location.pathname) {\n case AppConstants.ROUTES.VALETTROLLEY:\n setTitle(\"Valet Trolley\");\n break;\n case AppConstants.ROUTES.PLANNING:\n setTitle(\"Planning\");\n break;\n case AppConstants.ROUTES.TRACKING:\n setTitle(\"Tracking\");\n break;\n case AppConstants.ROUTES.CLICKNCOLLECT:\n setTitle(\"Click And Collect\");\n break;\n case AppConstants.ROUTES.EXPRESS:\n setTitle(\"Express Lebanon\");\n break;\n case AppConstants.ROUTES.HUBS:\n setTitle(\"Hubs\");\n break;\n case AppConstants.ROUTES.USERS:\n setTitle(\"Users\");\n break;\n case AppConstants.ROUTES.CARREFOUR_HOME_DLVRY:\n setTitle(\"Home Delivery\");\n break;\n case AppConstants.ROUTES.DELVE_DASHBOARD:\n setTitle(\"Delve Dashboard\");\n break;\n case AppConstants.ROUTES.CARREFOUR_NOW:\n setTitle(\"Express Orders\");\n break;\n case AppConstants.ROUTES.POS:\n setTitle(\"POS Management\");\n break;\n case AppConstants.ROUTES.DRIVERS:\n setTitle(\"Driver Management\");\n break;\n case AppConstants.ROUTES.COD_PORTAL:\n setTitle(\"COD Reconciliation\");\n break;\n case AppConstants.ROUTES.STD_COD_PORTAL:\n setTitle(\"COD Reconciliation\");\n break;\n case AppConstants.ROUTES.DELVE_ORDER_LIST:\n setTitle(\"Delve Order List\");\n break;\n case AppConstants.ROUTES.ALL_ORDERS:\n setTitle(\"All Orders\");\n break;\n case AppConstants.ROUTES.PERFORMANCE:\n setTitle(\"Planning Dashboard\");\n break;\n case AppConstants.ROUTES.STORE_MANAGEMENT:\n setTitle(\"Stores\");\n break;\n default:\n setTitle(\"\");\n break;\n }\n }\n }, [history.location.pathname]);\n\n // Read image data from sessionStorage on component mount\n useEffect(() => {\n const imageData = sessionStorage.getItem(\"images\");\n if (imageData) {\n const parsedData = JSON.parse(imageData);\n setImageUrl(parsedData.md);\n }\n }, []);\n\n const getMenuForAdminOrDispatcher = () => {\n return (\n <>\n {getStdDeliveryMenu()}\n {!isOnlyStandardDispatcher && !isOnlyStdLastMileViewer && getExpDeliveryMenu()}\n {(isAdmin || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer || isQCManager) && getStoreManagementMenu()}\n {getOfflineDeliveryMenu()}\n \n );\n };\n\n const getMenuForOnlyExpressDispatcher = () => {\n return {getExpDeliveryMenu()};\n };\n\n const hideHubInTopMenu = (pathname: any) => {\n if (!isUndefined(pathname) && !isNull(pathname)) {\n switch (pathname) {\n case AppConstants.ROUTES.DELVE_DASHBOARD:\n case AppConstants.ROUTES.DELVE_ORDER_LIST:\n case AppConstants.ROUTES.HUBS:\n case AppConstants.ROUTES.POS:\n case AppConstants.ROUTES.COD_PORTAL:\n case AppConstants.ROUTES.STD_COD_PORTAL:\n case AppConstants.ROUTES.STAGING_AREA:\n case AppConstants.ROUTES.CUSTOMER_COMMUNICATION:\n return true;\n default:\n return false;\n }\n }\n return false;\n };\n\n const getStdDeliveryMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.STD_DELIVERIES_GROUP_ID, AppConstants.ROUTES.STD_DELIVERIES_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.STD_DELIVERIES_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n {countryCode === AppConstants.COUNTRY_LB && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getExpDeliveryMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.EXP_DELIVERIES_GROUP_ID, AppConstants.ROUTES.EXP_DELIVERIES_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.EXP_DELIVERIES_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getValleyTrollyMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.VT_CONFIG.VT_GROUP_ID, AppConstants.ROUTES.VT_CONFIG.VT_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.VT_CONFIG.VT_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getClickNCollectMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.CNC_CONFIG.CNC_GROUP_ID, AppConstants.ROUTES.CNC_CONFIG.CNC_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.CNC_CONFIG.CNC_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getCHDMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.CHD_CONFIG.CHD_GROUP_ID, AppConstants.ROUTES.CHD_CONFIG.CHD_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.CHD_CONFIG.CHD_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getSpecificOfflineMenu = () => {\n return (\n <>\n {isCollectionPointManager && getClickNCollectMenu()}\n {isVTManager && getValleyTrollyMenu()}\n {isCHDManager && getCHDMenu()}\n \n );\n };\n\n const getOfflineDeliveryMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.OFFLINE_DELIVERIES_GROUP_ID, AppConstants.ROUTES.OFFLINE_DELIVERIES_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.OFFLINE_DELIVERIES_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n {(isAdmin || isCollectionPointManager || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer) && (\n \n \n \n )}\n {(isAdmin || isVTManager || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer) && (\n \n \n \n )}\n {(isAdmin || isCHDManager || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer) && (\n \n \n \n )}\n \n \n \n );\n };\n\n const getDelveMenu = () => {\n return (\n \n handleHeaderClick(AppConstants.ROUTES.DELVE_GROUP_ID, AppConstants.ROUTES.DELVE_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.DELVE_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\n const getStoreManagementMenu = () => {\n return (\n \n \n \n \n \n \n );\n };\n\n return (\n \n \n \n \n \n {`Wings`}\n \n {title}\n \n \n \n {!hideHubInTopMenu(history?.location?.pathname) && (\n \n \n \n )}\n \n \n \n \n \n \n \n {sessionStorage.getItem(\"name\")}\n {getCurrentRole()}\n \n Logout\n \n \n \n {imageUrl ? \"Profile\" : }\n \n \n \n \n \n \n \n \n \n \n \n \n {openDrawer && {`Wings`}}\n \n \n \n \n \n \n \n \n \n \n \n \n {!isDriver && (\n \n {(isAdmin || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer) && {getMenuForAdminOrDispatcher()}}\n {(isOnlyExpressDispatcher || isOnlyExpLastMileViewer) && {getMenuForOnlyExpressDispatcher()}}\n {(isVTManager || isCHDManager || isCollectionPointManager) && getSpecificOfflineMenu()}\n\n {(isAdmin || isDispatcher || isLastMileViewer || isOnlyStdLastMileViewer || isOnlyExpLastMileViewer || isOnlyExpressDispatcher || isOnlyStandardDispatcher) && (\n <>\n handleHeaderClick(AppConstants.ROUTES.ALL_ORDERS_GROUP_ID, AppConstants.ROUTES.ALL_ORDERS_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.ALL_ORDERS_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n\n {(isAdmin || isDispatcher || isOnlyExpressDispatcher || isOnlyStandardDispatcher) && (\n <>\n handleHeaderClick(AppConstants.ROUTES.ADMINISTRATION_GROUP_ID, AppConstants.ROUTES.ADMINISTRATION_GROUP)}\n >\n \n \n \n \n {checkOpenHeader(AppConstants.ROUTES.ADMINISTRATION_GROUP_ID) ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n {isAdmin && isFeatureEnabledForCountry(customerCommunicationFeatureEnabledForCountries, countryCode) && (\n \n \n \n )}\n \n \n \n )}\n {!isQCManager &&\n (isAdmin ||\n isDispatcher ||\n isCollectionPointManager ||\n isCHDManager ||\n isVTManager ||\n isOnlyStandardDispatcher ||\n isLastMileViewer ||\n isOnlyStdLastMileViewer ||\n isOnlyExpLastMileViewer ||\n isOnlyExpressDispatcher) && (\n \n \n \n \n \n \n )}\n {(isAdmin || isDispatcher || isOnlyStandardDispatcher || isLastMileViewer || isOnlyStdLastMileViewer || isQCManager) && getDelveMenu()}\n \n )}\n \n \n \n \n \n );\n};\n\nexport default withRouter(Header);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: \"100%\",\n flexGrow: 1,\n margin: theme.spacing(2),\n alignItems: \"center\",\n justifyContent: \"center\",\n '& h3': {\n color: COLORS.COPY\n }\n }\n })\n);","import { Grid, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './NotFound.styles';\n\nconst NotFound = () => {\n const classes = useStyles();\n return (\n \n COMING SOON\n \n );\n}\n\nexport default NotFound;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& .hasLabel': {\n '& .MuiOutlinedInput-input': {\n paddingTop: theme.spacing(2),\n paddingBottom: 5\n }\n }\n }\n })\n);","import { FormControl, IconButton, InputAdornment, InputLabel, OutlinedTextFieldProps, TextField } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport { useStyles } from './TextBox.styles';\n\ninterface TextBoxProps extends OutlinedTextFieldProps {\n textBoxId: string;\n label?: string;\n placeholderText?: string;\n endadornment?: React.ReactNode;\n}\n\nconst TextBox = (props: TextBoxProps) => {\n const classes = useStyles();\n const { variant, label, textBoxId, placeholderText, className, fullWidth, InputProps, ...rest } = props;\n let { type, endadornment } = props;\n\n const [showPassword, setShowPassword] = useState(false);\n const handleClickShowPassword = () => setShowPassword(!showPassword);\n const handleMouseDownPassword = () => setShowPassword(!showPassword);\n\n if (type === \"password\") {\n type = showPassword ? \"text\" : \"password\";\n endadornment = (\n \n \n {showPassword ? : }\n \n \n )\n }\n\n return (\n <>\n \n {label && {label}}\n \n \n \n );\n}\n\nexport default TextBox;","import { makeStyles, createStyles } from '@material-ui/core/styles';\nimport { COLORS } from './../../config/theme/baseTheme';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignSelf: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 9999,\n backgroundColor: COLORS.LOADER_BACKGROUND,\n height: \"100vh\", // Full viewport height\n width: \"100%\", // Full viewport width\n }\n })\n)","import { CircularProgress, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './Loader.styles';\n\ninterface LoaderProps { }\n\nconst Loader = (props: LoaderProps) => {\n const classes = useStyles();\n\n return (\n \n \n \n )\n}\n\nexport default Loader;","import { Snackbar, SnackbarCloseReason, SnackbarProps } from '@material-ui/core';\nimport MuiAlert, { AlertProps } from '@material-ui/lab/Alert';\nimport React from 'react';\nimport AppConstants from '../../constants';\n\ninterface CustomSnackbarProps extends SnackbarProps {\n message: string;\n type?: any;\n handleClose: (event: React.SyntheticEvent, reason?: SnackbarCloseReason) => void;\n action?: () => void;\n actionText?: string;\n}\n\nconst CustomSnackbar = (props: CustomSnackbarProps) => {\n\n const { actionText, type, message, handleClose, action, ...rest } = props;\n const Alert = (props: AlertProps) => {\n return ;\n }\n\n return (\n \n \n {message}\n {action && {actionText}}\n \n \n )\n}\n\nexport default CustomSnackbar;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: theme.palette.primary.main,\n minHeight: \"100vh\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n '& .mainItem': {\n fontSize: \"15px\",\n width: \"736px\",\n height: \"460px\",\n backgroundColor: COLORS.WHITE,\n borderRadius: \"8px\",\n border: \"1px solid #0A437C\",\n boxShadow: \"0px 0px 10px 2px rgba(14, 90, 167, 0.1)\",\n },\n '& .resetItem': {\n fontSize: \"15px\",\n width: \"736px\",\n height: \"530px\",\n backgroundColor: COLORS.WHITE,\n borderRadius: \"8px\",\n border: \"1px solid #0A437C\",\n boxShadow: \"0px 0px 10px 2px rgba(14, 90, 167, 0.1)\",\n }\n },\n loginContainer: {\n '& .headerLoginItem': {\n display: \"flex\",\n justifyContent: \"center\",\n padding: '30px',\n margin: '0px 0px 16px 0px',\n borderBottom: `1px solid ${COLORS.LIGHT_WHITE}`,\n background: COLORS.LIGHT_WHITE\n },\n '& .logoContainer': {\n margin: 'auto',\n alignItems: 'center',\n '& .logo': {\n width: 350,\n height: 50\n },\n '& .logoSpanStyle':{\n fontSize: \"32px\",\n fontWeight: 700,\n color: COLORS.PRIMARY_MAIN,\n }\n },\n '& .buttonsContainer': {\n '& .btnItem': {\n paddingBottom: theme.spacing(2),\n display: 'flex',\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .loginBtn': {\n width: \"100%\",\n height: 55,\n margin: theme.spacing(0, 0.5, 0, 0.5),\n },\n '&.forgotPwdItem': {\n alignSelf: \"flex-end\"\n },\n '&.newUserItem': {\n alignSelf: \"center\"\n },\n '& .forgotPwdBtn': {\n cursor: \"pointer\",\n fontSize: theme.spacing(1.75),\n color: theme.palette.primary.main\n }\n }\n },\n '& .formContainer': {\n '& .formItem': {\n '& .formTitle': {\n fontSize: theme.spacing(3),\n fontWeight: 600\n },\n '& .MuiFormControl-root': {\n margin: theme.spacing(0),\n width: \"100%\"\n },\n '& .MuiOutlinedInput-root': {\n height: 48\n }\n }\n },\n '& .loginItem': {\n padding: theme.spacing(0, 6.5, 2.5, 6.5),\n '&:first-child': {\n paddingTop: theme.spacing(0)\n },\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .formContainer': {\n '& .formItem': {\n paddingBottom: theme.spacing(3),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n }\n }\n }\n },\n '& .registerItem': {\n padding: theme.spacing(1.5, 0),\n '&:first-child': {\n paddingTop: theme.spacing(0)\n },\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .formContainer': {\n flexWrap: \"nowrap\",\n '& .formItemGroup': {\n paddingBottom: theme.spacing(2),\n '&:first-child': {\n paddingBottom: theme.spacing(3)\n },\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .formItem': {\n flexGrow: 1,\n maxWidth: \"50%\",\n '&.left': {\n paddingRight: theme.spacing(2.5)\n },\n '&.right': {\n paddingLeft: theme.spacing(2.5)\n }\n }\n }\n }\n }\n }\n }),\n);\n\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { useHistory } from \"react-router\";\nimport * as yup from \"yup\";\n\nimport { Button, Grid, Typography } from \"@material-ui/core\";\n\nimport TextBox from \"../common/TextBox\";\nimport Loader from \"../common/Loader\";\nimport AppConstants from \"../constants\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\n\nimport { useStyles } from \"./Login.styles\";\nimport { useFormik } from \"formik\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { newUserLogin, resetUserResetPwd, userLogin, userResetPwd } from \"./redux/loginSlice\";\n\nexport interface LoginProps {\n resetPwd?: boolean;\n}\n\nconst loginValidationSchema = yup.object({\n username: yup.string().required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.USERNAME.REQUIRED.msg),\n password: yup\n .string()\n .matches(new RegExp(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.REQUIRED.msg),\n});\n\nconst resetPwdValidationSchema = yup.object({\n username: yup.string().required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.USERNAME.REQUIRED.msg),\n oldPassword: yup.string().required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.OLDPASSWORD.REQUIRED.msg),\n newPassword: yup\n .string()\n .matches(new RegExp(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.REQUIRED.msg),\n confirmPassword: yup\n .string()\n .matches(new RegExp(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.REQUIRED.msg)\n .oneOf([yup.ref(\"newPassword\")], AppConstants.LOGIN_CONSTANTS.VALIDATIONS.PASSWORD.ONE_OF.msg),\n});\n\nconst loginOtpValidationSchema = yup.object({\n code: yup\n .string()\n .matches(new RegExp(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.OTP.VALIDITY.value), AppConstants.LOGIN_CONSTANTS.VALIDATIONS.OTP.VALIDITY.msg)\n .required(AppConstants.LOGIN_CONSTANTS.VALIDATIONS.OTP.REQUIRED.msg),\n});\n\nconst UserLogin = (props: LoginProps) => {\n const { resetPwd } = props;\n\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { loading, isLoggedIn, resetPwdSuccess, resetPwdMsg, role, error, errorCode, showOtp } = useSelector((state: AppState) => state.userLogin);\n\n const classes = useStyles();\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const loginFormik = useFormik({\n initialValues: { username: \"\", password: \"\" },\n validationSchema: loginValidationSchema,\n onSubmit: (values) => {\n generateOtp(values);\n },\n });\n\n const loginOtpFormik = useFormik({\n initialValues: { code: \"\" },\n validationSchema: loginOtpValidationSchema,\n onSubmit: (values) => {\n loginUser(values);\n },\n });\n\n const resetPwdFormik = useFormik({\n initialValues: { username: sessionStorage.getItem(\"username\") || \"\", oldPassword: \"\", newPassword: \"\", confirmPassword: \"\" },\n validationSchema: resetPwdValidationSchema,\n onSubmit: (values) => {\n resetPassword(values);\n },\n });\n\n if (!resetPwd) {\n if (resetPwdSuccess) {\n dispatch(resetUserResetPwd());\n }\n }\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n }\n\n const getInitialValues = () => {\n return { username: \"\", code: \"\" };\n };\n\n const reGenerateOtp = () => {\n loginOtpFormik.setValues(getInitialValues());\n loginOtpFormik.setErrors(getInitialValues());\n dispatch(newUserLogin({ userdata: loginFormik.values }));\n };\n\n const generateOtp = (payload: any) => {\n if (payload) {\n dispatch(newUserLogin({ userdata: payload }));\n }\n };\n\n const loginUser = (payload: any) => {\n if (payload?.code?.length === 6 && !isNaN(payload?.code?.length)) {\n const userRecord = {\n code: payload.code,\n username: loginFormik.values.username || sessionStorage.getItem(\"username\"),\n };\n dispatch(userLogin({ userdata: userRecord }));\n }\n };\n\n const resetPassword = (payload: any) => {\n if (payload) {\n dispatch(userResetPwd({ userdata: payload }));\n }\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n const handleOpenSnackbarOnEnter = useCallback(\n (node: HTMLElement, isAppearing: boolean) => {\n if (snackbarType.current === AppConstants.SNACKBAR.TYPES.ERROR && !error) {\n setOpenSnackbar(false);\n }\n },\n [error]\n );\n\n const checkRedirection = (role: any) => {\n switch (role) {\n case AppConstants.ADMIN_ROLE:\n return AppConstants.ROUTES.PLANNING;\n case AppConstants.CPM_ROLE:\n return AppConstants.ROUTES.CLICKNCOLLECT;\n case AppConstants.CHD_ROLE:\n return AppConstants.ROUTES.CARREFOUR_HOME_DLVRY;\n case AppConstants.VT_MANAGER_ROLE:\n return AppConstants.ROUTES.VALETTROLLEY;\n default:\n return AppConstants.ROUTES.HOME;\n }\n };\n\n useEffect(() => {\n if (isLoggedIn) {\n history.push(checkRedirection(role));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoggedIn]);\n\n useEffect(() => {\n if (resetPwdSuccess) {\n openSnackbarPopup(resetPwdMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n resetPwdFormik.setValues({ username: sessionStorage.getItem(\"username\") || \"\", oldPassword: \"\", newPassword: \"\", confirmPassword: \"\" })\n resetPwdFormik.setErrors({ username: \"\", oldPassword: \"\", newPassword: \"\", confirmPassword: \"\" })\n history.push(AppConstants.ROUTES.LOGIN);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resetPwdSuccess]);\n\n useEffect(() => {\n if (error) {\n if (resetPwd) {\n resetPwdFormik.resetForm();\n } else if (showOtp) {\n loginOtpFormik.setValues(getInitialValues());\n } else {\n loginFormik.resetForm();\n }\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n if (!resetPwd && errorCode === AppConstants.LOGIN_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.PWD_EXP) {\n history.push(AppConstants.ROUTES.RESET_PWD);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if(resetPwd){\n resetPwdFormik.setValues({ username: sessionStorage.getItem(\"username\") || \"\", oldPassword: \"\", newPassword: \"\", confirmPassword: \"\" });\n resetPwdFormik.setErrors({ username: \"\", oldPassword: \"\", newPassword: \"\", confirmPassword: \"\" });\n }\n }, [resetPwd])\n\n return (\n \n {loading && }\n \n \n \n \n \n {`Wings`}\n \n \n \n
\n \n \n \n {resetPwd ? \"Reset Password\" : \"Login to your account\"}\n \n \n \n \n {resetPwd && (\n \n \n \n )}\n \n \n \n {resetPwd && (\n \n \n \n )}\n {!resetPwd && showOtp && (\n \n \n \n )}\n \n \n \n \n {!resetPwd && !showOtp && (\n \n \n {AppConstants.BUTTONS.RESET_PWD}\n \n \n )}\n \n {showOtp && (\n \n )}\n \n \n \n \n
\n
\n
\n \n
\n );\n};\n\nexport default UserLogin;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.545 7.47481L21.337 4.74242L22.0253 5.43163L8.83654 18.34C8.66453 18.5083 8.45622 18.6349 8.22762 18.7101L4.42021 19.9514C4.03632 20.0794 3.61306 19.9797 3.32664 19.6938C3.0439 19.4154 2.94579 18.9995 3.07428 18.624L4.34374 14.8975C4.42178 14.671 4.55099 14.4656 4.72132 14.2972L16.827 2.44929C17.4419 1.85284 18.4194 1.85284 19.0343 2.44929L20.5006 3.8846L19.8124 4.57385L18.346 3.13854C18.1144 2.91462 17.7469 2.91462 17.5153 3.13854L15.8151 4.80254L18.545 7.47481ZM2 20.9998H22V21.9998H2V20.9998ZM5.41054 14.9865C5.34733 15.0481 5.29951 15.1236 5.27097 15.2071L4.00152 18.9336L4.11432 19.0311L7.91982 17.789C8.00529 17.761 8.08315 17.7137 8.14732 17.6507L17.8487 8.15648L15.1189 5.4842L5.41054 14.9865Z\",\n fill: \"#0E5AA7\"\n});\n\nvar SvgEditIcon = function SvgEditIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEditIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/edit-icon.c8631604.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.5029 21.0029L7.9954 21.0012L7.9965 19.9835L17.512 19.9899C17.6447 19.99 17.772 19.9374 17.8658 19.8436C17.9597 19.7498 18.0124 19.6226 18.0124 19.4899V4.99084L5.99811 4.98938V21.006H5.00293V4.99316H4V3.99316H8V2.99609H16V3.99316H20V4.99316H19.0039V19.5029C19.004 19.9007 18.8461 20.2822 18.5649 20.5636C18.2836 20.8449 17.9022 21.0029 17.5044 21.0029H17.5029ZM16.0107 6.99274H15.0107V18.0137H16.0107V6.99274ZM10.0411 6.99857H11.0411V18.0196H10.0411V6.99857ZM12.9922 6.99857H13.9922V18.0196H12.9922V6.99857ZM7.99805 6.99656H8.99804V17.9936H7.99805V6.99656Z\",\n fill: \"#F34041\"\n});\n\nvar SvgDeleteIcon = function SvgDeleteIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDeleteIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/delete-icon.d10b2497.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 22C7.54627 21.9893 4.2957 20.3661 2.21192 17.6117L3.09256 16.9483C5.14048 19.6607 8.43403 21.1364 11.8213 20.8591C15.2086 20.5818 18.2183 18.5901 19.7978 15.5806C21.9628 11.4564 20.9679 6.38139 17.406 3.38004C13.8441 0.378694 8.67411 0.259042 4.97719 3.09239C1.28027 5.92574 0.0516393 10.9493 2.02352 15.1693L1.0244 15.6345C-1.03491 11.2014 0.0780492 5.94106 3.75637 2.72205C7.43468 -0.496959 12.7958 -0.902337 16.9163 1.72698C21.0368 4.35629 22.928 9.38947 21.5586 14.0818C20.1892 18.7742 15.8878 21.9999 11 22ZM8.90789 16.4961L4.39089 11.9247L5.21467 11.0447L8.89576 14.7723L16.7895 6.57041L17.6243 7.43836L8.90789 16.4961Z\",\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 22C7.54627 21.9893 4.2957 20.3661 2.21192 17.6117L3.09256 16.9483C5.14048 19.6607 8.43403 21.1364 11.8213 20.8591C15.2086 20.5818 18.2183 18.5901 19.7978 15.5806C21.9628 11.4564 20.9679 6.38139 17.406 3.38004C13.8441 0.378694 8.67411 0.259042 4.97719 3.09239C1.28027 5.92574 0.0516393 10.9493 2.02352 15.1693L1.0244 15.6345C-1.03491 11.2014 0.0780492 5.94106 3.75637 2.72205C7.43468 -0.496959 12.7958 -0.902337 16.9163 1.72698C21.0368 4.35629 22.928 9.38947 21.5586 14.0818C20.1892 18.7742 15.8878 21.9999 11 22ZM8.90789 16.4961L4.39089 11.9247L5.21467 11.0447L8.89576 14.7723L16.7895 6.57041L17.6243 7.43836L8.90789 16.4961Z\",\n stroke: \"white\"\n});\n\nvar SvgCircleCheckedIcon = function SvgCircleCheckedIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCircleCheckedIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/circle-checked-icon.47bc85c3.svg\";\nexport { ForwardRef as ReactComponent };","import moment from \"moment\";\n\nimport AppConstants from \"../../../constants\";\nimport { API_RESPONSE_STATUS } from \"../../../constants/CommonConstants\";\n\nexport const STATUSES = {\n VERIFIED: { color: \"OCEAN_GREEN\", hintText: \"\" },\n UNVERIFIED: { color: \"CORAL_PINK\", hintText: \"\" },\n VERIFIED_ISSUES: { color: \"ALERT_ORANGE\", hintText: \"\" },\n PARTIALLY_VERIFIED: { color: \"AVATAR_OCEAN\", hintText: \"\" },\n PARTIALLY_VERIFIED_ISSUES: { color: \"DARK_GOLD_ORANGE\", hintText: \"\" },\n NEW: { color: \"PICTON_BLUE\", hintText: \"\" },\n READY_TO_PREPARE: { color: \"CREAM_CAN\", hintText: \"\" },\n READY_TO_DISPATCH: { color: \"BLUE\", hintText: \"\" },\n PREPARING: { color: \"VISTA_BLUE\", hintText: \"\" },\n PREPARED: { color: \"SEA_GREEN\", hintText: \"\" },\n OUT_FOR_DELIVERY: { color: \"GOLDEN_BELL\", hintText: \"\" },\n ON_HOLD: { color: \"SCAMPI\", hintText: \"\" },\n PENDING_DELIVERY: { color: \"TROPICAL_BLUE\", hintText: \"\" },\n DELIVERED: { color: \"SEA_GREEN2\", hintText: \"\" },\n PARTIALLY_DELIVERED: { color: \"LUCKY\", hintText: \"\" },\n CANCELLED: { color: \"DUSTY_GRAY\", hintText: \"\" },\n \"RETURNED_TO_STORE/HUB\": { color: \"JUNGLE_GREEN\", hintText: \"\" },\n DELIVERY_FAILED: { color: \"BLACK\", hintText: \"\" },\n PACKING_COMPLETE: { color: \"MINSK\", hintText: \"\" },\n ASSIGNED: { color: \"BLUE_HAZE\", hintText: \"\" },\n};\n\nexport interface DATE_TYPE_INITIAL_STATE_INTERFACE {\n startDate: any;\n endDate: any;\n}\n\nexport const DATE_TYPE_INITIAL_STATE: DATE_TYPE_INITIAL_STATE_INTERFACE = {\n startDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT),\n};\nexport interface ALL_ROUTE_INITIAL_STATE_INTERFACE {\n loading: boolean;\n tabValue: any;\n selectedDate: DATE_TYPE_INITIAL_STATE_INTERFACE;\n // Snack Bar\n openSnackbar: boolean;\n openPublishRouteSnackBar: boolean;\n snackbarMessage: any;\n snackbarPublishMessage: string;\n snackbarType: any;\n // Consignment\n expandAll: boolean;\n plannedConsignmentsData: any;\n unplannedConsignmentsData: any;\n selectedConsignments: any;\n selectedRoute: any;\n // Map\n isListView: boolean;\n consignmentMarkersForMap: any;\n consignmentMarkers: any;\n firstMapCordinates: any;\n mapCenter: any;\n mapZoom: number;\n mapPolylineMarker: CustomLocation[];\n polylineColor: string;\n // Assign Driver\n showDriverAssignedPopup: boolean;\n openUpdateConfirmDialog: boolean;\n driverValue: any;\n helperValue: any;\n vehicleValue: any;\n //\n subDriverValue: any;\n subHelperValue: any;\n subVehicleValue: any;\n // Publish\n openPublishDialog: any;\n //\n openOrderActionPopUp: boolean;\n statusValue: Array;\n slotValue: Array;\n zoneValue: Array;\n consignmentId: string;\n // Remove-Add Order to new Route\n openAssignRoutePopUp: boolean;\n selectedConsignmentToChangeRoute: Array;\n availableRouteRecord: Array;\n // Add Remove Order from Route\n selectedRouteObj: any;\n orderDataObj: any;\n openAddRouteConfirmDialog: boolean;\n openRemoveRouteConfirmDialog: boolean;\n // Create New Route\n openMoveOrderToNewRoute: boolean;\n draftedRouteDetails: any;\n // Route Details\n totalRecords: number;\n totalOrders: number;\n totalCrates: number;\n // Create Sub route\n selectedConsignmentsForSubRoute: string[];\n openCreateSubRouteDialog: boolean;\n openDeleteSubRouteDialog: boolean;\n selectedRouteDeletion: any;\n // Sub Route Save\n selectedSubRoute: any;\n openSubRouteOrderActionPopUp: boolean;\n}\n\nexport const ALL_ROUTE_INITIAL_STATE: ALL_ROUTE_INITIAL_STATE_INTERFACE = {\n loading: false,\n tabValue: AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED,\n selectedDate: DATE_TYPE_INITIAL_STATE,\n // Snack Bar\n openSnackbar: false,\n openPublishRouteSnackBar: false,\n snackbarMessage: \"\",\n snackbarPublishMessage: \"\",\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n // Consignment\n expandAll: false,\n plannedConsignmentsData: {},\n unplannedConsignmentsData: {},\n selectedConsignments: [],\n selectedRoute: {},\n // Map\n isListView: true,\n consignmentMarkersForMap: [],\n consignmentMarkers: [],\n firstMapCordinates: { lat: 0, lng: 0 },\n mapCenter: { lat: 0, lng: 0 },\n mapZoom: 12, // max is 22\n mapPolylineMarker: [],\n polylineColor: \"\",\n // Assign Driver\n showDriverAssignedPopup: false,\n openUpdateConfirmDialog: false,\n driverValue: AppConstants.SELECT_NONE.value,\n helperValue: AppConstants.SELECT_NONE.value,\n vehicleValue: AppConstants.SELECT_NONE.value,\n //\n subDriverValue: AppConstants.SELECT_NONE.value,\n subHelperValue: AppConstants.SELECT_NONE.value,\n subVehicleValue: AppConstants.SELECT_NONE.value,\n // Publish\n openPublishDialog: false,\n //\n openOrderActionPopUp: false,\n statusValue: [],\n slotValue: [],\n zoneValue: [],\n consignmentId: \"\",\n // Remove-Add Order to new Route\n openAssignRoutePopUp: false,\n selectedConsignmentToChangeRoute: [],\n availableRouteRecord: [],\n // Add Remove Order from Route\n selectedRouteObj: {},\n orderDataObj: {},\n openAddRouteConfirmDialog: false,\n openRemoveRouteConfirmDialog: false,\n // Create New Route\n openMoveOrderToNewRoute: false,\n draftedRouteDetails: {},\n // Route Details\n totalRecords: 0,\n totalOrders: 0,\n totalCrates: 0,\n // Create Sub route\n selectedConsignmentsForSubRoute: [],\n openCreateSubRouteDialog: false,\n openDeleteSubRouteDialog: false,\n selectedRouteDeletion: {},\n // Sub Route Save\n selectedSubRoute: {},\n openSubRouteOrderActionPopUp: false,\n};\n\nexport interface commonFetchInitialStateInterface {\n fetchStatus: any;\n error: any;\n data: any;\n loading: boolean;\n}\n\nexport const commonFetchInitialState: commonFetchInitialStateInterface = {\n fetchStatus: API_RESPONSE_STATUS.IDLE,\n error: \"\",\n data: {} as any,\n loading: false,\n};\n\nexport interface AllRoutesSliceInitialState {\n loading: boolean;\n fetchStatus: any;\n error: any;\n plannedRoutes: any;\n unPlannedRoutes: any;\n removedRouteData: any;\n existingRoutesList: any;\n orderStatuses: SelectItemProps[];\n updatedRoute: any;\n routeCreateSuccess: boolean;\n currentSlot: any;\n driversData?: any;\n driversList: SelectItemProps[];\n helpersData?: any;\n helpersList: SelectItemProps[];\n vehiclesData?: any;\n vehiclesList: SelectItemProps[];\n publishedRoutesErrors: any;\n publishedRoutes: any;\n draftRoute: any;\n routeDiscardSuccess: boolean;\n slotwisePlannedRoutes: any;\n consignmentStatusList: SelectItemProps[];\n slotsData?: any;\n slotsList: SelectItemProps[];\n zoneList: SelectItemProps[];\n deletedRoute: any;\n bulkDeletedRoute: any;\n}\n\nexport const SNACKBAR_MESSAGES = {\n ORDER_REMOVED_FROM_ROUTE: \"Order successfully removed from route\",\n ORDER_ADDED_TO_ROUTE: \"Order successfully added to route\",\n VIEW: \"View\",\n CONFIRM_CHANGES_TO_ROUTE: \"The changes made here will affect existing routes.\",\n CONFIRM_PUBLISH_ROUTE: \"Are you sure you want to publish these routes?\",\n DRIVER_NOTIFIED_MESSAGE: \"being published. Once published, the drivers will be notified of the assigned routes.\",\n ASSIGN_DRIVER_TO_PUBLISH: \"To publish route, please provide Driver and Vehicle for all selected routes.\",\n CONSIGNMENT_ID_REQUIRED: \"Consignment ID is required\",\n CONSIGNMENT_ID: \"Consignment ID\",\n NO_ORDERS_FOUND: \"Consignment ID not found\",\n SEARCH_CONSIGNMENTS: \"Search Consignments\",\n ERROR_WHILE_FETCHING_DRAFTED_ROUTE: \"Error while fetching drafted route\",\n CONFIRM_CHANGES_TO_NEW_ROUTE: \"The changes made here will create a new route.\",\n CREATE_ROUTE_SUCCESS_MSG: \"has been created successfully\",\n CONFIRM_CHANGES_TO_NEW_SUB_ROUTE: \"The changes made here will create a new sub route.\",\n NO_ORDERS_PRESENT_FOR_SUB_ROUTE: \"Please provide orders for sub route.\",\n DELETE_ROUTE_SUCCESS_MSG: \"Sub Route has been deleted successfully\",\n CONFIRM_DELETE_SUB_ROUTE: \"The changes made here will delete the sub route.\",\n CONFIRM_CHANGES_TO_SUB_ROUTE: \"The changes made here will affect existing routes.\",\n ASSIGN_PARENT_ROUTE_DRIVER_TO_PUBLISH: \"To publish route, please assign all orders to sub-routes and provide Driver, Vehicle for all selected routes.\",\n NO_ROUTES_TO_DISPLAY: \"No Routes to display\",\n};\n\nexport interface SelectItemProps {\n name?: string;\n value: any;\n}\n\nexport interface MAPOPTIONSTYLES_INTERFACE {\n elementType: string;\n featureType?: string;\n stylers: { visibility: string }[];\n}\nexport const mapOptionStyles: MAPOPTIONSTYLES_INTERFACE[] = [\n { elementType: \"labels.icon\", stylers: [{ visibility: \"off\" }] },\n { featureType: \"administrative.land_parcel\", elementType: \"labels\", stylers: [{ visibility: \"off\" }] },\n { featureType: \"poi\", elementType: \"labels.text\", stylers: [{ visibility: \"off\" }] },\n { featureType: \"road.local\", elementType: \"labels\", stylers: [{ visibility: \"off\" }] },\n];\n\nexport interface MAP_LOCATION_INTERFACE {\n lat: string | number;\n lng: string | number;\n}\n\nexport interface MAP_MARKER_ICON_INTERFACE {\n url: string;\n fillColor?: string;\n fillOpacity?: number;\n strokeWeight?: number;\n strokeColor?: string;\n scale?: number;\n labelOrigin?: { x: number; y: number };\n}\nexport interface MAP_MARKER_INTERFACE {\n name: string;\n routeId: string;\n deliveryArea: string;\n deliverySlot: string;\n consignmentCode: string;\n location: MAP_LOCATION_INTERFACE;\n icon: MAP_MARKER_ICON_INTERFACE;\n label: {\n text: string;\n fontSize: string;\n fontWeight: string;\n color: string;\n lineHeight: string;\n };\n parentRouteName?: string;\n}\n\nexport interface CustomLocation {\n lat: number;\n lng: number;\n}\n\nexport interface OrderInterface {\n orderCode: string | number;\n orderIndex?: string | number;\n consignmentCode: string | number;\n deliveryStatus: string | number;\n displayDeliveryStatus: string | number;\n isChecked: boolean;\n isOpened: boolean;\n mapCenter: MAP_LOCATION_INTERFACE;\n paymentMethod: string;\n paymentType: string;\n slotValue: string;\n totalCratesCount: string | number;\n address: {\n area: string;\n countryName: string;\n fullAddress: string;\n latitude: string;\n longitude: string;\n status: string;\n zoneNumber?: string;\n };\n openOrderActionPopUp?: boolean;\n}\n\nexport interface UnplannedSlotWiseOrdersInterface {\n [timeSlot: string]: OrderInterface[];\n}\nexport interface SlotWiseOrdersInterface {\n [timeSlot: string]: {\n isChecked: boolean;\n isOpened: boolean;\n orders: OrderInterface[];\n };\n}\n\nexport interface UnplannedConsignmentsDataInterface {\n [key: string]: {\n color: string;\n isChecked: boolean;\n isOpened: boolean;\n mapCenter: MAP_LOCATION_INTERFACE;\n slotWiseOrders: UnplannedSlotWiseOrdersInterface;\n openOrderActionPopUp: boolean;\n orderCount: string | number;\n orderIndex: string | number;\n };\n}\n\nexport interface AssignedVehicleInterface {\n active?: boolean;\n crateCapacity?: string | number;\n id?: string | number;\n name?: string | number;\n orderCapacity?: number;\n temperatureControlled?: boolean;\n}\n\nexport interface RouteDataObjInterface {\n [key: string]: {\n isChecked: boolean;\n isOpened: boolean;\n ordersCount: number;\n routeType: string;\n slotWiseOrders: SlotWiseOrdersInterface;\n };\n}\n\nexport interface SubRouteDataObjInterface {\n [key: string]: {\n isChecked: boolean;\n isOpened: boolean;\n ordersCount: number;\n routeType: string;\n slotWiseOrders: SlotWiseOrdersInterface;\n };\n}\nexport interface PlannedConsignmentsDataInterface {\n [key: string]: {\n assignedVehicle: AssignedVehicleInterface;\n color: string;\n consignmentsIds: string[];\n deliveryArea: string[];\n deliveryProposition: string;\n deliverySlot: string[];\n displayRouteStatus: string;\n displayStatus: string;\n hubCode: string;\n hubName: string;\n id: string;\n isChecked: boolean;\n isOpened: boolean;\n mapCenter: MAP_LOCATION_INTERFACE;\n openOrderActionPopUp: boolean;\n plannedDate: string;\n routeId: string;\n routeDataObj: RouteDataObjInterface | any;\n sourceDetails: { latitude: string; longitude: string };\n status?: string;\n totalConsignment?: string | number;\n totalCrates?: string | number;\n type?: string;\n };\n}\n\nexport const BUTTONS_TEXT = {\n CREATE_NEW_ROUTE: \"Create Route\",\n PLANNED: \"PLANNED\",\n UNPLANNED: \"UNPLANNED\",\n TOTAL_ROUTES: \"Total Routes\",\n TOTAL_AREAS: \"Total Areas\",\n TOTAL_ORDERS: \"Total Orders\",\n TOTAL_CRATES: \"Total Crates\",\n};\n\nexport interface ROUTE_DETAILS_INTERFACE {\n key: string;\n value: keyof ALL_ROUTE_INITIAL_STATE_INTERFACE;\n}\n\nexport const PLANNED_ROUTE_DETAILS: ROUTE_DETAILS_INTERFACE[] = [\n { key: BUTTONS_TEXT.TOTAL_ROUTES, value: \"totalRecords\" },\n { key: BUTTONS_TEXT.TOTAL_ORDERS, value: \"totalOrders\" },\n { key: BUTTONS_TEXT.TOTAL_CRATES, value: \"totalCrates\" },\n];\n\nexport const UNPLANNED_ROUTE_DETAILS: ROUTE_DETAILS_INTERFACE[] = [\n { key: BUTTONS_TEXT.TOTAL_AREAS, value: \"totalRecords\" },\n { key: BUTTONS_TEXT.TOTAL_ORDERS, value: \"totalOrders\" },\n { key: BUTTONS_TEXT.TOTAL_CRATES, value: \"totalCrates\" },\n];\n\nexport const MARKER_URL = {\n RED_DOT_MARKER: \"http://maps.google.com/mapfiles/ms/icons/red-dot.png\",\n GREEN_DOT_MARKER: \"http://maps.google.com/mapfiles/ms/icons/green-dot.png\",\n};\n\nexport enum ROUTE_TYPE {\n NORMAL_ROUTE = \"NORMAL_ROUTE\",\n PARENT_ROUTE = \"PARENT_ROUTE\",\n SUB_ROUTE = \"SUB_ROUTE\",\n ROUTE_AREA = \"ROUTE_AREA\",\n}\n\nexport const ALL_ROUTES_TEXT_CONTANT = {\n NO_PLANNED_ITEMS: \"No Planned Items to display\",\n NO_UNPLANNED_ITEMS: \"No Unplanned Items to display\",\n NO_ITEMS_TO_DISPLAY: \"No Items to display\",\n SUB_ROUTE_ENABLING: \"Sub Route Enabling\",\n ROUTE_DETAILS_POP_UP_TOOL_TIP: \"View Route Details/Assign Driver\",\n SUB_ROUTE_DETAILS_POP_UP_TOOL_TIP: \"View Sub Route Details/Assign Driver\",\n CREATE_SUB_ROUTE: \"CREATE SUB ROUTE\",\n SUB_ROUTE: \"Sub Route\",\n SUB_ROUTE_DETAILS: \"Sub Route Details\",\n PARENT_ROUTE: \"Parent Route\",\n PARENT_ROUTE_DETAILS: \"Parent Route Details\",\n ROUTE_DETAILS: \"Route Details\",\n DISABLE_SUB_ROUTE_SWITCH: \"To turn off sub route switch, please delete all sub route(s) for the route.\",\n PARENT_ROUTE_ID: \"Parent Route ID\",\n SUB_ROUTE_ID: \"Sub Route ID\",\n HUB: \"Hub\",\n DELIVERY_AREA: \"Delivery Area\",\n CONSIGNMENTS: \"Consignments\",\n CRATES: \"Crates\",\n DELIVERY_SLOT: \"Delivery Slot\",\n AREA_DATA: \"AREA_DATA\",\n ACTUAL_DISTANCE: \"Actual Distance\",\n DELIVERY_DATE: \"Delivery Date\",\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 24,\n color: COLORS.DUSTY_GRAY\n },\n \"& .MuiTab-root.Mui-selected\": {\n color: '#1F1F1F'\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: \"0px 12px 20px 12px\",\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n },\n '& .customButton':{\n backgroundColor: \"unset !important\" ,\n color: COLORS.ALIZARIN_CRIMSON,\n '&:hover': {\n backgroundColor: \"unset !important\"\n },\n '&::before': {\n display: \"inline-block\",\n content: \"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTIiIGZpbGw9IiNGN0Y4RjkiLz4KPHBhdGggZD0iTTE2LjEyNSA4LjYyNUw3Ljg3NSA4LjYyNTAxIiBzdHJva2U9IiNDRTM2MzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTAuODc1IDEwLjg3NVYxMy44NzUiIHN0cm9rZT0iI0NFMzYzNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMy4xMjUgMTAuODc1VjEzLjg3NSIgc3Ryb2tlPSIjQ0UzNjM3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE1LjM3NSA4LjYyNVYxNS43NUMxNS4zNzUgMTUuODQ5NSAxNS4zMzU1IDE1Ljk0NDggMTUuMjY1MiAxNi4wMTUyQzE1LjE5NDggMTYuMDg1NSAxNS4wOTk1IDE2LjEyNSAxNSAxNi4xMjVIOUM4LjkwMDU0IDE2LjEyNSA4LjgwNTE2IDE2LjA4NTUgOC43MzQ4NCAxNi4wMTUyQzguNjY0NTEgMTUuOTQ0OCA4LjYyNSAxNS44NDk1IDguNjI1IDE1Ljc1VjguNjI1IiBzdHJva2U9IiNDRTM2MzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTMuODc1IDguNjI1VjcuODc1QzEzLjg3NSA3LjY3NjA5IDEzLjc5NiA3LjQ4NTMyIDEzLjY1NTMgNy4zNDQ2N0MxMy41MTQ3IDcuMjA0MDIgMTMuMzIzOSA3LjEyNSAxMy4xMjUgNy4xMjVIMTAuODc1QzEwLjY3NjEgNy4xMjUgMTAuNDg1MyA3LjIwNDAyIDEwLjM0NDcgNy4zNDQ2N0MxMC4yMDQgNy40ODUzMiAxMC4xMjUgNy42NzYwOSAxMC4xMjUgNy44NzVWOC42MjUiIHN0cm9rZT0iI0NFMzYzNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=)\",\n paddingTop:4,\n paddingRight: 2\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"12px 0px 10px 0px\",\n '& .chipsContainer': {\n justifyContent: 'space-between',\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"11%\",\n borderRadius: theme.spacing(1),\n border: `1px solid ${COLORS.TRANSPARENT_BLUE_BORDER}`,\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n boxShadow: `0px 0px 10px 4px ${COLORS.BOX_SHADOW_PRIMARY}`,\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: COLORS.AZURE_BLUE,\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .consignmentDivStyle': {\n display: 'flex',\n margin: 'auto 0px'\n },\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12,\n margin: 'auto 0px'\n }\n }\n }\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI,\n color: COLORS.WHITE\n },\n \n }\n },\n subRouteId:{\n display:'flex',\n textAlign:'end',\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.25, 0.5),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n fontSize: 10,\n '&.subRoute':{\n backgroundColor: COLORS.INFO_BLUE,\n color: COLORS.WHITE,\n margin: \"auto 4px\"\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n parenRouteTag:{\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.25, 0.5),\n lineHeight: \"14px\",\n backgroundColor: COLORS.OLD_GOLD,\n fontWeight: 600,\n fontSize: 10,\n margin: \"auto 4px\"\n },\n subRouteTag:{\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.25, 0.5),\n lineHeight: \"14px\",\n backgroundColor: COLORS.INFO_BLUE,\n fontWeight: 600,\n fontSize: 10,\n margin: \"auto 4px\"\n },\n }),\n);\n","import React, { useEffect, useRef } from 'react';\nimport DateRangePicker, { Props, EventHandler } from 'react-bootstrap-daterangepicker';\n\ninterface DatePickerComponentProps extends Props {\n id: string;\n renderInput: (params: any) => React.ReactNode;\n onChange: EventHandler;\n}\n\nconst DatePickerComponent = (props: DatePickerComponentProps) => {\n\n const dateRangeRef = useRef(null);\n\n const { id, initialSettings, renderInput, onChange } = props;\n\n useEffect(() => {\n if (dateRangeRef.current) {\n dateRangeRef.current.setStartDate(initialSettings.startDate);\n dateRangeRef.current.setEndDate(initialSettings.endDate);\n }\n }, [initialSettings]);\n\n return (\n \n {renderInput({\n id: id\n })}\n \n )\n\n};\n\nexport default DatePickerComponent;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n formControl: {\n '& .MuiOutlinedInput-input': {\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 600,\n borderWidth: 1,\n borderRadius: theme.spacing(1),\n cursor: \"pointer\",\n fontFamily: \"inherit\",\n '&:focus': {\n outline: \"none\"\n }\n },\n '&.hasLabel': {\n '& .MuiOutlinedInput-input': {\n paddingTop: theme.spacing(2)\n }\n }\n },\n customBadge:{\n backgroundColor: COLORS.AMBER,\n },\n datePickerIcon: {\n padding: 0,\n width: 24,\n height: 24,\n cursor: \"pointer\",\n border: \"none\",\n verticalAlign: \"middle\",\n backgroundColor: COLORS.TRANSPARENT,\n marginLeft: theme.spacing(1),\n '&:focus': {\n outline: \"none\"\n },\n '&.addMargin': {\n marginLeft: theme.spacing(0.5)\n }\n }\n })\n);","import { FormControl, InputLabel } from '@material-ui/core';\nimport moment from 'moment';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { Badge } from '@material-ui/core';\nimport AppConstants from '../../constants';\nimport DatePickerComponent from '../DatePickerComponent';\nimport filterIcon from './../../assets/icons/filter-icon.svg';\nimport { useStyles } from './DateRangeComponent.styles';\nimport { areDatesEqual, isNonEmptyObject } from 'utils/helpers.utils';\n\ninterface DateRangePickerComponentProps {\n className?: string;\n keyId: string;\n label?: string;\n placeholder?: string;\n value: any;\n isTextField: boolean;\n iconSrc?: string;\n autoUpdateInput?: boolean;\n locale?: any;\n maxSpan?: any,\n showDropdowns?: boolean,\n linkedCalendars?: boolean,\n autoApply?: boolean;\n fullWidth?: boolean;\n minDate?: any;\n updateDateRange: (dateRange: any) => void;\n defaultValue?: any\n}\n\nconst DateRangePickerComponent = (props: DateRangePickerComponentProps) => {\n\n const classes = useStyles();\n\n const {\n keyId,\n label,\n placeholder,\n className,\n value,\n isTextField,\n iconSrc,\n autoUpdateInput,\n locale,\n maxSpan,\n showDropdowns,\n linkedCalendars,\n autoApply,\n fullWidth,\n minDate,\n updateDateRange,\n defaultValue,\n } = props;\n const [dateUpdated, setdateUpdated] = useState(false)\n \n const [initialSettings, setInitialSettings] = useState({\n autoUpdateInput: autoUpdateInput,\n startDate: value.startDate,\n endDate: value.endDate,\n locale: locale,\n maxSpan: maxSpan,\n showDropdowns: showDropdowns,\n linkedCalendars: linkedCalendars,\n autoApply: autoApply,\n minDate: minDate\n });\n\n const getDatePickerValue = useCallback(\n (picker: any) => {\n return `${picker.startDate.format(AppConstants.DATE_FORMAT_UI)} - ${picker.endDate.format(AppConstants.DATE_FORMAT_UI)}`;\n },\n [],\n );\n const [datePickerValue, setDatePickerValue] = useState(getDatePickerValue({\n startDate: moment(value.startDate, locale.format ? locale.format : AppConstants.DATE_FORMAT),\n endDate: moment(value.endDate, locale.format ? locale.format : AppConstants.DATE_FORMAT)\n }));\n\n const handleDateRangeChange = useCallback(\n (event: any, picker: any) => {\n updateDateRange({\n startDate: picker.startDate.format(locale.format ? locale.format : AppConstants.DATE_FORMAT),\n endDate: picker.endDate.format(locale.format ? locale.format : AppConstants.DATE_FORMAT)\n });\n },\n [locale, updateDateRange]\n )\n\n useEffect(() => {\n setInitialSettings(i => ({ ...i, startDate: value.startDate, endDate: value.endDate }));\n setDatePickerValue(getDatePickerValue({\n startDate: moment(value.startDate, locale.format ? locale.format : AppConstants.DATE_FORMAT),\n endDate: moment(value.endDate, locale.format ? locale.format : AppConstants.DATE_FORMAT)\n }));\n }, [value, locale, getDatePickerValue]);\n\n useEffect(() => {\n if(isNonEmptyObject(defaultValue) && isNonEmptyObject(value)){\n const isStartDateChanged = !areDatesEqual(defaultValue?.startDate, value?.startDate)\n const isEndDateChanged = !areDatesEqual(defaultValue?.endDate, value?.endDate);\n if(isStartDateChanged || isEndDateChanged) {\n setdateUpdated(true)\n }\n else{\n setdateUpdated(false)\n }\n }\n }, [value, defaultValue]);\n\n return (\n <>\n {\n isTextField ?\n \n {label && {label}}\n (\n \n )}\n onChange={handleDateRangeChange}\n />\n \n :\n (\n \n \n \n \"React\n \n \n )}\n onChange={handleDateRangeChange}\n />\n }\n \n )\n}\n\nexport default DateRangePickerComponent;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M21 5.25H3C2.58579 5.25 2.25 5.58579 2.25 6V8.25C2.25 8.66421 2.58579 9 3 9H21C21.4142 9 21.75 8.66421 21.75 8.25V6C21.75 5.58579 21.4142 5.25 21 5.25Z\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_2\",\n d: \"M20.25 9V18C20.25 18.1989 20.171 18.3897 20.0303 18.5303C19.8897 18.671 19.6989 18.75 19.5 18.75H4.5C4.30109 18.75 4.11032 18.671 3.96967 18.5303C3.82902 18.3897 3.75 18.1989 3.75 18V9\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector_3\",\n d: \"M9.75 12.75H14.25\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar SvgCrateBoxIcon = function SvgCrateBoxIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCrateBoxIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/crate-box-icon.3802ad85.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.744 19.8738C20.3446 17.4634 18.1034 15.6556 15.4515 14.7979C16.722 14.042 17.7091 12.8899 18.2614 11.5186C18.8136 10.1473 18.9004 8.63263 18.5084 7.20724C18.1164 5.78184 17.2673 4.52454 16.0915 3.62846C14.9158 2.73238 13.4783 2.24707 12 2.24707C10.5217 2.24707 9.08426 2.73238 7.90848 3.62846C6.7327 4.52454 5.88361 5.78184 5.49162 7.20724C5.09963 8.63263 5.18642 10.1473 5.73865 11.5186C6.29089 12.8899 7.27803 14.042 8.54846 14.7979C5.89665 15.6556 3.65554 17.4633 2.25609 19.8736C2.19012 19.9876 2.15534 20.1169 2.15525 20.2486C2.15515 20.3804 2.18975 20.5098 2.25555 20.6239C2.32135 20.738 2.41604 20.8327 2.53009 20.8986C2.64414 20.9645 2.77353 20.9992 2.90524 20.9992L21.0949 20.9994C21.2266 20.9994 21.356 20.9647 21.4701 20.8988C21.5841 20.8329 21.6788 20.7382 21.7446 20.6241C21.8104 20.51 21.845 20.3806 21.8449 20.2488C21.8448 20.1171 21.81 19.9878 21.7441 19.8738L21.744 19.8738Z\",\n fill: \"#3ABA71\"\n});\n\nvar SvgUserIconGreen = function SvgUserIconGreen(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUserIconGreen, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/user_icon_green.8630da9c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.744 19.8738C20.3446 17.4634 18.1034 15.6556 15.4515 14.7979C16.722 14.042 17.7091 12.8899 18.2614 11.5186C18.8136 10.1473 18.9004 8.63263 18.5084 7.20724C18.1164 5.78184 17.2673 4.52454 16.0915 3.62846C14.9158 2.73238 13.4783 2.24707 12 2.24707C10.5217 2.24707 9.08426 2.73238 7.90848 3.62846C6.7327 4.52454 5.88361 5.78184 5.49162 7.20724C5.09963 8.63263 5.18642 10.1473 5.73865 11.5186C6.29089 12.8899 7.27803 14.042 8.54846 14.7979C5.89665 15.6556 3.65554 17.4633 2.25609 19.8736C2.19012 19.9876 2.15534 20.1169 2.15525 20.2486C2.15515 20.3804 2.18975 20.5098 2.25555 20.6239C2.32135 20.738 2.41604 20.8327 2.53009 20.8986C2.64414 20.9645 2.77353 20.9992 2.90524 20.9992L21.0949 20.9994C21.2266 20.9994 21.356 20.9647 21.4701 20.8988C21.5841 20.8329 21.6788 20.7382 21.7446 20.6241C21.8104 20.51 21.845 20.3806 21.8449 20.2488C21.8448 20.1171 21.81 19.9878 21.7441 19.8738L21.744 19.8738Z\",\n fill: \"#D9D9D9\"\n});\n\nvar SvgUserIconGrey = function SvgUserIconGrey(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUserIconGrey, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/user_icon_grey.87f21b74.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n arrow: {\n color: COLORS.BLACK,\n },\n tooltip: {\n backgroundColor: COLORS.BLACK,\n },\n}));","import React from 'react';\nimport Tooltip, { TooltipProps } from '@material-ui/core/Tooltip';\nimport { useStyles } from './Tooltip.styles';\n\nconst CustomTooltip = (props: TooltipProps) => {\n const classes = useStyles();\n\n return ;\n}\n\nexport default CustomTooltip;","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\nimport {\n enumerateDaysBetweenDates,\n getUniqueValues,\n getValueFromArray,\n localTimeString,\n transformIntoObj,\n transformIntoObjArrays,\n isUndefined,\n isAString,\n isArrayNonEmpty,\n isNonEmptyObject,\n isUomGrams,\n} from \"../../utils/helpers.utils\";\nimport { TAB_VALUES_CONSTANT } from \"constants/DelveDashboardConstant\";\nimport { QcVerificationStatus, UnitOfMeasure } from \"../../constants/CommonConstants\";\nexport interface MetaData {\n transactionDate: Date;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n displayDeliveryStatus: string;\n qcStatusDelivery: QCStatusDelivery;\n lastStatusUpdatedTime: string;\n numberOfItems: any;\n readyToDispatchDate: any;\n}\nexport interface Name {\n ar: string;\n en: string;\n}\n\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface QCStatusDelivery {\n verifiedBy: string;\n itemsVerified: string;\n issuesFound: string;\n lastVerifiedTime: string;\n verified: boolean;\n verificationStatus: any;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n totalCratesCount: number;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n driver: Driver;\n helper: Driver;\n vehicle: Vehicle;\n transitTime: string;\n actualTransitTime: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n}\n\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface PickUpInformation {\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface PaymentDetail {\n payBillNo: string;\n paymentPhoneNumber: string;\n uniqueReferenceNumber: string;\n transactionInitiatedTries: any;\n transactionStatus: any;\n timestamp: any;\n collectedAmount: string;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface Order {\n id: string;\n orderCode: string;\n consignmentCode: string;\n metadata: MetaData;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface AssignedStatus {\n vehicleAssigned: boolean;\n helperAssigned: boolean;\n driverAssigned: boolean;\n consignmentsAvailable: boolean;\n}\n\nexport interface Vehicle {\n brand: string;\n country: string;\n crateCapacity: number;\n fleetId: string;\n id: string;\n orderCapacity: number;\n type: string;\n name: string;\n}\n\nexport interface Driver {\n countryIsoCode: string;\n countryName: string;\n licenseNumber: number;\n id: string;\n name: string;\n type: string;\n}\n\nexport interface Route {\n id: string;\n routeId: string;\n creationTime: string;\n plannedDate: string;\n createdBy: string;\n carrier: string;\n deliveryProposition: string;\n deliveryArea: string[];\n deliverySlot: string[];\n countryDetails: CountryDetails;\n totalConsignment: number;\n totalCrates: number;\n transitTime: number;\n displayRouteStatus: string;\n hubCode: string;\n hubName: string;\n status: string;\n assignedStatus: AssignedStatus;\n assignedVehicle: Vehicle;\n assignee: Driver;\n helper: Driver;\n actualTransitTime: string;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface DelveOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Order[];\n}\n\nexport interface PlanningRoutesDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Route[];\n}\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport interface SubsProducts {\n sku: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n associatedBarcodes?: string[];\n associatedCrates?: AssociatedCrates[];\n effectiveUnitPrice?: string | number;\n}\nexport interface ProductsDataTransform {\n sku: string;\n name: Name;\n entryNumber: string;\n quantity: string;\n shippedQty: any;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n substitution: boolean;\n substitutedProducts: SubsProducts[];\n}\n\nexport interface QcStatusForMonoOrder {\n reportedQty: string; // if this can also be a number, you could use 'string | number' instead\n verifiedQty: string;\n verified: boolean;\n}\n\ninterface QcStatus {\n reportedQty: string; // if this can also be a number, you could use 'string | number' instead\n verifiedQty: string;\n verified: QcVerificationStatus;\n}\n\nexport interface AssociatedCrates {\n crateId: string;\n scanned: boolean;\n quantity: number;\n locationCode: string;\n qcStatus: QcStatus;\n}\n\nexport interface ProductName {\n ar: string;\n en: string;\n}\n\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: ProductName;\n quantity: string;\n shippedQty: string;\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: UnitOfMeasure;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n amendedEntry: boolean;\n substitutedProducts?: SubsProducts[];\n rejectedQty?: string;\n toleranceMinWeight: string;\n toleranceMaxWeight: string;\n associatedCrates?: AssociatedCrates[];\n isAmendedEntry: boolean;\n reason: Reason;\n qcStatusDelivery: QcStatusForMonoOrder;\n qcStatusReturn: QcStatusForMonoOrder;\n qcReportsDelivery: Reason;\n effectiveUnitPrice?: string | number;\n}\n\nexport interface StandardProducts {\n products: ProductsDataTransform[];\n}\n\nexport const getStatusWithoutUnderScore = (status: any) => {\n if (!isUndefined(status) && isAString(status)) {\n return status.replaceAll(\"_\", \" \");\n }\n return \"\";\n};\n\nexport const getStatusWithUnderScore = (status: any) => {\n if (!isUndefined(status) && isAString(status)) {\n return status.replaceAll(\" \", \"_\");\n }\n return \"\";\n};\n\nexport const getValueFromMetaData = (metadata: any, tabValue: any, keyName: any) => {\n let qcKeyName = \"qcStatusDelivery\";\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n qcKeyName = \"qcStatusReturn\";\n }\n if (metadata !== undefined && metadata[qcKeyName] !== undefined && metadata[qcKeyName][keyName] !== undefined) {\n return metadata[qcKeyName][keyName];\n }\n return \"\";\n};\n\nexport const getReportValueFromMetaData = (metadata: any, tabValue: any, keyName: any) => {\n let qcKeyName = \"qcReportsDelivery\";\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n qcKeyName = \"qcReportsReturn\";\n }\n if (metadata !== undefined && metadata[qcKeyName] !== undefined && metadata[qcKeyName][keyName] !== undefined) {\n return metadata[qcKeyName][keyName];\n }\n return \"\";\n};\n\nexport const getDateValueFromMetaData = (metadata: any, tabValue: any, keyName: any, formatStyle: any) => {\n let qcKeyName = \"qcStatusDelivery\";\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n qcKeyName = \"qcStatusReturn\";\n }\n if (metadata !== undefined && metadata[qcKeyName] !== undefined && metadata[qcKeyName][keyName] !== undefined) {\n return moment(metadata[qcKeyName][keyName], AppConstants.DATE_FORMAT_BACKEND).format(formatStyle);\n }\n return \"\";\n};\n\nexport const getItemsFromMetaData = (metadata: any, tabValue: any) => {\n let keyName = \"numberOfItems\";\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n keyName = \"returnedNumberOfItems\";\n }\n if (metadata !== undefined && metadata[keyName] !== undefined) {\n return metadata[keyName];\n }\n return \"0\";\n};\n\nexport const delveOrdersDataTransform = (response: DelveOrdersDataResponse, tabValue: any): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Order) => {\n const {\n id,\n posInformation: { store },\n consignmentCode,\n metadata,\n deliveryInformation,\n } = order;\n const consignmentStatus = getValueFromMetaData(metadata, tabValue, \"verificationStatus\");\n const deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const readyToDispatchDate = metadata && metadata.readyToDispatchDate ? moment(metadata.readyToDispatchDate, AppConstants.DATE_FORMAT_BACKEND) : \"\";\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n const totalItems = getItemsFromMetaData(metadata, tabValue);\n const verifiedBy = getValueFromMetaData(metadata, tabValue, \"verifiedBy\");\n const verificationDate = getDateValueFromMetaData(metadata, tabValue, \"lastVerifiedTime\", AppConstants.DATE_FORMAT);\n const time = getDateValueFromMetaData(metadata, tabValue, \"lastVerifiedTime\", AppConstants.SLOT_FORMAT_UI);\n const itemsVerified = getValueFromMetaData(metadata, tabValue, \"itemsVerified\");\n const issuesFound = getValueFromMetaData(metadata, tabValue, \"issuesFound\");\n const verificationStatus = getValueFromMetaData(metadata, tabValue, \"verified\");\n const verifiedItems = Number(itemsVerified); /** - Number(issuesFound); https://mafretail.atlassian.net/browse/DLV-2617 **/\n transformedArray.push({\n id: id,\n hubName: store, // Hub Name\n consignmentId: consignmentCode, // Consignment Number\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT), // Delivery Date\n deliverySlot: `${localTimeString(startTime)} - ${localTimeString(endTime)}`, // Delivery Slot\n crates: deliveryInformation.totalCratesCount, // Crates\n totalItems: totalItems, // Total Items\n issuesFound: issuesFound || 0, // Issues Found\n itemsVerified: verifiedItems || 0, // Items Verified\n verificationDate: verificationDate, // Verification Date\n verificationTime: time, // Verification Time\n verifiedBy: verifiedBy, // Verified By\n driverName: deliveryInformation.driver ? deliveryInformation.driver.name : \"\", // Driver name\n deliveryStatus: metadata.deliveryStatus,\n issues: Number(getValueFromMetaData(metadata, tabValue, \"issuesFound\")),\n readyToDispatchDate: readyToDispatchDate !== \"\" ? readyToDispatchDate.format(AppConstants.DATE_FORMAT) : \"-\", // Ready To Dispatch Date\n verified: getStatusWithoutUnderScore(consignmentStatus), // Consignment Status\n verificationStatus: getStatusWithoutUnderScore(verificationStatus), // Verification Status verified\n });\n });\n return [...transformedArray];\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n let statusCodeCopy = \"\" as any;\n if (!isUndefined(statusCode) && isAString(statusCode)) {\n statusCodeCopy = getStatusWithUnderScore(statusCode);\n const statuses: any = AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCodeCopy && fieldName && statuses && statuses[statusCodeCopy] && statuses[statusCodeCopy][fieldName] ? statuses[statusCodeCopy][fieldName] : \"\";\n }\n return \"\";\n};\n\nexport const getVerificationStatusField = (fieldName: string, statusCode: string) => {\n let statusCodeCopy = \"\" as any;\n if (!isUndefined(statusCode) && isAString(statusCode)) {\n statusCodeCopy = getStatusWithUnderScore(statusCode);\n const statuses: any = AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n const newStatus = statusCodeCopy.toUpperCase();\n return statusCode && newStatus && fieldName && statuses[newStatus] && statuses[newStatus][fieldName] ? statuses[newStatus][fieldName] : \"\";\n }\n return \"\";\n};\n\nexport const rejectionDataTransform = (response: any) => {\n const transformedArray: any[] = [];\n response &&\n response.forEach((product: ProductsDataTransform) => {\n const { sku, entryNumber, rejectedQty, name, unitPrice } = product;\n let showReason = false;\n let qty = product.quantity;\n let isSubstitution = product.hasOwnProperty(\"substitutedProducts\");\n let isScalable = product.uom?.toLowerCase() === \"grams\";\n let totalQty = isScalable ? 1 : isSubstitution ? product.substitutedProducts && product.substitutedProducts.length > 0 && product.substitutedProducts[0].quantity : +qty;\n const rejectedItems: any = isSubstitution ? (+product.substitutedProducts && product.substitutedProducts.length && product.substitutedProducts[0].rejectedQty) || 0 : +product.rejectedQty || 0;\n const initialQty = isScalable ? (rejectedItems > 0 ? 1 : 0) : rejectedItems;\n let shipedQty = isScalable ? 1 : product.substitutedProducts && product.substitutedProducts.length ? product.substitutedProducts[0].shippedQty : product.shippedQty ? product.shippedQty : 0;\n\n let newObj: any = [];\n let selectRejected = [];\n for (let i = 0; i <= shipedQty; i++) {\n newObj = transformIntoObjArrays(i, shipedQty);\n }\n if (initialQty === 0) {\n selectRejected = transformIntoObj(initialQty);\n } else {\n selectRejected = transformIntoObj(initialQty);\n }\n let deliveryReason = [];\n if (product.reason) {\n deliveryReason.push({\n name: product.reason.reasonDescription,\n value: product.reason.reasonCode,\n });\n } else {\n if (product.substitutedProducts) {\n product.substitutedProducts.forEach((subProd: any) => {\n if (subProd.reason) {\n deliveryReason.push({\n name: subProd.reason.reasonDescription,\n value: subProd.reason.reasonCode,\n });\n }\n });\n }\n }\n //Logic to showReason only when the rejectedQty is not zero\n if (rejectedQty !== \"0\" && !isUndefined(rejectedQty)) {\n showReason = true;\n }\n transformedArray.push({\n id: sku,\n name: name,\n entryNumber: entryNumber,\n shippedQty: shipedQty || 0,\n rejectedQty: rejectedQty || 0,\n unitPrice: unitPrice,\n totalQty: totalQty,\n rejectedQtyList: newObj,\n selectedRejectedQty: selectRejected,\n itemDeliveryReason: deliveryReason,\n substitutedProducts: product.substitutedProducts,\n showReason: showReason,\n error: \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const sortedCountryData = (columnName: string, isDescending: boolean) => (a: any, b: any) => {\n const aVal = isDescending ? a : b;\n const bVal = isDescending ? b : a;\n if (aVal[columnName].match(/^[0-9]+$/) && bVal[columnName].match(/^[0-9]+$/)) {\n return parseFloat(aVal[columnName]) - parseFloat(bVal[columnName]);\n } else {\n if (aVal[columnName] < bVal[columnName]) {\n return -1;\n } else if (aVal[columnName] > bVal[columnName]) {\n return 1;\n } else {\n return 0;\n }\n }\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n};\n\nexport const createChipsCountFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, selectedChip?: any, isChipClicked?: boolean) => {\n payload.attributes = [];\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue),\n });\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: [],\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.deliveryArea) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryArea.fieldName,\n value: attrValue,\n });\n delete payload.deliveryArea;\n }\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue,\n });\n delete payload.orderType;\n }\n if (payload.verified) {\n payload.attributes.push({\n key: payload.verified.fieldName,\n value: [],\n });\n delete payload.verified;\n }\n // if (payload.deliveryStatus) {\n // let attrValue = [];\n // if (payload.deliveryStatus.value) {\n // if (payload.deliveryStatus.value.length) {\n // attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n // } else {\n // attrValue = [\"READY_TO_DISPATCH\", \"PACKING_COMPLETE\", \"PREPARED\", \"PREPARING\", \"ON_HOLD\", \"PENDING_DELIVERY\", \"CANCELLED\", \"DELIVERED\", \"DELIVERY_FAILED\", \"PARTIALLY_DELIVERED\"];\n // }\n // } else {\n // attrValue = [];\n // }\n // payload.attributes.push({\n // key: payload.deliveryStatus.fieldName,\n // value: attrValue,\n // });\n // delete payload.deliveryStatus;\n // }\n if (payload.paymentType) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.paymentType.fieldName,\n value: attrValue,\n });\n delete payload.paymentType;\n }\n if (payload.carrier) {\n let attrValue = [];\n if (payload.carrier.value) {\n attrValue = getFilterAttributeValue(payload.carrier.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.carrier.fieldName,\n value: attrValue,\n });\n delete payload.carrier;\n }\n if (payload.deliveryProposition) {\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"STD\"],\n });\n delete payload.deliveryProposition;\n }\n if (payload.routeId) {\n let attrValue = [];\n if (payload.routeId.value) {\n attrValue = getFilterAttributeValue(payload.routeId.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeId.fieldName,\n value: attrValue,\n });\n delete payload.routeId;\n }\n if (payload.routeStatus) {\n let attrValue = [];\n if (payload.routeStatus.value) {\n attrValue = getFilterAttributeValue(payload.routeStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeStatus.fieldName,\n value: attrValue,\n });\n delete payload.routeStatus;\n }\n if (payload.driver) {\n let attrValue = [];\n if (payload.driver.value) {\n attrValue = getFilterAttributeValue(payload.driver.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.driver.fieldName,\n value: attrValue,\n });\n delete payload.driver;\n }\n if (payload.vehicle) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vehicle.fieldName,\n value: attrValue,\n });\n delete payload.vehicle;\n }\n if (payload.helper) {\n let attrValue = [];\n if (payload.helper.value) {\n attrValue = getFilterAttributeValue(payload.helper.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.helper.fieldName,\n value: attrValue,\n });\n delete payload.helper;\n }\n if (payload.deliveryFailedReason) {\n let attrValue = [];\n if (payload.deliveryFailedReason.value) {\n attrValue = getFilterAttributeValue(payload.deliveryFailedReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryFailedReason.fieldName,\n value: attrValue,\n });\n delete payload.deliveryFailedReason;\n }\n if (payload.createdBy) {\n let attrValue = [];\n if (payload.createdBy.value) {\n attrValue = getFilterAttributeValue(payload.createdBy.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.createdBy.fieldName,\n value: attrValue,\n });\n delete payload.createdBy;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n });\n }\n });\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n\n // LMC 2208\n if (payload.delveDateRange && payload.delveDateRange.value) {\n let delveDateRange = [];\n delveDateRange.push({\n startDate: moment(payload.delveDateRange.value.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n endDate: moment(payload.delveDateRange.value.endDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n });\n payload.delveDateRange = delveDateRange;\n }\n\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken;\n }\n return payload;\n};\n\nexport const createDelveOrdersFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, selectedChip?: any, isChipClicked?: boolean, tabValue?: string) => {\n payload.attributes = [];\n let selectedValue = [selectedChip] as any;\n if (selectedChip === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP) {\n selectedValue = [];\n } else if (selectedChip === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n selectedValue = [false, selectedChip];\n } else if (selectedChip === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ISSUES_REPORTED_CHIP) {\n selectedValue = [AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.PARTIALLY_VERIFIED_ISSUES_CHIP, AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.VERIFIED_ISSUES_CHIP];\n }\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (payload.returns) {\n let fieldName = payload.returns.fieldName;\n payload.attributes.push({ key: fieldName, value: selectedValue });\n delete payload.returns;\n delete payload.verified;\n }\n } else {\n if (payload.verified) {\n let fieldName = payload.verified.fieldName;\n payload.attributes.push({ key: payload.verified.fieldName, value: selectedValue });\n delete payload.verified;\n delete payload.returns;\n }\n }\n\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue),\n });\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: [],\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.deliveryArea) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryArea.fieldName,\n value: attrValue,\n });\n delete payload.deliveryArea;\n }\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue,\n });\n delete payload.orderType;\n }\n if (payload.consignmentCode) {\n payload.attributes.push({\n key: payload.consignmentCode.key,\n value: payload.consignmentCode.value,\n });\n delete payload.consignmentCode;\n }\n // if (payload.deliveryStatus) {\n // let attrValue = [];\n // if (payload.deliveryStatus.value) {\n // if (payload.deliveryStatus.value.length) {\n // attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n // } else {\n // attrValue = [\"READY_TO_DISPATCH\", \"PACKING_COMPLETE\", \"PREPARED\", \"PREPARING\", \"ON_HOLD\", \"PENDING_DELIVERY\", \"CANCELLED\", \"DELIVERED\", \"DELIVERY_FAILED\", \"PARTIALLY_DELIVERED\"];\n // }\n // } else {\n // attrValue = [];\n // }\n // payload.attributes.push({\n // key: payload.deliveryStatus.fieldName,\n // value: attrValue,\n // });\n // delete payload.deliveryStatus;\n // }\n if (payload.paymentType) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.paymentType.fieldName,\n value: attrValue,\n });\n delete payload.paymentType;\n }\n if (payload.carrier) {\n let attrValue = [];\n if (payload.carrier.value) {\n attrValue = getFilterAttributeValue(payload.carrier.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.carrier.fieldName,\n value: attrValue,\n });\n delete payload.carrier;\n }\n if (payload.deliveryProposition) {\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"STD\"],\n });\n delete payload.deliveryProposition;\n }\n if (payload.routeId) {\n let attrValue = [];\n if (payload.routeId.value) {\n attrValue = getFilterAttributeValue(payload.routeId.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeId.fieldName,\n value: attrValue,\n });\n delete payload.routeId;\n }\n if (payload.routeStatus) {\n let attrValue = [];\n if (payload.routeStatus.value) {\n attrValue = getFilterAttributeValue(payload.routeStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeStatus.fieldName,\n value: attrValue,\n });\n delete payload.routeStatus;\n }\n if (payload.driver) {\n let attrValue = [];\n if (payload.driver.value) {\n attrValue = getFilterAttributeValue(payload.driver.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.driver.fieldName,\n value: attrValue,\n });\n delete payload.driver;\n }\n if (payload.vehicle) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vehicle.fieldName,\n value: attrValue,\n });\n delete payload.vehicle;\n }\n if (payload.helper) {\n let attrValue = [];\n if (payload.helper.value) {\n attrValue = getFilterAttributeValue(payload.helper.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.helper.fieldName,\n value: attrValue,\n });\n delete payload.helper;\n }\n if (payload.deliveryFailedReason) {\n let attrValue = [];\n if (payload.deliveryFailedReason.value) {\n attrValue = getFilterAttributeValue(payload.deliveryFailedReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryFailedReason.fieldName,\n value: attrValue,\n });\n delete payload.deliveryFailedReason;\n }\n if (payload.createdBy) {\n let attrValue = [];\n if (payload.createdBy.value) {\n attrValue = getFilterAttributeValue(payload.createdBy.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.createdBy.fieldName,\n value: attrValue,\n });\n delete payload.createdBy;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n });\n }\n });\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n\n // LMC 2208\n if (payload.delveDateRange && payload.delveDateRange.value) {\n let delveDateRange = [];\n delveDateRange.push({\n startDate: moment(payload.delveDateRange.value.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n endDate: moment(payload.delveDateRange.value.endDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n });\n payload.delveDateRange = delveDateRange;\n }\n\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken;\n }\n return payload;\n};\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, selectedChip?: any, tabValue?: string) => {\n let newPayload = createDelveOrdersFilterPayload(payload, data, isLoadMore, selectedChip, false, tabValue);\n if (!isUndefined(newPayload)) {\n if (!isUndefined(newPayload.isDelve)) {\n if (newPayload.isDelve) {\n const { delveDateRange } = newPayload;\n newPayload.readyToDispatchDateRange = delveDateRange;\n newPayload.dateRange = [];\n delete newPayload.delveDateRange;\n } else {\n newPayload.isDelve = true;\n delete newPayload.delveDateRange;\n newPayload.readyToDispatchDateRange = [];\n }\n }\n }\n var orderFilterRequestDto = { orderFilterRequestDto: newPayload };\n return orderFilterRequestDto;\n};\n\nexport const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store;\n }\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode,\n },\n };\n return consignmentCodePosCodeMap;\n }\n};\n\nexport const getDropdownsData = (payload: any, codeKey?: string, valueKey?: string) => {\n return payload.length\n ? payload.map((item: any) => {\n return {\n code: codeKey ? item[codeKey] : item.id,\n value: valueKey ? item[valueKey] : item.name,\n };\n })\n : [];\n};\n\nexport const getTotalCrates = (consignments: any[]) => {\n let totalCrates = 0;\n if (consignments.length) {\n consignments.forEach((item: any) => {\n if (item.data && item.data.deliveryInformation) {\n totalCrates += parseInt(item.data.deliveryInformation.totalCratesCount);\n }\n });\n }\n return totalCrates;\n};\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj\n ? `${addressObj.building ? addressObj.building + \", \" : \"\"}${addressObj.apartment ? addressObj.apartment + \", \" : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + \", \" : \"\"}${\n addressObj.makani ? addressObj.makani + \", \" : \"\"\n }${addressObj.streetNumber ? addressObj.streetNumber + \", \" : \"\"}${addressObj.streetName ? addressObj.streetName + \", \" : \"\"}${addressObj.area ? addressObj.area + \", \" : \"\"}${\n addressObj.landmark ? addressObj.landmark + \", \" : \"\"\n }${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + \", \" : \"\"}${addressObj.postalCode ? addressObj.postalCode + \", \" : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}`\n : \"\";\n};\n\nexport const getLatLong = (addressObj: Address) => {\n return addressObj ? `${addressObj.latitude ? parseFloat(addressObj.latitude).toFixed(5) + \", \" : \"\"}${addressObj.longitude ? parseFloat(addressObj.longitude).toFixed(5) : \"\"}` : \"\";\n};\n\nexport const getSortedProducts = (items: any, tabValue: any, unOrderedProductsList?: any) => {\n let sortedProducts: any = [];\n let issueProducts: any = [];\n let products: any = [];\n if (items !== undefined && Array.isArray(items) && items.length > 0) {\n items.forEach((item: any) => {\n if (item !== undefined) {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.qcReportsReturn !== undefined && item.qcReportsReturn.reasonDescription !== undefined && item.qcReportsReturn.reasonDescription !== undefined) {\n issueProducts.push(item);\n } else {\n products.push(item);\n }\n } else {\n if (item && item.associatedCrates && item.associatedCrates[0] && item.associatedCrates[0].qcReports && item.associatedCrates[0].qcReports.reasonDescription) {\n issueProducts.push(item);\n } else {\n products.push(item);\n }\n }\n }\n });\n }\n sortedProducts = issueProducts.concat(products);\n if (!isUndefined(unOrderedProductsList)) {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value && !isUndefined(unOrderedProductsList.returnedProducts) && isArrayNonEmpty(unOrderedProductsList.returnedProducts)) {\n sortedProducts = sortedProducts.concat(unOrderedProductsList.returnedProducts);\n } else if (tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && !isUndefined(unOrderedProductsList.deliveryProducts) && isArrayNonEmpty(unOrderedProductsList.deliveryProducts)) {\n sortedProducts = sortedProducts.concat(unOrderedProductsList.deliveryProducts);\n }\n }\n return sortedProducts;\n};\n\nexport const getVerifiedVerificationStatusField = (fieldName: string, statusCode: string) => {\n let statusCodeCopy = \"\" as any;\n if (!isUndefined(statusCode) && isAString(statusCode)) {\n statusCodeCopy = getStatusWithUnderScore(statusCode);\n const statuses: any = AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.VERIFICATION_STATUS;\n const newStatus = statusCodeCopy.toUpperCase();\n return statusCode && newStatus && fieldName && statuses[newStatus] && statuses[newStatus][fieldName] ? statuses[newStatus][fieldName] : \"\";\n }\n return \"\";\n};\n\nconst getReportedQtyValueFromItem = (item: Product, tabValue: string) => {\n const reportedQty = Number(getValueFromMetaData(item, tabValue, \"reportedQty\"));\n if (Number(reportedQty) > 0 && item && item.uom && isAString(item.uom) && isUomGrams(item.uom)) {\n return (Number(item.shippedQty) / 1000) * Number(reportedQty);\n }\n return reportedQty || 0;\n};\n\nexport const getCratesFromProducts = (items: Product, tabValue: string, unOrderedProductsList?: any) => {\n let crates_details_object: any = {};\n let crates_data_obj: any = {};\n let issues_reported_cost = 0;\n let item_issues_object: any = {};\n if (items !== undefined && Array.isArray(items) && items.length > 0) {\n items.forEach((item: Product) => {\n if (!isUndefined(item)) {\n if (item.substitutedProducts !== undefined && Array.isArray(item.substitutedProducts) && item.substitutedProducts.length > 0) {\n item.substitutedProducts.forEach((product: SubsProducts) => {\n if (tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && product.associatedCrates !== undefined && Array.isArray(product.associatedCrates) && product.associatedCrates.length > 0) {\n const data_obj = generateCratesObj(product.associatedCrates, crates_data_obj, item_issues_object, product, item);\n if (data_obj !== undefined && typeof data_obj === \"object\" && Object.keys(data_obj).length > 0) {\n crates_data_obj = data_obj.crates_data_obj;\n item_issues_object = data_obj.item_issues_object;\n issues_reported_cost = issues_reported_cost + data_obj.issues_reported_cost;\n }\n } else {\n const reportedQty = Number(getValueFromMetaData(item, tabValue, \"reportedQty\"));\n if (Number(reportedQty) > 0) {\n const unitPrice = Number(product?.effectiveUnitPrice && Number(product?.effectiveUnitPrice) > 0 ? product?.effectiveUnitPrice : product?.unitPrice || \"0\");\n const reported_cost = getReportedQtyValueFromItem(item, tabValue) * unitPrice;\n issues_reported_cost = Number(issues_reported_cost) + reported_cost;\n const reasonCode = getReportValueFromMetaData(item, tabValue, \"reasonCode\");\n if (reasonCode !== undefined && reasonCode !== \"\") {\n if (item_issues_object[reasonCode] !== undefined) {\n item_issues_object[reasonCode].reasonDescription = getReportValueFromMetaData(item, tabValue, \"reasonDescription\");\n item_issues_object[reasonCode].issues_cost = Number(item_issues_object[reasonCode].issues_cost) + reported_cost;\n } else {\n item_issues_object[reasonCode] = {\n reasonDescription: getReportValueFromMetaData(item, tabValue, \"reasonDescription\"),\n issues_cost: reported_cost,\n };\n }\n }\n }\n }\n });\n } else if (tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && item.associatedCrates !== undefined && Array.isArray(item.associatedCrates) && item.associatedCrates.length > 0) {\n const data_obj = generateCratesObj(item.associatedCrates, crates_data_obj, item_issues_object, item);\n if (data_obj !== undefined && typeof data_obj === \"object\" && Object.keys(data_obj).length > 0) {\n crates_data_obj = data_obj.crates_data_obj;\n item_issues_object = data_obj.item_issues_object;\n issues_reported_cost = issues_reported_cost + data_obj.issues_reported_cost;\n }\n } else {\n if (Number(getValueFromMetaData(item, tabValue, \"reportedQty\")) > 0) {\n const unitPrice = Number(item?.effectiveUnitPrice && Number(item?.effectiveUnitPrice) > 0 ? item?.effectiveUnitPrice : item?.unitPrice);\n const reported_cost = getReportedQtyValueFromItem(item, tabValue) * unitPrice;\n issues_reported_cost = Number(issues_reported_cost) + reported_cost;\n const reasonCode = getReportValueFromMetaData(item, tabValue, \"reasonCode\");\n if (reasonCode !== undefined && reasonCode !== \"\") {\n if (item_issues_object[reasonCode] !== undefined) {\n item_issues_object[reasonCode].reasonDescription = getReportValueFromMetaData(item, tabValue, \"reasonDescription\");\n item_issues_object[reasonCode].issues_cost = Number(item_issues_object[reasonCode].issues_cost) + reported_cost;\n } else {\n item_issues_object[reasonCode] = {\n reasonDescription: getReportValueFromMetaData(item, tabValue, \"reasonDescription\"),\n issues_cost: reported_cost,\n };\n }\n }\n }\n }\n }\n });\n }\n if (!isUndefined(unOrderedProductsList)) {\n let items = [] as any;\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value && !isUndefined(unOrderedProductsList.returnedProducts) && isArrayNonEmpty(unOrderedProductsList.returnedProducts)) {\n items = unOrderedProductsList.returnedProducts;\n } else if (tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && !isUndefined(unOrderedProductsList.deliveryProducts) && isArrayNonEmpty(unOrderedProductsList.deliveryProducts)) {\n items = unOrderedProductsList.deliveryProducts;\n }\n\n if (items && isArrayNonEmpty(items)) {\n items.forEach((item: any) => {\n if (!isUndefined(item) && !isUndefined(item.reportedQty) && Number(item.reportedQty) > 0) {\n const unitPrice = Number(item?.effectiveUnitPrice && Number(item?.effectiveUnitPrice) > 0 ? item?.effectiveUnitPrice : item?.unitPrice);\n const reported_cost = Number(item.reportedQty) * unitPrice; // getReportedCostBasedOnQtyValue(item) * unitPrice;\n issues_reported_cost = Number(issues_reported_cost) + reported_cost;\n const reasonCode = item.reportedReasonCode;\n if (reasonCode !== undefined && reasonCode !== \"\") {\n if (item_issues_object[reasonCode] !== undefined) {\n item_issues_object[reasonCode].reasonDescription = item.reportedReasonDescription;\n item_issues_object[reasonCode].issues_cost = Number(item_issues_object[reasonCode].issues_cost) + reported_cost;\n } else {\n item_issues_object[reasonCode] = {\n reasonDescription: item.reportedReasonDescription,\n issues_cost: reported_cost,\n };\n }\n }\n if (tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && !isUndefined(item) && !isUndefined(item.crateId)) {\n if (!isUndefined(crates_data_obj) && crates_data_obj[item.crateId]) {\n crates_data_obj[item.crateId].reportedQty = crates_data_obj[item.crateId].reportedQty + Number(item.reportedQty);\n crates_data_obj[item.crateId].issueCost = crates_data_obj[item.crateId].issueCost + reported_cost;\n crates_data_obj[item.crateId].issue_found = true;\n if (crates_data_obj[item.crateId].productDetails[item.reportedReasonCode] !== undefined) {\n crates_data_obj[item.crateId].productDetails[item.reportedReasonCode].push({ ...item, reported_cost: reported_cost });\n } else {\n crates_data_obj[item.crateId].productDetails[item.reportedReasonCode] = [{ ...item, reported_cost: reported_cost }];\n }\n }\n }\n }\n });\n }\n }\n crates_details_object.crates_data_obj = crates_data_obj;\n crates_details_object.issues_reported_cost = issues_reported_cost;\n crates_details_object.item_issues_object = item_issues_object;\n return crates_details_object;\n};\n\nconst getReportedQtyValueFromCrate = (item: any, reportedQty: number): number => {\n if (Number(reportedQty) > 0 && item && item.uom && isAString(item.uom) && isUomGrams(item.uom)) {\n return (Number(item.shippedQty) / 1000) * Number(reportedQty);\n }\n return reportedQty || 0;\n};\n\nexport const generateCratesObj = (cratesList: any, _original_crates_data_obj: any, _original_item_issues_object: any, item: any, mainItem?: any) => {\n let crates_data_obj = JSON.parse(JSON.stringify(_original_crates_data_obj)) as any;\n let item_issues_object = JSON.parse(JSON.stringify(_original_item_issues_object)) as any;\n let issues_reported_cost = 0;\n\n if (cratesList !== undefined && Array.isArray(cratesList) && cratesList.length > 0) {\n cratesList.forEach((crate: any) => {\n if (crate !== undefined && crate.crateId !== undefined) {\n let issue_found = false;\n if (crates_data_obj[crate.crateId] !== undefined) {\n const { productQty, verifiedQty, reportedQty } = crates_data_obj[crate.crateId];\n crates_data_obj[crate.crateId].verified =\n crate?.qcStatus && !isUndefined(crate?.qcStatus?.verified) && crate?.qcStatus?.verified === true ? ++crates_data_obj[crate.crateId].verified : crates_data_obj[crate.crateId].verified; // TODO\n crates_data_obj[crate.crateId].productQty = crate?.quantity ? parseInt(productQty) + parseInt(crate.quantity) : productQty;\n crates_data_obj[crate.crateId].verifiedQty = crate?.qcStatus?.verifiedQty ? parseInt(verifiedQty) + parseInt(crate?.qcStatus?.verifiedQty) : verifiedQty;\n crates_data_obj[crate.crateId].reportedQty = crate?.qcStatus?.reportedQty ? parseInt(reportedQty) + parseInt(crate?.qcStatus?.reportedQty) : reportedQty;\n } else {\n crates_data_obj[crate.crateId] = {\n verified: crate?.qcStatus && !isUndefined(crate?.qcStatus?.verified) && crate?.qcStatus?.verified === true ? 1 : 0,\n productQty: crate?.quantity ? parseInt(crate.quantity) : 0,\n verifiedQty: crate?.qcStatus?.verifiedQty ? parseInt(crate?.qcStatus?.verifiedQty) : 0,\n reportedQty: crate?.qcStatus?.reportedQty ? parseInt(crate?.qcStatus?.reportedQty) : 0,\n issueCost: 0,\n productDetails: {},\n issue_found: false,\n };\n }\n\n if (item !== undefined && item.sku !== undefined) {\n let product_details_object: any = {\n name: item.name,\n quantity: item.quantity || 0,\n shippedQty: item.shippedQty,\n unitPrice: item?.effectiveUnitPrice && Number(item?.effectiveUnitPrice) > 0 ? item?.effectiveUnitPrice : item.unitPrice,\n imgUrl: item.imgUrl,\n qcStatusDelivery: { ...item.qcStatusDelivery },\n qcReports: {},\n reported_cost: 0,\n };\n\n if (mainItem !== undefined && mainItem.quantity !== undefined && Number(mainItem.quantity) > 0) {\n product_details_object.quantity = mainItem.quantity;\n }\n if (crate !== undefined && crate.qcStatus !== undefined && crate.qcStatus.reportedQty !== undefined && parseInt(crate.qcStatus.reportedQty) > 0) {\n issue_found = true;\n const unitPrice: number = Number(item?.effectiveUnitPrice && Number(item?.effectiveUnitPrice) > 0 ? item?.effectiveUnitPrice : item.unitPrice);\n const reported_cost: number = getReportedQtyValueFromCrate(item, Number(crate.qcStatus.reportedQty)) * unitPrice;\n product_details_object.reported_cost = reported_cost;\n crates_data_obj[crate.crateId].issueCost = Number(crates_data_obj[crate.crateId].issueCost) + reported_cost;\n issues_reported_cost = Number(issues_reported_cost) + reported_cost;\n\n if (crate.qcReports !== undefined && crate.qcReports.reasonCode !== undefined) {\n product_details_object.qcReports = crate.qcReports;\n if (item_issues_object[crate.qcReports.reasonCode] !== undefined) {\n item_issues_object[crate.qcReports.reasonCode].reasonDescription = crate.qcReports.reasonDescription;\n item_issues_object[crate.qcReports.reasonCode].issues_cost = Number(item_issues_object[crate.qcReports.reasonCode].issues_cost) + reported_cost;\n } else {\n item_issues_object[crate.qcReports.reasonCode] = {\n reasonDescription: crate.qcReports.reasonDescription,\n issues_cost: reported_cost,\n };\n }\n\n if (crates_data_obj[crate.crateId].productDetails[crate.qcReports.reasonCode] !== undefined) {\n crates_data_obj[crate.crateId].productDetails[crate.qcReports.reasonCode].push(product_details_object);\n } else {\n crates_data_obj[crate.crateId].productDetails[crate.qcReports.reasonCode] = [product_details_object];\n }\n }\n }\n }\n\n if (crates_data_obj[crate.crateId].issue_found !== undefined && !crates_data_obj[crate.crateId].issue_found) {\n crates_data_obj[crate.crateId].issue_found = issue_found;\n }\n }\n });\n }\n return { crates_data_obj, item_issues_object, issues_reported_cost };\n};\n\nexport const getItemNameForDelveOrderList = (item: any) => {\n if (\n item.substitutedProducts !== undefined &&\n Array.isArray(item.substitutedProducts) &&\n item.substitutedProducts.length > 0 &&\n item.substitutedProducts[0] !== undefined &&\n item.substitutedProducts[0].name !== undefined &&\n item.substitutedProducts[0].name.en !== undefined\n ) {\n return item.substitutedProducts[0].name.en;\n } else if (item.name !== undefined && item.name.en !== undefined) {\n return item.name.en;\n }\n return \"\";\n};\n\nexport const getItemShippedQtyForDelveOrderList = (item: any, tabValue: any) => {\n if (item.substitutedProducts !== undefined && Array.isArray(item.substitutedProducts) && item.substitutedProducts.length > 0 && item.substitutedProducts[0] !== undefined) {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.substitutedProducts[0].rejectedQty !== undefined) {\n return item.substitutedProducts[0].rejectedQty;\n }\n } else if (item.substitutedProducts[0].shippedQty !== undefined) {\n return item.substitutedProducts[0].shippedQty;\n }\n } else if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.rejectedQty !== undefined) {\n return item.rejectedQty;\n }\n } else if (item.shippedQty !== undefined) {\n return item.shippedQty;\n }\n return \"0\";\n};\n\nexport const getItemReportedQtyForDelveOrderList = (item: any, tabValue: any) => {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.qcStatusReturn !== undefined && item.qcStatusReturn.reportedQty !== undefined && Number(item.qcStatusReturn.reportedQty) > 0) {\n return Number(item.qcStatusReturn.reportedQty);\n } else if (item.reportedQty && Number(item.reportedQty) > 0) {\n return item.reportedQty;\n }\n } else {\n if (\n !isUndefined(item.associatedCrates) &&\n !isUndefined(item.associatedCrates[0]) &&\n !isUndefined(item.associatedCrates[0].qcStatus) &&\n !isUndefined(item.associatedCrates[0].qcStatus.reportedQty) &&\n Number(item.associatedCrates[0].qcStatus.reportedQty) > 0\n ) {\n return item.associatedCrates[0].qcStatus.reportedQty;\n } else if (!isUndefined(item) && !isUndefined(item.qcStatusDelivery) && !isUndefined(item.qcStatusDelivery.reportedQty) && Number(item.qcStatusDelivery.reportedQty) > 0) {\n return Number(item.qcStatusDelivery.reportedQty);\n } else if (item.reportedQty && Number(item.reportedQty) > 0) {\n return item.reportedQty;\n }\n }\n return \"0\";\n};\n\nexport const getItemStatusForDelveOrderList = (item: any, tabValue: any) => {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.qcStatusReturn !== undefined && item.qcStatusReturn.verified !== undefined) {\n return item.qcStatusReturn.verified ? \"Verified\" : \"Unverified\";\n }\n } else {\n if (item.qcStatusDelivery && item.qcStatusDelivery.verified) {\n return item.qcStatusDelivery.verified ? \"Verified\" : \"Unverified\";\n }\n }\n return \"\";\n};\n\nexport const getItemSQtyForDelveOrderList = (item: any, tabValue: any) => {\n if (item.substitutedProducts !== undefined && Array.isArray(item.substitutedProducts) && item.substitutedProducts.length > 0 && item.substitutedProducts[0] !== undefined) {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value && item.substitutedProducts[0].shippedQty !== undefined) {\n return item.substitutedProducts[0].shippedQty;\n } else if (item.substitutedProducts[0].quantity !== undefined) {\n return item.substitutedProducts[0].quantity;\n } else if (item.quantity !== undefined) {\n return item.quantity;\n }\n } else if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.shippedQty !== undefined) {\n return item.shippedQty;\n }\n } else if (item.quantity !== undefined) {\n return item.quantity;\n }\n return \"0\";\n};\n\n\nexport const getUnOrderedProductsFromMetaData = (consignment: any, tabValue: string) => {\n if (!isUndefined(consignment) && !isUndefined(consignment.metadata)) {\n return getValueFromMetaData(consignment.metadata, tabValue, \"unOrderedProducts\");\n }\n return false;\n};\n","import moment from \"moment\";\n\nimport AppConstants from \"../../constants/AppConstants\";\nimport { ALL_ROUTES_TEXT_CONTANT, ALL_ROUTE_INITIAL_STATE_INTERFACE, ROUTE_TYPE } from \"../../RoutePlanning/AllRoutes/utils/AllRouteConstant\";\nimport { enumerateDaysBetweenDates, isArrayNonEmpty, isNonEmptyArray, isNonEmptyObject, isNull, isObject, isUndefined } from \"../../utils/helpers.utils\";\nimport { designMapIcon, designMapLabel, designSubRouteMapIcon, designSubrouteMapLabel, getColorBasedOnRouteIndex, getSlotName } from \"../../RoutePlanning/AllRoutes/utils/AllRouteUtils\";\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n};\nexport const createGetAllPlannedRoutesPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE, hubId: any) => {\n return {\n timeSlot: {\n startTime: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(stateObj.selectedDate.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: hubId,\n };\n};\n\nexport const createGetAllDropdownsPayload = (stateObj: any, hubId: any) => {\n return {\n timeSlot: {\n startTime: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(stateObj.selectedDate.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: hubId,\n };\n};\n\nexport const createGetAllUnPlannedRoutesPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE, hubId: any, hubName: any) => {\n let dateRange = [];\n let isDateRange = true;\n if (stateObj.slotValue) {\n const selectAllIdx = stateObj.slotValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = stateObj.slotValue.indexOf(AppConstants.SELECT_NONE.value);\n if (stateObj.selectedDate) {\n const allDates = enumerateDaysBetweenDates(stateObj.selectedDate.startDate, stateObj.selectedDate.endDate);\n if (selectAllIdx > -1 || selectNoneIdx > -1 || !stateObj.slotValue.length) {\n isDateRange = true;\n dateRange.push({\n startTime: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(stateObj.selectedDate.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n } else {\n isDateRange = false;\n stateObj.slotValue.forEach((slot: any) => {\n const splitSlot = slot.split(\"-\");\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n });\n }\n });\n }\n }\n }\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: hubId,\n hubName: hubName.length ? hubName[0].name : \"\",\n isDateRange: isDateRange,\n deliveryZones: getFilterAttributeValue(stateObj.zoneValue, true),\n deliveryStatuses: getFilterAttributeValue(stateObj.statusValue, true),\n timeSlot: dateRange,\n };\n};\n\nexport const createPublishRoutesPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n return stateObj && stateObj.selectedConsignments && stateObj.selectedConsignments.length > 0\n ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n ids: stateObj.selectedConsignments.map((route: any) => route.id),\n }\n : null;\n};\n\nexport const createUpdateRoutesPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n const routeData = stateObj.selectedRoute;\n if (routeData && routeData.id && routeData.routeId) {\n let routePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: routeData.id,\n hubCode: routeData.hubCode,\n hubName: routeData.hubName,\n consignmentsIds: routeData.consignmentsIds,\n totalConsignment: routeData.consignmentsIds.length,\n totalCrates: routeData.totalCrates,\n plannedDate: routeData.plannedDate,\n deliveryArea: routeData.deliveryArea,\n deliverySlot: routeData.deliverySlot,\n },\n };\n\n if (stateObj.driverValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignee = {\n id: stateObj.driverValue,\n };\n }\n if (stateObj.helperValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.helper = {\n id: stateObj.helperValue,\n };\n }\n if (stateObj.vehicleValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignedVehicle = {\n id: stateObj.vehicleValue,\n };\n }\n return routePayload;\n }\n return {};\n};\n\nexport const getStatusWithoutUnderScore = (status: any) => {\n if (status && typeof status === \"string\") {\n return status.replaceAll(\"_\", \" \");\n }\n return \"\";\n};\n\nexport const createFetchRemoveOrderFromRoutesPayload = (routeData: any, orderData: any, displayRouteStatus: any) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: [orderData.consignmentCode],\n displayRouteStatus: displayRouteStatus,\n routeId: routeData.id,\n };\n};\n\nexport const createAddOrderToAnotherRoutePayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE, hubId: any, consignmentCode: any) => {\n return {\n timeSlot: {\n startTime: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(stateObj.selectedDate.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND),\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: hubId,\n consignmentCodes: Array.isArray(consignmentCode) ? [...consignmentCode] : [consignmentCode],\n };\n};\n\nexport const createAddOrdersToRoutesPayload = (selectedConsignments: any, selectedConsignmentToChangeRoute: any, routeObj: any, displayRouteStatus: string) => {\n const request_payload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: [] as Array,\n displayRouteStatus: displayRouteStatus,\n routeId: routeObj.id,\n };\n if (!isUndefined(selectedConsignments) && isArrayNonEmpty(selectedConsignments)) {\n selectedConsignments.forEach((item: any) => {\n if (isObject(item) && !isUndefined(item.consignmentCode)) {\n request_payload.consignmentIds.push(item.consignmentCode);\n } else {\n request_payload.consignmentIds.push(item);\n }\n });\n } else if (!isUndefined(selectedConsignmentToChangeRoute) && isArrayNonEmpty(selectedConsignmentToChangeRoute)) {\n selectedConsignmentToChangeRoute.forEach((item: any) => {\n if (isObject(item) && !isUndefined(item.consignmentCode)) {\n request_payload.consignmentIds.push(item.consignmentCode);\n } else {\n request_payload.consignmentIds.push(item);\n }\n });\n }\n return request_payload;\n};\n\nexport const createDraftUnplannedRoutePayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE, hubId: any, hubName: any) => {\n const deliverySlot = getUniqueValues(stateObj?.selectedConsignments, \"slotValue\");\n const request_payload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: hubId,\n hubName: hubName.length && hubName[0]?.name ? hubName[0].name : \"\",\n deliveryStatuses: [],\n deliveryZones: [],\n timeSlot: [],\n isDateRange: false,\n } as any;\n if (!isUndefined(deliverySlot) && isNonEmptyArray(deliverySlot)) {\n deliverySlot.forEach((slot: any) => {\n if (!isUndefined(slot)) {\n const splitSlot = slot.split(\"-\");\n if (!isUndefined(splitSlot) && isNonEmptyArray(splitSlot)) {\n const startSlot = splitSlot[0].split(\":\");\n const endSlot = splitSlot[1].split(\":\");\n request_payload.timeSlot.push({\n startTime: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(stateObj.selectedDate.endDate, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n });\n }\n }\n });\n }\n return request_payload;\n};\n\nconst getUniqueAddressValues = (array: any[], key?: string) => {\n return Array.from(new Set(key ? array.map((item: any) => item?.address && item?.address[key]).filter((item: any) => item !== undefined) : array));\n};\n\nconst getUniqueValues = (array: any[], key?: string) => {\n return Array.from(new Set(key ? array.map((item: any) => item[key]).filter((item: any) => item !== undefined) : array));\n};\n\nexport const createNewRouteProceedPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n return {\n consignmentTransitTime: {},\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: stateObj?.draftedRouteDetails?.id,\n creationTime: stateObj?.draftedRouteDetails?.creationTime,\n createdBy: stateObj?.draftedRouteDetails?.createdBy,\n countryDetails: stateObj?.draftedRouteDetails?.countryDetails,\n hubCode: stateObj?.draftedRouteDetails?.hubCode,\n hubName: stateObj?.draftedRouteDetails?.hubName,\n plannedDate: stateObj?.draftedRouteDetails?.plannedDate,\n deliveryArea: getUniqueAddressValues(stateObj?.selectedConsignments, \"area\"),\n deliverySlot: getUniqueValues(stateObj?.selectedConsignments, \"slotValue\"),\n totalCrates: 0,\n deliveryDate: moment(stateObj.selectedDate.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n transitTime: 0,\n totalConsignment: stateObj?.selectedConsignments?.length,\n consignmentsIds: stateObj?.selectedConsignments?.map((item: any) => item.consignmentCode),\n },\n };\n};\n\nexport const mapUnplannedOrderToDraftedRoutePayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE, route: any, status: string) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: stateObj?.selectedConsignments?.map((item: any) => item.consignmentCode),\n displayRouteStatus: status,\n routeId: route?.id,\n };\n};\n\nexport const createNewSubRouteRequestPayload = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n return {\n routeId: stateObj?.selectedRoute?.id,\n consignments: [...stateObj.selectedConsignmentsForSubRoute],\n };\n};\n\nexport const createSubRoutesUpdatePayload = (selectedSubRoute: any, subDriverValue: any, subHelperValue: any, subVehicleValue: any) => {\n if (selectedSubRoute?.id) {\n let routePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: selectedSubRoute.id,\n hubCode: selectedSubRoute.hubCode,\n hubName: selectedSubRoute.hubName,\n consignmentsIds: selectedSubRoute.consignmentsIds,\n totalConsignment: selectedSubRoute.consignmentsIds.length,\n totalCrates: selectedSubRoute.totalCrates,\n plannedDate: selectedSubRoute.plannedDate,\n deliveryArea: selectedSubRoute.deliveryArea,\n deliverySlot: selectedSubRoute.deliverySlot,\n },\n };\n\n if (subDriverValue && subDriverValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignee = { id: subDriverValue };\n }\n if (subHelperValue && subHelperValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.helper = { id: subHelperValue };\n }\n if (subVehicleValue && subVehicleValue !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignedVehicle = { id: subVehicleValue };\n }\n return routePayload;\n }\n return {};\n};\n\nexport const transformPlannedRoute = (plannedRoutes: any) => {\n let routeDetailsObj = {} as any;\n\n let colorIndex = -1;\n let totalRecords: number = 0;\n let totalCrates: number = 0;\n let totalOrders: number = 0;\n\n let consignmentMarkers = [] as any;\n let mapCenter = { lat: 0, lng: 0 };\n let firstMapCordinates = { lat: 0, lng: 0 };\n\n if (plannedRoutes && plannedRoutes.allRoutes && plannedRoutes.allRoutes.PLANNED && isObject(plannedRoutes.allRoutes.PLANNED) && isNonEmptyObject(plannedRoutes.allRoutes.PLANNED)) {\n Object.keys(plannedRoutes.allRoutes.PLANNED).forEach((slotValue: string) => {\n if (slotValue && plannedRoutes.allRoutes.PLANNED[slotValue] && plannedRoutes.allRoutes.PLANNED[slotValue].elements) {\n const { elements } = plannedRoutes.allRoutes.PLANNED[slotValue];\n if (elements && Array.isArray(elements) && elements.length > 0) {\n elements.forEach((route: any) => {\n if (route && route.routeId) {\n if (!routeDetailsObj.hasOwnProperty(route.routeId)) {\n totalRecords++;\n totalCrates = totalCrates + route?.totalCrates;\n totalOrders = totalOrders + route?.totalConsignment;\n colorIndex++;\n let color = getColorBasedOnRouteIndex(colorIndex);\n routeDetailsObj[route.routeId] = {\n ...route,\n mapCenter: { lat: 0, lng: 0 },\n routeDataObj: {}, // Area or Sub Route\n isChecked: false,\n isOpened: false,\n openOrderActionPopUp: false,\n color: color,\n isSubRoutePresent: false,\n subRouteCreated: false,\n ordersCount: 0,\n };\n delete routeDetailsObj[route.routeId].orders;\n delete routeDetailsObj[route.routeId].sourceDetails;\n routeDetailsObj[route.routeId].routeDataObj[ALL_ROUTES_TEXT_CONTANT.AREA_DATA] = {\n routeType: ROUTE_TYPE.ROUTE_AREA,\n slotWiseOrders: {},\n ordersCount: 0,\n isChecked: false,\n isOpened: true,\n };\n }\n\n // Orders based on Slot and Areas\n if (route && route.orders && isNonEmptyArray(route.orders)) {\n route.orders.forEach((order: any) => {\n if (!isUndefined(order?.address?.area) && !isNull(order?.address?.area)) {\n const { area } = order?.address;\n if (!routeDetailsObj[route.routeId].routeDataObj.hasOwnProperty(area)) {\n routeDetailsObj[route.routeId].routeDataObj[area] = { routeType: ROUTE_TYPE.ROUTE_AREA, slotWiseOrders: {}, ordersCount: 0, isChecked: false, isOpened: true };\n }\n\n if (order.slotValue) {\n if (!routeDetailsObj[route.routeId].routeDataObj[area].slotWiseOrders.hasOwnProperty(order.slotValue)) {\n routeDetailsObj[route.routeId].routeDataObj[area].slotWiseOrders[order.slotValue] = { orders: [], isChecked: false, isOpened: false };\n }\n\n if (!routeDetailsObj[route.routeId].routeDataObj[ALL_ROUTES_TEXT_CONTANT.AREA_DATA].slotWiseOrders.hasOwnProperty(order.slotValue)) {\n routeDetailsObj[route.routeId].routeDataObj[ALL_ROUTES_TEXT_CONTANT.AREA_DATA].slotWiseOrders[order.slotValue] = { orders: [], isChecked: false, isOpened: false };\n }\n\n if (order?.address?.longitude) {\n let location = { lat: parseFloat(order.address.latitude || 0), lng: parseFloat(order.address.longitude || 0) };\n\n if (routeDetailsObj[route.routeId].mapCenter.lat === 0) {\n routeDetailsObj[route.routeId].mapCenter = location;\n }\n\n if (mapCenter.lat === 0) {\n firstMapCordinates = location;\n mapCenter = location;\n }\n const hubMapDetails = {\n name: `${route?.routeId} - ${order.consignmentCode}`,\n routeId: `${route?.routeId}`,\n deliveryArea: `${order?.address && order?.address?.area}`,\n deliverySlot: `${getSlotName(order?.slotValue)}`,\n consignmentCode: `${order?.consignmentCode}`,\n location: location,\n color: routeDetailsObj[route.routeId].color,\n icon: designMapIcon(routeDetailsObj[route.routeId].color),\n label: designMapLabel(routeDetailsObj[route.routeId].ordersCount),\n };\n consignmentMarkers.push(hubMapDetails);\n routeDetailsObj[route.routeId].ordersCount++;\n routeDetailsObj[route.routeId].routeDataObj[area].ordersCount++;\n routeDetailsObj[route.routeId].routeDataObj[ALL_ROUTES_TEXT_CONTANT.AREA_DATA].ordersCount++;\n const orderObj = { isSubRoute: false, isOpened: false, isChecked: false, openOrderActionPopUp: false, mapCenter: location };\n routeDetailsObj[route.routeId].routeDataObj[area].slotWiseOrders[order.slotValue].orders.push({\n ...order,\n ...orderObj,\n orderIndex: routeDetailsObj[route.routeId].ordersCount,\n });\n routeDetailsObj[route.routeId].routeDataObj[ALL_ROUTES_TEXT_CONTANT.AREA_DATA].slotWiseOrders[order.slotValue].orders.push({\n ...order,\n ...orderObj,\n orderIndex: routeDetailsObj[route.routeId].ordersCount,\n });\n }\n }\n }\n });\n }\n\n if (!isUndefined(route?.subRoutes) && isNonEmptyArray(route?.subRoutes)) {\n routeDetailsObj[route.routeId].isSubRoutePresent = true;\n routeDetailsObj[route.routeId].subRouteCreated = true;\n route.subRoutes.forEach((subRoute: any) => {\n if (subRoute && subRoute.routeId && isNonEmptyArray(subRoute?.orders)) {\n if (!routeDetailsObj[route.routeId].routeDataObj.hasOwnProperty(subRoute.routeId)) {\n routeDetailsObj[route.routeId].routeDataObj = {\n [subRoute.routeId]: {\n ...subRoute,\n routeType: ROUTE_TYPE.SUB_ROUTE,\n parentRouteName: `${route?.routeId}`,\n slotWiseOrders: {},\n ordersCount: 0,\n isChecked: false,\n isOpened: false,\n id: subRoute?.id,\n },\n ...routeDetailsObj[route.routeId].routeDataObj,\n };\n delete routeDetailsObj[route.routeId].routeDataObj[subRoute.routeId].orders;\n }\n subRoute?.orders.forEach((order: any) => {\n if (!isUndefined(order?.address?.area) && !isNull(order?.address?.area)) {\n if (order?.slotValue) {\n if (!routeDetailsObj[route.routeId].routeDataObj[subRoute.routeId].slotWiseOrders.hasOwnProperty(order.slotValue)) {\n routeDetailsObj[route.routeId].routeDataObj[subRoute.routeId].slotWiseOrders[order.slotValue] = { orders: [], isChecked: false, isOpened: false };\n }\n if (order?.address?.longitude) {\n let location = { lat: parseFloat(order.address.latitude || 0), lng: parseFloat(order.address.longitude || 0) };\n\n const hubMapDetails = {\n name: `${subRoute?.routeId} - ${order.consignmentCode}`,\n routeId: `${subRoute?.routeId}`,\n parentRouteId: `${subRoute?.parentRouteId}`,\n parentRouteName: `${route?.routeId}`,\n deliveryArea: `${order?.address && order?.address?.area}`,\n deliverySlot: `${getSlotName(order?.slotValue)}`,\n consignmentCode: `${order?.consignmentCode}`,\n location: location,\n color: routeDetailsObj[route.routeId].color,\n icon: designSubRouteMapIcon(routeDetailsObj[route.routeId].color),\n label: designSubrouteMapLabel(routeDetailsObj[route.routeId].ordersCount, subRoute?.routeId),\n };\n consignmentMarkers.push(hubMapDetails);\n routeDetailsObj[route.routeId].ordersCount++;\n routeDetailsObj[route.routeId].routeDataObj[subRoute.routeId].ordersCount++;\n routeDetailsObj[route.routeId].routeDataObj[subRoute.routeId].slotWiseOrders[order.slotValue].orders.push({\n ...order,\n orderIndex: routeDetailsObj[route.routeId].ordersCount,\n routeType: ROUTE_TYPE.SUB_ROUTE,\n isSubRoute: true,\n isOpened: false,\n isChecked: false,\n mapCenter: location,\n });\n }\n }\n }\n });\n }\n });\n }\n }\n });\n }\n }\n });\n }\n\n return { routeDetailsObj, totalRecords, totalCrates, totalOrders, firstMapCordinates, mapCenter, consignmentMarkers };\n};\n","import produce from \"immer\";\n\nimport AppConstants from \"../../../constants\";\n\nimport {\n ALL_ROUTES_TEXT_CONTANT,\n ALL_ROUTE_INITIAL_STATE_INTERFACE,\n OrderInterface,\n PlannedConsignmentsDataInterface,\n ROUTE_TYPE,\n SNACKBAR_MESSAGES,\n STATUSES,\n UnplannedConsignmentsDataInterface,\n} from \"./AllRouteConstant\";\nimport {\n countObjectProperties,\n getSlotUIValue,\n isAString,\n isNonEmptyArray,\n isNonEmptyObject,\n isNull,\n isObject,\n isUndefined,\n isInputAnArray,\n isArrayNonEmpty,\n loadDashIsArrayAndNotEmpty,\n} from \"../../../utils/helpers.utils\";\nimport { getStatusWithUnderScore } from \"../../../mocks/delve/response.transforms\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { transformPlannedRoute } from \"../../../mocks/allRoutes/response.transforms\";\n\nexport const isSubRoute = (areaObj: any) => areaObj?.routeType === ROUTE_TYPE.SUB_ROUTE;\nexport const isDriverAssigned = (routeObj: any) => routeObj?.assignee?.id !== undefined;\n\nexport const getSlotName = (slotName: any) => {\n const firstDelSlot = slotName.split(\"-\");\n const slotValue = getSlotUIValue(firstDelSlot);\n if (slotValue && slotValue.startTime && slotValue.endTime) {\n return `${slotValue.startTime} - ${slotValue.endTime}`;\n }\n return slotName;\n};\n\nexport const getAreaTitle = (routeObj: any) => {\n let title = \"\";\n if (routeObj.deliveryArea && Array.isArray(routeObj.deliveryArea) && routeObj.deliveryArea.length > 0) {\n title = routeObj.deliveryArea[0];\n if (title.length > 13) {\n title = `${routeObj.deliveryArea[0].substring(0, 10)}...`;\n }\n if (routeObj.deliveryArea.length > 1) {\n title = `${title}, +${routeObj.deliveryArea.length - 1}`;\n }\n }\n return title;\n};\n\nexport const getDeliverySlotTitle = (obj: any) => {\n let title = \"\";\n if (obj && obj.slotWiseOrders && isObject(obj.slotWiseOrders) && isNonEmptyObject(obj.slotWiseOrders)) {\n if (countObjectProperties(obj.slotWiseOrders) === 1) {\n title = getSlotName(Object.keys(obj.slotWiseOrders)[0]);\n } else {\n title = `${getSlotName(Object.keys(obj.slotWiseOrders)[0])}, +${countObjectProperties(obj.slotWiseOrders) - 1}`;\n }\n }\n return title;\n};\n\nexport const getAllAreaTitle = (deliveryArea: any) => {\n let title = \"\";\n if (!isUndefined(deliveryArea) && Array.isArray(deliveryArea) && deliveryArea.length > 0) {\n title = deliveryArea.join(\", \");\n }\n return title;\n};\n\nexport const getVerificationStatusField = (fieldName: string, statusCode: string) => {\n let statusCodeCopy = \"\" as any;\n if (!isUndefined(statusCode) && isAString(statusCode)) {\n statusCodeCopy = getStatusWithUnderScore(statusCode);\n const statuses: any = STATUSES;\n const newStatus = statusCodeCopy.toUpperCase();\n return statusCode && newStatus && fieldName && statuses[newStatus] && statuses[newStatus][fieldName] ? statuses[newStatus][fieldName] : \"\";\n }\n return \"\";\n};\n\nexport const getColorBasedOnRouteIndex = (colorIndex: number) => {\n if (COLORS && colorIndex >= 0 && Object.keys(COLORS).length >= colorIndex) {\n const name: keyof typeof COLORS = Object.keys(COLORS)[colorIndex] as any;\n return COLORS[name];\n }\n return \"\";\n};\n\nexport const designMapIcon = (color: any) => {\n var template = [\n '',\n '',\n '',\n '',\n \"\",\n ].join(\"\\n\");\n var svg = template.replaceAll(\"{{ color }}\", color);\n var blob = new Blob([svg], { type: \"image/svg+xml\" });\n var blobUrl = URL.createObjectURL(blob);\n\n return {\n url: blobUrl,\n fillColor: color,\n fillOpacity: 1,\n strokeWeight: 1,\n strokeColor: color,\n scale: 1,\n labelOrigin: { x: 11, y: 12 },\n };\n};\n\nexport const designSubRouteMapIcon = (color: any) => {\n var template = [\n '',\n '',\n '',\n '',\n \"\",\n ].join(\"\\n\");\n var svg = template.replaceAll(\"{{ color }}\", color);\n var blob = new Blob([svg], { type: \"image/svg+xml\" });\n var blobUrl = URL.createObjectURL(blob);\n\n return {\n url: blobUrl,\n fillColor: color,\n fillOpacity: 1,\n strokeWeight: 1,\n strokeColor: color,\n scale: 1,\n labelOrigin: { x: 12, y: 12 },\n };\n};\n\nexport const designMapLabel = (orderIndex: number) => {\n return { text: JSON.stringify(orderIndex + 1), fontSize: \"12px\", fontWeight: \"400\", color: COLORS.WHITE, lineHeight: \"0px\" };\n};\n\nexport const designSubrouteMapLabel = (orderIndex: number, routeId: string) => {\n return { text: `${JSON.stringify(orderIndex + 1)}`, fontSize: \"12px\", fontWeight: \"400\", color: COLORS.WHITE, lineHeight: \"0px\" };\n};\n\nexport const resetRouteDetailsCount = (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.totalRecords = 0;\n draft.totalOrders = 0;\n draft.totalCrates = 0;\n return draft;\n};\n\nexport const resetPlannedRouteDraft = (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.consignmentMarkers = [];\n draft.consignmentMarkersForMap = [];\n draft.firstMapCordinates = { lat: 0, lng: 0 };\n draft.mapCenter = { lat: 0, lng: 0 };\n draft.mapZoom = 12;\n draft.mapPolylineMarker = [];\n draft.polylineColor = \"\";\n\n draft.plannedConsignmentsData = {};\n draft.selectedRoute = {};\n draft.selectedConsignments = [];\n draft.totalRecords = 0;\n draft.totalOrders = 0;\n draft.totalCrates = 0;\n\n draft.selectedRouteObj = {}; // Add Remove Order from Route\n draft.orderDataObj = {};\n draft.openAddRouteConfirmDialog = false;\n draft.openRemoveRouteConfirmDialog = false;\n\n draft.consignmentId = \"\";\n\n draft.selectedConsignmentsForSubRoute = [];\n draft.openCreateSubRouteDialog = false;\n\n draft.selectedRouteDeletion = {};\n draft.openDeleteSubRouteDialog = false;\n\n draft.selectedSubRoute = {};\n draft.openSubRouteOrderActionPopUp = false;\n\n draft.openAssignRoutePopUp = false;\n return draft;\n};\n\nexport const designAllRoutesStateObjectUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, plannedRoutes: any, hubId?: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n resetPlannedRouteDraft(draft);\n\n let { routeDetailsObj, totalRecords, totalCrates, totalOrders, firstMapCordinates, mapCenter, consignmentMarkers } = transformPlannedRoute(plannedRoutes);\n\n draft.plannedConsignmentsData = routeDetailsObj;\n draft.totalRecords = totalRecords;\n draft.totalOrders = totalOrders;\n draft.totalCrates = totalCrates;\n draft.firstMapCordinates = firstMapCordinates;\n draft.mapCenter = mapCenter;\n draft.consignmentMarkers = [...consignmentMarkers];\n draft.consignmentMarkersForMap = [...consignmentMarkers];\n });\n return newAllRouteState;\n};\n\nexport const handleRouteAccordianClickedUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: any, vehiclesList: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (!isUndefined(draft) && !isUndefined(draft.plannedConsignmentsData) && !isUndefined(draft.plannedConsignmentsData[routeName])) {\n draft.expandAll = false;\n\n draft.driverValue = AppConstants.SELECT_NONE.value;\n draft.helperValue = AppConstants.SELECT_NONE.value;\n draft.vehicleValue = AppConstants.SELECT_NONE.value;\n draft.subDriverValue = AppConstants.SELECT_NONE.value;\n draft.subHelperValue = AppConstants.SELECT_NONE.value;\n draft.subVehicleValue = AppConstants.SELECT_NONE.value;\n\n draft.selectedRoute = {};\n draft.selectedSubRoute = {};\n draft.selectedConsignments = [];\n\n draft.consignmentMarkersForMap = [...draft.consignmentMarkers];\n draft.mapZoom = 12;\n draft.mapCenter = draft.firstMapCordinates;\n draft.mapPolylineMarker = [];\n draft.polylineColor = \"\";\n\n Object.keys(draft.plannedConsignmentsData).forEach((route: any) => {\n draft.plannedConsignmentsData[route].openOrderActionPopUp = false;\n if (route === routeName) {\n draft.plannedConsignmentsData[route].isOpened = !draft.plannedConsignmentsData[route].isOpened;\n if (draft.plannedConsignmentsData[route].isOpened) {\n draft.expandAll = true;\n draft.plannedConsignmentsData[route].openOrderActionPopUp = true;\n Object.keys(draft.plannedConsignmentsData[route]?.routeDataObj).forEach((routeName: string) => {\n Object.keys(draft.plannedConsignmentsData[route]?.routeDataObj[routeName]?.slotWiseOrders).forEach((slotName: string) => {\n draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[slotName].isOpened = true;\n draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[slotName].orders = draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[\n slotName\n ].orders.map((order: any) => ({ ...order, isOpened: false }));\n });\n });\n\n if (!draft.openUpdateConfirmDialog) {\n if (draft.plannedConsignmentsData[route].openOrderActionPopUp) {\n Object.keys(draft.plannedConsignmentsData).forEach((route: any) => {\n draft.plannedConsignmentsData[route].isChecked = false;\n });\n\n if (draft.plannedConsignmentsData[route]?.mapCenter && draft.plannedConsignmentsData[route]?.mapCenter?.lat && draft.plannedConsignmentsData[route]?.mapCenter?.lat !== 0) {\n draft.mapCenter = draft.plannedConsignmentsData[route].mapCenter;\n }\n\n draft.selectedRoute = JSON.parse(JSON.stringify(draft.plannedConsignmentsData[route]));\n delete draft.selectedRoute.subRoutes;\n\n if (draft?.selectedRoute?.assignedVehicle?.id !== undefined) {\n draft.vehicleValue = draft.selectedRoute.assignedVehicle.id;\n } else if (vehiclesList?.length && vehiclesList.length === 1) {\n draft.vehicleValue = vehiclesList[0].value;\n }\n if (draft?.selectedRoute?.assignee?.id !== undefined) {\n draft.driverValue = draft.selectedRoute.assignee.id;\n }\n if (draft?.selectedRoute?.helper?.id !== undefined) {\n draft.helperValue = draft.selectedRoute.helper.id;\n }\n }\n }\n // Make a Polynine\n if (!isUndefined(draft.consignmentMarkers) && isArrayNonEmpty(draft.consignmentMarkers)) {\n const markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === route || x?.parentRouteName === route);\n if (!isUndefined(markerWithCurrentRoute) && isArrayNonEmpty(markerWithCurrentRoute)) {\n draft.consignmentMarkersForMap = [...markerWithCurrentRoute];\n draft.mapPolylineMarker = markerWithCurrentRoute.map((marker: any) => marker?.location);\n draft.polylineColor = markerWithCurrentRoute[0].color;\n }\n }\n }\n } else {\n draft.plannedConsignmentsData[route].isOpened = false;\n Object.keys(draft.plannedConsignmentsData[route]?.routeDataObj).forEach((routeName: string) => {\n Object.keys(draft.plannedConsignmentsData[route]?.routeDataObj[routeName]?.slotWiseOrders).forEach((slotName: string) => {\n draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[slotName].isOpened = false;\n draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[slotName].orders = draft.plannedConsignmentsData[route].routeDataObj[routeName].slotWiseOrders[\n slotName\n ].orders.map((order: any) => ({ ...order, isOpened: false }));\n });\n });\n }\n });\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleRouteSlotAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string, routeDataName: string, slotName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (\n !isUndefined(draft) &&\n !isUndefined(draft.plannedConsignmentsData) &&\n !isUndefined(draft.plannedConsignmentsData[routeName]) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName]) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName])\n ) {\n const value: boolean = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isOpened;\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isOpened = !value;\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleRoutAreaAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string, routeDataName: string, vehiclesList: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (\n !isUndefined(draft) &&\n !isUndefined(draft.plannedConsignmentsData) &&\n !isUndefined(draft.plannedConsignmentsData[routeName]) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj) &&\n !isUndefined(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName])\n ) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isOpened = !draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isOpened;\n\n draft.subDriverValue = AppConstants.SELECT_NONE.value;\n draft.subHelperValue = AppConstants.SELECT_NONE.value;\n draft.subVehicleValue = AppConstants.SELECT_NONE.value;\n\n draft.selectedSubRoute = {};\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isOpened && draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].routeType === ROUTE_TYPE.SUB_ROUTE) {\n draft.selectedSubRoute = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName];\n\n if (draft?.selectedSubRoute?.assignedVehicle?.id !== undefined) {\n draft.subVehicleValue = draft.selectedSubRoute.assignedVehicle.id;\n } else if (vehiclesList && vehiclesList?.length && vehiclesList.length === 1) {\n draft.subVehicleValue = vehiclesList[0].value;\n }\n if (draft?.selectedSubRoute?.assignee?.id !== undefined) {\n draft.subDriverValue = draft.selectedSubRoute.assignee.id;\n }\n if (draft?.selectedSubRoute?.helper?.id !== undefined) {\n draft.subHelperValue = draft.selectedSubRoute.helper.id;\n }\n }\n\n if (!isUndefined(draft.consignmentMarkers) && isArrayNonEmpty(draft.consignmentMarkers)) {\n let markerWithCurrentRoute = [];\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isOpened) {\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName]?.routeType === ROUTE_TYPE.SUB_ROUTE) {\n markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === routeDataName);\n } else {\n markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === routeName && x?.deliveryArea === routeDataName);\n }\n } else {\n markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === routeName || x?.parentRouteName === routeName);\n }\n\n if (!isUndefined(markerWithCurrentRoute) && isArrayNonEmpty(markerWithCurrentRoute)) {\n draft.consignmentMarkersForMap = [...markerWithCurrentRoute];\n draft.mapPolylineMarker = markerWithCurrentRoute.map((marker: any) => marker?.location);\n draft.polylineColor = markerWithCurrentRoute[0].color;\n }\n }\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleToggleCreateSubrouteUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (!isUndefined(draft) && !isUndefined(draft.plannedConsignmentsData) && !isUndefined(draft.plannedConsignmentsData[routeName])) {\n draft.plannedConsignmentsData[routeName].subRouteCreated = !draft.plannedConsignmentsData[routeName].subRouteCreated;\n draft.selectedRoute.subRouteCreated = draft.plannedConsignmentsData[routeName].subRouteCreated;\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleRouteCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: any, checked: any, vehiclesList?: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (!isUndefined(draft) && !isUndefined(draft.plannedConsignmentsData) && !isUndefined(draft.plannedConsignmentsData[routeName])) {\n draft.plannedConsignmentsData[routeName].isChecked = !draft.plannedConsignmentsData[routeName].isChecked;\n if (checked) {\n draft.selectedConsignments.push(draft.plannedConsignmentsData[routeName]);\n } else {\n var removeIndex = draft.selectedConsignments.findIndex((item: any) => item.routeId === draft.plannedConsignmentsData[routeName].routeId);\n if (removeIndex !== -1) {\n draft.selectedConsignments.splice(removeIndex, 1);\n }\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const handleSlotCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, checked: boolean, routeName: string, routeDataName: string, slotName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked = checked;\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName]?.orders.forEach((order: any, orderIndex: number) => {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderIndex].isChecked = checked;\n if (checked) {\n if (!draft.selectedConsignmentsForSubRoute.includes(order.consignmentCode)) {\n draft.selectedConsignmentsForSubRoute.push(order.consignmentCode);\n }\n } else {\n const removeIndex = draft.selectedConsignmentsForSubRoute.findIndex((item: any) => item === order.consignmentCode);\n if (removeIndex !== -1) {\n draft.selectedConsignmentsForSubRoute.splice(removeIndex, 1);\n }\n }\n });\n\n // Update Area Checkbox if all Slots checked\n if (checked) {\n let isAllSelected: boolean = true;\n Object.keys(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders).forEach((slotName: string) => {\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked === false) {\n isAllSelected = false;\n }\n if (isAllSelected) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isChecked = checked;\n }\n });\n } else {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isChecked = checked;\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const handleAreaCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, checked: boolean, routeName: string, routeDataName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isChecked = checked;\n Object.keys(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders).forEach((slotName: string) => {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked = checked;\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName]?.orders.forEach((order: any, orderIndex: number) => {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderIndex].isChecked = checked;\n if (checked) {\n if (!draft.selectedConsignmentsForSubRoute.includes(order.consignmentCode)) {\n draft.selectedConsignmentsForSubRoute.push(order.consignmentCode);\n }\n } else {\n const removeIndex = draft.selectedConsignmentsForSubRoute.findIndex((item: any) => item === order.consignmentCode);\n if (removeIndex !== -1) {\n draft.selectedConsignmentsForSubRoute.splice(removeIndex, 1);\n }\n }\n });\n });\n }\n });\n return newAllRouteState;\n};\n\nlet checkIsAllConsignmentCodePresent = (arr: string[], target: any) => target.every((v: any) => arr.includes(v.consignmentCode));\n\nexport const handleOrderCheckboxToggleUtils = (\n allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE,\n checked: boolean,\n routeName: string,\n routeDataName: string,\n slotName: string,\n orderObjIndex: number\n) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex]) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].isChecked = checked;\n const order = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex];\n if (checked) {\n if (!draft.selectedConsignmentsForSubRoute.includes(order.consignmentCode)) {\n draft.selectedConsignmentsForSubRoute.push(order.consignmentCode);\n }\n } else {\n const removeIndex = draft.selectedConsignmentsForSubRoute.findIndex((item: any) => item === order.consignmentCode);\n if (removeIndex !== -1) {\n draft.selectedConsignmentsForSubRoute.splice(removeIndex, 1);\n }\n }\n\n // Is all consignmentCode of area present in selectedConsignmentsForSubRoute\n const orderRecord = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders;\n const isAllPresent: boolean = checkIsAllConsignmentCodePresent(draft.selectedConsignmentsForSubRoute, orderRecord);\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked = false;\n if (isAllPresent) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked = checked;\n }\n\n // Update Area Checkbox if all Slots checked\n if (checked) {\n let isAllSelected: boolean = true;\n Object.keys(draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders).forEach((slotName: string) => {\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].isChecked === false) {\n isAllSelected = false;\n }\n });\n if (isAllSelected) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isChecked = checked;\n }\n } else {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].isChecked = checked;\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const handleOrderAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string, routeDataName: string, slotName: string, orderObjIndex: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex]) {\n const order = draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex];\n draft.selectedRouteObj = {};\n draft.orderDataObj = {};\n draft.openAddRouteConfirmDialog = false;\n draft.openRemoveRouteConfirmDialog = false;\n draft.availableRouteRecord = [];\n draft.selectedConsignmentToChangeRoute = [];\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].isOpened = !order.isOpened;\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].openOrderActionPopUp = false;\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].isOpened && !isSubRoute(order)) {\n if (order?.mapCenter?.lat && order?.mapCenter?.lat !== 0) {\n draft.mapCenter = order.mapCenter;\n }\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].openOrderActionPopUp = true;\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const orderActionPopUpViewChangeUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: any, routeDataName: string, slotName: any, orderObjIndex: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n const order = draft.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex];\n if (order) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].openOrderActionPopUp = !order.openOrderActionPopUp;\n }\n });\n return newAllRouteState;\n};\n\nexport const isAllRoutesAssignedWithDriverUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (loadDashIsArrayAndNotEmpty(allRouteState.selectedConsignments)) {\n let count: number = 0;\n allRouteState.selectedConsignments.forEach((order: any) => {\n if (order && !isUndefined(order?.assignedVehicle?.id) && !isUndefined(order?.assignee?.id)) {\n count++;\n }\n });\n if (count === allRouteState?.selectedConsignments?.length) {\n return false;\n }\n }\n return true;\n};\n\nexport const isActionButtonVisibleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (allRouteState !== undefined && allRouteState.selectedConsignments !== undefined && Array.isArray(allRouteState.selectedConsignments) && allRouteState.selectedConsignments.length > 0) {\n return true;\n }\n return false;\n};\n\nexport const validatePlannedRouteInfoUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let routePayload = {\n errorObj: {},\n payloadObject: {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n assignee: {},\n helper: {},\n assignedVehicle: {},\n },\n },\n } as any;\n\n if (allRouteState !== undefined && allRouteState.selectedRoute !== undefined && isObject(allRouteState.selectedRoute) && isNonEmptyObject(allRouteState.selectedRoute)) {\n if (allRouteState.vehicleValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.assignee = {\n id: allRouteState.vehicleValue,\n };\n }\n if (allRouteState.driverValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.helper = {\n id: allRouteState.driverValue,\n };\n }\n if (allRouteState.helperValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.assignedVehicle = {\n id: allRouteState.helperValue,\n };\n }\n }\n\n return routePayload;\n};\n\nconst designUnplannedMapLabel = (orderIndex: number) => {\n return { text: JSON.stringify(orderIndex), fontSize: \"12px\", fontWeight: \"500\", color: COLORS.WHITE, lineHeight: \"0px\" };\n};\n\nconst resetUnPlannedRouteDraft = (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.consignmentMarkers = [];\n draft.consignmentMarkersForMap = [];\n draft.firstMapCordinates = { lat: 0, lng: 0 };\n draft.mapCenter = { lat: 0, lng: 0 };\n draft.mapZoom = 12;\n draft.mapPolylineMarker = [];\n draft.polylineColor = \"\";\n\n draft.unplannedConsignmentsData = {};\n draft.plannedConsignmentsData = {};\n draft.selectedRoute = {};\n draft.totalRecords = 0;\n draft.totalOrders = 0;\n draft.totalCrates = 0;\n\n draft.selectedRouteObj = {}; // Add Remove Order from Route\n draft.orderDataObj = {};\n draft.openAddRouteConfirmDialog = false;\n draft.openRemoveRouteConfirmDialog = false;\n\n draft.consignmentId = \"\";\n\n draft.selectedConsignmentsForSubRoute = [];\n draft.openCreateSubRouteDialog = false;\n\n draft.selectedRouteDeletion = {};\n draft.openDeleteSubRouteDialog = false;\n\n draft.selectedSubRoute = {};\n draft.openSubRouteOrderActionPopUp = false;\n\n return draft;\n};\n\nexport const designAllUnPlannedRoutesStateObjectUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, unPlannedRoutes: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n resetUnPlannedRouteDraft(draft);\n\n let colorIndex = -1;\n let areaDetailsObj = {} as any;\n\n if (isObject(unPlannedRoutes?.statusOrders?.UNPLANNED)) {\n Object.keys(unPlannedRoutes.statusOrders.UNPLANNED).forEach((areaName: any) => {\n if (!areaDetailsObj.hasOwnProperty(areaName)) {\n draft.totalRecords++;\n colorIndex++;\n let color = getColorBasedOnRouteIndex(colorIndex);\n areaDetailsObj[areaName] = {\n orderCount: 0,\n totalCrates: 0,\n orderIndex: 1,\n slotWiseOrders: {},\n isOpened: false,\n isChecked: false,\n openOrderActionPopUp: false,\n color: color,\n mapCenter: { lat: 0, lng: 0 },\n };\n }\n if (unPlannedRoutes.statusOrders.UNPLANNED[areaName] && isObject(unPlannedRoutes.statusOrders.UNPLANNED[areaName]) && isNonEmptyObject(unPlannedRoutes.statusOrders.UNPLANNED[areaName])) {\n Object.keys(unPlannedRoutes.statusOrders.UNPLANNED[areaName]).forEach((slotName: any, slotNameIndex: any) => {\n const slotData = unPlannedRoutes.statusOrders.UNPLANNED[areaName][slotName];\n if (!areaDetailsObj[areaName].slotWiseOrders.hasOwnProperty(slotName)) {\n areaDetailsObj[areaName].slotWiseOrders[slotName] = [];\n }\n if (slotData?.elements && isNonEmptyArray(slotData?.elements)) {\n slotData.elements.forEach((order: any) => { \n draft.totalOrders++;\n areaDetailsObj[areaName].totalCrates = areaDetailsObj[areaName].totalCrates + order?.totalCratesCount;\n draft.totalCrates = draft.totalCrates + order?.totalCratesCount;\n let location = { lat: parseFloat(order?.address?.latitude || 0), lng: parseFloat(order?.address?.longitude || 0) };\n const hubMapDetails = {\n name: `${areaName} - ${order.consignmentCode}`,\n location: location,\n color: areaDetailsObj[areaName].color,\n icon: designMapIcon(areaDetailsObj[areaName].color),\n label: designUnplannedMapLabel(areaDetailsObj[areaName].orderIndex),\n deliveryArea: `${areaName}`,\n deliverySlot: `${getSlotName(slotName)}`,\n consignmentCode: `${order?.consignmentCode}`,\n orderIndex: areaDetailsObj[areaName].orderIndex,\n };\n if (!isUndefined(areaDetailsObj[areaName].mapCenter) && !isUndefined(areaDetailsObj[areaName].mapCenter.lat) && areaDetailsObj[areaName].mapCenter.lat === 0) {\n areaDetailsObj[areaName].mapCenter = location;\n if (!isUndefined(draft.mapCenter) && !isUndefined(draft.mapCenter.lat) && draft.mapCenter.lat === 0) {\n draft.firstMapCordinates = location;\n draft.mapCenter = location;\n }\n }\n areaDetailsObj[areaName].orderCount++;\n areaDetailsObj[areaName].slotWiseOrders[slotName].push({ ...order, isChecked: false, isOpened: false, mapCenter: location, orderIndex: areaDetailsObj[areaName].orderIndex });\n areaDetailsObj[areaName].orderIndex = areaDetailsObj[areaName].orderIndex + 1;\n draft.consignmentMarkers.push(hubMapDetails);\n });\n }\n });\n }\n });\n }\n draft.unplannedConsignmentsData = areaDetailsObj;\n draft.consignmentMarkersForMap = [...draft.consignmentMarkers];\n });\n return newAllRouteState;\n};\n\nexport const handleUnPlannedAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, areaName: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (!isUndefined(draft) && !isUndefined(draft.unplannedConsignmentsData) && !isUndefined(draft.unplannedConsignmentsData[areaName])) {\n draft.expandAll = false;\n draft.mapZoom = 12;\n draft.mapCenter = draft.firstMapCordinates;\n draft.mapPolylineMarker = [];\n draft.polylineColor = \"\";\n Object.keys(draft.unplannedConsignmentsData).forEach((area: any) => {\n if (area === areaName) {\n draft.unplannedConsignmentsData[area].isOpened = !draft.unplannedConsignmentsData[area].isOpened;\n if (draft.unplannedConsignmentsData[area].hasOwnProperty(\"slotWiseOrders\") && isNonEmptyObject(draft.unplannedConsignmentsData[area].slotWiseOrders)) {\n Object.keys(draft.unplannedConsignmentsData[area].slotWiseOrders).forEach((slot: any) => {\n draft.unplannedConsignmentsData[area].slotWiseOrders[slot] = draft.unplannedConsignmentsData[area].slotWiseOrders[slot].map((order: any) => ({\n ...order,\n isOpened: draft.unplannedConsignmentsData[area].isOpened,\n }));\n });\n }\n if (draft.unplannedConsignmentsData[area].isOpened) {\n draft.expandAll = true;\n draft.mapZoom = 15;\n if (draft.unplannedConsignmentsData[area]?.mapCenter && draft.unplannedConsignmentsData[area]?.mapCenter?.lat && draft.unplannedConsignmentsData[area]?.mapCenter?.lat !== 0) {\n draft.mapCenter = draft.unplannedConsignmentsData[area].mapCenter;\n }\n }\n } else if (draft.unplannedConsignmentsData[area].isOpened === true) {\n draft.expandAll = true;\n }\n });\n }\n });\n return newAllRouteState;\n};\n\nexport const handleUnplannedInnerOrderAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, areaName: any, slotName: any, orderObjIndex: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (\n draft &&\n draft.unplannedConsignmentsData &&\n draft.unplannedConsignmentsData[areaName] &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName] &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex]\n ) {\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex].isOpened = !draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex].isOpened;\n }\n });\n return newAllRouteState;\n};\n\nexport const handleUnplannedOrderCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, areaName: any, slotName: any, orderObjIndex: any, checked: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (\n draft &&\n draft.unplannedConsignmentsData &&\n draft.unplannedConsignmentsData[areaName] &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName] &&\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex]\n ) {\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex].isChecked = checked;\n if (checked) {\n draft.selectedConsignments.push(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex]);\n const find_index = draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].findIndex((order: any) => order.isChecked === false);\n if (find_index === -1) {\n draft.unplannedConsignmentsData[areaName].isChecked = checked;\n } else {\n draft.unplannedConsignmentsData[areaName].isChecked = false;\n }\n } else {\n draft.unplannedConsignmentsData[areaName].isChecked = checked;\n var removeIndex = draft.selectedConsignments.findIndex((item: any) => item.orderCode === draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName][orderObjIndex].orderCode);\n if (removeIndex !== -1) {\n draft.selectedConsignments.splice(removeIndex, 1);\n }\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const updateRouteObjectAfterUpdateUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeData: any, successMessage: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n draft.openUpdateConfirmDialog = false;\n draft.showDriverAssignedPopup = false;\n draft.openSnackbar = true;\n draft.snackbarMessage = successMessage;\n draft.snackbarType = AppConstants.SNACKBAR.TYPES.SUCCESS;\n draft.driverValue = AppConstants.SELECT_NONE.value;\n draft.helperValue = AppConstants.SELECT_NONE.value;\n draft.vehicleValue = AppConstants.SELECT_NONE.value;\n if (\n routeData &&\n routeData.routeId &&\n draft.plannedConsignmentsData &&\n isObject(draft.plannedConsignmentsData) &&\n isNonEmptyObject(draft.plannedConsignmentsData) &&\n draft.plannedConsignmentsData[routeData.routeId]\n )\n draft.plannedConsignmentsData[routeData.routeId].assignedVehicle = {};\n if (routeData.assignedVehicle !== undefined && routeData.assignedVehicle.id !== undefined) {\n draft.vehicleValue = routeData.assignedVehicle.id;\n draft.plannedConsignmentsData[routeData.routeId].assignedVehicle = { ...routeData.assignedVehicle };\n }\n draft.plannedConsignmentsData[routeData.routeId].assignee = {};\n if (routeData.assignee !== undefined && routeData.assignee.id !== undefined) {\n draft.driverValue = routeData.assignee.id;\n draft.plannedConsignmentsData[routeData.routeId].assignee = { ...routeData.assignee };\n }\n draft.plannedConsignmentsData[routeData.routeId].helper = {};\n if (routeData.helper !== undefined && routeData.helper.id !== undefined) {\n draft.helperValue = routeData.helper.id;\n draft.plannedConsignmentsData[routeData.routeId].helper = { ...routeData.helper };\n }\n draft.selectedRoute = draft.plannedConsignmentsData[routeData.routeId];\n\n var removeIndex = draft.selectedConsignments.findIndex((item: any) => item.routeId === draft.plannedConsignmentsData[routeData.routeId].routeId);\n if (removeIndex !== -1) {\n draft.selectedConsignments.splice(removeIndex, 1);\n draft.selectedConsignments.push(draft.plannedConsignmentsData[routeData.routeId]);\n }\n });\n return newAllRouteState;\n};\n\nexport const handleExpandAllRecordClickMethodUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.expandAll = !draft.expandAll;\n if (draft.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED) {\n if (!isUndefined(draft) && !isUndefined(draft.plannedConsignmentsData)) {\n Object.keys(draft.plannedConsignmentsData).forEach((route: any) => {\n draft.plannedConsignmentsData[route].isOpened = draft.expandAll;\n if (draft.plannedConsignmentsData[route].hasOwnProperty(\"slotWiseOrders\") && isNonEmptyObject(draft.plannedConsignmentsData[route].slotWiseOrders)) {\n Object.keys(draft.plannedConsignmentsData[route].slotWiseOrders).forEach((slot: any) => {\n draft.plannedConsignmentsData[route].slotWiseOrders[slot] = draft.plannedConsignmentsData[route].slotWiseOrders[slot].map((order: any) => ({\n ...order,\n isOpened: draft.expandAll,\n }));\n });\n }\n });\n }\n } else if (draft.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED) {\n if (!isUndefined(draft) && !isUndefined(draft.unplannedConsignmentsData)) {\n Object.keys(draft.unplannedConsignmentsData).forEach((route: any) => {\n draft.unplannedConsignmentsData[route].isOpened = draft.expandAll;\n if (draft.unplannedConsignmentsData[route].hasOwnProperty(\"slotWiseOrders\") && isNonEmptyObject(draft.unplannedConsignmentsData[route].slotWiseOrders)) {\n Object.keys(draft.unplannedConsignmentsData[route].slotWiseOrders).forEach((slot: any) => {\n draft.unplannedConsignmentsData[route].slotWiseOrders[slot] = draft.unplannedConsignmentsData[route].slotWiseOrders[slot].map((order: any) => ({\n ...order,\n isOpened: draft.expandAll,\n }));\n });\n }\n });\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const updatAavailableRouteRecordUtils = (\n allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE,\n routeName?: string,\n routeDataName?: string,\n slotName?: string,\n orderObjIndex?: number,\n payload?: any\n) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n draft.openAssignRoutePopUp = !draft.openAssignRoutePopUp;\n draft.availableRouteRecord = [];\n draft.selectedConsignmentToChangeRoute = [];\n draft.selectedRouteObj = {};\n draft.orderDataObj = {};\n draft.openAddRouteConfirmDialog = false;\n draft.openRemoveRouteConfirmDialog = false;\n if (payload && isNonEmptyArray(payload)) {\n draft.availableRouteRecord = payload.map((routeData: any) => ({ ...routeData, isChecked: false }));\n if (\n routeName &&\n routeDataName &&\n slotName &&\n orderObjIndex !== undefined &&\n Number(orderObjIndex) >= 0 &&\n draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex]\n ) {\n const order = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex];\n draft.selectedConsignmentToChangeRoute.push(order.consignmentCode);\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].openOrderActionPopUp = !order.openOrderActionPopUp;\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const selectRouteToAssigntoOrderUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeIndex: number) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft.availableRouteRecord && isNonEmptyArray(draft.availableRouteRecord) && draft.availableRouteRecord[routeIndex]) {\n draft.availableRouteRecord.forEach((route: any, index: any) => {\n if (index === routeIndex) {\n draft.availableRouteRecord[index].isChecked = !draft.availableRouteRecord[index].isChecked;\n } else {\n draft.availableRouteRecord[index].isChecked = false;\n }\n });\n }\n });\n return newAllRouteState;\n};\n\nexport const getConsignmentRecordUtils = (selectedConsignments: any) => {\n if (selectedConsignments && isNonEmptyArray(selectedConsignments)) {\n return selectedConsignments.map((order: any) => order.consignmentCode);\n }\n return [];\n};\n\nexport const updatAvailableRouteRecordForUnplannedOrdersUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, consignmentRecord: any, payload: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n draft.openAssignRoutePopUp = !draft.openAssignRoutePopUp;\n draft.availableRouteRecord = [];\n draft.selectedConsignmentToChangeRoute = [];\n if (payload && isNonEmptyArray(payload)) {\n draft.availableRouteRecord = payload.map((routeData: any) => ({ ...routeData, isChecked: false }));\n draft.selectedConsignmentToChangeRoute = [...consignmentRecord];\n }\n });\n return newAllRouteState;\n};\n\nexport const updateLoadingStateUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = true;\n });\n return newAllRouteState;\n};\n\nexport const handleSelectAllRoutesUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, checked: boolean) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (!isUndefined(draft) && !isUndefined(draft.plannedConsignmentsData)) {\n draft.selectedConsignments = [];\n Object.keys(draft.plannedConsignmentsData).forEach((route: any) => {\n draft.plannedConsignmentsData[route].isChecked = checked;\n if (checked) {\n draft.selectedConsignments.push(draft.plannedConsignmentsData[route]);\n }\n });\n }\n });\n return newAllRouteState;\n};\n\nexport const removeOrderFromRouteUtils = (\n allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE,\n routeName: string,\n routeDataName: string,\n slotName: string,\n orderObjIndex: number,\n routeData: any,\n orderData: string\n) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.selectedRouteObj = routeData;\n draft.orderDataObj = orderData;\n draft.openAddRouteConfirmDialog = false;\n draft.openRemoveRouteConfirmDialog = true;\n const order = draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex];\n if (order) {\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].openOrderActionPopUp = !order.openOrderActionPopUp;\n }\n });\n return newAllRouteState;\n};\n\nexport const handleUnplannedAreaCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, areaName: any, checked: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft && draft.unplannedConsignmentsData && draft.unplannedConsignmentsData[areaName]) {\n draft.unplannedConsignmentsData[areaName].isChecked = checked;\n if (\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders) &&\n isObject(draft.unplannedConsignmentsData[areaName].slotWiseOrders) &&\n countObjectProperties(draft.unplannedConsignmentsData[areaName].slotWiseOrders) > 0\n ) {\n Object.keys(draft.unplannedConsignmentsData[areaName].slotWiseOrders).forEach((slotName: any) => {\n if (\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isInputAnArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isNonEmptyArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName])\n ) {\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName] = draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].map((order: any) => ({\n ...order,\n isChecked: checked,\n }));\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].forEach((order: any) => {\n var removeIndex = draft.selectedConsignments.findIndex((item: any) => item.orderCode === order.orderCode);\n if (checked && removeIndex === -1) {\n draft.selectedConsignments.push(order);\n } else if (!checked && removeIndex !== -1) {\n draft.selectedConsignments.splice(removeIndex, 1);\n }\n });\n }\n });\n }\n }\n });\n return newAllRouteState;\n};\n\nexport const getPaymentModeString = (paymentMethod: any) => {\n if (paymentMethod.toLowerCase() === \"cash on delivery\") {\n return \"COD\";\n }\n return paymentMethod;\n};\n\nexport const handleOpenCloseUnplannedRouteSlotUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, areaName: any, slotName: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (\n draft &&\n draft.unplannedConsignmentsData &&\n draft.unplannedConsignmentsData[areaName] &&\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders) &&\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isInputAnArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isNonEmptyArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName])\n ) {\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName] = draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].map((order: any) => ({\n ...order,\n isOpened: !order.isOpened,\n }));\n }\n });\n return newAllRouteState;\n};\n\nexport const handleUnplannedSlotCheckboxToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, checked: boolean, areaName: any, slotName: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft && draft.unplannedConsignmentsData && draft.unplannedConsignmentsData[areaName]) {\n if (\n draft &&\n draft.unplannedConsignmentsData &&\n draft.unplannedConsignmentsData[areaName] &&\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders) &&\n !isUndefined(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isInputAnArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName]) &&\n isNonEmptyArray(draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName])\n ) {\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName] = draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].map((order: any) => ({\n ...order,\n isChecked: checked,\n }));\n draft.unplannedConsignmentsData[areaName].slotWiseOrders[slotName].forEach((order: any) => {\n var removeIndex = draft.selectedConsignments.findIndex((item: any) => item.orderCode === order.orderCode);\n if (checked && removeIndex === -1) {\n draft.selectedConsignments.push(order);\n } else if (!checked && removeIndex !== -1) {\n draft.selectedConsignments.splice(removeIndex, 1);\n }\n });\n }\n }\n });\n return newAllRouteState;\n};\n\nfunction findUnplannedConsignmentsData(data: UnplannedConsignmentsDataInterface, consignmentCode: string | number) {\n for (let key in data) {\n if (data.hasOwnProperty(key) && !isUndefined(data[key].slotWiseOrders)) {\n const slotWiseOrders = data[key].slotWiseOrders;\n for (const timeSlot in slotWiseOrders) {\n const orders = slotWiseOrders[timeSlot];\n const order = orders.find((order: OrderInterface) => order.consignmentCode === consignmentCode);\n if (order) {\n const obj = { key, timeSlot, order };\n return obj;\n }\n }\n }\n }\n return null;\n}\n\nfunction findPlannedConsignmentsData(data: PlannedConsignmentsDataInterface, consignmentCode: string | number) {\n for (let key in data) {\n if (!isUndefined(data[key].consignmentsIds) && isNonEmptyArray(data[key].consignmentsIds) && data[key].consignmentsIds.includes(String(consignmentCode))) {\n for (const areaName in data[key].routeDataObj) {\n if (data[key].routeDataObj[areaName].routeType === ROUTE_TYPE.SUB_ROUTE) {\n if (data[key]?.routeDataObj[areaName] && data[key]?.routeDataObj[areaName]?.slotWiseOrders) {\n for (const timeSlot in data[key].routeDataObj[areaName].slotWiseOrders) {\n if (\n data[key].routeDataObj[areaName].slotWiseOrders[timeSlot] &&\n data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders &&\n isNonEmptyArray(data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders)\n ) {\n const orders = data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders;\n const order = orders?.find((order: OrderInterface) => order.consignmentCode === consignmentCode);\n if (order) {\n const obj = { key, areaName, timeSlot, order };\n return obj;\n }\n }\n }\n }\n } else {\n for (const timeSlot in data[key].routeDataObj[areaName].slotWiseOrders) {\n const orders = data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders;\n if (\n data[key].routeDataObj[areaName].slotWiseOrders &&\n data[key].routeDataObj[areaName].slotWiseOrders[timeSlot] &&\n data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders &&\n isNonEmptyArray(data[key].routeDataObj[areaName].slotWiseOrders[timeSlot].orders)\n ) {\n const order = orders?.find((order: OrderInterface) => order.consignmentCode === consignmentCode);\n if (order) {\n const obj = { key, areaName, timeSlot, order };\n return obj;\n }\n }\n }\n }\n }\n }\n }\n return null;\n}\n\nexport const handleConsignmentSearchUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let noOrderFound: boolean = false;\n draft.expandAll = false;\n draft.mapZoom = 12;\n draft.mapCenter = draft.firstMapCordinates;\n draft.mapPolylineMarker = [];\n draft.polylineColor = \"\";\n draft.consignmentMarkersForMap = [...draft.consignmentMarkers];\n if (allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && isNonEmptyObject(draft.plannedConsignmentsData)) {\n const obj: any = findPlannedConsignmentsData(allRouteState.plannedConsignmentsData, allRouteState.consignmentId);\n if (obj && isNonEmptyObject(obj) && !isUndefined(obj?.key) && draft.plannedConsignmentsData.hasOwnProperty(obj?.key)) {\n draft.plannedConsignmentsData[obj?.key].isOpened = true;\n draft.mapZoom = 15;\n draft.expandAll = true;\n\n const objectKeysLength: number = Object.keys(obj).length;\n if (objectKeysLength === 4) {\n if (\n draft.plannedConsignmentsData[obj?.key].hasOwnProperty(\"routeDataObj\") &&\n isNonEmptyObject(draft.plannedConsignmentsData[obj?.key].routeDataObj) &&\n draft.plannedConsignmentsData[obj?.key]?.routeDataObj.hasOwnProperty(obj?.areaName)\n ) {\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].isOpened = true;\n if (\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].hasOwnProperty(\"slotWiseOrders\") &&\n isNonEmptyObject(draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders) &&\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders.hasOwnProperty(obj?.timeSlot)\n ) {\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders[obj.timeSlot].isOpened = true;\n if (isNonEmptyArray(draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders[obj.timeSlot].orders)) {\n const orders = draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders[obj.timeSlot].orders;\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].slotWiseOrders[obj.timeSlot].orders = orders.map((order: OrderInterface) =>\n order.consignmentCode === allRouteState.consignmentId ? { ...order, isOpened: draft.plannedConsignmentsData[obj?.key].isOpened } : order\n );\n }\n }\n }\n } else if (objectKeysLength === 5) {\n if (\n draft.plannedConsignmentsData[obj?.key].hasOwnProperty(\"routeDataObj\") &&\n isNonEmptyObject(draft.plannedConsignmentsData[obj?.key].routeDataObj) &&\n draft.plannedConsignmentsData[obj?.key]?.routeDataObj.hasOwnProperty(obj?.areaName)\n ) {\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].isOpened = true;\n if (\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].hasOwnProperty(\"areaDataObj\") &&\n isNonEmptyObject(draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj) &&\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj.hasOwnProperty(obj.subAreaName)\n ) {\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].isOpened = true;\n if (\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].hasOwnProperty(\"slotWiseOrders\") &&\n isNonEmptyObject(draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders) &&\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders.hasOwnProperty(obj?.timeSlot)\n ) {\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders[obj.timeSlot].isOpened = true;\n if (isNonEmptyArray(draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders[obj.timeSlot].orders)) {\n const orders = draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders[obj.timeSlot].orders;\n draft.plannedConsignmentsData[obj?.key].routeDataObj[obj.areaName].areaDataObj[obj.subAreaName].slotWiseOrders[obj.timeSlot].orders = orders.map((order: OrderInterface) =>\n order.consignmentCode === allRouteState.consignmentId ? { ...order, isOpened: draft.plannedConsignmentsData[obj?.key].isOpened } : order\n );\n }\n }\n }\n }\n }\n\n if (draft.plannedConsignmentsData[obj?.key].isOpened) {\n if (obj?.order?.mapCenter && obj?.order?.mapCenter?.lat && obj?.order?.mapCenter?.lat !== 0) {\n draft.mapCenter = obj?.order?.mapCenter;\n } else if (draft.plannedConsignmentsData[obj?.key]?.mapCenter && draft.plannedConsignmentsData[obj?.key]?.mapCenter?.lat && draft.plannedConsignmentsData[obj?.key]?.mapCenter?.lat !== 0) {\n draft.mapCenter = draft.plannedConsignmentsData[obj?.key].mapCenter;\n }\n // Make a Polynine\n if (!isUndefined(draft.consignmentMarkers) && isArrayNonEmpty(draft.consignmentMarkers)) {\n let markerWithCurrentRoute = [];\n if (objectKeysLength === 5) {\n markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === obj?.areaName);\n } else if (objectKeysLength === 4) {\n markerWithCurrentRoute = draft.consignmentMarkers.filter((x: any) => x?.routeId === obj?.key || x?.parentRouteName === obj?.key);\n }\n if (!isUndefined(markerWithCurrentRoute) && isArrayNonEmpty(markerWithCurrentRoute)) {\n draft.consignmentMarkersForMap = [...markerWithCurrentRoute];\n draft.mapPolylineMarker = markerWithCurrentRoute.map((marker: any) => marker?.location);\n draft.polylineColor = markerWithCurrentRoute[0].color;\n }\n }\n }\n } else {\n noOrderFound = true;\n }\n } else if (allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED && isNonEmptyObject(draft.unplannedConsignmentsData)) {\n const obj = findUnplannedConsignmentsData(allRouteState.unplannedConsignmentsData, allRouteState.consignmentId);\n if (obj && isNonEmptyObject(obj) && !isUndefined(obj?.key) && draft.unplannedConsignmentsData.hasOwnProperty(obj?.key)) {\n draft.unplannedConsignmentsData[obj?.key].isOpened = !draft.unplannedConsignmentsData[obj?.key].isOpened;\n if (\n draft.unplannedConsignmentsData[obj?.key]?.hasOwnProperty(\"slotWiseOrders\") &&\n isNonEmptyObject(draft.unplannedConsignmentsData[obj?.key]?.slotWiseOrders) &&\n draft.unplannedConsignmentsData[obj?.key]?.slotWiseOrders.hasOwnProperty(obj?.timeSlot)\n ) {\n draft.unplannedConsignmentsData[obj?.key].slotWiseOrders[obj?.timeSlot] = draft.unplannedConsignmentsData[obj?.key].slotWiseOrders[obj?.timeSlot].map((order: OrderInterface) =>\n order.consignmentCode === allRouteState.consignmentId ? { ...order, isOpened: draft.unplannedConsignmentsData[obj?.key].isOpened } : order\n );\n }\n if (draft.unplannedConsignmentsData[obj?.key].isOpened) {\n draft.expandAll = true;\n draft.mapZoom = 15;\n if (obj?.order?.mapCenter && obj?.order?.mapCenter?.lat && obj?.order?.mapCenter?.lat !== 0) {\n draft.mapCenter = obj?.order?.mapCenter;\n } else if (draft.unplannedConsignmentsData[obj?.key]?.mapCenter?.lat && draft.unplannedConsignmentsData[obj?.key]?.mapCenter?.lat !== 0) {\n draft.mapCenter = draft.unplannedConsignmentsData[obj?.key].mapCenter;\n }\n }\n } else {\n noOrderFound = true;\n }\n }\n\n if (noOrderFound) {\n draft.openSnackbar = true;\n draft.snackbarMessage = `${SNACKBAR_MESSAGES.CONSIGNMENT_ID} - ${allRouteState.consignmentId} not found`;\n draft.snackbarType = AppConstants.SNACKBAR.TYPES.ERROR;\n }\n });\n return newAllRouteState;\n};\n\nexport const handleRoutAreaSubareaAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string, routeDataName: string, subRouteAreaName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName]?.areaDataObj[subRouteAreaName]) {\n const subRouteArea = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName];\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName].isOpened = !subRouteArea.isOpened;\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleSubRouteSlotAccordianToggleUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeName: string, routeDataName: string, slotName: string, subRouteAreaName: string) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.areaDataObj[subRouteAreaName]?.slotWiseOrders[slotName]) {\n const subRouteSlot = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName].slotWiseOrders[slotName];\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName].slotWiseOrders[slotName].isOpened = !subRouteSlot.isOpened;\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const handleSubrouteOrderAccordianToggleUtils = (\n allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE,\n routeName: string,\n routeDataName: string,\n slotName: string,\n orderObjIndex: any,\n subRouteAreaName: string\n) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n if (draft?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.areaDataObj[subRouteAreaName]?.slotWiseOrders[slotName]?.orders[orderObjIndex]) {\n const subRouteOrder = draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName].slotWiseOrders[slotName].orders[orderObjIndex];\n draft.plannedConsignmentsData[routeName].routeDataObj[routeDataName].areaDataObj[subRouteAreaName].slotWiseOrders[slotName].orders[orderObjIndex].isOpened = !subRouteOrder.isOpened;\n }\n draft.loading = false;\n });\n return newAllRouteState;\n};\n\nexport const validatePlannedSubRouteInfoUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n let routePayload = {\n errorObj: {},\n payloadObject: { countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE), route: { assignee: {}, helper: {}, assignedVehicle: {} } },\n } as any;\n\n if (allRouteState !== undefined && allRouteState.selectedSubRoute !== undefined && isObject(allRouteState.selectedSubRoute) && isNonEmptyObject(allRouteState.selectedSubRoute)) {\n if (allRouteState.subVehicleValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.assignee = { id: allRouteState.subVehicleValue };\n }\n if (allRouteState.subDriverValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.helper = { id: allRouteState.subDriverValue };\n }\n if (allRouteState.subHelperValue !== AppConstants.SELECT_NONE.value) {\n routePayload.payloadObject.route.assignedVehicle = { id: allRouteState.subHelperValue };\n }\n }\n\n return routePayload;\n};\n\nexport const updateSubRouteObjectAfterUpdateUtils = (allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE, routeData: any, successMessage: any) => {\n let newAllRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE = produce(allRouteState, (draft: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n draft.loading = false;\n draft.openSubRouteOrderActionPopUp = false;\n\n draft.openSnackbar = true;\n draft.snackbarMessage = successMessage;\n draft.snackbarType = AppConstants.SNACKBAR.TYPES.SUCCESS;\n\n draft.subDriverValue = AppConstants.SELECT_NONE.value;\n draft.subHelperValue = AppConstants.SELECT_NONE.value;\n draft.subVehicleValue = AppConstants.SELECT_NONE.value;\n if (\n allRouteState?.selectedSubRoute?.parentRouteName &&\n routeData.routeId &&\n draft.plannedConsignmentsData[allRouteState?.selectedSubRoute?.parentRouteName] &&\n draft.plannedConsignmentsData[allRouteState?.selectedSubRoute?.parentRouteName]?.routeDataObj &&\n draft.plannedConsignmentsData[allRouteState?.selectedSubRoute?.parentRouteName]?.routeDataObj[routeData.routeId]\n )\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].assignedVehicle = {};\n if (routeData?.assignedVehicle?.id !== undefined) {\n draft.subVehicleValue = routeData.assignedVehicle.id;\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].assignedVehicle = { ...routeData.assignedVehicle };\n }\n\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].assignee = {};\n if (routeData?.assignee?.id !== undefined) {\n draft.subDriverValue = routeData.assignee.id;\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].assignee = { ...routeData.assignee };\n }\n\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].helper = {};\n if (routeData?.helper?.id !== undefined) {\n draft.subHelperValue = routeData.helper.id;\n draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId].helper = { ...routeData.helper };\n }\n draft.selectedSubRoute = draft.plannedConsignmentsData[allRouteState.selectedSubRoute.parentRouteName].routeDataObj[routeData.routeId];\n });\n return newAllRouteState;\n};\n","import React from \"react\";\n\nimport { ClickAwayListener, Grid, Typography } from \"@material-ui/core\";\nimport CustomTooltip from \"../../../common/Tooltip\";\nimport { getAreaTitle, getDeliverySlotTitle } from \"./AllRouteUtils\";\nimport { isNonEmptyObject, isObject } from \"../../../utils/helpers.utils\";\n\nexport const customMapConainer = (color: any) => {\n return (\n \n \n \n );\n};\n\ninterface CustomPlannedOrderActionTooltipInterface {\n classes: any;\n consignmentCode?: string;\n routeName: any;\n routeDataName: string;\n slotName: any;\n orderObjIndex: number;\n removeOrderFromRoute ?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n addOrderToAnotherRoute ?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n orderActionPopUpViewChange ?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n}\nexport const CustomPlannedOrderActionTooltip = (props: CustomPlannedOrderActionTooltipInterface) => {\n const { classes, consignmentCode, routeName, slotName, routeDataName, orderObjIndex, removeOrderFromRoute, addOrderToAnotherRoute, orderActionPopUpViewChange } = props;\n\n return (\n orderActionPopUpViewChange && orderActionPopUpViewChange(event, routeName, routeDataName, slotName, orderObjIndex)} disableReactTree={true} mouseEvent=\"onMouseUp\">\n \n \n removeOrderFromRoute && removeOrderFromRoute(routeName, routeDataName, slotName, orderObjIndex)}>\n {`Remove `}\n {`${consignmentCode || \"\"}`}\n {` from Route`}\n \n \n \n addOrderToAnotherRoute && addOrderToAnotherRoute(routeName, routeDataName, slotName, orderObjIndex)}>\n {`Add`}\n {`${consignmentCode || \"\"}`}\n {` to Another Route`}\n \n \n \n \n );\n};\n\nexport const getDeliveryAreas = (areas: any[]) => {\n return (\n areas.length &&\n areas.map((area: string, index: number) => (\n \n {area}\n \n ))\n );\n};\n\nexport const getAreaTitleView = (routeObj: any) => {\n const titleName = getAreaTitle(routeObj);\n return (\n \n {`${titleName}`}\n \n );\n};\n\nexport const getCustomClassAreaTitleView = (routeObj: any, classes: any) => {\n const titleName = getAreaTitle(routeObj);\n return (\n \n {`${titleName}`}\n \n );\n};\n\nexport const getDeliverySlots = (obj: any) => {\n return (\n obj &&\n obj.slotWiseOrders &&\n isObject(obj.slotWiseOrders) &&\n isNonEmptyObject(obj.slotWiseOrders) &&\n Object.keys(obj.slotWiseOrders).map((slotName: string, slotNameIndex: number) => (\n \n {slotName}\n \n ))\n );\n};\n\nexport const getDeliverySlotTitleView = (obj: any) => {\n const titleName = getDeliverySlotTitle(obj);\n return (\n \n {`${titleName}`}\n \n );\n};\n\nexport const getAreaTitleViewWithClasses = (routeObj: any, classes: any) => {\n const titleName = getAreaTitle(routeObj);\n return (\n \n {`${titleName}`}\n \n );\n};\n\ninterface RenderMapMarkerTitleValueInterface {\n classes: any;\n title: string;\n value: string | undefined | null;\n}\n\nexport const RenderMapMarkerTitleValue = ({ classes, title, value }: RenderMapMarkerTitleValueInterface) => {\n return (\n \n {`${title}`}\n {`${value || \"-\"}`}\n \n );\n};\n","import React from \"react\";\n\nimport { Checkbox, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as crateBoxIcon } from \"../../../assets/icons/crate-box-icon.svg\";\nimport { ReactComponent as UserIconGreen } from \"../../../assets/icons/user_icon_green.svg\";\nimport { ReactComponent as UserIconGrey } from \"../../../assets/icons/user_icon_grey.svg\";\n\nimport { getAreaTitleViewWithClasses } from \"../utils/AllRouteViewUtils\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { ALL_ROUTES_TEXT_CONTANT } from \"../utils/AllRouteConstant\";\n\nimport CustomTooltip from \"../../../common/Tooltip\";\n\ninterface RenderPlannedRouteAccordionSummaryInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n viewMode?: boolean;\n handleRouteCheckboxToggle ?: (e: React.ChangeEvent, routeName: string) => void;\n}\n\nconst RenderPlannedRouteAccordionSummary = (props: RenderPlannedRouteAccordionSummaryInterface) => {\n const { classes, routeObj, routeName, viewMode, handleRouteCheckboxToggle } = props;\n\n const isDriverAssigned = (routeObj: any) => {\n if (routeObj.assignee !== undefined && routeObj.assignee.id !== undefined) {\n return true;\n }\n return false;\n };\n\n return (\n \n \n \n {!viewMode && handleRouteCheckboxToggle && handleRouteCheckboxToggle(e, routeName)} className={`${classes.marginAuto} ${classes.marginRightFour}`} />}\n {`${routeObj.routeId || \"-\"}`}\n {`${routeObj.totalConsignment} Orders`}\n \n {getAreaTitleViewWithClasses(routeObj, classes)}\n \n {routeObj.isSubRoutePresent && (\n \n \n {`P...`}\n \n \n )}\n \n \n \n \n \n \n \n \n {`${routeObj.totalCrates}`}\n \n \n {isDriverAssigned(routeObj) ? (\n <>\n \n {`${\n routeObj.assignee && routeObj.assignee.name && routeObj.assignee.name.substring(0, 12)\n }`}\n \n ) : (\n <>\n \n {`Unassigned`}\n \n )}\n \n \n \n \n \n \n );\n};\n\nexport default React.memo(RenderPlannedRouteAccordionSummary);\n","import React from \"react\";\n\nimport { Checkbox, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as deleteIcon } from \"../../../assets/icons/delete-icon.svg\";\nimport { ReactComponent as UserIconGreen } from \"../../../assets/icons/user_icon_green.svg\";\n\nimport { isDriverAssigned, isSubRoute } from \"../utils/AllRouteUtils\";\nimport { ALL_ROUTES_TEXT_CONTANT } from \"../utils/AllRouteConstant\";\n\ninterface RenderRouteAreaOrSubRouteAccordionSummaryInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n routeDataName: string;\n viewMode?: boolean;\n\n handleAreaCheckboxToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string) => void;\n handleDeleteRoute?: (event: React.ChangeEvent, routeObject: any) => void;\n}\n\nconst RenderRouteAreaOrSubRouteAccordionSummary = (props: RenderRouteAreaOrSubRouteAccordionSummaryInterface) => {\n const { classes, routeObj, routeName, routeDataName, viewMode = false, handleAreaCheckboxToggle, handleDeleteRoute } = props;\n\n return (\n \n \n \n {!viewMode && !isSubRoute(routeObj.routeDataObj[routeDataName]) && routeObj.subRouteCreated && (\n handleAreaCheckboxToggle && handleAreaCheckboxToggle(e, routeName, routeDataName)}\n className={`${classes.marginAutoFour}`}\n />\n )}\n {`${routeDataName}`}\n \n {`${routeObj.routeDataObj[routeDataName]?.ordersCount || \"\"} Orders`}\n \n {isSubRoute(routeObj.routeDataObj[routeDataName]) && {`${ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE}`}}\n \n \n \n {isSubRoute(routeObj.routeDataObj[routeDataName]) && (\n <>\n {isDriverAssigned(routeObj.routeDataObj[routeDataName]) && (\n \n \n \n {`${routeObj?.routeDataObj[routeDataName]?.assignee?.name.substring(0, 12) || \"\"}`}\n \n \n )}\n {handleDeleteRoute && (\n handleDeleteRoute && handleDeleteRoute(e, routeObj.routeDataObj[routeDataName])}\n />\n )}\n \n )}\n \n \n );\n};\n\nexport default React.memo(RenderRouteAreaOrSubRouteAccordionSummary);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.4875 3.65414C15.517 6.21637 15.503 9.84203 13.4539 12.3885L12.9083 11.9496C15.0156 9.33306 14.7012 5.52369 12.1933 3.28809C9.68542 1.05249 5.86509 1.17598 3.50682 3.56887C1.14854 5.96176 1.08074 9.78348 3.35265 12.2585C5.62455 14.7336 9.4381 14.9925 12.0237 12.8472L12.4708 13.3859C11.214 14.4284 9.6327 14.9993 7.99987 15C4.73128 14.9997 1.89801 12.7374 1.17438 9.5499C0.450759 6.36242 2.02944 3.09846 4.97751 1.68688C7.92558 0.275289 11.4581 1.0919 13.4875 3.65414ZM7.64915 3.80036L8.34919 3.80176L8.34009 7.91588L10.807 11.0149L10.2596 11.4511L7.63935 8.15879L7.64915 3.80036Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgTimeSlotIcon = function SvgTimeSlotIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTimeSlotIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/time-slot-icon.b0f1d734.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.75 8.625C6.75 8.8475 6.68402 9.06501 6.5604 9.25002C6.43679 9.43502 6.26109 9.57922 6.05552 9.66436C5.84995 9.74951 5.62375 9.77179 5.40552 9.72838C5.1873 9.68498 4.98684 9.57783 4.82951 9.4205C4.67217 9.26316 4.56503 9.06271 4.52162 8.84448C4.47821 8.62625 4.50049 8.40005 4.58564 8.19448C4.67078 7.98891 4.81498 7.81321 4.99998 7.6896C5.18499 7.56598 5.4025 7.5 5.625 7.5C5.92337 7.5 6.20952 7.61853 6.4205 7.82951C6.63147 8.04048 6.75 8.32663 6.75 8.625ZM12 7.5C11.7775 7.5 11.56 7.56598 11.375 7.6896C11.19 7.81321 11.0458 7.98891 10.9606 8.19448C10.8755 8.40005 10.8532 8.62625 10.8966 8.84448C10.94 9.06271 11.0472 9.26316 11.2045 9.4205C11.3618 9.57783 11.5623 9.68498 11.7805 9.72838C11.9988 9.77179 12.225 9.74951 12.4305 9.66436C12.6361 9.57922 12.8118 9.43502 12.9354 9.25002C13.059 9.06501 13.125 8.8475 13.125 8.625C13.125 8.32663 13.0065 8.04048 12.7955 7.82951C12.5845 7.61853 12.2984 7.5 12 7.5ZM18.375 9.75C18.5975 9.75 18.815 9.68402 19 9.5604C19.185 9.43679 19.3292 9.26109 19.4144 9.05552C19.4995 8.84995 19.5218 8.62375 19.4784 8.40552C19.435 8.1873 19.3278 7.98684 19.1705 7.82951C19.0132 7.67217 18.8127 7.56503 18.5945 7.52162C18.3762 7.47821 18.15 7.50049 17.9445 7.58564C17.7389 7.67078 17.5632 7.81498 17.4396 7.99998C17.316 8.18499 17.25 8.4025 17.25 8.625C17.25 8.92337 17.3685 9.20952 17.5795 9.4205C17.7905 9.63147 18.0766 9.75 18.375 9.75ZM5.625 14.25C5.4025 14.25 5.18499 14.316 4.99998 14.4396C4.81498 14.5632 4.67078 14.7389 4.58564 14.9445C4.50049 15.15 4.47821 15.3762 4.52162 15.5945C4.56503 15.8127 4.67217 16.0132 4.82951 16.1705C4.98684 16.3278 5.1873 16.435 5.40552 16.4784C5.62375 16.5218 5.84995 16.4995 6.05552 16.4144C6.26109 16.3292 6.43679 16.185 6.5604 16C6.68402 15.815 6.75 15.5975 6.75 15.375C6.75 15.0766 6.63147 14.7905 6.4205 14.5795C6.20952 14.3685 5.92337 14.25 5.625 14.25ZM12 14.25C11.7775 14.25 11.56 14.316 11.375 14.4396C11.19 14.5632 11.0458 14.7389 10.9606 14.9445C10.8755 15.15 10.8532 15.3762 10.8966 15.5945C10.94 15.8127 11.0472 16.0132 11.2045 16.1705C11.3618 16.3278 11.5623 16.435 11.7805 16.4784C11.9988 16.5218 12.225 16.4995 12.4305 16.4144C12.6361 16.3292 12.8118 16.185 12.9354 16C13.059 15.815 13.125 15.5975 13.125 15.375C13.125 15.0766 13.0065 14.7905 12.7955 14.5795C12.5845 14.3685 12.2984 14.25 12 14.25ZM18.375 14.25C18.1525 14.25 17.935 14.316 17.75 14.4396C17.565 14.5632 17.4208 14.7389 17.3356 14.9445C17.2505 15.15 17.2282 15.3762 17.2716 15.5945C17.315 15.8127 17.4222 16.0132 17.5795 16.1705C17.7368 16.3278 17.9373 16.435 18.1555 16.4784C18.3738 16.5218 18.6 16.4995 18.8055 16.4144C19.0111 16.3292 19.1868 16.185 19.3104 16C19.434 15.815 19.5 15.5975 19.5 15.375C19.5 15.0766 19.3815 14.7905 19.1705 14.5795C18.9595 14.3685 18.6734 14.25 18.375 14.25Z\",\n fill: \"black\"\n});\n\nvar SvgSixDotsIcon = function SvgSixDotsIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSixDotsIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/six-dots-icon.30b0487a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 6.75V10.5\",\n stroke: \"#ECB062\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.2476 12.375L10 10.5\",\n stroke: \"#ECB062\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.61328 8.29102H2.48828V5.16602\",\n stroke: \"#ECB062\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.13993 15.3614C6.10142 16.3229 7.32642 16.9776 8.66004 17.2429C9.99366 17.5082 11.376 17.372 12.6322 16.8517C13.8885 16.3313 14.9622 15.4501 15.7176 14.3196C16.4731 13.189 16.8763 11.8598 16.8763 10.5C16.8763 9.14026 16.4731 7.81105 15.7176 6.68046C14.9622 5.54987 13.8885 4.66868 12.6322 4.14833C11.376 3.62798 9.99366 3.49183 8.66004 3.7571C7.32642 4.02238 6.10142 4.67716 5.13993 5.63864L2.48828 8.29029\",\n stroke: \"#ECB062\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgRescheduleOrdersIcon = function SvgRescheduleOrdersIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRescheduleOrdersIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/reschedule-orders-icon.c220a585.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n rescheduleOrdersIconStyle: {\n fill: \"transparent\",\n width: \"24px\",\n height: \"24px\",\n cursor: \"pointer\",\n margin: \"4px 0px auto 8px\",\n },\n popperStyle: {\n fontSize: \"10px\",\n fontWeight: 500,\n color: COLORS.WHITE,\n width: \"229px\",\n boxShadow: \"0px 4px 30px rgba(0, 0, 0, 0.15)\",\n borderRadius: \"4px\",\n },\n arrowStyle: {\n color: COLORS.WHITE,\n },\n tooltipStyle: {\n background: COLORS.WHITE,\n color: COLORS.BLACK,\n },\n tooltipTitleSection: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"8px\",\n },\n tooltipHeading: {\n fontSize: \"12px\",\n fontWeight: 600,\n },\n tooltipData: {\n fontSize: \"10px\",\n fontWeight: 400,\n },\n })\n);\n","import React from \"react\";\n\nimport { ReactComponent as RescheduleOrdersIcon } from \"../../assets/icons/reschedule-orders-icon.svg\";\nimport { Grid, SvgIcon, Tooltip, Typography } from \"@material-ui/core\";\n\nimport { useStyles } from \"./RescheduleOrdersStyles\";\n\ninterface RenderRescheduleOrdersInterface {}\n\nconst RenderRescheduleOrders = (props: RenderRescheduleOrdersInterface) => {\n const {} = props;\n const classes = useStyles();\n\n const renderTooltip = () => {\n return (\n \n \n \n Rescheduled Order\n \n \n \n \n );\n };\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport default React.memo(RenderRescheduleOrders);\n","import React from \"react\";\n\nimport { ReactComponent as crateBoxIcon } from \"../../../assets/icons/crate-box-icon.svg\";\nimport { ReactComponent as SixDotsIcon } from \"../../../assets/icons/six-dots-icon.svg\";\n\nimport { Checkbox, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { getVerificationStatusField, isSubRoute } from \"../utils/AllRouteUtils\";\nimport { getStatusWithoutUnderScore } from \"../../../mocks/allRoutes/response.transforms\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\n\nimport RenderRescheduleOrders from \"../../../common/RescheduleOrders/RenderRescheduleOrders\";\n\ninterface RenderOrderDetailsAccordionSummaryInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n routeDataName: string;\n slotName: string;\n orderObj: any;\n orderObjIndex: number;\n viewMode?: boolean;\n orderActionPopUpViewChange?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: any, orderObjIndex: number) => void;\n handleOrderCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n}\n\nconst RenderOrderDetailsAccordionSummary = (props: RenderOrderDetailsAccordionSummaryInterface) => {\n const { classes, routeObj, routeName, routeDataName, slotName, orderObj, orderObjIndex, viewMode, orderActionPopUpViewChange, handleOrderCheckboxToggle } = props;\n\n return (\n \n \n \n {!isSubRoute(routeObj.routeDataObj[routeDataName]) && routeObj.subRouteCreated && (\n handleOrderCheckboxToggle && handleOrderCheckboxToggle(e, routeName, routeDataName, slotName, orderObjIndex)}\n className={`${classes.orderSubRouteCheckboxStyle}`}\n />\n )}\n {`${orderObj.orderIndex}`}\n {`${orderObj.consignmentCode || \"-\"}`}\n {orderObj?.rescheduled && } \n \n \n \n \n \n \n \n \n \n {`${orderObj.totalCratesCount}`}\n \n \n \n \n {getStatusWithoutUnderScore(orderObj.deliveryStatus)}\n \n \n \n \n {!viewMode && !isSubRoute(routeObj.routeDataObj[routeDataName]) && (\n orderActionPopUpViewChange && orderActionPopUpViewChange(e, routeName, routeDataName, slotName, orderObjIndex)}\n className={classes.dotIconStyle}\n />\n )}\n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(RenderOrderDetailsAccordionSummary);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.00219 1.33325C9.26219 1.33325 10.4875 1.85325 11.3662 2.76125C12.5735 4.01059 12.9782 5.65859 12.4202 7.06325C12.2042 7.60459 11.9269 8.17925 11.5722 8.82059L10.9975 8.50192C11.3395 7.88459 11.6049 7.33459 11.8095 6.81925C12.2702 5.65925 11.9195 4.27992 10.8942 3.21925C10.1395 2.43925 9.08552 1.99192 8.00219 1.99192C6.88686 1.99192 5.74152 2.53592 4.93819 3.44725C4.22352 4.25992 3.89552 5.23525 4.01419 6.19325C4.03686 6.37192 4.07486 6.55259 4.12486 6.73392C4.37619 7.64859 4.94752 8.61792 5.45086 9.47259C5.59219 9.71392 5.73019 9.94725 5.85552 10.1713C6.20686 10.7966 6.57019 11.4146 6.93286 12.0319C7.25419 12.5793 7.57552 13.1266 7.88952 13.6786L8.57152 12.5226C8.81752 12.1119 9.07019 11.7066 9.32286 11.3006C9.56286 10.9153 9.80352 10.5299 10.0362 10.1413L10.3015 9.69992L10.8655 10.0399L10.6002 10.4806C10.3649 10.8733 10.1222 11.2613 9.88086 11.6493C9.62952 12.0513 9.37886 12.4539 9.13619 12.8606L8.16552 14.5046C8.10619 14.6046 7.99819 14.6666 7.88219 14.6666H7.87752C7.76019 14.6653 7.65219 14.5999 7.59486 14.4973C7.19686 13.7799 6.78219 13.0733 6.36686 12.3666C6.00152 11.7446 5.63686 11.1233 5.28352 10.4939C5.15886 10.2746 5.02419 10.0446 4.88486 9.80792C4.36019 8.91659 3.76619 7.90725 3.49152 6.90925C3.43086 6.69125 3.38819 6.47792 3.36286 6.27525C3.21952 5.12592 3.60419 3.96792 4.44619 3.01259C5.37152 1.96059 6.70152 1.33325 8.00219 1.33325ZM8.00006 3.70012C8.98739 3.70012 9.79139 4.50345 9.79139 5.49145C9.79139 6.38412 8.50072 7.79012 8.24206 8.06279C8.17939 8.12945 8.09206 8.16679 8.00006 8.16679C7.90806 8.16679 7.82072 8.12945 7.75806 8.06279C7.49939 7.79012 6.20872 6.38412 6.20872 5.49145C6.20872 4.50345 7.01272 3.70012 8.00006 3.70012ZM8.00006 4.36679C7.38006 4.36679 6.87539 4.87145 6.87539 5.49145C6.87539 5.89079 7.47206 6.73012 8.00006 7.33745C8.52806 6.73012 9.12472 5.89079 9.12472 5.49145C9.12472 4.87145 8.62006 4.36679 8.00006 4.36679Z\",\n fill: \"#666666\"\n});\n\nvar SvgLocationIcon = function SvgLocationIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLocationIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/location-icon.bfe4305f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 6V18C3.75 18.3978 3.90804 18.7794 4.18934 19.0607C4.47064 19.342 4.85218 19.5 5.25 19.5H20.25C20.4489 19.5 20.6397 19.421 20.7803 19.2803C20.921 19.1397 21 18.9489 21 18.75V8.25C21 8.05109 20.921 7.86032 20.7803 7.71967C20.6397 7.57902 20.4489 7.5 20.25 7.5H5.25C4.85218 7.5 4.47064 7.34196 4.18934 7.06066C3.90804 6.77936 3.75 6.39782 3.75 6ZM3.75 6C3.75 5.60218 3.90804 5.22064 4.18934 4.93934C4.47064 4.65804 4.85218 4.5 5.25 4.5H8.5M20 7.06066V4.5H17\",\n stroke: \"black\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.875 14.25C17.2892 14.25 17.625 13.9142 17.625 13.5C17.625 13.0858 17.2892 12.75 16.875 12.75C16.4608 12.75 16.125 13.0858 16.125 13.5C16.125 13.9142 16.4608 14.25 16.875 14.25Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 7.5L14.5 2L19 7.5\",\n stroke: \"black\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 7.5L10 2L12.5 3.5\",\n stroke: \"black\",\n strokeLinejoin: \"round\",\n fill: \"white\"\n});\n\nvar SvgPayWalletIcon = function SvgPayWalletIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPayWalletIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/pay-wallet-icon.56afeaa8.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\n\nimport { Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as LocationIcon } from \"../../../assets/icons/location-icon.svg\";\nimport { ReactComponent as PayWalletIcon } from \"../../../assets/icons/pay-wallet-icon.svg\";\n\nimport { getPaymentModeString } from \"../utils/AllRouteUtils\";\n\ninterface RenderOrderAccordianDetailsInterface {\n classes: any;\n orderObj: any;\n}\n\nconst RenderOrderAccordianDetails = (props: RenderOrderAccordianDetailsInterface) => {\n const { classes, orderObj } = props;\n\n return (\n \n \n \n \n \n \n {`${orderObj?.address?.fullAddress || \"\"}`}\n \n \n \n \n \n \n {`Area : `}\n {`${\n (orderObj.address && orderObj.address.area) || \"\"\n }`}\n \n \n \n \n \n {getPaymentModeString(orderObj.paymentMethod)}\n \n \n \n \n \n );\n};\n\nexport default React.memo(RenderOrderAccordianDetails);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Checkbox, Fade, Grid, SvgIcon, Tooltip, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow-icon.svg\";\nimport { ReactComponent as timeSlotIcon } from \"../../../assets/icons/time-slot-icon.svg\";\n\nimport { isInputAnArray, isNonEmptyArray } from \"../../../utils/helpers.utils\";\nimport { getSlotName, isSubRoute } from \"../utils/AllRouteUtils\";\nimport { ALL_ROUTES_TEXT_CONTANT } from \"../utils/AllRouteConstant\";\nimport { CustomPlannedOrderActionTooltip } from \"../utils/AllRouteViewUtils\";\n\nimport RenderOrderDetailsAccordionSummary from \"./RenderOrderDetailsAccordionSummary\";\nimport RenderOrderAccordianDetails from \"./RenderOrderAccordianDetails\";\n\ninterface RenderRouteSlotAccordianConfigurationInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n routeDataName: string;\n routeDataNameIndex: number;\n slotName: string;\n slotNameIndex: number;\n viewMode?: boolean;\n // Accordian\n handleRouteSlotAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleRouteOrderAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n // checkBox\n handleSlotCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleOrderCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n //\n orderActionPopUpViewChange?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n removeOrderFromRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n addOrderToAnotherRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n}\n\nconst RenderRouteSlotAccordianConfiguration = (props: RenderRouteSlotAccordianConfigurationInterface) => {\n const {\n classes,\n routeObj,\n routeName,\n routeDataName,\n routeDataNameIndex,\n slotName,\n slotNameIndex,\n viewMode = false,\n handleRouteSlotAccordianToggle,\n handleRouteOrderAccordianToggle,\n //\n handleSlotCheckboxToggle,\n handleOrderCheckboxToggle,\n //\n orderActionPopUpViewChange,\n removeOrderFromRoute,\n addOrderToAnotherRoute,\n } = props;\n\n const toolTipClasses = { popper: classes.orderActionTooltipPopperStyle, tooltip: classes.orderActionTooltipStyle, arrow: classes.orderActionTooltipArrowStyle };\n\n const renderNoItemsToDisplay = () => {ALL_ROUTES_TEXT_CONTANT.NO_ITEMS_TO_DISPLAY};\n\n const isRouteSlotsContainsOrders = (obj: any) => obj && obj?.orders && isInputAnArray(obj.orders) && isNonEmptyArray(obj.orders);\n\n return (\n \n handleRouteSlotAccordianToggle && handleRouteSlotAccordianToggle(e, routeName, routeDataName, slotName)} />}\n onClick={(e: any) => handleRouteSlotAccordianToggle && handleRouteSlotAccordianToggle(e, routeName, routeDataName, slotName)}\n className={routeObj.subRouteCreated ? classes.plannedRouteInnerSlotAccordianSummaryStyle : classes.plannedRouteInnerSlotAccordianSummaryStyleWithoutArea}\n >\n \n \n \n \n \n {!viewMode && !isSubRoute(routeObj.routeDataObj[routeDataName]) && routeObj.subRouteCreated && (\n handleSlotCheckboxToggle && handleSlotCheckboxToggle(e, routeName, routeDataName, slotName)}\n className={`${classes.marginRightEight} ${classes.marginLeftEight}`}\n />\n )}\n \n \n {`${getSlotName(slotName)}`}\n \n \n {`${routeObj.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders?.length || \"\"} Orders`}\n \n \n \n \n \n \n \n \n {routeObj.routeDataObj[routeDataName].slotWiseOrders[slotName].isOpened && (\n \n \n {isRouteSlotsContainsOrders(routeObj.routeDataObj[routeDataName].slotWiseOrders[slotName])\n ? routeObj.routeDataObj[routeDataName].slotWiseOrders[slotName].orders.map((orderObj: any, orderObjIndex: number) => (\n \n \n }\n disableFocusListener\n disableHoverListener\n disableTouchListener\n placement=\"right\"\n TransitionComponent={Fade}\n TransitionProps={{ timeout: 600 }}\n onClose={(e: any) => orderActionPopUpViewChange && orderActionPopUpViewChange(e, routeName, routeDataName, slotName, orderObjIndex)}\n >\n handleRouteOrderAccordianToggle && handleRouteOrderAccordianToggle(e, routeName, routeDataName, slotName, orderObjIndex)}\n />\n }\n onClick={(e: any) => handleRouteOrderAccordianToggle && handleRouteOrderAccordianToggle(e, routeName, routeDataName, slotName, orderObjIndex)}\n className={`${classes.plannedRouteInnerOrderAccordianSummaryStyle}`}\n >\n \n \n
\n \n {orderObj.isOpened && }\n \n \n ))\n : renderNoItemsToDisplay()}\n \n \n )}\n \n \n );\n};\n\nexport default React.memo(RenderRouteSlotAccordianConfiguration);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow-icon.svg\";\n\nimport { isNonEmptyObject, isObject } from \"../../../utils/helpers.utils\";\nimport { ALL_ROUTES_TEXT_CONTANT } from \"../utils/AllRouteConstant\";\n\nimport RenderRouteAreaOrSubRouteAccordionSummary from \"./RenderRouteAreaOrSubRouteAccordionSummary\";\nimport RenderRouteSlotAccordianConfiguration from \"./RenderRouteSlotAccordianConfiguration\";\n\ninterface RenderPlannedRouteAreaAccordionInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n routeDataName: string;\n routeDataNameIndex: number;\n viewMode?: boolean;\n //\n handleRoutAreaAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, subRouteAreaName?: string) => void;\n handleRouteSlotAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, subRouteAreaName?: string) => void;\n handleRouteOrderAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number, subRouteAreaName?: string) => void;\n //\n handleAreaCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string) => void;\n handleSlotCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleOrderCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n //\n orderActionPopUpViewChange?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n removeOrderFromRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n addOrderToAnotherRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n handleDeleteRoute?: (e: React.ChangeEvent, value: any) => void;\n}\n\nconst RenderPlannedRouteAreaAccordion = (props: RenderPlannedRouteAreaAccordionInterface) => {\n const {\n classes,\n routeObj,\n routeName,\n routeDataName,\n routeDataNameIndex,\n viewMode = false,\n handleRoutAreaAccordianToggle,\n handleRouteSlotAccordianToggle,\n handleRouteOrderAccordianToggle,\n //\n handleSlotCheckboxToggle,\n handleAreaCheckboxToggle,\n handleOrderCheckboxToggle,\n //\n orderActionPopUpViewChange,\n removeOrderFromRoute,\n addOrderToAnotherRoute,\n handleDeleteRoute,\n } = props;\n\n const renderNoItemsToDisplay = () => {ALL_ROUTES_TEXT_CONTANT.NO_ITEMS_TO_DISPLAY};\n\n const isRouteAreaContainsSlots = (obj: any) => obj && obj?.slotWiseOrders && isObject(obj.slotWiseOrders) && isNonEmptyObject(obj.slotWiseOrders);\n\n return (\n \n {routeObj.subRouteCreated && (\n handleRoutAreaAccordianToggle && handleRoutAreaAccordianToggle(e, routeName, routeDataName)} />}\n onClick={(e: any) => handleRoutAreaAccordianToggle && handleRoutAreaAccordianToggle(e, routeName, routeDataName)}\n className={classes.plannedRouteInnerAreaAccordianSummaryStyle}\n >\n \n \n )}\n \n {routeObj.routeDataObj[routeDataName].isOpened && (\n \n \n {isRouteAreaContainsSlots(routeObj.routeDataObj[routeDataName])\n ? Object.keys(routeObj.routeDataObj[routeDataName].slotWiseOrders).map((slotName: string, slotNameIndex: number) => (\n \n ))\n : renderNoItemsToDisplay()}\n \n \n )}\n \n \n );\n};\n\nexport default React.memo(RenderPlannedRouteAreaAccordion);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow-icon.svg\";\n\nimport { isNonEmptyObject, isObject } from \"../../../utils/helpers.utils\";\nimport { ALL_ROUTES_TEXT_CONTANT } from \"../utils/AllRouteConstant\";\n\nimport RenderPlannedRouteAccordionSummary from \"./RenderPlannedRouteAccordionSummary\";\nimport RenderPlannedRouteAreaAccordion from \"./RenderPlannedRouteAreaAccordion\";\n\ninterface CustomPlannedRouteViewInterface {\n classes: any;\n routeObj: any;\n routeName: string;\n // Accordion Summary\n handleRouteAccordianToggle?: (event: React.ChangeEvent, routeName: string) => void;\n handleRoutAreaAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, subRouteAreaName?: string) => void;\n handleRouteSlotAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, subRouteAreaName?: string) => void;\n handleRouteOrderAccordianToggle?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number, subRouteAreaName?: string) => void;\n // CheckBox\n handleRouteCheckboxToggle?: (e: React.ChangeEvent, routeName: string) => void;\n handleAreaCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string) => void;\n handleSlotCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleOrderCheckboxToggle?: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n //\n orderActionPopUpViewChange?: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n removeOrderFromRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n addOrderToAnotherRoute?: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n handleDeleteRoute?: (e: React.ChangeEvent, value: any) => void;\n viewMode?: boolean;\n}\n\nconst CustomPlannedRouteView = (props: CustomPlannedRouteViewInterface) => {\n const {\n classes,\n routeObj,\n routeName,\n viewMode = false,\n //\n handleRouteAccordianToggle,\n handleRoutAreaAccordianToggle,\n handleRouteSlotAccordianToggle,\n handleRouteOrderAccordianToggle,\n //\n handleRouteCheckboxToggle,\n handleSlotCheckboxToggle,\n handleAreaCheckboxToggle,\n handleOrderCheckboxToggle,\n //\n orderActionPopUpViewChange,\n removeOrderFromRoute,\n addOrderToAnotherRoute,\n handleDeleteRoute,\n } = props;\n\n const renderNoItemsToDisplay = () => {ALL_ROUTES_TEXT_CONTANT.NO_ITEMS_TO_DISPLAY};\n\n const routeContainsSubrouteOrArea = (obj: any) => obj && obj?.routeDataObj && isObject(obj.routeDataObj) && isNonEmptyObject(obj.routeDataObj);\n\n const isSubRouteView = (obj: any) => obj.isSubRoutePresent || obj.subRouteCreated;\n\n const showAreaViewBasedOnRouteDataName = (routeObj: any, routeDataName: string) => {\n if (isSubRouteView(routeObj)) {\n if (routeDataName !== ALL_ROUTES_TEXT_CONTANT.AREA_DATA) {\n return true;\n }\n } else {\n if (routeDataName === ALL_ROUTES_TEXT_CONTANT.AREA_DATA) {\n return true;\n }\n }\n return false;\n };\n\n return (\n \n handleRouteAccordianToggle && handleRouteAccordianToggle(e, routeName)} />}\n onClick={(e: any) => handleRouteAccordianToggle && handleRouteAccordianToggle(e, routeName)}\n className={`${classes.plannedRouteMainAccordianSummaryStyle} ${routeObj.openOrderActionPopUp ? classes.isAccordianSelected : \"\"}`}\n >\n \n \n \n {routeObj.isOpened && (\n \n \n {routeContainsSubrouteOrArea(routeObj)\n ? Object.keys(routeObj.routeDataObj).map(\n (routeDataName: string, routeDataNameIndex: number) =>\n showAreaViewBasedOnRouteDataName(routeObj, routeDataName) && (\n \n )\n )\n : renderNoItemsToDisplay()}\n \n \n )}\n \n \n );\n};\n\nexport default CustomPlannedRouteView;\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Checkbox, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow-icon.svg\";\nimport { ReactComponent as crateBoxIcon } from \"../../../assets/icons/crate-box-icon.svg\";\nimport { ReactComponent as timeSlotIcon } from \"../../../assets/icons/time-slot-icon.svg\";\nimport { ReactComponent as LocationIcon } from \"../../../assets/icons/location-icon.svg\";\nimport { ReactComponent as PayWalletIcon } from \"../../../assets/icons/pay-wallet-icon.svg\";\n\nimport { getPaymentModeString, getSlotName, getVerificationStatusField } from \"../utils/AllRouteUtils\";\nimport { getStatusWithoutUnderScore } from \"../../../mocks/allRoutes/response.transforms\";\nimport { isInputAnArray, isNonEmptyArray, isNonEmptyObject, isObject, isUndefined } from \"../../../utils/helpers.utils\";\n\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { getDeliverySlotTitleView } from \"../utils/AllRouteViewUtils\";\nimport CustomTooltip from \"../../../common/Tooltip\";\nimport RenderRescheduleOrders from \"../../../common/RescheduleOrders/RenderRescheduleOrders\";\n\ninterface CustomUnPlannedRouteViewInterface {\n classes: any;\n areaName: any;\n areaObj: any;\n areaNameIndex: number;\n handleUnplannedAccordianToggle: any;\n handleUnplannedInnerOrderAccordianToggle: any;\n handleUnplannedOrderCheckboxToggle: any;\n handleUnplannedAreaCheckboxToggle: any;\n handleOpenCloseUnplannedRouteSlot: any;\n handleUnplannedSlotCheckboxToggle: any;\n}\n\nconst CustomUnPlannedRouteView = (props: CustomUnPlannedRouteViewInterface) => {\n const {\n classes,\n areaName,\n areaObj,\n areaNameIndex,\n handleUnplannedAccordianToggle,\n handleUnplannedInnerOrderAccordianToggle,\n handleUnplannedOrderCheckboxToggle,\n handleUnplannedAreaCheckboxToggle,\n handleOpenCloseUnplannedRouteSlot,\n handleUnplannedSlotCheckboxToggle,\n } = props;\n\n const areaContainsSlots = (obj: any) => {\n if (obj && obj.slotWiseOrders && isObject(obj.slotWiseOrders) && isNonEmptyObject(obj.slotWiseOrders)) {\n return true;\n }\n return false;\n };\n\n const areaSlotWiseOrdersPresent = (obj: any) => {\n if (obj && isInputAnArray(obj) && isNonEmptyArray(obj)) {\n return true;\n }\n return false;\n };\n\n const isAlOrdersCheckedForSlot = (slotName: any) => {\n if (\n !isUndefined(areaObj) &&\n !isUndefined(areaObj.slotWiseOrders) &&\n !isUndefined(areaObj.slotWiseOrders[slotName]) &&\n isInputAnArray(areaObj.slotWiseOrders[slotName]) &&\n isNonEmptyArray(areaObj.slotWiseOrders[slotName]) &&\n areaObj.slotWiseOrders[slotName].findIndex((order: any) => order.isChecked === false) === -1\n ) {\n return true;\n }\n return false;\n };\n\n return (\n \n handleUnplannedAccordianToggle(e, areaName)} />}\n className=\"accordianSummary delSlot\"\n onClick={(e: any) => handleUnplannedAccordianToggle(e, areaName)}\n >\n \n \n \n handleUnplannedAreaCheckboxToggle(e, areaName)} />\n {areaName && areaName.length > 20 ? (\n \n {`${areaName.substring(0, 17)}...`}\n \n ) : (\n {`${areaName || \"\"}`}\n )}\n {`(${areaObj.orderCount || 0} Orders)`}\n \n \n \n \n \n \n \n \n {`${areaObj.totalCrates || 0}`}\n \n \n \n {getDeliverySlotTitleView(areaObj)}\n \n \n \n \n \n \n \n \n {areaObj.isOpened && (\n \n \n {areaContainsSlots(areaObj) ? (\n \n {Object.keys(areaObj.slotWiseOrders).map((slotName: any, slotNameIndex: any) => (\n <>\n handleOpenCloseUnplannedRouteSlot(areaName, slotName)}>\n \n handleUnplannedSlotCheckboxToggle(e, areaName, slotName)}\n />\n \n {`${getSlotName(slotName)}`}\n \n \n {areaSlotWiseOrdersPresent(areaObj.slotWiseOrders[slotName]) ? (\n areaObj.slotWiseOrders[slotName].map((orderObj: any, orderObjIndex: number) => (\n \n \n handleUnplannedInnerOrderAccordianToggle(e, areaName, slotName, orderObjIndex)} />}\n className=\"innerAccordionSummary orderBox\"\n onClick={(e: any) => handleUnplannedInnerOrderAccordianToggle(e, areaName, slotName, orderObjIndex)}\n >\n \n \n \n handleUnplannedOrderCheckboxToggle(e, areaName, slotName, orderObjIndex)}\n />\n {`${\n Number(orderObj?.orderIndex) >= 0 ? orderObj?.orderIndex : orderObjIndex + 1\n }`}\n {`${orderObj.consignmentCode || \"\"}`}\n {orderObj?.rescheduled && } \n \n \n \n \n \n \n \n \n \n {`${orderObj.totalCratesCount}`}\n \n \n \n \n \n {orderObj && orderObj.deliveryStatus ? getStatusWithoutUnderScore(orderObj.deliveryStatus) : \"\"}\n \n \n \n \n \n \n \n \n \n \n {orderObj.isOpened && (\n \n \n \n \n \n \n \n \n \n {`${(orderObj.address && orderObj.address.fullAddress) || \"\"}`}\n \n \n \n \n \n \n \n \n \n {`Area : `} {`${(orderObj.address && orderObj.address.area) || \"\"}`}\n \n \n \n \n {getPaymentModeString(orderObj.paymentMethod)}\n \n \n \n \n \n \n \n \n )}\n \n \n \n ))\n ) : (\n No Items to display\n )}\n \n ))}\n \n ) : (\n No Items to display\n )}\n \n \n )}\n \n \n );\n};\n\nexport default React.memo(CustomUnPlannedRouteView);\n","import React from 'react';\nimport { Grid, Typography } from \"@material-ui/core\";\n\nimport SelectBox, { SelectItemProps } from '../../../common/SelectBox';\n\n\n\ninterface AssignDriverDialogInterface {\n classes: any;\n selectedDate: any;\n handleStatusChange: (params: any) => void\n handleSlotChange: (params: any) => void\n handleZoneChange: (params: any) => void\n slotValue: any\n zoneValue: any\n statusValue: any\n consignmentStatusList: any \n slotsList:any\n zoneList:any\n}\n\nconst Filters = (props: AssignDriverDialogInterface) => {\n const {classes, handleStatusChange, handleSlotChange, handleZoneChange, slotValue, zoneValue, statusValue, consignmentStatusList, slotsList, zoneList} = props\n \n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(Filters);\n","import React from \"react\";\n\nimport { Checkbox, Grid, IconButton, InputAdornment, SvgIcon, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { TabContext, TabPanel } from \"@material-ui/lab\";\n\nimport AppConstants from \"../../../constants\";\nimport DateRangePickerComponent from \"../../../common/DateRangeComponent\";\nimport calendarIcon from \"../../../assets/icons/calendar-icon.svg\";\nimport TextBox from \"../../../common/TextBox\";\n\nimport { ReactComponent as searchIcon } from \"../../../assets/icons/search-icon-small.svg\";\n\nimport CustomPlannedRouteView from \"./CustomPlannedRouteView\";\nimport CustomUnPlannedRouteView from \"./CustomUnPlannedRouteView\";\nimport Filters from \"./FilterConsignmetn\";\n\nimport {\n ALL_ROUTES_TEXT_CONTANT,\n ALL_ROUTE_INITIAL_STATE_INTERFACE,\n BUTTONS_TEXT,\n PLANNED_ROUTE_DETAILS,\n ROUTE_DETAILS_INTERFACE,\n SNACKBAR_MESSAGES,\n UNPLANNED_ROUTE_DETAILS,\n} from \"../utils/AllRouteConstant\";\nimport { countObjectProperties, isNonEmptyArray, isNonEmptyObject, isObject, isUndefined } from \"../../../utils/helpers.utils\";\n\ninterface CustomAllRoutesLeftSectionInterface {\n classes: any;\n allRouteState: ALL_ROUTE_INITIAL_STATE_INTERFACE;\n // Filter\n consignmentStatusList: any;\n slotsList: any;\n zoneList: any;\n handleDateChange: any;\n handleTabChange: any;\n handleStatusChange: (params: any) => void;\n handleSlotChange: (params: any) => void;\n handleZoneChange: (params: any) => void;\n handleConsignmentIdOnChange: (event: React.ChangeEvent) => void;\n handleConsignmentSearch: () => void;\n hubId: string | number;\n hubName: { name: string; value: string | number }[];\n handleChangeAllRoutesHub: () => void;\n // Planned Accordion Summary\n handleRouteAccordianToggle: (event: React.ChangeEvent, routeName: string) => void;\n handleRoutAreaAccordianToggle: (event: React.ChangeEvent, routeName: string, routeDataName: string, subRouteAreaName?: string) => void;\n handleRouteSlotAccordianToggle: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleRouteOrderAccordianToggle: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n // Planned Checkbox\n handleRouteCheckboxToggle: (e: React.ChangeEvent, routeName: string) => void;\n handleAreaCheckboxToggle: (e: React.ChangeEvent, routeName: string, routeDataName: string) => void;\n handleSlotCheckboxToggle: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => void;\n handleOrderCheckboxToggle: (e: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n // Planned Action\n orderActionPopUpViewChange: (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n removeOrderFromRoute: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n addOrderToAnotherRoute: (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => void;\n handleDeleteRoute: (e: React.ChangeEvent, value: any) => void;\n // Unplanned\n handleUnplannedAccordianToggle: any;\n handleUnplannedInnerOrderAccordianToggle: any;\n handleUnplannedOrderCheckboxToggle: any;\n handleExpandAllRecordClickMethod: any;\n handleSelectAllRoutes: any;\n handleUnplannedAreaCheckboxToggle: any;\n handleOpenCloseUnplannedRouteSlot: any;\n handleUnplannedSlotCheckboxToggle: any;\n}\n\nconst CustomAllRoutesLeftSection = (props: CustomAllRoutesLeftSectionInterface) => {\n const {\n classes,\n allRouteState,\n // Filter\n consignmentStatusList,\n slotsList,\n zoneList,\n handleDateChange,\n handleTabChange,\n handleStatusChange,\n handleSlotChange,\n handleZoneChange,\n handleConsignmentIdOnChange,\n handleConsignmentSearch,\n hubId,\n hubName,\n handleChangeAllRoutesHub,\n // Planned Accordion Summary\n handleRouteAccordianToggle,\n handleRoutAreaAccordianToggle,\n handleRouteSlotAccordianToggle,\n handleRouteOrderAccordianToggle,\n // Planned Checkbox\n handleRouteCheckboxToggle,\n handleAreaCheckboxToggle,\n handleSlotCheckboxToggle,\n handleOrderCheckboxToggle,\n // Planned Action\n orderActionPopUpViewChange,\n removeOrderFromRoute,\n addOrderToAnotherRoute,\n handleDeleteRoute,\n // Unplanned\n handleUnplannedAccordianToggle,\n handleUnplannedInnerOrderAccordianToggle,\n handleUnplannedOrderCheckboxToggle,\n handleExpandAllRecordClickMethod,\n handleSelectAllRoutes,\n handleUnplannedAreaCheckboxToggle,\n handleOpenCloseUnplannedRouteSlot,\n handleUnplannedSlotCheckboxToggle,\n } = props;\n\n const plannedConsignmentPresent = () => {\n if (allRouteState && allRouteState.plannedConsignmentsData && isObject(allRouteState.plannedConsignmentsData) && isNonEmptyObject(allRouteState.plannedConsignmentsData)) {\n return true;\n }\n return false;\n };\n\n const unPlannedConsignmentPresent = () => {\n if (allRouteState && allRouteState.unplannedConsignmentsData && isObject(allRouteState.unplannedConsignmentsData) && isNonEmptyObject(allRouteState.unplannedConsignmentsData)) {\n return true;\n }\n return false;\n };\n\n const isAllRoutesSelected = () => {\n if (\n allRouteState &&\n allRouteState.plannedConsignmentsData &&\n isObject(allRouteState.plannedConsignmentsData) &&\n isNonEmptyObject(allRouteState.plannedConsignmentsData) &&\n !isUndefined(allRouteState.selectedConsignments) &&\n isNonEmptyArray(allRouteState.selectedConsignments) &&\n allRouteState.selectedConsignments.length === countObjectProperties(allRouteState.plannedConsignmentsData)\n ) {\n return true;\n }\n return false;\n };\n\n const getExpandCollapseView = () => {\n return (\n \n \n {allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED ? (\n handleSelectAllRoutes(e)} />\n ) : (\n \"\"\n )}\n \n\n \n handleExpandAllRecordClickMethod()}>{`${allRouteState.expandAll ? \"Collapse All\" : \"Expand All\"}`}\n \n \n );\n };\n\n const handleKeyDownChange = (event: React.KeyboardEvent) => {\n if (allRouteState.consignmentId && event.keyCode === 13) {\n handleConsignmentSearch();\n }\n };\n\n const isTablPlanned = (): boolean => {\n return allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED;\n };\n\n const renderRouteDetails = () => {\n const routeDetailsObj: ROUTE_DETAILS_INTERFACE[] = isTablPlanned() ? PLANNED_ROUTE_DETAILS : UNPLANNED_ROUTE_DETAILS;\n return (\n routeDetailsObj?.length > 0 &&\n routeDetailsObj?.map((routeDetail: ROUTE_DETAILS_INTERFACE, routeDetailIndex: number) => (\n \n {routeDetail.key}\n {allRouteState[routeDetail?.value]}\n \n ))\n );\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED && (\n \n )}\n \n \n \n \n \n \n \n \n handleConsignmentSearch()} />\n \n \n }\n onKeyDown={handleKeyDownChange}\n />\n \n \n \n {`Hub: ${hubId || \"\"} - ${hubName[0]?.name?.substring(0, 20) || \"\"}`}\n handleChangeAllRoutesHub()}>{`(${AppConstants.PLANNING_CONSTANTS.CHANGE_HUB})`}\n \n \n \n \n {renderRouteDetails()}\n \n \n \n \n\n \n \n {plannedConsignmentPresent() ? (\n <>\n {getExpandCollapseView()}\n {Object.keys(allRouteState.plannedConsignmentsData).map((routeName: any) => (\n \n ))}\n \n ) : (\n \n {`${ALL_ROUTES_TEXT_CONTANT.NO_PLANNED_ITEMS}`}\n \n )}\n \n \n \n \n {unPlannedConsignmentPresent() ? (\n <>\n {getExpandCollapseView()}\n {Object.keys(allRouteState.unplannedConsignmentsData).map((areaName: any, areaNameIndex: any) => (\n \n ))}\n \n ) : (\n \n {`${ALL_ROUTES_TEXT_CONTANT.NO_UNPLANNED_ITEMS}`}\n \n )}\n \n \n \n \n \n \n );\n};\n\nexport default CustomAllRoutesLeftSection;\n","import React from \"react\";\n\n// Material UI Components\nimport { withStyles } from \"@material-ui/core\";\nimport Switch from \"@material-ui/core/Switch\";\n\nconst AntSwitch = withStyles((theme) => ({\n root: {\n width: 46,\n height: 24,\n padding: 0,\n display: \"flex\",\n margin: 8,\n },\n switchBase: {\n padding: 3,\n color: theme.palette.grey[500],\n \"&$checked\": {\n transform: \"translateX(22px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n opacity: 1,\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.primary.main,\n },\n },\n },\n thumb: {\n width: 18,\n height: 18,\n boxShadow: \"none\",\n backgroundColor: \"white\",\n },\n track: {\n borderRadius: 24 / 2,\n opacity: 1,\n backgroundColor: \"#E6E6E6\",\n },\n checked: {},\n}))(Switch);\n\nconst SwitchButton = ({ checked, handleChange, ...props }) => {\n return ;\n};\n\nexport default React.memo(SwitchButton);\n","import React from \"react\";\n\nimport { Grid, IconButton, Typography } from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport KeyboardArrowUpIcon from \"@material-ui/icons/KeyboardArrowUp\";\n\nimport SwitchButton from \"../../../common/SwitchButton/SwitchButton\";\nimport SelectBox from \"../../../common/SelectBox\";\nimport CustomTooltip from \"../../../common/Tooltip\";\nimport AppConstants from \"../../../constants/AppConstants\";\n\nimport { isNonEmptyArray, isInputAnArray } from \"../../../utils/helpers.utils\";\nimport { getAllAreaTitle, getSlotName } from \"../utils/AllRouteUtils\";\nimport { ALL_ROUTES_TEXT_CONTANT, ROUTE_TYPE } from \"../utils/AllRouteConstant\";\nimport { getDateFromFormatInReqFormat } from \"../../../utils/dateUtils\";\n\ninterface AssignDriverDialogContentInterface {\n classes: any;\n countryCode: string;\n getUpdatedAssigneList: any;\n stateObj: any;\n driverValue: any;\n helperValue: any;\n vehicleValue: any;\n handleInputChange: (value: any, name: string) => void;\n showPopUp: boolean;\n handleHideShowPopUp: () => void;\n toggleCreateSubroute: (routeId: string) => void;\n hubId: any;\n routeConfigDetails: any;\n}\n\nconst AssignDriverDialogContent = (props: AssignDriverDialogContentInterface) => {\n const { classes, countryCode, getUpdatedAssigneList, stateObj, driverValue, helperValue, vehicleValue, handleInputChange, showPopUp, handleHideShowPopUp, toggleCreateSubroute, hubId, routeConfigDetails } = props;\n\n const getPopUpTitle = () => {\n let returnString: string = ALL_ROUTES_TEXT_CONTANT.ROUTE_DETAILS;\n if (stateObj?.isSubRoutePresent) {\n returnString = ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE_DETAILS;\n if (stateObj?.routeType === ROUTE_TYPE.PARENT_ROUTE) {\n returnString = ALL_ROUTES_TEXT_CONTANT.PARENT_ROUTE_DETAILS;\n }\n }\n return returnString;\n };\n\n const getClassName = () => {\n if (stateObj?.isSubRoutePresent) {\n if (stateObj?.routeType === ROUTE_TYPE.PARENT_ROUTE) {\n return `${classes.routeTitleSpanStyle} ${classes.parentRouteBoxStyle}`;\n }\n return `${classes.routeTitleSpanStyle} ${classes.subRouteBoxStyle}`;\n }\n return classes.dialogHeaderValueSpanStyle;\n };\n\n const isSubRouteFeatureEnabled = () => {\n if(hubId && routeConfigDetails && isInputAnArray(routeConfigDetails) && isNonEmptyArray(routeConfigDetails)){\n const countryAllowed = routeConfigDetails.find((detail: any) => detail.key === 'sub-route-country-allowed');\n const storeAllowed = routeConfigDetails.find((detail: any) => detail.key === 'sub-route-store-allowed');\n if (countryAllowed?.value) {\n if(storeAllowed?.value === 'ALL'){\n return true;\n }else{\n const allowedCountries = storeAllowed?.value === 'ALL' ? [] : storeAllowed?.value.split(',') || [];\n return allowedCountries.includes(hubId); \n }\n }\n }\n return false;\n }\n\n const renderSubRouteSwitchTypography = () => {\n return (\n {`${ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE_ENABLING}`}\n );\n };\n\n const renderSubRouteSwitch = () => {\n return (\n <>\n \n {stateObj?.isSubRoutePresent ? (\n {renderSubRouteSwitchTypography()}\n ) : (\n renderSubRouteSwitchTypography()\n )}\n toggleCreateSubroute(stateObj?.routeId)}\n onClick={(e: any) => e.stopPropagation()}\n disabled={stateObj?.isSubRoutePresent}\n />\n \n \n );\n };\n return (\n \n \n \n {showPopUp && {`${getPopUpTitle()}`}}\n \n \n {showPopUp && isSubRouteFeatureEnabled() && renderSubRouteSwitch()}\n \n \n {showPopUp ? (\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n {showPopUp && (\n <>\n \n {\"Route ID\"}\n {`${stateObj?.routeId}`}\n \n \n handleInputChange(value, \"Driver\")}\n value={driverValue}\n id=\"driver-select-box\"\n label=\"Driver\"\n enableSearch={true}\n customWidthSearchBar={true}\n items={getUpdatedAssigneList(\"driver\", stateObj)}\n showSelectNone={true}\n >\n \n \n handleInputChange(value, \"Helper\")}\n value={helperValue}\n enableSearch={true}\n customWidthSearchBar={true}\n id=\"helper-select-box\"\n label=\"Helper\"\n items={getUpdatedAssigneList(\"helper\", stateObj)}\n showSelectNone={true}\n >\n \n \n handleInputChange(value, \"Vehicle\")}\n value={vehicleValue}\n id=\"vehicle-select-box\"\n label=\"Vehicle\"\n items={getUpdatedAssigneList(\"vehicle\", stateObj)}\n showSelectNone={true}\n >\n \n \n {\"Hub\"}\n {`${stateObj?.hubName}`}\n \n \n {\"Delivery Area\"}\n {`${getAllAreaTitle(stateObj?.deliveryArea)}`}\n \n \n {\"Consignments\"}\n {`${stateObj?.consignmentsIds?.length}`}\n \n \n {\"Crates\"}\n {`${stateObj?.totalCrates}`}\n \n \n {\"Delivery Slot\"}\n {`${stateObj?.deliverySlot && isNonEmptyArray(stateObj?.deliverySlot) && getSlotName(stateObj?.deliverySlot[0])}`}\n \n \n {\"Delivery Date\"}\n {`${\n stateObj?.plannedDate && getDateFromFormatInReqFormat(stateObj.plannedDate, AppConstants.DATE_FORMAT_BACKEND, AppConstants.DATE_FORMAT)\n }`}\n \n \n )}\n \n );\n};\n\nexport default React.memo(AssignDriverDialogContent);\n","import React, { createRef, useState } from \"react\";\n\nimport { Card } from \"@material-ui/core\";\n\nimport AssignDriverDialogContent from \"./AssignDriverDialogContent\";\n\ninterface AssignDriverDialogInterface {\n classes: any;\n countryCode: string;\n getUpdatedAssigneList: any;\n stateObj: any;\n driverValue: any;\n helperValue: any;\n vehicleValue: any;\n handleInputChange: (value: any, name: string) => void;\n toggleCreateSubroute: (routeId: string) => void;\n hubId: any;\n routeConfigDetails: any;\n}\n\nconst AssignDriverDialog = (props: AssignDriverDialogInterface) => {\n const { classes, countryCode, getUpdatedAssigneList, stateObj, driverValue, helperValue, vehicleValue, handleInputChange, toggleCreateSubroute, hubId, routeConfigDetails } = props;\n const ref = createRef() as any;\n const [assignDriverState, setAssignDriverState] = useState<{ showPopUp: boolean }>({ showPopUp: true });\n\n const handleHideShowPopUp = () => {\n setAssignDriverState({ ...assignDriverState, showPopUp: !assignDriverState.showPopUp });\n };\n\n return (\n \n \n \n );\n};\n\nexport default React.memo(AssignDriverDialog);\n","import { Dialog, WithStyles, withStyles, Theme, Grid } from '@material-ui/core';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport MuiDialogContent from '@material-ui/core/DialogContent';\nimport MuiDialogActions from '@material-ui/core/DialogActions';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport React, { ForwardRefExoticComponent } from 'react';\nimport { styles } from './Dialog.styles';\n\ninterface CustomDialogProps {\n className?: '';\n PaperProps?: {};\n TransitionComponent?: ForwardRefExoticComponent;\n open: boolean;\n title: any;\n content: any;\n actions?: any;\n handleClose: () => void;\n hideCloseIcon?: boolean;\n disableBackdropClick?: boolean;\n}\n\ninterface DialogTitleProps extends WithStyles {\n id: string;\n children: React.ReactNode;\n onClose: () => void;\n hideCloseIcon?: boolean;\n}\n\nconst DialogTitle = withStyles(styles)((props: DialogTitleProps) => {\n const { children, classes, onClose, hideCloseIcon, ...other } = props;\n return (\n \n {children}\n {!hideCloseIcon ? (\n onClose ? (\n \n \n \n ) : null\n ) : null}\n \n );\n});\n\nconst DialogContent = withStyles((theme: Theme) => ({\n root: {\n padding: theme.spacing(2),\n overflowX: \"hidden\"\n },\n}))(MuiDialogContent);\n\nconst DialogActions = withStyles((theme: Theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n },\n}))(MuiDialogActions);\n\n\nconst CustomDialog = (props: CustomDialogProps) => {\n\n const { className, PaperProps, TransitionComponent, open, title, content, actions, hideCloseIcon, disableBackdropClick, handleClose } = props;\n return (\n <>\n \n \n {title}\n \n \n {content}\n \n {actions ? \n {actions}\n : null}\n \n \n );\n}\n\nexport default CustomDialog;","import { createStyles, Theme } from \"@material-ui/core/styles\";\n\nexport const styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 0,\n padding: \"16px 24px 0px 24px\"\n },\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.primary.main\n },\n });","\n/* global google */\nimport React, { useEffect, useState } from \"react\";\nimport { DirectionsRenderer } from \"react-google-maps\";\nimport { useDispatch } from \"react-redux\";\n\nimport { updateMapDirections } from \"config/redux/common/commonSlice\";\nimport { CustomMarker } from \".\";\nimport { isUndefined } from \"../../utils/helpers.utils\";\n\ninterface MapDirectionsRendererProps {\n places: CustomMarker[];\n travelMode: google.maps.TravelMode;\n roundTrip?: boolean;\n optimizeRoute?: boolean;\n updateMap?: boolean;\n}\nconst MapDirectionsRenderer = (props: MapDirectionsRendererProps) => {\n const { places, travelMode, roundTrip, optimizeRoute, updateMap } = props;\n\n const dispatch = useDispatch();\n\n const [directions, setDirections] = useState(null);\n\n useEffect(() => {\n if (updateMap) {\n let waypoints: any = places.filter((place: CustomMarker) => isUndefined(place?.stopover)).map((place: CustomMarker) => ({ location: place.location, stopover: true }));\n const origin = waypoints.shift().location;\n let destination = { ...origin };\n if (!roundTrip) {\n destination = waypoints.pop().location;\n }\n const directionsService = new google.maps.DirectionsService();\n directionsService.route(\n {\n origin: origin,\n destination: destination,\n travelMode: travelMode,\n waypoints: waypoints,\n optimizeWaypoints: optimizeRoute\n },\n (result: any, status: any) => {\n if (status === google.maps.DirectionsStatus.OK) {\n setDirections(result);\n }\n }\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updateMap, optimizeRoute]);\n\n useEffect(() => {\n dispatch(\n updateMapDirections(directions && directions.routes ? directions.routes[0] : {})\n );\n }, [directions, dispatch])\n\n return (\n directions && (\n \n )\n );\n}\n\nexport default MapDirectionsRenderer\n\n","/* global google */\nimport React, { useState } from \"react\";\nimport MapDirectionsRenderer from \"./MapDirectionRenderer\";\n\nimport { withGoogleMap, GoogleMap, withScriptjs, Marker, InfoWindow, Polyline } from \"react-google-maps\";\nimport { CustomMarker, CustomLocation } from \".\";\nimport { MAPOPTIONSTYLES_INTERFACE } from \"../../RoutePlanning/AllRoutes/utils/AllRouteConstant\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\ninterface CustomGoogleMapProps {\n markers: CustomMarker[];\n showDirections?: boolean;\n roundTrip?: boolean;\n optimizeRoute?: boolean;\n updateMap?: boolean;\n defaultCenter: CustomLocation;\n defaultZoom: number;\n showInfoWindow?: boolean;\n getRouteDetailsForInfoWindow?: any;\n mapOptionStyles?: MAPOPTIONSTYLES_INTERFACE[];\n mapPolylineMarker?: CustomLocation[];\n polylineColor?: string;\n}\n\nconst CustomGoogleMap = withScriptjs(\n withGoogleMap((props: CustomGoogleMapProps) => {\n const {\n markers,\n defaultCenter,\n defaultZoom,\n showDirections,\n roundTrip,\n optimizeRoute,\n updateMap,\n showInfoWindow,\n getRouteDetailsForInfoWindow,\n mapOptionStyles,\n mapPolylineMarker,\n polylineColor,\n } = props;\n const [googleMapState, setGoogleMapStated] = useState({ openInfoWindowMarkerId: \"\" });\n\n const handleToggleOpen = (markerId: string) => {\n setGoogleMapStated({ ...googleMapState, openInfoWindowMarkerId: markerId });\n };\n\n return (\n \n {markers &&\n markers.length &&\n markers.map((marker: CustomMarker) => (\n handleToggleOpen(marker.name)}\n onMouseOut={() => setGoogleMapStated({ ...googleMapState, openInfoWindowMarkerId: \"\" })}\n >\n {showInfoWindow && getRouteDetailsForInfoWindow && googleMapState.openInfoWindowMarkerId === marker.name && (\n \n {getRouteDetailsForInfoWindow && getRouteDetailsForInfoWindow(marker)}\n \n )}\n \n ))}\n {mapPolylineMarker && mapPolylineMarker.length > 0 && (\n \n )}\n {showDirections && markers.length > 1 && (\n \n )}\n \n );\n })\n);\n\nexport default CustomGoogleMap;\n","import React from \"react\";\nimport CustomGoogleMap from \"./CustomGoogleMap\";\nimport { googleApiKey } from \"../../config/Api.config\";\nimport { Grid } from \"@material-ui/core\";\nimport { MAPOPTIONSTYLES_INTERFACE } from \"../../RoutePlanning/AllRoutes/utils/AllRouteConstant\";\n\nexport interface CustomLocation {\n lat: number;\n lng: number;\n}\n\nexport interface CustomMarker {\n name: string;\n location: CustomLocation;\n icon?: any;\n label?: any;\n routeId?: string;\n deliveryArea?: string;\n deliverySlot?: string;\n consignmentCode?: string;\n stopover?: boolean;\n}\n\ninterface GoogleMapContainerProps {\n center: CustomLocation;\n showDirections?: boolean;\n zoom?: number;\n markers?: CustomMarker[];\n roundTrip?: boolean;\n optimizeRoute?: boolean;\n updateMap?: boolean;\n showInfoWindow?: boolean;\n getRouteDetailsForInfoWindow?: any;\n mapOptionStyles?: MAPOPTIONSTYLES_INTERFACE[];\n mapPolylineMarker?: CustomLocation[];\n polylineColor?: string;\n}\n\nconst MapContainer = (props: GoogleMapContainerProps) => {\n const { center, zoom, markers, showDirections, roundTrip, optimizeRoute, updateMap, showInfoWindow, getRouteDetailsForInfoWindow, mapOptionStyles, mapPolylineMarker, polylineColor } = props;\n\n return (\n }\n containerElement={}\n mapElement={}\n roundTrip={roundTrip}\n optimizeRoute={optimizeRoute}\n updateMap={updateMap}\n defaultCenter={center || { lat: 0, lng: 0 }}\n defaultZoom={zoom || 8}\n showInfoWindow={showInfoWindow}\n getRouteDetailsForInfoWindow={getRouteDetailsForInfoWindow}\n mapOptionStyles={mapOptionStyles}\n mapPolylineMarker={mapPolylineMarker}\n polylineColor={polylineColor}\n />\n );\n};\n\nexport default MapContainer;\n","import React, { createRef } from \"react\";\n\nimport { Button, Card, ClickAwayListener, Grid, SvgIcon, Typography } from \"@material-ui/core\";\nimport { isNonEmptyArray } from \"../../../utils/helpers.utils\";\n\nimport { ReactComponent as crateBoxIcon } from \"../../../assets/icons/crate-box-icon.svg\";\n\nimport AppConstants from \"../../../constants/AppConstants\";\nimport CustomTooltip from \"../../../common/Tooltip\";\nimport { getAreaTitle } from \"../utils/AllRouteUtils\";\nimport { getDeliveryAreas } from \"../utils/AllRouteViewUtils\";\n\ninterface AssignRouteToOrdersDialogInterface {\n classes: any;\n allRouteState: any;\n handleCloseAssignRoutePopUp: any;\n selectRouteToAssigntoOrder: any;\n handleAssignRouteClick: any;\n}\n\nconst AssignRouteToOrdersDialog = (props: AssignRouteToOrdersDialogInterface) => {\n const { classes, allRouteState, handleCloseAssignRoutePopUp, selectRouteToAssigntoOrder, handleAssignRouteClick } = props;\n const ref = createRef() as any;\n\n return (\n allRouteState?.openAddRouteConfirmDialog ? undefined : handleCloseAssignRoutePopUp(event)} disableReactTree={true} mouseEvent=\"onMouseUp\">\n \n {allRouteState && allRouteState.availableRouteRecord && isNonEmptyArray(allRouteState.availableRouteRecord) ? (\n <>\n Routes\n \n {allRouteState.availableRouteRecord.map((routeObj: any, routeObjIndex: any) => (\n selectRouteToAssigntoOrder(routeObjIndex)}\n >\n \n {routeObj.routeId}\n \n \n \n {`${getAreaTitle(routeObj)}`}\n \n \n \n \n {`${routeObj.totalCrates}`}\n \n {`Orders - ${routeObj.totalConsignment || 0}`}\n \n ))}\n \n \n \n \n \n \n \n \n \n \n ) : (\n No Routes to display\n )}\n \n \n );\n};\n\nexport default React.memo(AssignRouteToOrdersDialog);\n","import React, { createRef, useState } from \"react\";\n\nimport { Card, Grid, IconButton, Typography } from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport KeyboardArrowUpIcon from \"@material-ui/icons/KeyboardArrowUp\";\n\nimport { ALL_ROUTES_TEXT_CONTANT } from \"RoutePlanning/AllRoutes/utils/AllRouteConstant\";\n\nimport SelectBox from \"../../../../common/SelectBox\";\nimport CustomTooltip from \"../../../../common/Tooltip\";\nimport AppConstants from \"../../../../constants/AppConstants\";\n\nimport { isNonEmptyArray } from \"../../../../utils/helpers.utils\";\nimport { getAllAreaTitle, getSlotName } from \"../../utils/AllRouteUtils\";\nimport { getDateFromFormatInReqFormat } from \"../../../../utils/dateUtils\";\n\ninterface RenderSubrouteAssignDriverDialogInterface {\n classes: any;\n subRouteStateObj: any;\n driverValue: any;\n helperValue: any;\n vehicleValue: any;\n handleInputChange: (value: any, name: string) => void;\n getUpdatedAssigneList: (type: string, route: any) => any;\n}\n\nconst RenderSubrouteAssignDriverDialog = (props: RenderSubrouteAssignDriverDialogInterface) => {\n const { classes, subRouteStateObj, driverValue, helperValue, vehicleValue, handleInputChange, getUpdatedAssigneList } = props;\n const ref = createRef() as any;\n const [assignDriverState, setAssignDriverState] = useState<{ showPopUp: boolean }>({ showPopUp: true });\n\n const handleHideShowPopUp = () => {\n setAssignDriverState({ ...assignDriverState, showPopUp: !assignDriverState.showPopUp });\n };\n\n return (\n \n \n \n \n \n {assignDriverState.showPopUp && {`${ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE_DETAILS}`}}\n \n \n \n \n \n {assignDriverState.showPopUp ? (\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n {assignDriverState.showPopUp && (\n <>\n \n {`${ALL_ROUTES_TEXT_CONTANT.PARENT_ROUTE_ID}`}\n {`${subRouteStateObj?.parentRouteName}`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE_ID}`}\n {`${subRouteStateObj?.routeId}`}\n \n\n \n handleInputChange(value, \"Driver\")}\n value={driverValue}\n id=\"driver-select-box\"\n label=\"Driver\"\n enableSearch={true}\n customWidthSearchBar={true}\n items={getUpdatedAssigneList(\"driver\", subRouteStateObj)}\n showSelectNone={true}\n >\n \n \n handleInputChange(value, \"Helper\")}\n value={helperValue}\n enableSearch={true}\n customWidthSearchBar={true}\n id=\"helper-select-box\"\n label=\"Helper\"\n items={getUpdatedAssigneList(\"helper\", subRouteStateObj)}\n showSelectNone={true}\n >\n \n \n handleInputChange(value, \"Vehicle\")}\n value={vehicleValue}\n id=\"vehicle-select-box\"\n label=\"Vehicle\"\n items={getUpdatedAssigneList(\"vehicle\", subRouteStateObj)}\n showSelectNone={true}\n >\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.HUB}`}\n {`${subRouteStateObj?.hubName}`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.DELIVERY_AREA}`}\n {`${getAllAreaTitle(subRouteStateObj?.deliveryArea)}`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.CONSIGNMENTS}`}\n {`${subRouteStateObj?.consignmentsIds?.length}`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.CRATES}`}\n {`${subRouteStateObj?.totalCrates}`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.DELIVERY_SLOT}`}\n {`${\n subRouteStateObj?.deliverySlot && isNonEmptyArray(subRouteStateObj?.deliverySlot) && getSlotName(subRouteStateObj?.deliverySlot[0])\n }`}\n \n\n \n {`${ALL_ROUTES_TEXT_CONTANT.DELIVERY_DATE}`}\n {`${\n subRouteStateObj?.plannedDate && getDateFromFormatInReqFormat(subRouteStateObj.plannedDate, AppConstants.DATE_FORMAT_BACKEND, AppConstants.DATE_FORMAT)\n }`}\n \n \n )}\n \n \n );\n};\n\nexport default React.memo(RenderSubrouteAssignDriverDialog);\n","import { createStyles, makeStyles, StepConnector, Theme, withStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const StepperTimelineConnector = withStyles({\n alternativeLabel: {\n top: 28,\n left: \"calc(-50% + 9px)\",\n right: \"calc(50% + 9px)\",\n },\n active: {\n \"& $line\": {\n borderColor: COLORS.SECONDARY_DARK,\n },\n },\n line: {\n borderColor: COLORS.SECONDARY_DARK,\n borderTopWidth: 4,\n borderRadius: 100,\n },\n})(StepConnector);\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: \"0px\",\n paddingTop: theme.spacing(1),\n height: \"100%\",\n \"& .padding-2\": {\n padding: theme.spacing(2),\n },\n },\n statusHeaderContainer: {\n borderRight: `1px solid ${COLORS.SILVER}`,\n marginRight: theme.spacing(1),\n \"& .tag\": {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 500,\n textTransform: \"uppercase\",\n fontSize: 12,\n marginLeft: theme.spacing(1),\n \"&.PICTON_BLUE\": {\n color: COLORS.PICTON_BLUE,\n backgroundColor: COLORS.PICTON_BLUE_LIGHT,\n },\n \"&.CREAM_CAN\": {\n color: COLORS.CREAM_CAN,\n backgroundColor: COLORS.CREAM_CAN_LIGHT,\n },\n \"&.BLUE\": {\n color: COLORS.PRIMARY_MAIN,\n backgroundColor: COLORS.PRIMARY_LIGHT,\n },\n \"&.VISTA_BLUE\": {\n color: COLORS.VISTA_BLUE,\n backgroundColor: COLORS.VISTA_BLUE_LIGHT,\n },\n \"&.SEA_GREEN\": {\n color: COLORS.SEA_GREEN,\n backgroundColor: COLORS.SEA_GREEN_LIGHT,\n },\n \"&.GOLDEN_BELL\": {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_BELL_LIGHT,\n },\n \"&.SCAMPI\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIGHT,\n },\n \"&.OLD_GOLD\": {\n color: COLORS.OLD_GOLD,\n backgroundColor: COLORS.OLD_GOLD_LIGHT,\n },\n \"&.SEA_GREEN2\": {\n color: COLORS.SEA_GREEN2,\n backgroundColor: COLORS.SEA_GREEN2_LIGHT,\n },\n \"&.LUCKY\": {\n color: COLORS.LUCKY,\n backgroundColor: COLORS.LUCKY_LIGHT,\n },\n \"&.DUSTY_GRAY\": {\n color: COLORS.DUSTY_GRAY,\n backgroundColor: COLORS.DUSTY_GRAY_NEW_LIGHT,\n },\n \"&.JUNGLE_GREEN\": {\n color: COLORS.JUNGLE_GREEN,\n backgroundColor: COLORS.JUNGLE_GREEN_LIGHT,\n },\n \"&.BLACK\": {\n color: COLORS.BLACK,\n backgroundColor: COLORS.BLACK_LIGHT,\n },\n \"&.MINSK\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIST,\n },\n \"&.BLUE_HAZE\": {\n color: COLORS.BLUE_HAZE,\n backgroundColor: COLORS.BLUE_HAZE_LIGHT,\n },\n \"&.OCEAN_GREEN\": {\n color: COLORS.OCEAN_GREEN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.OCEAN_GREEN,\n },\n \"&.CORAL_PINK\": {\n color: COLORS.CORAL_PINK,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.CORAL_PINK,\n },\n \"&.ALERT_ORANGE\": {\n color: COLORS.ALERT_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.ALERT_ORANGE,\n },\n \"&.AVATAR_OCEAN\": {\n color: COLORS.AVATAR_OCEAN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.AVATAR_OCEAN,\n },\n \"&.DARK_GOLD_ORANGE\": {\n color: COLORS.DARK_GOLD_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.DARK_GOLD_ORANGE,\n },\n \"&.ALTO\": {\n color: COLORS.ALTO,\n },\n \"&.CATSKILL_WHITE\": {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL,\n },\n \"&.BARLEY_WHITE\": {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD,\n },\n },\n },\n container: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"calc(100vh - 176px)\",\n \"& .createRtItem\": {\n width: \"100%\",\n \"&.heading\": {\n paddingBottom: theme.spacing(3),\n display: \"flex\",\n justifyContent: \"space-between\",\n \"& .headingContainer\": {\n alignItems: \"center\",\n },\n \"& .editIcon\": {\n width: 22,\n height: 22,\n marginLeft: theme.spacing(1),\n cursor: \"pointer\",\n },\n \"& .headingTitle\": {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600,\n },\n },\n \"&.content\": {\n height: \"100%\",\n },\n },\n },\n createRtContentContainer: {\n height: \"100%\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n // boxShadow: `0px 1px 4px ${COLORS.LIGHT_BLACK_SHADOW}`,\n borderRadius: theme.spacing(1),\n height: \"100%\",\n position: \"relative\",\n \"&.left\": {\n width: 500,\n minWidth: 500,\n marginRight: theme.spacing(3),\n \"& .consignmentsContainer\": {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n \"& .consignmentItem\": {\n \"& .headerSectionContainer\": {\n flexDirection: \"column\",\n\n \"&.viewMode\": {\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n },\n \"& .searchTextBox\": {\n \"& .MuiOutlinedInput-root\": {\n width: 210,\n },\n },\n \"& .MuiInputLabel-root\": {\n marginTop: -13,\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(5px, -2px) scale(0.75)\",\n },\n },\n \"& .MuiOutlinedInput-root\": {\n width: 143,\n minWidth: 143,\n height: 24,\n borderRadius: theme.spacing(0.5),\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n \"& .MuiOutlinedInput-notchedOutline\": {\n border: \"1px solid var(--Background-light, #F7F8F9)\",\n },\n },\n \"& .MuiOutlinedInput-input\": {\n fontSize: 10,\n padding: 0,\n paddingLeft: theme.spacing(0.5),\n },\n \"& .MuiSelect-iconOutlined\": {\n right: 0,\n },\n \"& .MuiSelect-root\": {\n \"& .MuiChip-root\": {\n fontSize: 10,\n height: 15,\n },\n },\n \"& .headerContainer\": {\n alignItems: \"center\",\n paddingBottom: theme.spacing(1.5),\n \"& .headerItem\": {\n \"&.heading\": {\n flexGrow: 1,\n \"& .refreshIcon\": {\n width: 16,\n height: 16,\n cursor: \"pointer\",\n marginLeft: theme.spacing(0.5),\n },\n \"& p\": {\n fontSize: 16,\n fontWeight: 600,\n },\n },\n \"&.icons\": {\n display: \"flex\",\n alignItems: \"center\",\n \"& .MuiOutlinedInput-adornedEnd\": {\n paddingRight: 0,\n \"& .MuiSvgIcon-root\": {\n padding: theme.spacing(0.25),\n },\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginLeft: 0,\n },\n \"& .MuiIconButton-sizeSmall\": {\n padding: 0,\n \"&.MuiIconButton-edgeEnd\": {\n marginRight: 0,\n },\n },\n \"& .MuiSvgIcon-root\": {\n width: 19,\n height: 19,\n },\n \"& .icon\": {\n padding: theme.spacing(0.5),\n },\n },\n },\n },\n \"& .filtersContainer\": {\n padding: theme.spacing(2, 0, 2, 0),\n \"&.lastItem\": {\n justifyContent: \"end\",\n padding: \"unset\",\n },\n \"& .filterItem\": {\n paddingRight: theme.spacing(1),\n \"&:last-child\": {\n paddingRight: 0,\n },\n \"& .icon-datepicker\": {\n marginLeft: 0,\n },\n \"& .filterName\": {\n fontSize: 9,\n fontWeight: 600,\n marginBottom: 4,\n },\n },\n },\n \"& .searchBoxContainer\": {\n padding: theme.spacing(0, 0, 1, 0),\n \"& .searchTextBox\": {\n \"& .MuiOutlinedInput-root\": {\n width: 165,\n height: 24,\n borderRadius: theme.spacing(0.5),\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n },\n },\n \"& .hubDetailsBox\": {\n flexGrow: 1,\n \"& .hubDetailsBoxContainer\": {\n justifyContent: \"flex-end\",\n margin: \"auto auto auto 0px\",\n padding: theme.spacing(0, 1, 0, 0),\n height: 24,\n },\n },\n },\n \"& .routeDetailsBoxContainer\": {\n padding: theme.spacing(0, 0.5, 0, 0.5),\n border: \"none\",\n borderRadius: theme.spacing(0),\n margin: theme.spacing(0.5, 0, 0.5, 0),\n justifyContent: \"space-between\",\n \"& .routeDetailsBox\": {\n height: theme.spacing(3),\n width: 155,\n display: \"flex\",\n justifyContent: \"space-between\",\n padding: theme.spacing(0, 1, 0, 0),\n margin: \"auto 0px\",\n border: \"none\",\n borderRight: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(0),\n \"&:last-child\": {\n border: \"none\",\n padding: theme.spacing(0, 0, 0, 0),\n },\n },\n \"& .routeDetailsSpan\": {\n fontSize: 13,\n fontWeight: 500,\n color: `${COLORS.TEXT_PRIMARY}`,\n margin: \"auto 0px\",\n },\n \"& .routeDetailsValueSpan\": {\n fontSize: 13,\n fontWeight: 700,\n color: `${COLORS.MINE_SHAFT}`,\n margin: \"auto 0px\",\n },\n },\n },\n \"&.content\": {\n height: \"100%\",\n \"& .contentContainer\": {\n position: \"fixed\",\n height: \"calc(85vh)\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n width: 500,\n },\n \"& .hubLabel\": {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(8.5),\n \"&.isRoute\": {\n right: theme.spacing(2),\n },\n \"& .hubLabelContainer\": {\n alignItems: \"center\",\n height: 21,\n \"& .hubLabelText\": {\n fontSize: 12,\n fontWeight: 600,\n maxWidth: 200,\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n \"& .label\": {\n fontWeight: 500,\n paddingRight: theme.spacing(0.5),\n },\n },\n },\n },\n \"& .toggleAll\": {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(2.25),\n cursor: \"pointer\",\n userSelect: \"none\",\n \"& .toggleAllContainer\": {\n alignItems: \"center\",\n \"& .toggleItem\": {\n paddingLeft: theme.spacing(0.5),\n \"&.iconItem\": {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.expanded\": {\n transform: \"rotate(180deg)\",\n },\n },\n \"& .toggleText\": {\n fontSize: 14,\n fontWeight: 600,\n },\n \"& .toggleIcon\": {\n width: 21,\n height: 21,\n verticalAlign: \"bottom\",\n },\n },\n },\n },\n \"& .slotContentContainer\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"&.viewMode\": {\n overflow: \"auto\",\n paddingBottom: theme.spacing(2),\n \"& .slotItemContainer\": {\n paddingLeft: theme.spacing(2),\n },\n },\n \"& .slotItemContainer\": {\n alignItems: \"flex-start\",\n padding: theme.spacing(1, 2, 1, 6),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n flexWrap: \"nowrap\",\n \"&.selected\": {\n // backgroundColor: COLORS.MADISON_LIGHT,\n //borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n \"&.drafted\": {\n color: COLORS.GRAY_DARK,\n paddingLeft: theme.spacing(3.5),\n },\n \"&.terminal\": {\n color: COLORS.GRAY_DARK,\n borderColor: COLORS.GRAY_DARK,\n },\n \"& .slotContentItem\": {\n \"&.checkbox\": {\n \"& .checkboxContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n \"& .lockIcon\": {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1),\n },\n },\n paddingRight: theme.spacing(1.5),\n },\n \"&.consignmentDetails\": {\n flexGrow: 1,\n height: \"100%\",\n \"& .consignmentDetailsContainer\": {\n justifyContent: \"space-between\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n \"& .detailsItem\": {\n \"& .consignmentHeader\": {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n \"& .consignmentHeaderItem\": {\n \"&.details\": {\n flexGrow: 1,\n paddingTop: theme.spacing(0.5),\n },\n \"& .headerDetailsContainer\": {\n flexWrap: \"nowrap\",\n \"& .itemContainer\": {\n flexWrap: \"nowrap\",\n },\n \"& .consignmentAddressIcon\": {\n marginLeft: \"8px\",\n minWidth: \"14px\",\n maxWidth: \"14px\",\n },\n },\n \"&.status\": {\n display: \"flex\",\n alignItems: \"center\",\n },\n },\n },\n \"& .consignmentAddressCTA\": {\n fontSize: \"10px\",\n color: \"#0E5AA7\",\n cursor: \"pointer\",\n },\n \"& .headingContainer\": {\n alignItems: \"center\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n \"& .heading\": {\n fontSize: 12,\n fontWeight: 600,\n cursor: \"pointer\",\n },\n },\n \"& .seqNoContainer\": {\n backgroundColor: COLORS.ALERT_ORANGE,\n borderRadius: 2,\n \"& .seqNo\": {\n fontSize: 10,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n lineHeight: \"16px\",\n padding: theme.spacing(0, 1),\n },\n },\n \"& .count\": {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n padding: theme.spacing(0, 0.75),\n },\n \"& .icon\": {\n width: 16,\n height: 16,\n },\n \"&.desc\": {\n paddingTop: theme.spacing(1),\n },\n \"& .descContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n \"& .location\": {\n width: 356,\n },\n \"& .itemContainer\": {\n alignItems: \"center\",\n paddingRight: theme.spacing(2.5),\n flexWrap: \"nowrap\",\n \"& .locDesc\": {\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n \"& .MuiTabs-root\": {\n padding: theme.spacing(1),\n minHeight: 42,\n border: \"none\",\n background: COLORS.BLACK_SQUEEZE,\n borderRadius: theme.spacing(1),\n fontSize: 14,\n fontWeight: 500,\n lineHeight: \"20px\",\n },\n \"& .MuiTab-root\": {\n padding: 0,\n margin: 0,\n },\n \"& .MuiTab-root.Mui-selected\": {\n padding: theme.spacing(1, 1.5),\n margin: 0,\n background: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n color: COLORS.PRIMARY_MAIN,\n fontSize: 14,\n fontWeight: 700,\n lineHeight: \"20px\",\n },\n \"& .MuiTabs-indicator\": {\n backgroundColor: \"transparent\",\n },\n //\n \"& .tabPanel\": {\n padding: 0,\n height: \"auto\",\n width: \"auto\",\n overflow: \"hidden\",\n \"& .tabPanelContainer\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .delSlotContainer\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n },\n \"& .highlightText\": {\n backgroundColor: COLORS.SUCCESS_GREEN,\n },\n \"& .accordionRoot\": {\n boxShadow: \"none\",\n margin: 0,\n marginBottom: theme.spacing(0.5),\n \"&::before\": {\n opacity: 0,\n },\n },\n \"& .accordianSummary\": {\n //border: \"none\",\n // borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&.delArea\": {\n minHeight: 46,\n height: 46,\n \"& .areaHeaderContainer\": {\n alignItems: \"center\",\n \"& .areaHeaderItem\": {\n paddingRight: theme.spacing(1),\n \"& .itemContainer\": {\n alignItems: \"center\",\n \"& .icon\": {\n padding: theme.spacing(0.5),\n },\n \"& .count\": {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\",\n },\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n },\n },\n },\n },\n },\n \"&.delSlot\": {\n minHeight: 48,\n height: 48,\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n padding: theme.spacing(1),\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"& .checkBoxIconClass\": {\n marginRight: theme.spacing(1),\n },\n \"& .slotHeaderContainer\": {\n alignItems: \"center\",\n \"& .Mui-disabled\": {\n pointerEvents: \"auto\",\n cursor: \"not-allowed\",\n },\n \"& .slotHeaderItem\": {\n paddingRight: theme.spacing(2),\n \"& .itemContainer\": {\n alignItems: \"left\",\n \"& .icon\": {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(0.5),\n },\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 700,\n paddingRight: theme.spacing(0.5),\n },\n \"& .subHeadingNote\": {\n fontSize: 12,\n fontWeight: 500,\n margin: \"auto 8px\",\n },\n \"& .subNote\": {\n fontSize: 12,\n fontWeight: 500,\n margin: \"auto 0px\",\n },\n \"& .normal\": {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"15px\",\n margin: \"auto\",\n },\n \"& .disabledNormal\": {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"15px\",\n margin: \"auto\",\n color: COLORS.DUSTY_GRAY,\n },\n },\n },\n \"& .noPadding\": {\n padding: 0,\n },\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .borderRight\": {\n borderRight: `1px solid ${COLORS.SILVER}`,\n },\n \"& .borderLeft\": {\n borderLeft: `1px solid ${COLORS.SILVER}`,\n },\n \"& .marginLeft\": {\n marginLeft: theme.spacing(1),\n },\n \"& .marginRight\": {\n marginRight: theme.spacing(1),\n },\n \"& .paddingLeft\": {\n paddingLeft: theme.spacing(1),\n },\n },\n },\n \"&.isAccordianSelected\": {\n border: `1px solid ${COLORS.PRIMARY_MAIN}`,\n borderRadius: theme.spacing(1),\n marginBottom: theme.spacing(0.5),\n },\n \"&.routeOrder\": {\n minHeight: 36,\n height: 36,\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(1),\n \"& .orderIconClass\": {\n marginRight: theme.spacing(1),\n },\n \"& .slotHeaderContainer\": {\n alignItems: \"center\",\n \"& .Mui-disabled\": {\n pointerEvents: \"auto\",\n cursor: \"not-allowed\",\n },\n \"& .slotHeaderItem\": {\n paddingRight: theme.spacing(2),\n \"& .itemContainer\": {\n justifyContent: \"flex-start\",\n \"& .normal\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n },\n \"& .noPadding\": {\n padding: 0,\n },\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .borderRight\": {\n borderRight: `1px solid ${COLORS.SILVER}`,\n },\n \"& .marginLeft\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n },\n \"& .slotNameGrid\": {\n margin: theme.spacing(1, 0, 0, 0),\n padding: theme.spacing(1, 2),\n backgroundColor: COLORS.ATHENS_GRAY,\n borderRadius: theme.spacing(1),\n cursor: \"pointer\",\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .icon\": {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginRight: theme.spacing(0.5),\n },\n \"& .normal\": {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"16px\",\n margin: \"auto 0px\",\n },\n },\n \"& .unplannedSlotNameGrid\": {\n margin: theme.spacing(1, 0, 0, 0),\n padding: theme.spacing(1),\n backgroundColor: COLORS.ATHENS_GRAY,\n borderRadius: theme.spacing(1),\n cursor: \"pointer\",\n \"& .checkBoxIconClass\": {\n marginRight: theme.spacing(1),\n },\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .icon\": {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginRight: theme.spacing(0.5),\n },\n \"& .normal\": {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"16px\",\n margin: \"auto 0px\",\n },\n },\n \"& .isGridSelected\": {\n border: `1px solid ${COLORS.PRIMARY_MAIN}`,\n borderRadius: theme.spacing(1),\n marginBottom: theme.spacing(0.5),\n },\n \"& .innerAccordionRoot\": {\n boxShadow: \"none\",\n margin: 0,\n marginBottom: theme.spacing(0.5),\n minWidth: \"100%\",\n \"&::before\": {\n opacity: 0,\n },\n \"&.evenBackground\": {\n backgroundColor: COLORS.ALICE_GRAY,\n },\n \"& .innerAccordionSummary\": {\n \"&.orderBox\": {\n minHeight: 36,\n height: 36,\n padding: theme.spacing(1),\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"& .checkBoxIconClass\": {\n marginRight: theme.spacing(1),\n },\n \"& .slotHeaderContainer\": {\n alignItems: \"center\",\n \"& .Mui-disabled\": {\n pointerEvents: \"auto\",\n cursor: \"not-allowed\",\n },\n \"& .slotHeaderItem\": {\n \"& .itemContainer\": {\n alignItems: \"left\",\n \"& .dotIcon\": {\n height: 24,\n width: 24,\n margin: \"auto 0px\",\n transform: \"rotate(-90deg)\",\n cursor: \"poniter\",\n },\n \"& .icon\": {\n height: 24,\n width: 24,\n margin: \"auto 0px\",\n marginRight: theme.spacing(1),\n },\n \"& .svgIcon\": {\n height: 24,\n width: 24,\n margin: \"auto 0px\",\n marginRight: theme.spacing(0.5),\n marginLeft: theme.spacing(0.5),\n },\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 700,\n paddingRight: theme.spacing(0.5),\n },\n \"& .subNote\": {\n fontSize: 14,\n fontWeight: 500,\n margin: \"auto 0px\",\n },\n \"& .normal\": {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"15px\",\n margin: \"auto 0px\",\n marginRight: theme.spacing(1),\n },\n \"& .orderNoCircle\": {\n height: 24,\n width: 24,\n background: COLORS.PRIMARY_MAIN,\n color: COLORS.WHITE,\n padding: \"5px\",\n borderRadius: theme.spacing(2),\n margin: theme.spacing('auto', 1, 'auto', 0),\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"15px\",\n textAlign: \"center\",\n },\n \"& .checkBoxIconClass\": {\n margin: \"auto 8px auto 0px\",\n },\n },\n },\n \"& .noPadding\": {\n padding: 0,\n },\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .borderRight\": {\n borderRight: `1px solid ${COLORS.SILVER}`,\n },\n \"& .borderRightWithMargin\": {\n margin: 0,\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n borderRight: `1px solid ${COLORS.SILVER}`,\n },\n \"& .marginLeft\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n },\n },\n \"& .accordianDetails\": {\n padding: 0,\n \"&.routes\": {\n \"& .slotItemContainer\": {\n height: \"auto\",\n },\n },\n },\n \"& .innerAccordionDetails\": {\n padding: \"12px 0px\",\n margin: \"0px\",\n \"&.routes\": {\n \"& .slotItemContainer\": {\n height: \"auto\",\n },\n },\n \"& .slotHeaderContainer\": {\n alignItems: \"center\",\n padding: \"0px\",\n paddingLeft: theme.spacing(1),\n paddingRight: theme.spacing(1),\n \"& .Mui-disabled\": {\n pointerEvents: \"auto\",\n cursor: \"not-allowed\",\n },\n \"& .slotHeaderItem\": {\n \"& .slotItemGridItem\": {\n margin: \"auto 0px\",\n },\n \"& .itemContainer\": {\n alignItems: \"left\",\n \"& .icon\": {\n width: \"20px\",\n height: \"20px\",\n margin: \"auto 0px\",\n padding: \"0px\",\n marginRight: theme.spacing(1),\n },\n \"& .svgIcon\": {\n width: 24,\n height: 24,\n margin: \"auto 0px\",\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n },\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 700,\n paddingRight: theme.spacing(0.5),\n },\n \"& .subNote\": {\n fontSize: 12,\n fontWeight: 500,\n },\n \"& .normal\": {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"20px\",\n margin: \"auto 0px\",\n },\n \"& .normalWithMargin\": {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"18px\",\n margin: \"auto 4px\",\n },\n },\n },\n \"& .paddingTop\": {\n padding: \"4px 0px 0px 0px\",\n },\n \"& .noPadding\": {\n padding: 0,\n },\n \"& .displayFlex\": {\n display: \"flex\",\n },\n \"& .alignItemCenter\": {\n alignItems: \"center\",\n },\n \"& .borderRight\": {\n borderRight: `1px solid ${COLORS.SILVER}`,\n },\n \"& .marginLeft\": {\n marginLeft: theme.spacing(1),\n },\n \"& .marginTop\": {\n marginTop: theme.spacing(1),\n },\n },\n },\n \"&.planned\": {\n padding: theme.spacing(1.5, 0, 2, 0),\n height: \"100%\",\n width: \"auto\",\n overflowY: \"hidden\",\n overflowX: \"hidden\",\n position: \"relative\",\n \"& .noItemsGridStyle\": {\n height: \"50vh\",\n textAlign: \"center\",\n },\n \"& .noItemsSpanStyle\": {\n width: \"500px\",\n margin: \"auto\",\n },\n \"& .heading\": {\n paddingLeft: \"0px !important\",\n },\n \"& .accordianDetails\": {\n \"& .slotItemContainer\": {\n padding: \"10px 8px 10px 0 !important\",\n cursor: \"pointer\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n \"&.right\": {\n flexGrow: 1,\n height: \"100%\",\n \"& .mapRightContainer\": {\n height: \"100%\",\n width: \"100%\",\n \"& .mapItem\": {\n width: \"100%\",\n height: \"calc(100% - 56px)\",\n },\n \"& .buttonItem\": {\n height: \"56px\",\n width: \"100%\",\n padding: theme.spacing(1, 0, 0, 0),\n },\n },\n },\n \"& .detailsContainer\": {\n flexDirection: \"column\",\n height: \"92%\",\n flexWrap: \"nowrap\",\n \"& .detailItem\": {\n \"&.routeDetails\": {\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n padding: theme.spacing(2),\n \"&.viewMode\": {\n \"& .routeDetailsContainer .routeDetailsItem.basicDesc\": {\n paddingBottom: 0,\n },\n },\n \"& .routeDetailsContainer\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .routeDetailsItem\": {\n \"&.header\": {\n \"& .routeIdHeaderContainer\": {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"& .ddnsItem\": {\n \"& .MuiFormControl-root\": {\n paddingRight: theme.spacing(1.5),\n \"&:last-child\": {\n paddingRight: 0,\n },\n },\n \"& .MuiOutlinedInput-root\": {\n backgroundColor: COLORS.WHITE,\n },\n },\n },\n paddingBottom: theme.spacing(2),\n },\n \"& .heading\": {\n fontSize: 16,\n fontWeight: 600,\n color: COLORS.BLACK,\n },\n \"&.basicDesc\": {\n paddingBottom: theme.spacing(3.75),\n },\n \"&.noSelectedArea\": {\n padding: theme.spacing(3),\n backgroundColor: COLORS.WHITE,\n border: `1px dashed ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n \"& p\": {\n textAlign: \"center\",\n fontSize: 14,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n },\n },\n \"&.timeline\": {\n alignSelf: \"flex-start\",\n height: 55,\n },\n \"&.timelineWarning\": {\n paddingTop: theme.spacing(1.5),\n \"& .warningContainer\": {\n alignItems: \"center\",\n \"& .warningItem\": {\n paddingRight: theme.spacing(1),\n \"& p\": {\n fontSize: 11,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n },\n },\n \"& .warningIcon\": {\n width: 20,\n height: 20,\n verticalAlign: \"middle\",\n },\n },\n },\n \"& .basicDescContainer\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .basicItem\": {\n paddingBottom: theme.spacing(2),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"&.driver\": {\n paddingRight: theme.spacing(2),\n },\n \"&.descriptions\": {\n flexGrow: 1,\n },\n \"& .descCommonContainer\": {\n \"& .commonItem\": {\n flex: \"1 0 0\",\n \"& .MuiOutlinedInput-root\": {\n backgroundColor: COLORS.WHITE,\n },\n \"&:last-child\": {\n flex: \"0.5 0 0\",\n },\n \"& .descContainer\": {\n flexDirection: \"column\",\n \"& .capacityBreachContainer\": {\n alignItems: \"center\",\n \"& .infoErrorIcon\": {\n width: 16,\n height: 16,\n marginLeft: theme.spacing(1),\n },\n },\n \"& p\": {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"18px\",\n },\n \"& .value\": {\n alignSelf: \"flex-start\",\n \"& p\": {\n fontWeight: 600,\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n \"&.mapZone\": {\n flexGrow: 1,\n backgroundColor: theme.palette.secondary.dark,\n position: \"relative\",\n overflow: \"auto\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(2),\n \"& .listViewTimelineContent\": {\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(2, 3),\n height: \"100%\",\n overflow: \"auto\",\n },\n \"& .mapSwitchBtnContainer\": {\n position: \"absolute\",\n alignItems: \"center\",\n width: 110,\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n backgroundColor: COLORS.WHITE,\n top: theme.spacing(2),\n right: theme.spacing(2),\n flexWrap: \"nowrap\",\n \"& .switchBtnItem\": {\n cursor: \"pointer\",\n \"&.selected\": {\n backgroundColor: COLORS.MADISON_LIGHT,\n \"&.mapView\": {\n borderTopLeftRadius: theme.spacing(1),\n borderBottomLeftRadius: theme.spacing(1),\n \"& path\": {\n stroke: theme.palette.primary.main,\n },\n },\n \"&.listView\": {\n borderTopRightRadius: theme.spacing(1),\n borderBottomRightRadius: theme.spacing(1),\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n \"& .title\": {\n color: theme.palette.primary.main,\n fontWeight: 600,\n },\n },\n \"& .switchBtnItemContainer\": {\n flexDirection: \"column\",\n alignItems: \"center\",\n \"& .title\": {\n fontSize: 12,\n fontWeight: 500,\n paddingBottom: theme.spacing(0.5),\n },\n },\n \"& .switchBtnIcon\": {\n width: 54,\n height: 40,\n verticalAlign: \"middle\",\n padding: theme.spacing(0, 2),\n backgroundColor: \"transparent\",\n },\n },\n },\n },\n \"&.buttons\": {\n \"& .buttonsContainer\": {\n padding: theme.spacing(2),\n justifyContent: \"flex-end\",\n \"& .btn\": {\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0,\n },\n },\n \"& .refreshMapBtn\": {\n marginRight: \"auto\",\n },\n \"& .saveBtn\": {\n padding: theme.spacing(1, 5.5),\n },\n },\n },\n \"&.planned\": {\n \"& .routeDetailsItem\": {\n \"&.basicDesc\": {\n paddingBottom: \"0 !important\",\n },\n },\n },\n },\n },\n },\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n \"& .dialogBtn\": {\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1),\n },\n },\n },\n confirmDialogAddressButtonsContainer: {\n justifyContent: \"center\",\n \"& .dialogBtn\": {\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"& p\": {\n textAlign: \"center\",\n lineHeight: 1.2,\n \"&.alignLeft\": {\n textAlign: \"left\",\n },\n },\n \"&.heading\": {\n padding: theme.spacing(0, 15.75, 5),\n \"& p\": {\n fontSize: 24,\n fontWeight: 600,\n },\n },\n \"&.desc\": {\n padding: theme.spacing(0, 2.5),\n \"& p\": {\n fontSize: 18,\n fontWeight: 400,\n \"& .count\": {\n fontWeight: 600,\n },\n },\n },\n },\n },\n capacityBreachDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: theme.spacing(2.5),\n },\n capacityBreachDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(3.75),\n \"& .dialogBtn\": {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n \"&.secondary\": {\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n confirmWithTitleDialogPaperPropsRoot: {\n width: 600,\n height: 240,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n confirmDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n addressConfirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n endSessionSelectionDialogPaperPropsRoot: {\n width: 428,\n height: 242,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n endSessionSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n padding: \"6px 0px 0px 12px\",\n },\n\n endSessionSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"&.heading\": {\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"&.hub\": {\n paddingTop: theme.spacing(3.75),\n },\n },\n },\n content: {\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"15px\",\n color: \"#252525\",\n },\n endSessionDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(1),\n \"& .dialogBtn\": {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n \"&.secondary\": {\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n selectMenuPropsList: {\n \"& .MuiListItem-root\": {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n whiteSpace: \"normal\",\n \"& .MuiListItemText-primary\": {\n fontSize: 10,\n },\n },\n \"& .MuiCheckbox-root\": {\n backgroundSize: \"16px 16px\",\n marginRight: theme.spacing(0.75),\n },\n },\n selectMenuPaperProps: {\n maxHeight: 200,\n width: 140,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\",\n },\n titleContainer: {\n \"& .headingContainer\": {\n flexDirection: \"column\",\n \"& .titleHeading\": {\n fontSize: 18,\n fontWeight: 500,\n \"& .content\": {\n fontWeight: 600,\n },\n },\n \"& .titleContent\": {\n fontSize: 12,\n fontWeight: 600,\n \"&.link\": {\n cursor: \"pointer\",\n },\n },\n },\n },\n addressContent: {\n fontSize: \"14px\",\n fontWeight: 500,\n },\n normalTextStyle: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"15px\",\n },\n innerOrderRouteAccordian: {\n boxShadow: \"none\",\n margin: 0,\n backgroundColor: COLORS.WHITE,\n },\n innerOrderRouteAccordianSummary: {\n minHeight: 36,\n height: 36,\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(1),\n },\n innerOrderRouteAccordianSummaryExpanded: {\n minHeight: 36,\n },\n assignDriverHelperCardStyle: {\n position: \"absolute\",\n zIndex: 1,\n top: theme.spacing(6),\n width: \"97%\",\n margin: theme.spacing(2),\n padding: theme.spacing(2),\n borderRadius: theme.spacing(2),\n background: COLORS.WHITE,\n },\n buttonGridContainerStyle: {\n bottom: theme.spacing(3),\n position: \"absolute\",\n zIndex: 1,\n width: \"97%\",\n margin: theme.spacing(2),\n padding: theme.spacing(2),\n borderRadius: theme.spacing(2),\n background: COLORS.WHITE,\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"&.buttonGridContainerStyle\": {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"24px\",\n },\n },\n buttonStyle: {\n minWidth: \"104px\",\n borderRadius: theme.spacing(2),\n \"&.buttonGridContainerStyle\": {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"24px\",\n },\n },\n \"&.buttonGridContainerStyle\": {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"24px\",\n },\n filterGridContainerStyle: {\n margin: theme.spacing(1, 0, 0, 0),\n padding: theme.spacing(0, 0, 0, 0),\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n deleteDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"& p\": {\n textAlign: \"center\",\n lineHeight: 1.2,\n },\n \"&.heading\": {\n padding: theme.spacing(0, 15.75, 5),\n \"& p\": {\n fontSize: 24,\n fontWeight: 600,\n },\n },\n \"&.desc\": {\n padding: theme.spacing(0, 2.5),\n \"& p\": {\n fontSize: 18,\n fontWeight: 400,\n \"& .count\": {\n fontWeight: 600,\n },\n },\n },\n },\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n \"& .dialogBtn\": {\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1),\n },\n },\n },\n orderActionTooltipPopperStyle: {\n pointerEvents: \"auto\",\n },\n orderActionTooltipStyle: {\n width: \"auto\",\n height: \"auto\",\n background: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n border: `1px solid ${COLORS.GRADIENT_BLUE}`,\n },\n orderActionTooltipArrowStyle: {\n color: COLORS.GRADIENT_BLUE,\n },\n orderActionTooltipGridContainer: {\n width: \"260px\",\n background: COLORS.WHITE,\n padding: 0,\n },\n orderActionTooltipGridItem: {\n padding: theme.spacing(2),\n \"&:first-child\": {\n borderBottom: `1px solid ${COLORS.ALICE_GRAY}`,\n },\n },\n orderActionTooltipSpanStyle: {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"15px\",\n color: COLORS.PRIMARY_MAIN,\n cursor: \"pointer\",\n },\n orderActionTooltipBoldSpanStyle: {\n fontSize: 14,\n fontWeight: 700,\n lineHeight: \"15px\",\n color: COLORS.PRIMARY_MAIN,\n cursor: \"pointer\",\n margin: theme.spacing(0, 0.5, 0, 0.5),\n textDecoration: \"underline\",\n },\n noMapGridContainerViewStyle: {\n background: COLORS.ALICE_GRAY,\n width: \"auto\",\n height: \"100%\",\n borderRadius: theme.spacing(1),\n },\n collapseExpandGridConatinerStyle: {\n margin: theme.spacing(0, 0, 1, 0),\n padding: theme.spacing(0, 0, 0, 0),\n },\n collapseExpandGridCheckboxStyle: {\n width: \"50%\",\n height: \"24px\",\n padding: theme.spacing(0, 1.5, 0, 1),\n background: COLORS.ALICE_GRAY,\n border: \"none\",\n borderRadius: theme.spacing(0.5, 0, 0, 0.5),\n },\n collapseExpandGridItemStyle: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n width: \"50%\",\n height: \"24px\",\n padding: theme.spacing(0, 1.5, 0, 1.5),\n background: COLORS.ALICE_GRAY,\n border: \"none\",\n borderRadius: theme.spacing(0, 0.5, 0.5, 0),\n },\n collapseExpandGridItemSpanStyle: {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"normal\",\n margin: \"auto 0px\",\n color: COLORS.PRIMARY_MAIN,\n cursor: \"pointer\",\n },\n assignRouteToOrderCardStyle: {\n position: \"absolute\",\n zIndex: 1,\n width: \"412px\",\n bottom: \"60px\",\n right: \"0px\",\n margin: theme.spacing(0, 0, 2, 0),\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 30px 0px rgba(0, 0, 0, 0.15)\",\n },\n assignRouteHeaderSpanStyle: {\n fontSize: 16,\n fontWeight: 600,\n lineHeight: \"normal\",\n margin: theme.spacing(0, 0, 2, 0),\n color: COLORS.MINE_SHAFT,\n },\n assignRouteMainGridStyle: {\n margin: theme.spacing(0, 0, 2, 0),\n padding: theme.spacing(0, 0, 0, 0),\n overflow: \"auto\",\n maxHeight: \"calc(40vh)\",\n },\n assignRouteHeaderGridConatinerStyle: {\n width: \"100%\",\n height: \"44px\",\n padding: theme.spacing(1),\n display: \"flex\",\n justifyContent: \"space-between\",\n cursor: \"pointer\",\n border: \"none\",\n borderBottom: `1px solid ${COLORS.ALICE_GRAY}`,\n },\n selectedRouteStyle: {\n background: COLORS.ALICE_GRAY,\n },\n assignRouteHeaderGridItemStyle: {\n display: \"flex\",\n justifyContent: \"center\",\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"auto 0px\",\n },\n assignRouteTitleSpanStyle: {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n },\n assignRouteNormalSpanStyle: {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"auto 0px\",\n },\n assignRouteSubnoteSpanStyle: {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"auto 0px\",\n },\n assignRouteIconStyle: {\n padding: theme.spacing(0, 0.5, 0, 0),\n margin: \"auto 0px\",\n },\n dialogHeaderSpanStyle: {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n },\n dialogValueSpanStyle: {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"4px 0px 0px 0px\",\n },\n infoWindowCardStyle: {\n padding: theme.spacing(1),\n margin: theme.spacing(0),\n },\n infoWindowCardValueSpanStyle: {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"0px 0px 0px 4px\",\n },\n mapFooterGridStyle: {\n margin: \"auto 0px\",\n height: \"48px\",\n },\n allRotePOSTitleSpanStyle: {\n fontSize: 14,\n fontWeight: 700,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: \"auto 0px\",\n },\n assignDriverHelperClosedCardStyle: {\n position: \"absolute\",\n zIndex: 1,\n top: theme.spacing(6),\n right: theme.spacing(0),\n width: \"auto\",\n margin: theme.spacing(2),\n padding: theme.spacing(1),\n borderRadius: theme.spacing(2),\n background: COLORS.WHITE,\n },\n dialogHeaderButtonGridItemStyle: {\n padding: \"0px !important\",\n margin: theme.spacing(0),\n },\n dialogHeaderButtonGridStyle: {\n flexGrow: 1,\n },\n dialogHeaderValueSpanStyle: {\n fontSize: 14,\n fontWeight: 700,\n lineHeight: \"normal\",\n color: COLORS.MINE_SHAFT,\n margin: theme.spacing(0, 0, 0, 1),\n },\n allRotePOSChangeSpanStyle: {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"normal\",\n color: COLORS.PRIMARY_MAIN,\n margin: \"auto 0px auto 4px\",\n cursor: \"pointer\",\n },\n //\n // Planned Route\n marginAuto: { margin: \"auto\" },\n marginAutoFour: { margin: theme.spacing(\"auto\", 0.5) },\n marginAutoEight: { margin: theme.spacing(\"auto\", 1) },\n marginAutoZero: { margin: theme.spacing(\"auto\", 0) },\n marginRightFour: { marginRight: theme.spacing(0.5) },\n marginRightEight: { marginRight: theme.spacing(1) },\n marginLeftEight: { marginLeft: theme.spacing(1) },\n\n paddingTopFour: { paddingTop: theme.spacing(0.5) },\n paddingRightFour: { paddingRight: theme.spacing(0.5) },\n paddingRightEight: { paddingRight: theme.spacing(1) },\n paddingLeftFour: { paddingLeft: theme.spacing(0.5) },\n paddingLeftEight: { paddingLeft: theme.spacing(1) },\n\n borderRight: { borderRight: `1px solid ${COLORS.SILVER}` },\n borderLeft: { borderLeft: `1px solid ${COLORS.SILVER}` },\n\n fontSizeFourteen: { fontSize: 14 },\n fontSizeTweleve: { fontSize: 12 },\n\n lineHeightFifteen: { lineHeight: \"15px\" },\n lineHeightEighteen: { lineHeight: \"18px\" },\n lineHeightTwenty: { lineHeight: \"18px\" },\n\n fontWeightSeven: { fontWeight: 700 },\n fontWeightFive: { fontWeight: 500 },\n fontWeightSix: { fontWeight: 600 },\n fontWeightFour: { fontWeight: 400 },\n\n displayFlex: { display: \"flex\" },\n justifyContentSpaceBetween: { display: \"flex\", justifyContent: \"space-between\" },\n heightHundredPercentage: { height: \"100%\" },\n\n backgroundColorAliceGray: { backgroundColor: COLORS.ALICE_GRAY },\n\n subRouteAccordianCustomStyle: { borderRight: `1px solid ${COLORS.SILVER}`, paddingRight: theme.spacing(1) },\n\n plannedRouteMainAccordianStyle: {\n margin: theme.spacing(0, 0, 0.5, 0),\n padding: 0,\n boxShadow: \"none\",\n \"&::before\": {\n opacity: 0,\n },\n \"&.MuiAccordion-root.Mui-expanded\": {\n margin: theme.spacing(0, 0, 0.5, 0),\n },\n },\n plannedRouteMainAccordianSummaryStyle: {\n padding: theme.spacing(1),\n minHeight: 48,\n height: 48,\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 48,\n height: 48,\n },\n },\n isAccordianSelected: {\n border: `1px solid ${COLORS.PRIMARY_MAIN}`,\n borderRadius: theme.spacing(1),\n marginBottom: theme.spacing(0.5),\n },\n plannedRouteMainAccordianDetailsStyle: {\n margin: theme.spacing(0.5, 0, 0, 0),\n padding: 0,\n },\n crateIconStyle: {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(0.5),\n },\n userIconStyle: {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(0.5),\n },\n userSpanStyle: {\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"15px\",\n margin: \"auto\",\n color: COLORS.DUSTY_GRAY,\n },\n // Slot\n plannedRouteInnerSlotAccordianStyle: {\n margin: theme.spacing(0, 0, 0.5, 0),\n padding: 0,\n boxShadow: \"none\",\n \"&::before\": {\n opacity: 0,\n },\n \"&.MuiAccordion-root.Mui-expanded\": {\n margin: theme.spacing(0, 0, 0.5, 0),\n },\n },\n plannedRouteInnerSlotAccordianSummaryStyle: {\n padding: theme.spacing(0, 0, 0, 4),\n minHeight: 32,\n height: 32,\n backgroundColor: COLORS.ATHENS_GRAY,\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 32,\n height: 32,\n },\n },\n plannedRouteInnerSlotAccordianSummaryStyleWithoutArea: {\n padding: theme.spacing(0, 0, 0, 2),\n minHeight: 32,\n height: 32,\n backgroundColor: COLORS.ATHENS_GRAY,\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 32,\n height: 32,\n },\n },\n plannedRouteInnerSlotAccordianDetailsStyle: {\n margin: theme.spacing(0.5, 0, 0, 0),\n padding: 0,\n },\n clockIconStyle: {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(0.5),\n },\n // Area\n plannedRouteInnerAreaAccordianStyle: {\n margin: theme.spacing(0, 0, 0.5, 0),\n padding: 0,\n boxShadow: \"none\",\n \"&::before\": {\n opacity: 0,\n },\n \"&.MuiAccordion-root.Mui-expanded\": {\n margin: theme.spacing(0, 0, 0.5, 0),\n },\n },\n plannedRouteInnerAreaAccordianSummaryStyle: {\n padding: theme.spacing(0),\n minHeight: 38,\n height: 38,\n backgroundColor: COLORS.ALICE_GRAY,\n borderRadius: theme.spacing(1),\n border: \"none\",\n flexDirection: \"row-reverse\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 38,\n height: 38,\n },\n },\n plannedRouteInnerSubAreaAccordianSummaryStyle: {\n padding: theme.spacing(0, 0, 0, 3),\n minHeight: 35,\n height: 35,\n backgroundColor: COLORS.ALICE_GRAY,\n borderRadius: theme.spacing(1),\n border: \"none\",\n flexDirection: \"row-reverse\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 35,\n height: 35,\n },\n },\n expandIconLeft: {\n marginLeft: 0,\n marginRight: \"auto\",\n transform: \"rotate(270deg)\",\n \"&.MuiAccordionSummary-expandIcon.Mui-expanded\": { transform: \"rotate(360deg)\" },\n },\n plannedRouteInnerAreaAccordianDetailsStyle: {\n margin: theme.spacing(0.5, 0, 0, 0),\n padding: 0,\n },\n // Order\n plannedRouteInnerOrderAccordianStyle: {\n margin: theme.spacing(0, 0, 0.5, 0),\n padding: 0,\n boxShadow: \"none\",\n \"&::before\": {\n opacity: 0,\n },\n \"&.MuiAccordion-root.Mui-expanded\": {\n margin: theme.spacing(0, 0, 0.5, 0),\n },\n },\n plannedRouteInnerOrderAccordianSummaryStyle: {\n padding: theme.spacing(0, 0, 0, 5),\n minHeight: 30,\n height: 30,\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n border: \"none\",\n \"&.MuiAccordionSummary-root.Mui-expanded\": {\n minHeight: 30,\n height: 30,\n },\n },\n plannedRouteInnerOrderAccordianDetailsStyle: {\n margin: theme.spacing(0.5, 0, 0, 4.5),\n padding: theme.spacing(1, 0),\n },\n orderNumberCircle: {\n height: 24,\n width: 24,\n background: COLORS.PRIMARY_MAIN,\n color: COLORS.WHITE,\n padding: \"5px\",\n borderRadius: theme.spacing(2),\n margin: theme.spacing('auto', 1, 'auto', 0),\n fontSize: 12,\n fontWeight: 400,\n lineHeight: \"15px\",\n textAlign: \"center\",\n },\n dotIconStyle: {\n height: 24,\n width: 24,\n margin: \"auto 0px\",\n transform: \"rotate(-90deg)\",\n cursor: \"pointer\",\n },\n locationIconStyle: {\n height: 20,\n width: 20,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(0),\n marginRight: theme.spacing(1),\n },\n WalletIconStyle: {\n height: 20,\n width: 20,\n margin: \"auto 0px\",\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n },\n orderSubRouteCheckboxStyle: {\n margin: \"auto 8px auto auto\",\n },\n routeBoxStyle: {\n padding: theme.spacing(0.5),\n margin: \"auto 4px\",\n borderRadius: \"2px\",\n background: COLORS.INFO_BLUE,\n fontSize: 10,\n fontWeight: 600,\n lineHeight: \"12px\",\n color: COLORS.WHITE,\n },\n parentRouteBoxStyle: {\n background: COLORS.OLD_GOLD,\n },\n subRouteBoxStyle: {\n background: COLORS.INFO_BLUE,\n },\n deleteIconStyle: {\n height: 16,\n width: 16,\n margin: \"auto 0px\",\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n cursor: \"pointer\",\n },\n deleteButton: {\n backgroundColor: COLORS.ALIZARIN_CRIMSON,\n padding: \"0px 64px\",\n color: \"white\",\n \"&:hover\": {\n backgroundColor: COLORS.ALIZARIN_CRIMSON,\n },\n },\n subrouteIconStyle: {\n backgroundColor: COLORS.INFO_BLUE,\n },\n routeTitleSpanStyle: {\n margin: theme.spacing(0, 0, 0, 1),\n padding: theme.spacing(0.5),\n borderRadius: \"2px\",\n fontSize: 14,\n fontWeight: 700,\n lineHeight: \"normal\",\n color: COLORS.WHITE,\n },\n })\n);\n","import networkHandler from \"../../../network/networkHandler\";\n\nimport { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AllRoutesSliceInitialState, commonFetchInitialState } from \"../utils/AllRouteConstant\";\nimport { transformSelectValues } from \"../../../utils/helpers.utils\";\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { API_RESPONSE_STATUS } from \"../../../constants/CommonConstants\";\nimport { addNRPageAction } from \"utils/newRelicUtils\";\nimport AppConstants from \"../../../constants\";\nimport { getDropdownsData } from \"mocks/routePlanning/response.transforms\";\nimport { BulkDeletedRouteInterface } from \"RoutePlanning/redux/planningSlice.types\";\n\nexport const createDraftAllRoutes = createAsyncThunk(\"AllRoutesPlanning/CreateDraftAllRoute\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.CREATE_DRAFT_ALL_ROUTE);\n const request = { url: \"route/draft/create\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const createAndEditAllRoutes = createAsyncThunk(\"AllRoutesPlanning/CreateAndEditRoute\", async ({ payload, editMode }: { payload: any; editMode: boolean }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.EDIT_ROUTE);\n const request = { url: \"route/edit\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const publishAllRoutes = createAsyncThunk(\"AllRoutesPlanning/PublishAllRoutes\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.PUBLISH_ALL_ROUTE);\n const request = { url: \"route/publish\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchAllPlannedRoutes = createAsyncThunk(\"AllRoutesPlanning/FetchAllPlannedRoutes\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.FETCH_ALL_PLANNED);\n const request = { url: \"route/planned-route\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchAllUnPlannedRoutes = createAsyncThunk(\"AllRoutesPlanning/fetchAllUnPlannedRoutes\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.FETCH_ALL_UNPLANNED);\n const request = { url: \"route/unplanned-route\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const createRemoveOrderFromRoute = createAsyncThunk(\"AllRoutesPlanning/createRemoveOrderFromRoute\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.UPDATE_ORDER_IN_ROUTE);\n const request = { url: \"order/update-order-route-status\", method: EApiMiddlewareMethods.PUT, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchExistingRouteToAssignToOrder = createAsyncThunk(\"AllRoutesPlanning/fetchExistingRouteToAssignToOrder\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.ADD_ORDER_TO_ROUTE);\n const request = { url: \"route/add-order/list-routes\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const createNewSubRoute = createAsyncThunk(\"AllRoutesPlanning/createNewSubRoute\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.SUB_ROUTE.NAME, AppConstants.NR_FEATURES.SUB_ROUTE.FEATURES.CREATE_SUB_ROUTE);\n const request = { url: \"route/sub-route\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const createAndEditRoute = createAsyncThunk(\"AllRoutesPlanning/CreateAndEditRoute\", async ({ payload, editMode }: { payload: any; editMode: boolean }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.CREATE_AND_EDIT_ROUTE);\n const request = { url: \"route/edit\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchAllDrivers = createAsyncThunk(\"AllRoutesPlanning/FetchAllDrivers\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.FETCH_ALL_DRIVERS);\n const request = { url: \"assignee/drivers\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchAllHelpers = createAsyncThunk(\"AllRoutesPlanning/FetchAllHelpers\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.FETCH_ALL_HELPERS);\n const request = { url: \"assignee/helpers\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchAllVehicles = createAsyncThunk(\"AllRoutesPlanning/FetchAllVehicles\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.FETCH_ALL_VEHICLES);\n const request = { url: \"vehicle/load\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const publishRoutes = createAsyncThunk(\"AllRoutesPlanning/PublishRoutes\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.PUBLISH_ROUTE);\n const request = { url: \"route/publish\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const createDraftRoute = createAsyncThunk(\"AllRoutesPlanning/CreateDraftRoute\", async ({ params }: { params: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.PUBLISH_ROUTE);\n const request = { url: \"route/draft/create\", method: EApiMiddlewareMethods.POST, data: params } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const loadAllSlots = createAsyncThunk(\"AllRoutesPlanning/LoadAllSlots\", async ({ params }: { params: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.LOAD_ALL_SLOTS);\n const request = { url: \"route/draft/load/slots\", method: EApiMiddlewareMethods.POST, data: params } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const updateConsignmentStatus = createAsyncThunk(\"AllRoutesPlanning/UpdateOrderStatus\", async ({ payload }: { payload: any }, { rejectWithValue }) => {\n try {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.UPDATE_CONSIGNMENT_STATUS);\n const request = { url: \"order/updateRouteStatus\", method: EApiMiddlewareMethods.PUT, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const bulkDeleteRoute = createAsyncThunk(\"AllRoutesPlanning/BulkDeleteRoute\", async ({ payload }: { payload: BulkDeletedRouteInterface }, { rejectWithValue }) => {\n addNRPageAction(AppConstants.NR_FEATURES.ALL_ROUTE.NAME, AppConstants.NR_FEATURES.ALL_ROUTE.FEATURES.BULK_DELETE);\n try {\n const request = { url: \"v2/route/delete\", method: EApiMiddlewareMethods.POST, data: payload } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const resetCreateRouteSuccess = createAsyncThunk(\"AllRoutesPlanning/ResetCreateRouteSuccess\", () => {\n return false;\n});\n\nconst initialState: AllRoutesSliceInitialState = {\n loading: false,\n fetchStatus: API_RESPONSE_STATUS.IDLE,\n error: \"\",\n plannedRoutes: {},\n unPlannedRoutes: {},\n removedRouteData: {},\n existingRoutesList: {},\n orderStatuses: [],\n updatedRoute: null,\n routeCreateSuccess: false,\n currentSlot: null,\n driversList: [],\n helpersList: [],\n vehiclesList: [],\n publishedRoutesErrors: [],\n publishedRoutes: [],\n draftRoute: {},\n routeDiscardSuccess: false,\n slotwisePlannedRoutes: [],\n consignmentStatusList: [],\n slotsList: [],\n zoneList: [],\n deletedRoute: null,\n bulkDeletedRoute: null,\n};\n\nconst allRoutesSlice = createSlice({\n name: \"AllRoutesPlanning\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchAllPlannedRoutes.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.plannedRoutes = {};\n })\n .addCase(fetchAllPlannedRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.plannedRoutes = payload;\n })\n .addCase(fetchAllPlannedRoutes.rejected, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload;\n })\n /** fetchAllUnPlannedRoutes */\n .addCase(fetchAllUnPlannedRoutes.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.unPlannedRoutes = {};\n })\n .addCase(fetchAllUnPlannedRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.orderStatuses = transformSelectValues(payload.deliveryStatuses || []);\n state.unPlannedRoutes = payload;\n })\n .addCase(fetchAllUnPlannedRoutes.rejected, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload;\n })\n /** createRemoveOrderFromRoute */\n .addCase(createRemoveOrderFromRoute.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.removedRouteData = {};\n })\n .addCase(createRemoveOrderFromRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.removedRouteData = payload;\n })\n .addCase(createRemoveOrderFromRoute.rejected, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload;\n })\n /* fetchExistingRouteToAssignToOrder */\n .addCase(fetchExistingRouteToAssignToOrder.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.existingRoutesList = {};\n })\n .addCase(fetchExistingRouteToAssignToOrder.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.existingRoutesList = payload;\n })\n .addCase(fetchExistingRouteToAssignToOrder.rejected, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload;\n })\n /* createNewSubRoute */\n .addCase(createNewSubRoute.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.fetchStatus = API_RESPONSE_STATUS.LOADING;\n })\n .addCase(createNewSubRoute.fulfilled, (state, action) => {\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n })\n .addCase(createNewSubRoute.rejected, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.fetchStatus = API_RESPONSE_STATUS.FAILED;\n state.error = payload;\n })\n /** createAndEditRoute */\n .addCase(createAndEditRoute.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(createAndEditRoute.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode },\n },\n } = action;\n state.loading = false;\n if (editMode) {\n state.updatedRoute = payload;\n } else {\n state.routeCreateSuccess = true;\n }\n state.currentSlot = null;\n sessionStorage.setItem(\"routeId\", \"\");\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n })\n .addCase(createAndEditRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode },\n },\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (editMode) {\n state.updatedRoute = null;\n } else {\n state.routeCreateSuccess = false;\n }\n })\n /** fetchAllDrivers */\n .addCase(fetchAllDrivers.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(fetchAllDrivers.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.error = \"\";\n state.driversData = payload;\n const drivers = getDropdownsData(payload);\n state.driversList = transformSelectValues(drivers);\n })\n .addCase(fetchAllDrivers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** fetchAllHelpers */\n .addCase(fetchAllHelpers.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(fetchAllHelpers.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.error = \"\";\n state.helpersData = payload;\n const helpers = getDropdownsData(payload);\n state.helpersList = transformSelectValues(helpers);\n })\n .addCase(fetchAllHelpers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** fetchAllVehicles */\n .addCase(fetchAllVehicles.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(fetchAllVehicles.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.error = \"\";\n state.vehiclesData = payload;\n const vehicles = getDropdownsData(payload);\n state.vehiclesList = transformSelectValues(vehicles);\n })\n .addCase(fetchAllVehicles.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** publishRoutes */\n .addCase(publishRoutes.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.publishedRoutesErrors = [];\n })\n .addCase(publishRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n if (payload.publishErrorDto && payload.publishErrorDto.length) {\n state.publishedRoutesErrors = payload.publishErrorDto;\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n } else {\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n }\n })\n .addCase(publishRoutes.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.publishedRoutes = [];\n state.publishedRoutesErrors = [];\n })\n /** createDraftRoute */\n .addCase(createDraftRoute.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.draftRoute = {};\n })\n .addCase(createDraftRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.error = \"\";\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.slotwisePlannedRoutes = [];\n state.draftRoute = payload;\n state.consignmentStatusList = transformSelectValues(payload.deliveryStatuses || []);\n sessionStorage.setItem(\"routeId\", payload.route && payload.route.id);\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n })\n .addCase(createDraftRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params },\n },\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n if (!params.editMode) {\n sessionStorage.setItem(\"routeId\", \"\");\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n }\n })\n /** loadAllSlots */\n .addCase(loadAllSlots.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(loadAllSlots.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.error = \"\";\n state.slotwisePlannedRoutes = [];\n state.slotsData = payload;\n state.currentSlot = payload.currentSlot && payload.currentSlot.length ? payload.currentSlot[0] : {};\n state.slotsList = transformSelectValues(payload.allSlots);\n state.zoneList = transformSelectValues(payload.deliveryZones);\n })\n .addCase(loadAllSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.currentSlot = null;\n state.slotsList = [];\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** updateConsignmentStatus*/\n .addCase(updateConsignmentStatus.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.fulfilled, (state, action) => {\n state.loading = false;\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** bulkDeleteRoute*/\n .addCase(bulkDeleteRoute.pending, (state) => {\n state.deletedRoute = null;\n state.loading = true;\n state.error = \"\";\n })\n .addCase(bulkDeleteRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.bulkDeletedRoute = payload;\n })\n .addCase(bulkDeleteRoute.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.error = errorPayload ? AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.BULK_DELETE_ERROR_MSG : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** resetCreateRouteSuccess */\n .addCase(resetCreateRouteSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.routeCreateSuccess = payload;\n });\n },\n});\n\nexport default allRoutesSlice.reducer;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport _ from \"lodash\";\nimport { Box, Button, Card, Grid, Typography } from \"@material-ui/core\";\n\nimport AppConstants from \"../../constants\";\nimport Loader from \"../../common/Loader\";\nimport CustomAllRoutesLeftSection from \"./common/CustomAllRoutesLeftSection\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\nimport AssignDriverDialog from \"./common/AssignDriverDialog\";\nimport CustomDialog from \"../../common/Dialog\";\nimport MapContainer from \"../../common/GoogleMapContainer\";\nimport AssignRouteToOrdersDialog from \"./common/AssignRouteToOrdersDialog\";\nimport CustomTooltip from \"../../common/Tooltip\";\nimport RenderSubrouteAssignDriverDialog from \"./common/SubRoute/RenderSubrouteAssignDriverDialog\";\n\nimport { createDraftRoutePayload, createBulkDeleteRoutePayload, ROUTE_TYPE } from \"../../mocks/routePlanning/response.transforms\";\nimport { useStyles } from \"./AllRoutes.styles\";\nimport {\n createNewSubRoute,\n createRemoveOrderFromRoute,\n fetchAllPlannedRoutes,\n fetchAllUnPlannedRoutes,\n fetchExistingRouteToAssignToOrder,\n createAndEditRoute,\n fetchAllDrivers,\n fetchAllHelpers,\n fetchAllVehicles,\n publishRoutes,\n createDraftRoute,\n loadAllSlots,\n updateConsignmentStatus,\n bulkDeleteRoute,\n resetCreateRouteSuccess,\n} from \"./redux/allRoutesSlice\";\nimport { API_RESPONSE_STATUS } from \"../../constants/CommonConstants\";\nimport { RenderMapMarkerTitleValue } from \"./utils/AllRouteViewUtils\";\nimport { isNonEmptyArray, isNonEmptyObject, isNull, isObject, isUndefined, loadDashIsArrayAndNotEmpty } from \"../../utils/helpers.utils\";\nimport { ALL_ROUTES_TEXT_CONTANT, ALL_ROUTE_INITIAL_STATE, ALL_ROUTE_INITIAL_STATE_INTERFACE, BUTTONS_TEXT, MAP_MARKER_INTERFACE, SNACKBAR_MESSAGES, mapOptionStyles } from \"./utils/AllRouteConstant\";\nimport { AppState } from \"../../config/redux/reducers\";\nimport {\n designAllRoutesStateObjectUtils,\n designAllUnPlannedRoutesStateObjectUtils,\n getAllAreaTitle,\n getConsignmentRecordUtils,\n handleAreaCheckboxToggleUtils,\n handleConsignmentSearchUtils,\n handleExpandAllRecordClickMethodUtils,\n handleOpenCloseUnplannedRouteSlotUtils,\n handleOrderAccordianToggleUtils,\n handleOrderCheckboxToggleUtils,\n handleRoutAreaAccordianToggleUtils,\n handleRoutAreaSubareaAccordianToggleUtils,\n handleRouteAccordianClickedUtils,\n handleRouteCheckboxToggleUtils,\n handleRouteSlotAccordianToggleUtils,\n handleSelectAllRoutesUtils,\n handleSlotCheckboxToggleUtils,\n handleSubRouteSlotAccordianToggleUtils,\n handleSubrouteOrderAccordianToggleUtils,\n handleToggleCreateSubrouteUtils,\n handleUnPlannedAccordianToggleUtils,\n handleUnplannedAreaCheckboxToggleUtils,\n handleUnplannedInnerOrderAccordianToggleUtils,\n handleUnplannedOrderCheckboxToggleUtils,\n handleUnplannedSlotCheckboxToggleUtils,\n isActionButtonVisibleUtils,\n isAllRoutesAssignedWithDriverUtils,\n orderActionPopUpViewChangeUtils,\n removeOrderFromRouteUtils,\n selectRouteToAssigntoOrderUtils,\n updatAavailableRouteRecordUtils,\n updatAvailableRouteRecordForUnplannedOrdersUtils,\n updateRouteObjectAfterUpdateUtils,\n updateSubRouteObjectAfterUpdateUtils,\n validatePlannedRouteInfoUtils,\n validatePlannedSubRouteInfoUtils,\n} from \"./utils/AllRouteUtils\";\nimport {\n createAddOrderToAnotherRoutePayload,\n createAddOrdersToRoutesPayload,\n createDraftUnplannedRoutePayload,\n createFetchRemoveOrderFromRoutesPayload,\n createGetAllDropdownsPayload,\n createGetAllPlannedRoutesPayload,\n createGetAllUnPlannedRoutesPayload,\n createNewRouteProceedPayload,\n createNewSubRouteRequestPayload,\n createPublishRoutesPayload,\n createSubRoutesUpdatePayload,\n createUpdateRoutesPayload,\n mapUnplannedOrderToDraftedRoutePayload,\n} from \"../../mocks/allRoutes/response.transforms\";\n\nconst AllRoutes = (props: any) => {\n const { hubId, hubName, viewPublishRoute, handleChangeAllRoutesHub } = props;\n\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const { countryCode } = useSelector((state: AppState) => state.common);\n const { plannedRoutes, unPlannedRoutes, error, fetchStatus, orderStatuses, driversList, helpersList, vehiclesList, publishedRoutes, slotsList, zoneList } = useSelector(\n (state: AppState) => state.allRoutes\n );\n const { routeConfigDetails } = useSelector((state: AppState) => state.common);\n\n const [showLoader, setShowLoader] = useState(false);\n const [allRouteState, setAllRouteState] = useState(ALL_ROUTE_INITIAL_STATE);\n\n const publishDialogPaperProps = { classes: { root: classes.publishDialogPaperPropsRoot } };\n const filterChangeRef = useRef(false);\n\n const initializeRoute = (params: any) => {\n if (filterChangeRef.current) {\n handleCreateDraftRoute({ slots: params.slotValue, statusValue: params.statusValue, zoneValue: params.zoneValue });\n } else if (allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED) {\n getAllSlots({ date: params.date, slotValue: params.slotValue, hubCode: hubId, hubName: hubName[0]?.name, statusValue: params.statusValue, zoneValue: params?.zoneValue });\n }\n };\n\n const getAllSlots = (params: any) => {\n const payload = createDraftRoutePayload(params);\n dispatch(loadAllSlots({ params: payload }));\n };\n\n const handleCreateDraftRoute = (params: any) => {\n const payload = createDraftRoutePayload({\n date: allRouteState.selectedDate,\n slotValue: params.slots,\n hubCode: hubId,\n hubName: hubName[0]?.name,\n statusValue: params.statusValue,\n zoneValue: params?.zoneValue,\n });\n dispatch(createDraftRoute({ params: payload }));\n };\n\n const updateAndResetFilterForRouteState = (name: any, value: any) => {\n setAllRouteState({\n ...allRouteState,\n loading: true,\n plannedConsignmentsData: {},\n unplannedConsignmentsData: {},\n selectedConsignments: [],\n statusValue: [],\n slotValue: [],\n zoneValue: [],\n showDriverAssignedPopup: false,\n driverValue: AppConstants.SELECT_NONE.value,\n helperValue: AppConstants.SELECT_NONE.value,\n vehicleValue: AppConstants.SELECT_NONE.value,\n firstMapCordinates: { lat: 0, lng: 0 },\n mapCenter: { lat: 0, lng: 0 },\n openAssignRoutePopUp: false,\n selectedConsignmentToChangeRoute: [],\n availableRouteRecord: [],\n mapPolylineMarker: [],\n polylineColor: \"\",\n consignmentId: \"\",\n [name]: value,\n });\n };\n\n const updateAndResetAllRouteState = (name: any, value: any) => {\n setAllRouteState({\n ...allRouteState,\n loading: true,\n expandAll: false,\n plannedConsignmentsData: {},\n unplannedConsignmentsData: {},\n selectedConsignments: [],\n selectedRoute: {},\n showDriverAssignedPopup: false,\n openUpdateConfirmDialog: false,\n driverValue: AppConstants.SELECT_NONE.value,\n helperValue: AppConstants.SELECT_NONE.value,\n vehicleValue: AppConstants.SELECT_NONE.value,\n consignmentMarkers: [],\n firstMapCordinates: { lat: 0, lng: 0 },\n mapCenter: { lat: 0, lng: 0 },\n mapZoom: 12,\n openPublishDialog: false,\n openAssignRoutePopUp: false,\n selectedConsignmentToChangeRoute: [],\n availableRouteRecord: [],\n selectedRouteObj: {},\n orderDataObj: {},\n openAddRouteConfirmDialog: false,\n openRemoveRouteConfirmDialog: false,\n mapPolylineMarker: [],\n polylineColor: \"\",\n consignmentId: \"\",\n [name]: value,\n });\n };\n\n const handleStatusChange = (value: any) => {\n filterChangeRef.current = true;\n updateAndResetAllRouteState(\"statusValue\", value);\n let allRouteStateCopy = _.cloneDeep(allRouteState);\n allRouteStateCopy.statusValue = value;\n fetchConsignmentValueBasedOnTab(allRouteStateCopy);\n fetchComponentData(allRouteStateCopy);\n };\n\n const handleSlotChange = (value: any) => {\n filterChangeRef.current = true;\n updateAndResetAllRouteState(\"slotValue\", value);\n let allRouteStateCopy = _.cloneDeep(allRouteState);\n allRouteStateCopy.slotValue = value;\n fetchConsignmentValueBasedOnTab(allRouteStateCopy);\n fetchComponentData(allRouteStateCopy);\n };\n\n const handleZoneChange = (value: any) => {\n filterChangeRef.current = true;\n updateAndResetAllRouteState(\"zoneValue\", value);\n let allRouteStateCopy = _.cloneDeep(allRouteState);\n allRouteStateCopy.zoneValue = value;\n fetchConsignmentValueBasedOnTab(allRouteStateCopy);\n fetchComponentData(allRouteStateCopy);\n };\n\n const getAllDrivers = (stateObj: any) => {\n const payload = createGetAllDropdownsPayload(stateObj, hubId);\n dispatch(fetchAllDrivers({ payload: payload }));\n };\n\n const getAllHelpers = (stateObj: any) => {\n const payload = createGetAllDropdownsPayload(stateObj, hubId);\n dispatch(fetchAllHelpers({ payload: payload }));\n };\n const getAllVehicles = (stateObj: any) => {\n const payload = createGetAllDropdownsPayload(stateObj, hubId);\n dispatch(fetchAllVehicles({ payload: payload }));\n };\n\n const fetchComponentData = (stateObj: any) => {\n getAllDrivers(stateObj);\n getAllHelpers(stateObj);\n getAllVehicles(stateObj);\n };\n\n const getAllPlannedRoutes = (stateObj: any) => {\n const payload = createGetAllPlannedRoutesPayload(stateObj, hubId);\n dispatch(fetchAllPlannedRoutes({ payload: payload }));\n };\n\n const getAllUnPlannedRoutes = (stateObj: any) => {\n const payload = createGetAllUnPlannedRoutesPayload(stateObj, hubId, hubName);\n dispatch(fetchAllUnPlannedRoutes({ payload: payload }));\n };\n\n const designAllRoutesStateObject = () => {\n if (!isUndefined(plannedRoutes) && !isUndefined(fetchStatus) && fetchStatus !== (API_RESPONSE_STATUS.IDLE || API_RESPONSE_STATUS.LOADING || API_RESPONSE_STATUS.FAILED)) {\n let newAllRouteState = designAllRoutesStateObjectUtils(allRouteState, plannedRoutes, hubId);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const designAllUnPlannedRoutesStateObject = () => {\n if (!isUndefined(unPlannedRoutes && !isUndefined(fetchStatus) && fetchStatus !== (API_RESPONSE_STATUS.IDLE || API_RESPONSE_STATUS.LOADING || API_RESPONSE_STATUS.FAILED))) {\n let newAllRouteState = designAllUnPlannedRoutesStateObjectUtils(allRouteState, unPlannedRoutes);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const fetchConsignmentValueBasedOnTab = (stateObj: ALL_ROUTE_INITIAL_STATE_INTERFACE) => {\n switch (stateObj.tabValue) {\n case AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED:\n getAllPlannedRoutes(stateObj);\n return;\n case AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED:\n getAllUnPlannedRoutes(stateObj);\n return;\n }\n };\n\n const handleDateChange = (dateRange: any) => {\n filterChangeRef.current = false;\n updateAndResetFilterForRouteState(\"selectedDate\", dateRange);\n let allRouteStateCopy = _.cloneDeep(allRouteState);\n allRouteStateCopy.selectedDate = dateRange;\n fetchConsignmentValueBasedOnTab(allRouteStateCopy);\n fetchComponentData(allRouteStateCopy);\n };\n\n const handleTabChange = (event: React.ChangeEvent, value: string) => {\n updateAndResetAllRouteState(\"tabValue\", value);\n switch (value) {\n case AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED:\n getAllPlannedRoutes(allRouteState);\n return;\n case AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED:\n getAllSlots({\n date: allRouteState.selectedDate,\n slotValue: allRouteState.slotValue,\n hubCode: hubId,\n hubName: hubName[0]?.name,\n statusValue: allRouteState.statusValue,\n zoneValue: allRouteState?.zoneValue,\n });\n getAllUnPlannedRoutes(allRouteState);\n return;\n }\n };\n\n const handleRouteAccordianToggle = (event: React.ChangeEvent, routeName: string) => {\n event.stopPropagation();\n if (routeName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRouteAccordianClickedUtils(allRouteState, routeName, vehiclesList);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRouteAccordianClicked = (event: React.ChangeEvent, routeName: string) => {\n event.stopPropagation();\n handleRouteAccordianToggle(event, routeName);\n };\n\n const handleRouteSlotAccordianToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, subRouteAreaName?: string) => {\n event.stopPropagation();\n if (routeName && routeDataName && slotName && subRouteAreaName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleSubRouteSlotAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName && slotName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRouteSlotAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRoutAreaAccordianToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, subRouteAreaName?: string) => {\n event.stopPropagation();\n if (routeName && routeDataName && subRouteAreaName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRoutAreaSubareaAccordianToggleUtils(allRouteState, routeName, routeDataName, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRoutAreaAccordianToggleUtils(allRouteState, routeName, routeDataName, vehiclesList);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRouteCheckboxToggle = (event: React.ChangeEvent, routeName: string) => {\n event.stopPropagation();\n if (!isUndefined(event?.target?.checked)) {\n const { checked } = event.target;\n if (routeName) {\n let newAllRouteState = handleRouteCheckboxToggleUtils(allRouteState, routeName, checked, vehiclesList);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n\n const handleSlotCheckboxToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string) => {\n event.stopPropagation();\n if (!isUndefined(event?.target?.checked)) {\n const { checked } = event.target;\n if (routeName && routeDataName && slotName) {\n let newAllRouteState = handleSlotCheckboxToggleUtils(allRouteState, checked, routeName, routeDataName, slotName);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n const handleAreaCheckboxToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string) => {\n event.stopPropagation();\n if (!isUndefined(event?.target?.checked)) {\n const { checked } = event.target;\n if (routeName && routeDataName) {\n let newAllRouteState = handleAreaCheckboxToggleUtils(allRouteState, checked, routeName, routeDataName);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n const handleOrderCheckboxToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => {\n event.stopPropagation();\n if (!isUndefined(event?.target?.checked)) {\n const { checked } = event.target;\n if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleOrderCheckboxToggleUtils(allRouteState, checked, routeName, routeDataName, slotName, orderObjIndex);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n\n const handleRouteOrderAccordianToggle = (\n event: React.ChangeEvent,\n routeName: string,\n routeDataName: string,\n slotName: string,\n orderObjIndex: number,\n subRouteAreaName?: string\n ) => {\n event.stopPropagation();\n if (routeName && routeDataName && subRouteAreaName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleSubrouteOrderAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleOrderAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const orderActionPopUpViewChange = (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => {\n event.stopPropagation();\n if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = orderActionPopUpViewChangeUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleSnackbarClose = () => {\n setAllRouteState({ ...allRouteState, openSnackbar: false, snackbarMessage: \"\", snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS });\n };\n\n const handlePublishSnackbarClose = () => {\n setAllRouteState({ ...allRouteState, openPublishRouteSnackBar: false, snackbarPublishMessage: \"\", snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS });\n };\n\n const handleInputChange = (value: any, name: string) => {\n switch (name) {\n case \"Driver\":\n setAllRouteState({ ...allRouteState, driverValue: value });\n return;\n case \"Helper\":\n setAllRouteState({ ...allRouteState, helperValue: value });\n return;\n case \"Vehicle\":\n setAllRouteState({ ...allRouteState, vehicleValue: value });\n return;\n }\n };\n\n const handleSubRouteInputChange = (value: any, name: string) => {\n switch (name) {\n case \"Driver\":\n setAllRouteState({ ...allRouteState, subDriverValue: value });\n return;\n case \"Helper\":\n setAllRouteState({ ...allRouteState, subHelperValue: value });\n return;\n case \"Vehicle\":\n setAllRouteState({ ...allRouteState, subVehicleValue: value });\n return;\n }\n };\n\n const isAllRoutesAssignedWithDriver = () => {\n return isAllRoutesAssignedWithDriverUtils(allRouteState);\n };\n\n const isActionButtonVisible = () => {\n return isActionButtonVisibleUtils(allRouteState);\n };\n\n const updateRouteObjectAfterUpdate = (routeData: any) => {\n const successMessage = `Route ${routeData?.routeId || \"\"} ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`;\n let newAllRouteState = updateRouteObjectAfterUpdateUtils(allRouteState, routeData, successMessage);\n setAllRouteState(newAllRouteState);\n fetchComponentData(newAllRouteState);\n };\n\n const updateRoute = async (updateRoutePayload: any) => {\n if (updateRoutePayload && isObject(updateRoutePayload) && isNonEmptyObject(updateRoutePayload)) {\n const { payload } = await dispatch(createAndEditRoute({ payload: updateRoutePayload, editMode: false }));\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else if (payload !== undefined && payload.route !== undefined && payload.route.routeId !== undefined) {\n dispatch(resetCreateRouteSuccess());\n updateRouteObjectAfterUpdate(payload.route);\n } else {\n setAllRouteState({ ...allRouteState, loading: false });\n }\n } else {\n setAllRouteState({ ...allRouteState, loading: false, selectedRoute: {} });\n }\n };\n\n const savePlannedRouteInformation = () => {\n setAllRouteState({ ...allRouteState, loading: true });\n const isRouteInformationValid = validatePlannedRouteInfoUtils(allRouteState);\n if (isRouteInformationValid !== undefined && isRouteInformationValid.errorObj !== undefined && typeof isRouteInformationValid.errorObj === \"string\") {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: isRouteInformationValid.errorObj, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n const updateRoutePayload = createUpdateRoutesPayload(allRouteState);\n updateRoute(updateRoutePayload);\n }\n };\n\n const publishPlannedRouteInformation = async () => {\n const publishPayload = createPublishRoutesPayload(allRouteState);\n if (publishPayload) {\n const response = await dispatch(publishRoutes({ payload: publishPayload }));\n if (!isUndefined(response?.payload?.message)) {\n setAllRouteState({ ...allRouteState, openPublishDialog: false });\n }\n }\n };\n\n // Unplanned\n const handleUnplannedAccordianToggle = (event: React.ChangeEvent, areaName: any) => {\n event.stopPropagation();\n if (areaName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleUnPlannedAccordianToggleUtils(allRouteState, areaName);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleUnplannedInnerOrderAccordianToggle = (event: React.ChangeEvent, areaName: any, slotName: any, orderObjIndex: any) => {\n event.stopPropagation();\n if (areaName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleUnplannedInnerOrderAccordianToggleUtils(allRouteState, areaName, slotName, orderObjIndex);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleUnplannedAreaCheckboxToggle = (event: React.ChangeEvent, areaName: any) => {\n event.stopPropagation();\n if (!isUndefined(event) && !isUndefined(event.target) && !isUndefined(event.target.checked) && !isUndefined(areaName)) {\n const { checked } = event.target;\n let newAllRouteState = handleUnplannedAreaCheckboxToggleUtils(allRouteState, areaName, checked);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleUnplannedOrderCheckboxToggle = (event: React.ChangeEvent, areaName: any, slotName: any, orderObjIndex: any) => {\n event.stopPropagation();\n if (!isUndefined(event) && !isUndefined(event.target) && !isUndefined(event.target.checked)) {\n const { checked } = event.target;\n if (areaName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleUnplannedOrderCheckboxToggleUtils(allRouteState, areaName, slotName, orderObjIndex, checked);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n\n const handlePublishDialogOpen = () => {\n setAllRouteState({ ...allRouteState, openPublishDialog: true });\n };\n\n const handlePublishDialogClose = () => {\n setAllRouteState({ ...allRouteState, openPublishDialog: false });\n };\n\n const handleUpdateDialogOpen = () => {\n const isRouteInformationValid = validatePlannedRouteInfoUtils(allRouteState);\n if (isRouteInformationValid !== undefined && isRouteInformationValid.errorObj !== undefined && typeof isRouteInformationValid.errorObj === \"string\") {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: isRouteInformationValid.errorObj, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n setAllRouteState({ ...allRouteState, openUpdateConfirmDialog: true });\n }\n };\n\n const handleUpdateDialogClose = () => {\n setAllRouteState({ ...allRouteState, openUpdateConfirmDialog: false });\n };\n\n const getUpdatedAssigneList = (type: string, route: any) => {\n let updatedList = [] as any;\n switch (type) {\n case \"driver\":\n updatedList = [...driversList];\n if (route && route.assignee && route.assignee.id) {\n updatedList = [...updatedList, { name: route.assignee.name, value: route.assignee.id }];\n }\n break;\n case \"helper\":\n updatedList = [...helpersList];\n if (route && route.helper && route.helper.id) {\n updatedList = [...updatedList, { name: route.helper.name, value: route.helper.id }];\n }\n break;\n case \"vehicle\":\n updatedList = [...vehiclesList];\n if (route && route.assignedVehicle && route.assignedVehicle.id && updatedList.findIndex((vehicle: any) => vehicle.value === route.assignedVehicle.id) === -1) {\n updatedList = [...updatedList, { name: route.assignedVehicle.name, value: route.assignedVehicle.id }];\n }\n break;\n default:\n break;\n }\n return updatedList;\n };\n\n const getMapCenter = () => {\n return allRouteState && allRouteState.consignmentMarkers && allRouteState.consignmentMarkers.length ? allRouteState.consignmentMarkers[0].location : { lat: 0, lng: 0 };\n };\n\n const handleOrderActionDialogClose = () => {\n setAllRouteState({ ...allRouteState, loading: false, selectedRouteObj: {}, orderDataObj: {}, openAddRouteConfirmDialog: false, openRemoveRouteConfirmDialog: false });\n };\n\n const fetchRemoveOrderFromRoute = async (routeData: any, orderData: any) => {\n const requestPayload: any = createFetchRemoveOrderFromRoutesPayload(routeData, orderData, \"UNPLANNED\");\n const { payload } = await dispatch(createRemoveOrderFromRoute({ payload: requestPayload }));\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: SNACKBAR_MESSAGES.ORDER_REMOVED_FROM_ROUTE, snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS });\n if (payload !== undefined && payload.routeId !== undefined) {\n getAllPlannedRoutes(allRouteState);\n }\n }\n };\n\n const removeOrderFromRoute = (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => {\n if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n const orderData = allRouteState?.plannedConsignmentsData[routeName]?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex];\n if (orderData?.consignmentCode) {\n let newAllRouteState = removeOrderFromRouteUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex, allRouteState?.plannedConsignmentsData[routeName], orderData);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n\n const assignOrdersToRoute = async (selectedConsignments: any, selectedConsignmentToChangeRoute: any, routeObj: any, displayRouteStatus: string) => {\n const requestPayload: any = createAddOrdersToRoutesPayload(selectedConsignments, selectedConsignmentToChangeRoute, routeObj, displayRouteStatus);\n const { payload } = await dispatch(createRemoveOrderFromRoute({ payload: requestPayload }));\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n setAllRouteState({\n ...allRouteState,\n loading: false,\n openSnackbar: true,\n snackbarMessage: SNACKBAR_MESSAGES.ORDER_ADDED_TO_ROUTE,\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n selectedConsignments: [],\n openAssignRoutePopUp: false,\n selectedConsignmentToChangeRoute: [],\n availableRouteRecord: [],\n selectedRouteObj: {},\n orderDataObj: {},\n openAddRouteConfirmDialog: false,\n openRemoveRouteConfirmDialog: false,\n });\n if (payload !== undefined && payload.routeId !== undefined) {\n if (allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED) {\n getAllPlannedRoutes(allRouteState);\n } else {\n getAllUnPlannedRoutes(allRouteState);\n }\n }\n }\n };\n\n const handleAssignRouteClick = (event: React.ChangeEvent) => {\n event.stopPropagation();\n if (\n allRouteState &&\n allRouteState.availableRouteRecord &&\n isNonEmptyArray(allRouteState.availableRouteRecord) &&\n allRouteState.selectedConsignmentToChangeRoute &&\n isNonEmptyArray(allRouteState.selectedConsignmentToChangeRoute)\n ) {\n let routeObj = allRouteState.availableRouteRecord.find((el: any) => el.isChecked === true);\n if (!isUndefined(routeObj) && !isUndefined(routeObj.id)) {\n setAllRouteState({ ...allRouteState, selectedRouteObj: routeObj, orderDataObj: {}, openAddRouteConfirmDialog: true, openRemoveRouteConfirmDialog: false });\n } else {\n setAllRouteState({ ...allRouteState, openSnackbar: true, snackbarMessage: \"No Route selected\", snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n } else {\n setAllRouteState({ ...allRouteState, openSnackbar: true, snackbarMessage: \"No Route found\", snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n };\n\n const selectRouteToAssigntoOrder = (routeIndex: number) => {\n if (!isUndefined(routeIndex) && routeIndex >= 0) {\n let newAllRouteState = selectRouteToAssigntoOrderUtils(allRouteState, routeIndex);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleCloseAssignRoutePopUp = (event: React.ChangeEvent) => {\n event.stopPropagation();\n let newAllRouteState = updatAavailableRouteRecordUtils(allRouteState);\n setAllRouteState(newAllRouteState);\n };\n\n const getExistingRouteToAssignToOrder = async (consignmentCode: string, routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => {\n const requestPayload = createAddOrderToAnotherRoutePayload(allRouteState, hubId, consignmentCode);\n const { payload } = await dispatch(fetchExistingRouteToAssignToOrder({ payload: requestPayload }));\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else if (payload && isNonEmptyArray(payload)) {\n let newAllRouteState = updatAavailableRouteRecordUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex, payload);\n setAllRouteState(newAllRouteState);\n } else {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: SNACKBAR_MESSAGES.NO_ROUTES_TO_DISPLAY, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n };\n\n const addOrderToAnotherRoute = (routeName: string, routeDataName: string, slotName: string, orderObjIndex: number) => {\n if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n const routeData = allRouteState?.plannedConsignmentsData[routeName];\n if (routeData?.routeDataObj[routeDataName]?.slotWiseOrders[slotName]?.orders[orderObjIndex].consignmentCode) {\n setAllRouteState({ ...allRouteState, loading: true });\n const consignmentCode = routeData.routeDataObj[routeDataName].slotWiseOrders[slotName].orders[orderObjIndex].consignmentCode;\n getExistingRouteToAssignToOrder(consignmentCode, routeName, routeDataName, slotName, orderObjIndex);\n }\n }\n };\n\n const getAllRoutesForSelectedUnplannedOrders = async (requestPayload: any, consignmentRecord: any) => {\n const { payload }: any = await dispatch(fetchExistingRouteToAssignToOrder({ payload: requestPayload }));\n setShowLoader(false);\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else if (payload && isNonEmptyArray(payload)) {\n let newAllRouteState = updatAvailableRouteRecordForUnplannedOrdersUtils(allRouteState, consignmentRecord, payload);\n setAllRouteState(newAllRouteState);\n } else {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: SNACKBAR_MESSAGES.NO_ROUTES_TO_DISPLAY, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n };\n\n const handleAssignUnplannedOrderToRoute = (event: React.ChangeEvent) => {\n event.stopPropagation();\n if (allRouteState.selectedConsignments && isNonEmptyArray(allRouteState.selectedConsignments)) {\n setShowLoader(true);\n const consignmentRecord = getConsignmentRecordUtils(allRouteState.selectedConsignments);\n if (consignmentRecord && isNonEmptyArray(consignmentRecord)) {\n const requestPayload = createAddOrderToAnotherRoutePayload(allRouteState, hubId, consignmentRecord);\n getAllRoutesForSelectedUnplannedOrders(requestPayload, consignmentRecord);\n } else {\n setShowLoader(false);\n }\n }\n };\n\n const handleExpandAllRecordClickMethod = () => {\n let newAllRouteState = handleExpandAllRecordClickMethodUtils(allRouteState);\n setAllRouteState(newAllRouteState);\n };\n\n const handleSelectAllRoutes = (event: React.ChangeEvent) => {\n event.stopPropagation();\n if (!isUndefined(event) && !isUndefined(event.target) && !isUndefined(event.target.checked)) {\n const { checked } = event.target;\n let newAllRouteState = handleSelectAllRoutesUtils(allRouteState, checked);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleOpenCloseUnplannedRouteSlot = (areaName: any, slotName: any) => {\n if (!isUndefined(areaName) && !isUndefined(slotName)) {\n let newAllRouteState = handleOpenCloseUnplannedRouteSlotUtils(allRouteState, areaName, slotName);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleUnplannedSlotCheckboxToggle = (event: React.ChangeEvent, areaName: any, slotName: any) => {\n event.stopPropagation();\n if (!isUndefined(event) && !isUndefined(event.target) && !isUndefined(event.target.checked) && !isUndefined(areaName)) {\n const { checked } = event.target;\n if (!isUndefined(areaName) && !isUndefined(slotName)) {\n let newAllRouteState = handleUnplannedSlotCheckboxToggleUtils(allRouteState, checked, areaName, slotName);\n setAllRouteState(newAllRouteState);\n }\n }\n };\n\n const isConsignmentSelected = () => {\n return loadDashIsArrayAndNotEmpty(allRouteState?.selectedConsignments);\n };\n\n const handleConsignmentIdOnChange = (event: React.ChangeEvent) => {\n if (!isUndefined(event?.target?.value)) {\n setAllRouteState({ ...allRouteState, consignmentId: event?.target?.value });\n }\n };\n\n const handleConsignmentSearch = () => {\n if (!isUndefined(allRouteState?.consignmentId) && !isNull(allRouteState?.consignmentId)) {\n let newAllRouteState = handleConsignmentSearchUtils(allRouteState);\n setAllRouteState(newAllRouteState);\n setTimeout(() => {\n const element = document.getElementById(`order-code-${allRouteState.consignmentId}`);\n element?.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, 100);\n } else {\n setAllRouteState({ ...allRouteState, openSnackbar: true, snackbarMessage: SNACKBAR_MESSAGES.CONSIGNMENT_ID_REQUIRED, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n };\n\n const handleCloseMoveOrderToNewRoutePopUp = () => {\n const requestPayload = mapUnplannedOrderToDraftedRoutePayload(allRouteState, allRouteState.draftedRouteDetails, BUTTONS_TEXT.UNPLANNED);\n dispatch(updateConsignmentStatus({ payload: requestPayload }));\n setAllRouteState({ ...allRouteState, openMoveOrderToNewRoute: false, draftedRouteDetails: {} });\n };\n\n const mapUnplannedOrderToDraftedRoute = async (route: any) => {\n const requestPayload = mapUnplannedOrderToDraftedRoutePayload(allRouteState, route, BUTTONS_TEXT.PLANNED);\n const response = await dispatch(updateConsignmentStatus({ payload: requestPayload }));\n setShowLoader(false);\n if (!isUndefined(response?.payload?.routeId)) {\n setAllRouteState({ ...allRouteState, openMoveOrderToNewRoute: true, draftedRouteDetails: route });\n }\n };\n\n const showMoveUnplannedRouteToPlannedPopUp = async (requestPayload: any) => {\n const responsePayload = await dispatch(createDraftRoute({ params: requestPayload }));\n if (!isUndefined(responsePayload?.payload?.route?.id) && !isUndefined(responsePayload?.payload?.route?.routeId)) {\n mapUnplannedOrderToDraftedRoute(responsePayload?.payload?.route);\n } else {\n setShowLoader(false);\n }\n };\n\n const handleCreateUnplannedOrderToRoute = (event: React.ChangeEvent) => {\n event.stopPropagation();\n if (allRouteState.selectedConsignments && isNonEmptyArray(allRouteState.selectedConsignments)) {\n setShowLoader(true);\n const requestPayload = createDraftUnplannedRoutePayload(allRouteState, hubId, hubName);\n showMoveUnplannedRouteToPlannedPopUp(requestPayload);\n }\n };\n\n const assignOrdersToNewRoute = async () => {\n setShowLoader(true);\n const requestPayload = createNewRouteProceedPayload(allRouteState);\n const response = await dispatch(createAndEditRoute({ payload: requestPayload, editMode: false }));\n setShowLoader(false);\n if (!isUndefined(response?.payload?.route?.routeId)) {\n dispatch(resetCreateRouteSuccess());\n setAllRouteState({\n ...allRouteState,\n openSnackbar: true,\n snackbarMessage: `${response?.payload?.route?.routeId} - ${SNACKBAR_MESSAGES.CREATE_ROUTE_SUCCESS_MSG}`,\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n openMoveOrderToNewRoute: false,\n draftedRouteDetails: {},\n tabValue: AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED,\n loading: true,\n });\n getAllPlannedRoutes(allRouteState);\n }\n };\n\n const toggleCreateSubroute = (routeId: string) => {\n if (routeId) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleToggleCreateSubrouteUtils(allRouteState, routeId);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleOpenCreateSubRouteDialog = () => {\n if (allRouteState?.selectedConsignmentsForSubRoute?.length > 0) {\n setAllRouteState({ ...allRouteState, openCreateSubRouteDialog: true });\n } else {\n setAllRouteState({ ...allRouteState, openSnackbar: true, snackbarMessage: SNACKBAR_MESSAGES.NO_ORDERS_PRESENT_FOR_SUB_ROUTE, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n }\n };\n\n const handleCloseCreateSubRouteDialog = () => {\n setAllRouteState({ ...allRouteState, openCreateSubRouteDialog: false });\n };\n\n const assignOrdersToNewSubRoute = async () => {\n if (!isNull(allRouteState?.selectedRoute?.id)) {\n setShowLoader(true);\n const requestPayload = createNewSubRouteRequestPayload(allRouteState);\n const response = await dispatch(createNewSubRoute({ payload: requestPayload }));\n setShowLoader(false);\n if (!isUndefined(response?.payload?.routeId)) {\n setAllRouteState({\n ...allRouteState,\n openSnackbar: true,\n snackbarMessage: `${response?.payload?.routeId} - ${SNACKBAR_MESSAGES.CREATE_ROUTE_SUCCESS_MSG}`,\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n openCreateSubRouteDialog: false,\n selectedConsignmentsForSubRoute: [],\n loading: true,\n });\n getAllPlannedRoutes(allRouteState);\n }\n }\n };\n\n const handleDeleteIconClick = (e: any, routesData: any) => {\n e.stopPropagation();\n setAllRouteState({ ...allRouteState, selectedRouteDeletion: routesData, openDeleteSubRouteDialog: true });\n };\n\n const handleCloseDeleteSubRouteDialog = () => {\n setAllRouteState({ ...allRouteState, openDeleteSubRouteDialog: false, selectedRouteDeletion: {} });\n };\n\n const handleDeleteRoute = async () => {\n const bulkDeletePayload: any = createBulkDeleteRoutePayload([allRouteState.selectedRouteDeletion]);\n const response = await dispatch(bulkDeleteRoute({ payload: bulkDeletePayload }));\n if (!isUndefined(response)) {\n setAllRouteState({\n ...allRouteState,\n openDeleteSubRouteDialog: false,\n selectedRouteDeletion: {},\n openSnackbar: true,\n snackbarMessage: `${SNACKBAR_MESSAGES.DELETE_ROUTE_SUCCESS_MSG}`,\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n loading: true,\n });\n getAllPlannedRoutes(allRouteState);\n }\n };\n\n const isSubRouteObjectNonEmpty = () => {\n return allRouteState?.selectedSubRoute && isObject(allRouteState.selectedSubRoute) && isNonEmptyObject(allRouteState.selectedSubRoute);\n };\n\n const isRouteObjectNonEmpty = () => {\n return allRouteState && allRouteState.selectedRoute && isObject(allRouteState.selectedRoute) && isNonEmptyObject(allRouteState.selectedRoute);\n };\n\n const handleSubRouteUpdateDialogOpen = () => {\n const isRouteInformationValid = validatePlannedSubRouteInfoUtils(allRouteState);\n if (isRouteInformationValid?.errorObj !== undefined && typeof isRouteInformationValid?.errorObj === \"string\") {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: isRouteInformationValid.errorObj, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n setAllRouteState({ ...allRouteState, openSubRouteOrderActionPopUp: true });\n }\n };\n\n const handleSubRouteUpdateDialogClose = () => {\n setAllRouteState({ ...allRouteState, openSubRouteOrderActionPopUp: false });\n };\n\n const updateSubRouteObjectAfterUpdate = (routeData: any) => {\n const successMessage = `Route ${routeData?.routeId || \"\"} ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`;\n let newAllRouteState = updateSubRouteObjectAfterUpdateUtils(allRouteState, routeData, successMessage);\n setAllRouteState(newAllRouteState);\n fetchComponentData(newAllRouteState);\n };\n\n const updateSubRoute = async (updateSubRoutePayload: any) => {\n if (updateSubRoutePayload && isObject(updateSubRoutePayload) && isNonEmptyObject(updateSubRoutePayload)) {\n const { payload } = await dispatch(createAndEditRoute({ payload: updateSubRoutePayload, editMode: false }));\n if (payload !== undefined && payload.message !== undefined) {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: payload.message, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else if (payload !== undefined && payload.route !== undefined && payload.route.routeId !== undefined) {\n updateSubRouteObjectAfterUpdate(payload.route);\n } else {\n setAllRouteState({ ...allRouteState, loading: false });\n }\n } else {\n setAllRouteState({ ...allRouteState, loading: false, selectedSubRoute: {}, openSubRouteOrderActionPopUp: false });\n }\n };\n\n const savePlannedSubRoute = () => {\n setAllRouteState({ ...allRouteState, loading: true });\n const isRouteInformationValid = validatePlannedSubRouteInfoUtils(allRouteState);\n if (isRouteInformationValid?.errorObj !== undefined && typeof isRouteInformationValid.errorObj === \"string\") {\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: isRouteInformationValid.errorObj, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n } else {\n const updateSubRoutePayload = createSubRoutesUpdatePayload(allRouteState?.selectedSubRoute, allRouteState.subDriverValue, allRouteState.subHelperValue, allRouteState.subVehicleValue);\n updateSubRoute(updateSubRoutePayload);\n }\n };\n\n /**\n *\n * View Utils\n */\n\n const renderDialogDetailsContent = (heading: string, subHeading: string) => {\n return (\n \n \n {`${heading}`}\n \n \n {`${subHeading}`}\n \n \n );\n };\n\n const getPublishDialogDetailsContent = () => {\n return (\n \n \n {`${SNACKBAR_MESSAGES.CONFIRM_PUBLISH_ROUTE}`}\n \n \n \n \n {allRouteState.selectedConsignments.length > 1 ? `${allRouteState.selectedConsignments.length} Routes` : `${allRouteState.selectedConsignments.length} Route`}\n \n {`${allRouteState.selectedConsignments.length > 1 ? \" are \" : \" is \"}${SNACKBAR_MESSAGES.DRIVER_NOTIFIED_MESSAGE}`}\n \n \n \n );\n };\n\n const getUpdateDialogDetailsContent = () => {\n const heading: string = `Are you sure you want to update ${allRouteState?.selectedRoute?.routeId}?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const getRemoveRouteDialogDetailsContent = () => {\n const routeId: string = allRouteState?.selectedRouteObj?.routeId.toString() || \"\";\n const heading: string = `Are you sure you want to remove ${allRouteState?.orderDataObj?.consignmentCode || \"\"} from Route ${routeId}?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const getAddToRouteDialogDetailsContent = () => {\n const routeId: string = allRouteState?.selectedRouteObj?.routeId.toString() || \"\";\n const heading: string = `Are you sure you want to add ${allRouteState?.selectedConsignmentToChangeRoute && getAllAreaTitle(allRouteState.selectedConsignmentToChangeRoute)} to Route ${routeId} ?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const getAddToNewDraftedRouteDialogDetailsContent = () => {\n const newRoute: string = allRouteState?.draftedRouteDetails?.routeId || \"\";\n const heading: string = `Are you sure you want to add ${allRouteState?.selectedConsignments?.length || \"\"} order(s) to new Route ${newRoute} ?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_NEW_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n // Sub Route\n const createNewSubRouteRouteDialogDetailsContent = () => {\n const heading: string = `Are you sure you want to add ${allRouteState?.selectedConsignmentsForSubRoute?.length || \"\"} order(s) to new Sub Route ?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_NEW_SUB_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const deleteSubRouteRouteDialogDetailsContent = () => {\n const heading: string = `Are you sure you want to delete sub route ${allRouteState?.selectedRouteDeletion?.routeId || \"\"} ?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_DELETE_SUB_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const updateSubRouteDetailsDetailsContent = () => {\n const heading: string = `Are you sure you want to update ${allRouteState?.selectedSubRoute?.routeId || \"\"} ?`;\n const subHeading: string = `${SNACKBAR_MESSAGES.CONFIRM_CHANGES_TO_SUB_ROUTE}`;\n return renderDialogDetailsContent(heading, subHeading);\n };\n\n const isRouteSaveDisabled = (): boolean => {\n let disable: boolean = true;\n if (allRouteState?.selectedRoute?.routeId && allRouteState?.plannedConsignmentsData && allRouteState?.plannedConsignmentsData[allRouteState?.selectedRoute?.routeId]) {\n const routeData = allRouteState?.plannedConsignmentsData[allRouteState?.selectedRoute?.routeId];\n const currentHelper = routeData.helper ? routeData.helper.id : AppConstants.SELECT_NONE.value;\n const currentDriver = routeData.assignee ? routeData.assignee.id : AppConstants.SELECT_NONE.value;\n const currentVehicle = routeData.assignedVehicle ? routeData.assignedVehicle.id : AppConstants.SELECT_NONE.value;\n if (allRouteState.helperValue !== currentHelper || allRouteState.driverValue !== currentDriver || allRouteState.vehicleValue !== currentVehicle) {\n disable = false;\n }\n }\n return disable;\n };\n\n const showCreateSubRouteButtom = (): boolean => {\n let show: boolean = false;\n if (isNonEmptyObject(allRouteState?.selectedRoute?.routeDataObj)) {\n const arr: any[] = Object.values(allRouteState?.selectedRoute?.routeDataObj)\n .map((route: any) => route?.routeType === ROUTE_TYPE.ROUTE_AREA)\n .filter(Boolean);\n if (arr?.length > 1) {\n show = true;\n }\n }\n return show;\n };\n\n const isCreateSubRouteDisabled = (): boolean => {\n let disable: boolean = true;\n if (allRouteState?.selectedConsignmentsForSubRoute?.length > 0) {\n disable = false;\n }\n return disable;\n };\n\n const isSubRouteSaveDisabled = (): boolean => {\n let disable: boolean = true;\n if (isNonEmptyObject(allRouteState.selectedSubRoute)) {\n const routeData = allRouteState.selectedSubRoute;\n const currentHelper = routeData.helper ? routeData.helper.id : AppConstants.SELECT_NONE.value;\n const currentDriver = routeData.assignee ? routeData.assignee.id : AppConstants.SELECT_NONE.value;\n const currentVehicle = routeData.assignedVehicle ? routeData.assignedVehicle.id : AppConstants.SELECT_NONE.value;\n if (allRouteState.subHelperValue !== currentHelper || allRouteState.subDriverValue !== currentDriver || allRouteState.subVehicleValue !== currentVehicle) {\n disable = false;\n }\n }\n return disable;\n };\n\n const isSelectedRouteParentRoute = () => {\n let show: boolean = false;\n if (allRouteState?.selectedConsignments?.length > 0) {\n const arr: any[] = allRouteState?.selectedConsignments.map((route: any) => route?.routeType === ROUTE_TYPE.PARENT_ROUTE).filter(Boolean);\n if (arr?.length > 0) {\n show = true;\n }\n }\n return show;\n };\n\n const getUpdateDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const getPublishDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const getRemoveRouteDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const getAddConsignmentToRouteDialogActions = () => {\n return (\n \n \n assignOrdersToRoute(allRouteState.selectedConsignments, allRouteState.selectedConsignmentToChangeRoute, allRouteState.selectedRouteObj, \"PLANNED\")}\n >\n {AppConstants.BUTTONS.PROCEED}\n \n \n );\n };\n\n const getRouteDetailsForInfoWindow = (marker: MAP_MARKER_INTERFACE) => {\n return (\n \n {marker?.parentRouteName && }\n \n \n \n \n \n );\n };\n\n const renderSubRouteSelectedFooterAction = () => {\n return (\n <>\n \n handleRoutAreaAccordianToggle(event, allRouteState?.selectedSubRoute?.parentRouteName, allRouteState?.selectedSubRoute?.routeId)}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n \n \n \n \n \n );\n };\n\n const renderRouteSelectedFooterAction = () => {\n return (\n <>\n \n handleRouteAccordianClicked(event, allRouteState?.selectedRoute?.routeId)}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n \n \n \n \n {allRouteState?.selectedRoute?.subRouteCreated && showCreateSubRouteButtom() && (\n \n \n \n )}\n \n );\n };\n\n const getMapContainerFooter = () => {\n return (\n \n \n \n {allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && (\n <>\n {isSubRouteObjectNonEmpty() ? renderSubRouteSelectedFooterAction() : isRouteObjectNonEmpty() && renderRouteSelectedFooterAction()}\n {isConsignmentSelected() ? (\n <>\n \n \n \n \n \n \n ) : (\n <>\n )}\n \n )}\n {allRouteState.tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED &&\n allRouteState.selectedConsignments &&\n isNonEmptyArray(allRouteState.selectedConsignments) &&\n !allRouteState.openAssignRoutePopUp && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n );\n };\n\n const getAddToNewDraftedRouteDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const createNewSubRouteRouteDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const deleteSubRouteDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const updateSubRouteDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n useEffect(() => {\n if (publishedRoutes && Array.isArray(publishedRoutes) && publishedRoutes.length > 0) {\n setAllRouteState({\n ...allRouteState,\n loading: true,\n openSnackbar: false,\n openPublishRouteSnackBar: true,\n snackbarPublishMessage: `\"${publishedRoutes.length} Route(s)\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_SUCCESS_MSG}`,\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n openPublishDialog: false,\n selectedConsignments: [],\n showDriverAssignedPopup: false,\n driverValue: AppConstants.SELECT_NONE.value,\n helperValue: AppConstants.SELECT_NONE.value,\n vehicleValue: AppConstants.SELECT_NONE.value,\n selectedRoute: {},\n });\n fetchConsignmentValueBasedOnTab(allRouteState);\n }\n }, [publishedRoutes]);\n\n useEffect(() => {\n error?.message &&\n setAllRouteState({ ...allRouteState, loading: false, openSnackbar: true, snackbarMessage: error?.message || error || \"\", snackbarType: AppConstants.SNACKBAR.TYPES.ERROR, selectedRoute: {} });\n }, [error]);\n\n useEffect(() => {\n plannedRoutes && designAllRoutesStateObject();\n }, [plannedRoutes]);\n\n useEffect(() => {\n unPlannedRoutes && designAllUnPlannedRoutesStateObject();\n }, [unPlannedRoutes]);\n\n useEffect(() => {\n initializeRoute({ date: allRouteState.selectedDate, slotValue: allRouteState.slotValue, statusValue: allRouteState.statusValue });\n }, [hubId, allRouteState.selectedDate]);\n\n useEffect(() => {\n setAllRouteState({ ...allRouteState, loading: true });\n fetchComponentData(allRouteState);\n getAllPlannedRoutes(allRouteState);\n }, [hubId]);\n\n return (\n
\n {(showLoader || allRouteState.loading) && }\n \n \n \n \n \n \n \n {isSubRouteObjectNonEmpty() ? (\n \n ) : (\n allRouteState?.selectedRoute &&\n isObject(allRouteState.selectedRoute) &&\n isNonEmptyObject(allRouteState.selectedRoute) && (\n \n )\n )}\n\n \n \n {!allRouteState.loading && allRouteState?.consignmentMarkersForMap?.length > 0 ? (\n \n ) : (\n {\"\"}\n )}\n \n \n {getMapContainerFooter()}\n \n \n\n {allRouteState.openAssignRoutePopUp && (\n \n )}\n \n \n \n \n {allRouteState.openSnackbar && (\n \n )}\n {allRouteState.openPublishRouteSnackBar && (\n \n )}\n {allRouteState.openPublishDialog && (\n }\n content={getPublishDialogDetailsContent()}\n actions={getPublishDialogActions()}\n handleClose={handlePublishDialogClose}\n />\n )}\n {allRouteState.openUpdateConfirmDialog && (\n }\n content={getUpdateDialogDetailsContent()}\n actions={getUpdateDialogActions()}\n handleClose={handleUpdateDialogClose}\n />\n )}\n {allRouteState.openRemoveRouteConfirmDialog && (\n }\n content={getRemoveRouteDialogDetailsContent()}\n actions={getRemoveRouteDialogActions()}\n handleClose={handleOrderActionDialogClose}\n />\n )}\n {allRouteState.openAddRouteConfirmDialog && (\n }\n content={getAddToRouteDialogDetailsContent()}\n actions={getAddConsignmentToRouteDialogActions()}\n handleClose={handleOrderActionDialogClose}\n />\n )}\n {allRouteState.openMoveOrderToNewRoute && (\n }\n content={getAddToNewDraftedRouteDialogDetailsContent()}\n actions={getAddToNewDraftedRouteDialogActions()}\n handleClose={handleCloseMoveOrderToNewRoutePopUp}\n />\n )}\n {allRouteState.openCreateSubRouteDialog && (\n }\n content={createNewSubRouteRouteDialogDetailsContent()}\n actions={createNewSubRouteRouteDialogActions()}\n handleClose={handleCloseCreateSubRouteDialog}\n />\n )}\n {allRouteState.openDeleteSubRouteDialog && (\n }\n content={deleteSubRouteRouteDialogDetailsContent()}\n actions={deleteSubRouteDialogActions()}\n handleClose={handleCloseDeleteSubRouteDialog}\n />\n )}\n {allRouteState.openSubRouteOrderActionPopUp && (\n }\n content={updateSubRouteDetailsDetailsContent()}\n actions={updateSubRouteDialogActions()}\n handleClose={handleSubRouteUpdateDialogClose}\n />\n )}\n
\n );\n};\n\nexport default AllRoutes;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles(\n {\n root: {\n flexGrow: 1,\n height: \"100%\"\n },\n container: {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\"\n },\n filterSection: {\n paddingRight: 12,\n flexGrow: 1,\n '& .filterHeading': {\n alignSelf: \"flex-start\",\n '& .headingContainer': {\n cursor: \"pointer\",\n '& .heading': {\n fontSize: 16,\n fontWeight: 600,\n color: theme.palette.primary.main,\n },\n '& .logo': {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n }\n },\n '& .filtersContent': {\n display: \"flex\",\n gap: 8,\n '& .buttons': {\n marginLeft: \"auto\",\n alignSelf: \"center\"\n }\n }\n },\n exceptionsFilterSection: {\n padding: theme.spacing(1, 2, 1, 1),\n flexGrow: 1,\n '& .filterHeading': {\n alignSelf: \"flex-start\",\n '& .headingContainer': {\n cursor: \"pointer\",\n '& .heading': {\n fontSize: 16,\n fontWeight: 600,\n color: theme.palette.primary.main,\n },\n '& .logo': {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n }\n },\n '& .filtersContent': {\n '& .buttons': {\n marginLeft: \"auto\",\n alignSelf: \"center\"\n }\n }\n },\n heading: {\n color: theme.palette.primary.main\n },\n button: {\n margin: theme.spacing(0.5),\n '&.reset-btn': {\n marginRight: theme.spacing(0)\n }\n },\n tableSection: {\n width: '100%',\n height: '100%'\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1\n },\n searchSelect: {\n '& .MuiOutlinedInput-root': {\n minWidth: 160,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: \"8px 0px 0px 8px\",\n color: COLORS.DOVE_GRAY\n },\n '& .MuiOutlinedInput-input': {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5)\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRight: \"none\"\n },\n '& .open .MuiOutlinedInput-notchedOutline': {\n borderBottom: `1px solid ${COLORS.BLACK_INPUT_BORDER}`\n }\n },\n searchTextbox: {\n '& .MuiOutlinedInput-root': {\n minWidth: 300\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderLeft: \"none\",\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n }\n },\n searchSelectPaperProps: {\n maxHeight: 200,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderTop: \"none\",\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n boxShadow: \"none\"\n }\n })\n);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.2107 23.0597L17.1373 18.9964C13.264 21.9157 7.80948 21.4285 4.5148 17.869C1.22012 14.3095 1.1552 8.83372 4.36458 5.19715C7.57396 1.56058 13.0154 0.944248 16.9568 3.77087C20.8983 6.59749 22.0597 11.9491 19.6446 16.1553C19.5553 16.3103 19.4626 16.4614 19.3656 16.6104L18.4302 16.0025C18.5163 15.8709 18.598 15.736 18.6766 15.5996C20.8418 11.8331 19.7683 7.03645 16.2042 4.55224C12.6401 2.06804 7.76826 2.72078 4.98381 6.05559C2.19936 9.3904 2.42639 14.3005 5.50669 17.3641C8.58698 20.4278 13.4982 20.6282 16.8179 17.8257C17.0396 17.6384 17.3677 17.6519 17.5734 17.8567L22 22.2723L21.2107 23.0597Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgSearch = function SvgSearch(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSearch, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/search.44ac574d.svg\";\nexport { ForwardRef as ReactComponent };","import { Grid, IconButton, InputAdornment, SvgIcon } from '@material-ui/core';\nimport React from 'react';\nimport SelectBox, { SelectItemProps } from '../SelectBox';\nimport TextBox from '../TextBox';\nimport { useStyles } from './MultiSearchComponent.styles';\nimport { ReactComponent as searchIcon } from './../../assets/icons/search.svg';\n\nexport interface MultiSearchComponentProps {\n searchTypes: Array;\n searchType: string;\n searchValue: string;\n placeholderText: string;\n handleSearchTypeChange: (value: any) => void;\n handleSearchBoxTextChange: ((event: React.ChangeEvent) => void) | undefined;\n handleSearchBoxKeyDownChange: ((event: React.KeyboardEvent) => void) | undefined;\n handleIconClick: ((event: React.MouseEvent) => void) | undefined;\n};\n\nconst MultiSearchComponent = (props: MultiSearchComponentProps) => {\n const classes = useStyles();\n\n const { searchTypes, searchType, searchValue, placeholderText, handleIconClick, handleSearchTypeChange, handleSearchBoxTextChange, handleSearchBoxKeyDownChange } = props;\n\n return (\n \n \n \n \n \n \n \n \n \n \n )}\n >\n \n \n );\n}\n\nexport default MultiSearchComponent;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const customHeaderUseStyles = makeStyles((theme: Theme) =>\n createStyles(\n {\n root: {\n padding: theme.spacing(1, 0),\n alignItems: \"center\"\n },\n newDashboard: {\n padding: theme.spacing(1, 0),\n alignItems: \"center\"\n },\n total: {\n alignSelf: \"flex-end\",\n '& span': {\n verticalAlign: \"middle\",\n fontSize: 14,\n fontWeight: 400,\n '&.separator': {\n padding: theme.spacing(0, 0.75)\n },\n '&.count': {\n fontWeight: 600,\n fontSize: 20,\n }\n }\n\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2),\n fontFamily: 'Montserrat',\n }\n },\n button: {\n margin: theme.spacing(0.5),\n '&.MuiButton-root': {\n backgroundColor: \"#DD2326\",\n '&.Mui-disabled': {\n backgroundColor: \"#DD2326\",\n opacity: '0.38'\n },\n '&:hover': {\n backgroundColor: \"#DD2326\"\n }\n },\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n customBadge:{\n backgroundColor: COLORS.AMBER,\n color:'white',\n margin:12\n },\n colSettings: {\n float: \"right\",\n marginTop: -3,\n '&.MuiButton-root': {\n padding: \"6px 0px 6px 8px\",\n minWidth: \"40px\",\n }\n },\n buttonGridSyle: {\n display: 'flex',\n justifyContent: 'flex-start',\n },\n downloadIconStyle: {\n cursor: 'pointer',\n margin: theme.spacing('auto', 1),\n padding: theme.spacing(1),\n width: '40px',\n height: '40px',\n border: `1px solid ${COLORS.MYSTIC_GREY}`,\n borderRadius: theme.spacing(1.5),\n fill: COLORS.WHITE\n }\n })\n);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.0625 10.3145L12 14.2509L15.9375 10.3145\",\n stroke: \"#4D4D4D\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 3.75V14.2472\",\n stroke: \"#4D4D4D\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.25 14.25V19.5C20.25 19.6989 20.171 19.8897 20.0303 20.0303C19.8897 20.171 19.6989 20.25 19.5 20.25H4.5C4.30109 20.25 4.11032 20.171 3.96967 20.0303C3.82902 19.8897 3.75 19.6989 3.75 19.5V14.25\",\n stroke: \"#4D4D4D\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgUploadIcon = function SvgUploadIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUploadIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/uploadIcon.e13976f2.svg\";\nexport { ForwardRef as ReactComponent };","import { Button, Grid, Link, MenuList, Paper, Popper, ClickAwayListener, Badge, SvgIcon } from '@material-ui/core';\nimport _ from 'lodash';\nimport React, { useCallback, useEffect, useState, useRef } from 'react';\nimport AppConstants from '../../constants/';\nimport MultiSearchComponent from '../MultiSearchComponent';\nimport { SelectItemProps } from '../SelectBox';\nimport { customHeaderUseStyles } from './CustomHeader.styles';\nimport { ComponentProps } from './DataTable';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { areDatesEqual } from 'utils/helpers.utils';\nimport { ReactComponent as UploadIcon } from '../../assets/icons/uploadIcon.svg'\n\ninterface CustomHeaderComponentProps extends ComponentProps {\n buttons?: Array;\n searchTypes: Array;\n searchType: any;\n activeFilters?: any;\n placeholderText: string;\n searchValue: string;\n getPlaceHolderText: () => void;\n setSearchTypeChange: (value: any) => void;\n searchCallback: (data: any, updatedSearchValue: string, filters?: any) => void;\n btnClickHandler?: (params: any) => void;\n clearAllFilterHandler?: () => void;\n defaultFilter?: any\n showHeader?: any;\n disableFilterCount?: boolean;\n showDataNextToSearchButton?: boolean;\n renderDataForSearchSection?: any;\n}\n\n\nconst CustomHeaderComponent = (props: CustomHeaderComponentProps) => {\n const classes = customHeaderUseStyles();\n const {\n buttons,\n searchTypes,\n activeFilters,\n searchType,\n placeholderText,\n searchValue,\n showHeader,\n getPlaceHolderText,\n setSearchTypeChange,\n searchCallback,\n btnClickHandler,\n clearAllFilterHandler,\n defaultFilter,\n disableFilterCount,\n showDataNextToSearchButton = false,\n renderDataForSearchSection = null\n } = props;\n\n const [searchTextboxValue, setSearchTextboxValue] = useState(searchValue);\n\n const [open, setOpen] = useState(false);\n const anchorRef = useRef(null);\n\n const handleSearchTypeChange = useCallback(\n (value: any) => {\n setSearchTypeChange(value);\n setSearchTextboxValue(\"\");\n },\n [setSearchTypeChange]\n );\n\n const handleSearchBoxTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setSearchTextboxValue(event.target.value);\n },\n []\n );\n\n const search = useCallback(\n () => {\n searchCallback({ [searchType]: searchTextboxValue }, searchTextboxValue, activeFilters)\n },\n [searchTextboxValue, searchType, activeFilters, searchCallback],\n )\n\n const handleKeyDownChange = useCallback(\n (event: React.KeyboardEvent) => {\n if (searchTextboxValue && event.keyCode === 13) {\n search();\n }\n },\n [searchTextboxValue, search]\n )\n\n const handleClose = (event: React.MouseEvent) => {\n if (anchorRef.current && anchorRef.current.contains(event.target as HTMLElement)) {\n return;\n }\n setOpen(false);\n };\n\n function handleListKeyDown(event: React.KeyboardEvent) {\n if (event.key === 'Tab') {\n event.preventDefault();\n setOpen(false);\n }\n }\n\n const handleToggle = () => {\n setOpen((prevOpen) => !prevOpen);\n };\n\n const handleDateRangeChange = (dateCurrent: any, dateDefault:any) => {\n const isStartdateChnged = !areDatesEqual(dateCurrent.startDate, dateDefault?.startDate)\n const isEndDateChanged = !areDatesEqual(dateCurrent.endDate, dateDefault?.endDate);\n return (isStartdateChnged || isEndDateChanged)\n };\n\n\n\n const getActiveFiltersCount = useCallback(() => {\n let activeCount = 0;\n let dateRangeFilterChanged = false;\n if (activeFilters) {\n for (let filterKey in activeFilters) {\n \n const ignoreCount = activeFilters[filterKey]?.ignoreCount;\n if (!ignoreCount) {\n \n const filterValue = activeFilters[filterKey]?.value ?? activeFilters[filterKey];\n \n if (filterKey === 'dateRange') {\n const dateDefault = defaultFilter[filterKey]?.value;\n dateRangeFilterChanged = handleDateRangeChange(filterValue, dateDefault);\n if (dateRangeFilterChanged) {\n activeCount++;\n }\n } else {\n if ((_.isArray(filterValue) && filterValue.length) || (!_.isArray(filterValue) && filterValue)) {\n activeCount++;\n }\n }\n\n }\n }\n }\n return activeCount;\n }, [activeFilters]);\n\n const handleButtonClick = (buttonObj: any) => {\n return btnClickHandler && btnClickHandler(buttonObj)\n }\n\n useEffect(() => {\n getPlaceHolderText();\n }, [searchType, getPlaceHolderText]);\n\n return (\n \n \n \n \n {showDataNextToSearchButton && renderDataForSearchSection()}\n \n \n {AppConstants.BUTTONS.CLEAR_ALL_FILTERS}\n \n {\n buttons && buttons.length ? (\n \n {buttons.map((buttonObj, index) => (\n buttonObj && buttonObj.name !== \"colsettings\" \n ? !buttonObj.hide \n ? buttonObj.name === AppConstants.BUTTONS.DOWNLOAD_ICON \n ? handleButtonClick(buttonObj)} component={UploadIcon} />\n : \n : null\n :\n \n \n \n \n \n \n {buttonObj.childElements && buttonObj.childElements.map((item: any, index: number) => (\n btnClickHandler && btnClickHandler(item)}>Export Data\n ))}\n \n \n \n \n \n ))}\n \n ) : null\n }\n \n \n )\n}\n\nexport default CustomHeaderComponent;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: \"100%\",\n height: \"100%\"\n },\n headerSection: {},\n footerSection: {\n position: \"fixed\",\n bottom: 35,\n left: \"calc(50% - 88px)\"\n },\n noRowsOverlaySection: {\n '&:hover': {\n backgroundColor: \"unset\"\n },\n '& .MuiTableCell-root': {\n border: \"none\"\n },\n '& .overlayContainer': {\n alignItems: \"center\",\n justifyContent: \"center\",\n '& p': {\n fontSize: 16,\n fontWeight: 600\n }\n }\n },\n tableContainer: {\n height: \"calc(100% + 29px)\"\n },\n newTableDashboard: {\n height: \"calc(100% + 70px)\"\n },\n tableDashboardWithTab: {\n height: \"calc(100% - 35px)\"\n }\n })\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n popoverFilter: {\n maxHeight: 268,\n '& .MuiAutocomplete-popper': {\n maxHeight: 176,\n overflowY: \"auto\"\n }\n },\n buttonsContainer: {\n flexWrap: \"nowrap\",\n justifyContent: \"space-between\",\n alignItems: \"center\"\n },\n rootIcon: {\n width: 24,\n height: 24,\n verticalAlign: \"middle\",\n cursor: \"pointer\",\n marginLeft: theme.spacing(1),\n '&.addMargin': {\n marginLeft: theme.spacing(0.5)\n }\n },\n button: {\n width: \"50%\",\n marginRight: theme.spacing(1.5),\n marginTop: theme.spacing(1.5),\n '&:last-child': {\n marginRight: 0\n }\n },\n paperProps: {\n minWidth: 200,\n maxHeight: 300,\n padding: theme.spacing(2),\n marginTop: theme.spacing(1.5),\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: 4,\n boxShadow: \"none\",\n overflow: \"hidden\"\n },\n customBadge:{\n backgroundColor: COLORS.AMBER,\n },\n root: {\n margin: theme.spacing(1),\n '& .MuiOutlinedInput-root': {\n width: 200,\n minWidth: 180\n }\n }\n\n })\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n paddingBottom: theme.spacing(0.75)\n },\n popper: {\n '&.MuiAutocomplete-popperDisablePortal': {\n position: \"relative\"\n },\n '& .MuiAutocomplete-paper': {\n boxShadow: \"none\",\n margin: 0\n },\n '& .MuiAutocomplete-option': {\n minHeight: 'auto',\n padding: theme.spacing(0.75, 0),\n '&:last-child': {\n paddingBottom: 0\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: COLORS.TRANSPARENT,\n },\n '&[data-focus=\"true\"]': {\n backgroundColor: COLORS.TRANSPARENT,\n },\n '& .optionName': {\n paddingLeft: theme.spacing(2.25),\n lineHeight: 1.4\n }\n },\n '& .MuiAutocomplete-listbox': {\n padding: 0,\n maxHeight: \"100%\",\n overflow: \"hidden\"\n }\n }\n })\n)","import React, { useCallback, useEffect, useState } from 'react';\nimport { Checkbox, ListItemText } from '@material-ui/core';\nimport { useStyles } from './AutoComplete.styles';\nimport AppConstants from '../../constants';\nimport { Autocomplete, AutocompleteCloseReason } from '@material-ui/lab';\nimport TextBox from '../TextBox';\nimport { SelectItemProps } from 'common/SelectBox';\n\nexport interface AutoCompleteItemProps {\n name?: string;\n value: any;\n}\n\ninterface AutoCompleteProps {\n handleChange?: (value: any) => void;\n handleClose?: (value: any) => void;\n value: any;\n multiple: boolean;\n id: string;\n items: Array;\n reset?: boolean;\n resetAll?: boolean;\n}\nconst AutoComplete = (props: AutoCompleteProps) => {\n\n const classes = useStyles();\n\n const { handleChange, handleClose, value, multiple, id, items, reset, resetAll } = props;\n const [itemsDdn, setItemsDdn] = useState(items.slice());\n const [ddnValue, setDdnValue] = useState(value || AppConstants.SELECT_NONE);\n\n const handleDdnChange = useCallback(\n (event: any, newValue: any) => {\n let selected = newValue;\n const selectedValues = selected.map((item: AutoCompleteItemProps) => item.value);\n const ddnValues = ddnValue.map((item: AutoCompleteItemProps) => item.value);\n if (multiple) {\n const selectAllIdx = selectedValues.indexOf(AppConstants.SELECT_ALL.value);\n const selectAllPreviousIdx = ddnValues.indexOf(AppConstants.SELECT_ALL.value);\n if (selectAllIdx > -1) {\n if (selected.length < itemsDdn.length) {\n if (selectAllPreviousIdx > -1) {\n selected = selected.filter((item: AutoCompleteItemProps) => item.value !== AppConstants.SELECT_ALL.value);\n } else {\n selected = itemsDdn.slice();\n }\n }\n } else {\n if (selected.length < itemsDdn.length) {\n if (selectAllPreviousIdx > -1) {\n selected = [];\n } else if (selected.length === itemsDdn.length - 1) {\n selected = itemsDdn.slice();\n }\n }\n }\n if (!selected.length) {\n selected = [];\n }\n }\n setDdnValue(selected);\n handleChange && handleChange(selected);\n },\n [ddnValue, itemsDdn, multiple, handleChange],\n );\n\n const onClose = useCallback(\n (event: React.ChangeEvent<{}>, reason: AutocompleteCloseReason) => {\n if (reason === 'toggleInput') {\n return;\n }\n handleClose && handleClose(ddnValue);\n },\n [handleClose, ddnValue],\n );\n\n const handleSelectedValues = useCallback(\n (option: SelectItemProps, selected: SelectItemProps) => {\n let returnValue = false;\n if (ddnValue.findIndex((item: SelectItemProps) => item.value === selected.value) === -1) {\n setDdnValue([...ddnValue, selected]);\n }\n if (selected.value === AppConstants.SELECT_ALL.value) {\n if (ddnValue.findIndex((item: SelectItemProps) => item.value === AppConstants.SELECT_ALL.value) > -1 && ddnValue.findIndex((item: SelectItemProps) => item.value === option.value) === -1) {\n setDdnValue([...ddnValue, option]);\n }\n }\n if (option.value === AppConstants.SELECT_ALL.value) {\n returnValue = option.value === selected.value;\n if (selected.value !== AppConstants.SELECT_ALL.value) {\n if (ddnValue.length === items.length) {\n if (ddnValue.findIndex((item: SelectItemProps) => item.value === AppConstants.SELECT_ALL.value) === -1) {\n setDdnValue([...ddnValue, AppConstants.SELECT_ALL]);\n }\n returnValue = true;\n } else {\n returnValue = false;\n }\n }\n } else {\n returnValue = option.value === selected.value;\n }\n return returnValue;\n },\n [ddnValue, items],\n );\n\n useEffect(() => {\n if (multiple) {\n setItemsDdn([AppConstants.SELECT_ALL, ...items]);\n setDdnValue(value || []);\n } else {\n setDdnValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n if (reset) {\n if (multiple) {\n setDdnValue([]);\n } else {\n setDdnValue(value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n if (resetAll) {\n if (multiple) {\n setDdnValue([]);\n } else {\n setDdnValue(value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resetAll])\n\n return (\n <>\n null}\n noOptionsText={AppConstants.NO_OPTIONS_TEXT}\n getOptionSelected={handleSelectedValues}\n renderOption={(option, { selected }) => (\n \n {\n multiple && \n }\n \n \n )}\n options={itemsDdn}\n getOptionLabel={(option: SelectItemProps) => option.name || ''}\n renderInput={(params: any) => (\n \n )}\n />\n \n );\n}\n\nexport default AutoComplete;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n y: 0.5,\n width: 23,\n height: 23,\n rx: 3.5,\n fill: \"#F2F5F8\",\n stroke: \"#E6E6E6\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.3335 7.3335H18.6668V8.01181H5.3335V7.3335ZM7.3335 11.9902H16.6668V12.6685H7.3335V11.9902ZM14.6668 16.6552H9.3335V17.3335H14.6668V16.6552Z\",\n fill: \"#0E5AA7\"\n});\n\nvar SvgFilterIcon = function SvgFilterIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFilterIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/filter-icon.89b6e389.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport SelectBox from '../SelectBox';\nimport DateRangePickerComponent from '../DateRangeComponent';\nimport { Button, Grid, Popover, SvgIcon, Badge } from '@material-ui/core';\nimport AppConstants from '../../constants';\nimport { useStyles } from './Filter.styles';\nimport AutoComplete from '../AutoComplete';\nimport { RowData, SortDirection } from './DataTable';\nimport { ReactComponent as filterIcon } from './../../assets/icons/filter-icon.svg';\nimport { useClickHandler } from 'utils/helpers.utils';\n\ninterface FilterProps {\n filter: any;\n order: SortDirection;\n orderBy: keyof RowData;\n resetAllFilter: boolean;\n defaultValues: any;\n activeFilterValues: any;\n updateFilter: (filter: any) => void;\n activeFilter?: string\n}\n\nconst Filter = (props: FilterProps) => {\n const classes = useStyles();\n const { filter, order, orderBy, defaultValues, resetAllFilter, activeFilterValues, updateFilter, activeFilter } = props;\n const [filterValue, setFilterValue] = useState(defaultValues[filter.fieldName].value ? defaultValues[filter.fieldName].value : defaultValues[filter.fieldName]);\n const [pendingValue, setPendingValue] = useState([]);\n const [resetFilter, setResetFilter] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const filterPopoverRef = useRef(null);\n const filterRef = useRef(null);\n\n const openFilterPopup = Boolean(anchorEl);\n\n const handlePopoverContentClick = useCallback(\n (event: any) => {\n event.preventDefault();\n },\n [],\n );\n\n const handleFilterPopupOpen = useCallback(\n (event: React.MouseEvent) => {\n setPendingValue(filterValue);\n setAnchorEl(event.currentTarget);\n },\n [filterValue],\n )\n\n const handleFilterPopupClose = useCallback(\n (value: any) => {\n setFilterValue(value);\n setAnchorEl(null);\n },\n [],\n );\n\n const onApplyFilter = useCallback(\n (value: any) => {\n setResetFilter(false);\n updateFilter({\n key: filter.fieldName,\n value: value,\n reset: false,\n fieldName: filter.fieldFullName || ''\n });\n },\n [filter, updateFilter],\n );\n\n const handleFilterChange = useCallback(\n (value: any) => {\n setFilterValue(value);\n },\n []\n );\n\n const handleDateFilterChange = useCallback(\n (value: any) => {\n handleFilterChange(value);\n onApplyFilter(value);\n },\n [handleFilterChange, onApplyFilter],\n )\n\n const onResetFilter = useCallback(\n () => {\n setFilterValue(defaultValues[filter.fieldName].value);\n setResetFilter(true);\n updateFilter({\n key: filter.fieldName,\n value: defaultValues[filter.fieldName].value,\n reset: true,\n fieldName: filter.fieldFullName || ''\n });\n },\n [defaultValues, filter, updateFilter],\n );\n\n const updatePopoverRef = useCallback(\n (element: Element) => {\n filterPopoverRef.current = element;\n return filterRef.current ? filterRef.current : element;\n },\n [],\n );\n\n useEffect(() => {\n if (resetAllFilter && filter.type === 'dateRange') {\n setFilterValue(defaultValues[filter.fieldName].value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resetAllFilter]);\n\n useEffect(() => {\n setFilterValue(activeFilterValues[filter.fieldName].value ? activeFilterValues[filter.fieldName].value : activeFilterValues[filter.fieldName]);\n setPendingValue(activeFilterValues[filter.fieldName] && activeFilterValues[filter.fieldName].value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeFilterValues]);\n\n useClickHandler(filterPopoverRef, handlePopoverContentClick);\n\n const getFilter = () => {\n switch (filter.type) {\n case 'selectBox':\n return (\n \n );\n case 'autocomplete':\n return (\n \n );\n case 'dateRange':\n return (\n \n )\n default: return null;\n }\n }\n return (\n <>\n {\n filter.type === 'dateRange' ?\n getFilter()\n :\n <>\n \n \n \n \n \n {\n getFilter()\n }\n \n \n \n \n \n \n \n }\n \n );\n}\n\nexport default Filter;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& .filterActive': {\n backgroundColor: theme.palette.secondary.main\n }\n }\n })\n);\n","import { Checkbox, TableCell, TableHead, TableHeadProps, TableRow, TableSortLabel } from '@material-ui/core';\nimport _ from 'lodash';\nimport React, { useCallback } from 'react';\nimport { ColDef, SortDirection, RowData } from '.';\nimport Filter from '../Filter';\nimport { useStyles } from './DataTableHeader.styles';\nexport interface DataTableHeaderProps extends TableHeadProps {\n checkboxSelection: boolean;\n order: SortDirection;\n orderBy: keyof RowData;\n columns: ColDef[];\n rowCount: number;\n selected: number;\n headerHeight: number;\n defaultFilterValues?: any;\n resetAllFilterFlag: boolean;\n activeFilters: any;\n onSort: (event: React.MouseEvent, property: string) => void;\n onUpdateFilter: ((filter: any) => void) | undefined;\n onSelectAll: ((event: React.ChangeEvent) => void) | undefined;\n}\n\nconst DataTableHeader = (props: DataTableHeaderProps) => {\n const classes = useStyles();\n const { checkboxSelection, order, orderBy, selected, rowCount, columns, headerHeight, defaultFilterValues, resetAllFilterFlag, activeFilters, onSelectAll, onSort, onUpdateFilter, ...rest } = props;\n\n const createSortHandler = (property: string) => (\n event: React.MouseEvent\n ) => {\n onSort(event, property);\n };\n\n const updateFilter = useCallback(\n (filter: any) => {\n onUpdateFilter && onUpdateFilter(filter);\n },\n [onUpdateFilter]\n );\n\n const getActiveFilterClass = useCallback(\n (col: ColDef) => {\n let className = '';\n if (col.filter) {\n const filterValue = activeFilters[col.filterObj.fieldName] && activeFilters[col.filterObj.fieldName].value ? activeFilters[col.filterObj.fieldName].value : activeFilters[col.filterObj.fieldName];\n if (_.isArray(filterValue)) {\n className = filterValue.length ? 'filterActive' : '';\n } else if (filterValue) {\n className = 'filterActive';\n }\n }\n return className;\n },\n [activeFilters],\n )\n\n return (\n \n \n {\n checkboxSelection &&\n \n 0 && selected < rowCount}\n checked={rowCount > 0 && selected === rowCount}\n size=\"small\"\n color=\"primary\"\n onChange={onSelectAll}\n />\n \n }\n {columns.map((col: ColDef, index: number) => (\n !col.hide &&\n \n {/* Commenting for now, To be developed properly later */}\n {/* */}\n {\n col.renderHeader\n ? \n : col.headerName\n }\n {/* */}\n {\n col.filter &&\n \n }\n \n ))}\n \n \n )\n}\n\nexport default DataTableHeader;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n // width: \"100%\"\n },\n popperStyle: {\n fontSize: \"10px\",\n fontWeight: 500,\n color: COLORS.WHITE,\n width: \"229px\",\n boxShadow: \"0px 4px 30px rgba(0, 0, 0, 0.15)\",\n borderRadius: \"4px\"\n },\n arrowStyle: {\n color: COLORS.WHITE\n },\n tooltipStyle: {\n background: COLORS.WHITE,\n color: COLORS.BLACK\n },\n tooltipTitleSection: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"12px\"\n },\n tooltipHeading: {\n fontSize: \"14px\",\n fontWeight: 700\n },\n tooltipData: {\n fontSize: \"12px\",\n fontWeight: 400\n },\n customIcon:{\n padding: \"unset\",\n }\n })\n);\n","import { TableCell, TableCellProps, Tooltip, Grid, Typography, IconButton } from '@material-ui/core';\nimport React, { useCallback } from 'react';\nimport { ColDef, RowData } from '.';\nimport { useStyles } from './DataTableCellElement.styles';\nimport verifiedIcon from './../../../assets/icons/verified-icon.svg';\nimport unverifiedIcon from './../../../assets/icons/unverified-icon.svg';\nimport pendingIcon from './../../../assets/icons/pending-icon.svg';\nimport { ADDRESS_STATUS } from './../../../constants/CommonConstants';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';\nexport interface DataTableCellElementProps extends TableCellProps {\n column: ColDef;\n value: any;\n rowHeight: number;\n rowData: RowData;\n cellClickCallback?: (column: ColDef, value: any, rowData: RowData) => void;\n setOpen?:(param:boolean)=>void;\n open?: boolean\n subElement?: boolean\n}\n\nconst DataTableCellElement = (props: DataTableCellElementProps) => {\n const classes = useStyles();\n const {\n column,\n value,\n rowHeight,\n rowData,\n cellClickCallback,\n setOpen,\n open,\n subElement,\n ...rest\n } = props;\n const handleCellClick = useCallback(\n (e:any) => {\n if (!window.getSelection()?.toString()) {\n cellClickCallback && cellClickCallback(column, value, rowData);\n }\n },\n [cellClickCallback, column, value, rowData],\n );\n\n const handleIconClick = useCallback(\n (e:any) => {\n setOpen && setOpen(!open)\n e.stopPropagation();\n },\n [open],\n );\n\n const addressStatus = (status: any) => {\n if (status === ADDRESS_STATUS.VERIFIED) {\n return \"verified-icon\"\n } else {\n if (status === ADDRESS_STATUS.UNVERIFIED) {\n return \"unverified-icon\"\n } else {\n return \"pending-icon\"\n }\n }\n }\n\n const renderTooltip = (column:any) => {\n return (\n \n {column?.field === \"deliveryArea\" &&\n \n \n \n Customer Address\n \n \n \n {addressStatus(rowData.addressStatus)}\n \n \n }\n \n {rowData[column?.tooltipDataKey]}\n \n \n );\n }\n\n return (\n !column.hide\n ? column && column?.tooltip ?\n \n \n {\n column.renderCell\n ?\n \n : value\n }\n \n \n : handleCellClick(e)}\n >\n {subElement && column.renderSubElementCell ? :\n column.renderCell\n ?\n \n : value\n }\n {column.showArrowIcon && rowData?.subRoutes && \n {open ? : }\n }\n \n : <>\n )\n}\n\nexport default DataTableCellElement;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& .MuiCheckbox-root': {\n '&.Mui-disabled': {\n background: 'rgba(206,217,224,.5)',\n },\n }\n },\n evenRoot: {\n '& .MuiCheckbox-root': {\n '&.Mui-disabled': {\n background: 'rgba(206,217,224,.5)',\n },\n }\n //backgroundColor: \"#F4F4F4\"\n }\n \n })\n);\n","import { Checkbox, TableCell, TableRow, TableRowProps, IconButton, Collapse } from '@material-ui/core';\nimport React, { useCallback } from 'react';\nimport { ColDef, RowData, RowId } from '.';\nimport DataTableCellElement from './DataTableCellElement';\nimport { useStyles } from './DataTableRowElement.styles';\n\nexport interface DataTableRowElementProps extends TableRowProps {\n rowData: RowData;\n columns: ColDef[];\n checkboxSelection: boolean;\n rowHeight: number;\n index: number;\n disableSelectionOnClick?: boolean;\n isItemSelected?: boolean;\n rowClickCallback?: (rowData: RowData) => void;\n rowSelectionCallback?: (rowId: RowId) => void;\n cellClickCallback?: (column: ColDef, value: any, rowData: RowData) => void;\n isSelected?: (rowId: RowId) => boolean;\n subElement?: boolean;\n setOpen?:(param:boolean)=>void;\n open?: boolean\n}\n\nconst DataTableRowElement = (props: DataTableRowElementProps) => {\n const classes = useStyles();\n const {\n rowData,\n columns,\n rowHeight,\n checkboxSelection,\n index,\n disableSelectionOnClick,\n isItemSelected,\n isSelected,\n rowClickCallback,\n rowSelectionCallback,\n cellClickCallback,\n subElement,\n setOpen,\n open,\n ...rest\n } = props;\n\n const handleRowSelection = useCallback(\n () => {\n rowSelectionCallback && rowSelectionCallback(rowData.id);\n },\n [rowData, rowSelectionCallback],\n )\n\n const handleRowClick = useCallback(\n (event: React.MouseEvent) => {\n if (event && event.target && event.target instanceof HTMLInputElement) {\n return;\n }\n if (checkboxSelection) {\n if (disableSelectionOnClick) {\n rowClickCallback && rowClickCallback(rowData);\n return;\n }\n handleRowSelection();\n } else {\n rowClickCallback && rowClickCallback(rowData);\n }\n },\n [checkboxSelection, disableSelectionOnClick, handleRowSelection, rowClickCallback, rowData],\n );\n\n return (\n <>\n \n \n {checkboxSelection && (\n \n \n \n )}\n \n {columns.map((col: ColDef, index: number) => (\n \n ))}\n \n \n );\n}\n\nexport default DataTableRowElement;","import { TableRowProps } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ColDef, RowData, RowId } from \".\";\nimport DataTableRowElement from \"./DataTableRowElement\";\n\nexport interface DataTableRowElementProps extends TableRowProps {\n rowData: RowData;\n columns: ColDef[];\n checkboxSelection: boolean;\n rowHeight: number;\n index: number;\n disableSelectionOnClick?: boolean;\n isItemSelected?: boolean;\n rowClickCallback?: (rowData: RowData) => void;\n rowSelectionCallback?: (rowId: RowId) => void;\n cellClickCallback?: (column: ColDef, value: any, rowData: RowData) => void;\n isSelected?: (rowId: RowId) => boolean;\n}\n\nconst DataTableRowWrapper = (props: DataTableRowElementProps) => {\n const { rowData } = props;\n const [open, setOpen] = React.useState(true);\n\n return (\n <>\n \n {open &&\n rowData?.subRoutes &&\n rowData?.subRoutes.map((data: RowData, index: number) => (\n \n ))}\n \n );\n};\n\nexport default DataTableRowWrapper;\n","import { Grid, Table, TableBody, TableCell, TableContainer, TableProps, TableRow, Typography } from '@material-ui/core';\nimport React, { ElementType, ReactElement, useCallback, useEffect, useRef, useState } from 'react';\nimport Loader from '../../Loader';\nimport { useStyles } from './DataTable.styles';\nimport DataTableHeader from './DataTableHeader';\nimport DataTableRowWrapper from './DataTableRowWrapper';\n\ndeclare type NativeColTypes = 'string' | 'number';\n\ndeclare type CellValue = any;\n\nexport type RowId = string | number;\n\nexport type SortDirection = 'asc' | 'desc' | 'default';\n\nexport type ColType = NativeColTypes | string;\n\nexport interface CellParams {\n field: string;\n value: CellValue;\n colDef?: ColDef;\n rowData?: RowData;\n}\n\nexport interface ColParams {\n field: string;\n colDef: any;\n colIndex: number;\n}\n\nexport interface ColDef {\n field: string;\n headerName: string;\n tooltip?:boolean;\n tooltipDataKey?: string;\n filter?: boolean;\n filterObj: any;\n hide?: boolean;\n width?: number;\n type?: ColType;\n showArrowIcon?: boolean;\n renderCell?: (params: CellParams) => ReactElement;\n renderSubElementCell?: (params: CellParams) => ReactElement;\n renderHeader?: (params: ColParams) => ReactElement;\n}\n\nexport interface RowData extends ObjectWithId {\n [key: string]: any;\n}\n\nexport interface ComponentProps {\n rows: RowData[];\n columns: ColDef[];\n options: DataTableOptions;\n}\n\nexport interface SortModel {\n field: string;\n direction: SortDirection;\n}\n\nexport interface RowParams {\n data: RowData;\n}\n\nexport interface SelectionChangeParams {\n rows: RowData[];\n}\n\ninterface ObjectWithId {\n id: RowId;\n}\n\ninterface DataTableComponentOverridesProp {\n header?: ElementType;\n footer?: ElementType;\n noRowsOverlay?: ElementType;\n}\n\ninterface DataTableOptions {\n rowCount: number;\n selected?: number;\n}\n\nexport interface DataTableProps extends TableProps {\n rows: RowData[];\n columns: ColDef[];\n ariaLabel?: string;\n loading?: boolean | undefined;\n sortModel?: SortModel;\n rowHeight?: number;\n headerHeight?: number;\n checkboxSelection: boolean | false;\n defaultFilter: any;\n activeFilters: any;\n disableSelectionOnClick?: boolean;\n resetAllFilterFlag: boolean;\n resetSelection: boolean;\n isTabChange?: boolean;\n showHeader?: boolean;\n onRowClick?: ((params: RowParams) => void) | undefined;\n onCellClick?: ((params: CellParams) => void) | undefined;\n onSelectionChange?: ((params: SelectionChangeParams) => void) | undefined;\n onSort?: ((params: SortModel) => void) | undefined;\n onUpdateFilter: ((filter: any) => void) | undefined;\n hideFooter?: boolean;\n rowCount?: number;\n components?: DataTableComponentOverridesProp;\n tabValue?: string;\n scrollToTopOnReset?: boolean;\n deSelectCheckbox?: boolean;\n defaultSelectAll?: boolean;\n disableFilterCount?: boolean;\n reselctSelectedCheckbox?: boolean;\n}\n\nconst DataTable = (props: DataTableProps) => {\n const classes = useStyles();\n const tableRef = useRef(null);\n const {\n rows,\n columns,\n components,\n sortModel,\n rowCount,\n rowHeight,\n defaultFilter,\n activeFilters,\n loading,\n ariaLabel,\n checkboxSelection,\n disableSelectionOnClick,\n resetAllFilterFlag,\n resetSelection,\n scrollToTopOnReset,\n headerHeight,\n isTabChange,\n showHeader,\n onRowClick,\n onCellClick,\n onSelectionChange,\n onSort,\n onUpdateFilter,\n tabValue,\n deSelectCheckbox,\n defaultSelectAll,\n disableFilterCount,\n reselctSelectedCheckbox,\n ...rest\n } = props;\n\n const [selected, setSelected] = useState([]);\n const [order, setOrder] = useState(sortModel ? sortModel.direction : 'asc');\n const [orderBy, setOrderBy] = useState(sortModel ? sortModel.field : 'id');\n\n const isSelected = (id: RowId) => selected.indexOf(id) !== -1;\n\n const handleSort = (event: React.MouseEvent, property: keyof RowData) => {\n const isAsc = order === 'asc';\n const isDefault = order === 'default';\n const newOrder = orderBy === property ? (isAsc ? 'desc' : isDefault ? 'asc' : 'default') : 'asc';\n setOrder(newOrder);\n setOrderBy(property);\n onSort && onSort({field: property as string,direction: newOrder});\n };\n\n const handleSelectAll = useCallback(\n (event: React.ChangeEvent) => {\n if (event.target.checked) {\n const newSelectedRows: RowId[] = rows.map((row: RowData) => row.id);\n setSelected(newSelectedRows);\n return;\n }\n setSelected([]);\n },\n [rows]\n );\n\n useEffect(() => {\n if(checkboxSelection && defaultSelectAll) {\n const newSelectedRows: RowId[] = rows.map((row: RowData) => row.id);\n setSelected(newSelectedRows);\n return;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkboxSelection, defaultSelectAll, rows]);\n\n const handleRowClick = (rowData: RowData) => {\n onRowClick && onRowClick({ data: rowData });\n }\n\n const handleCellClick = (column: ColDef, value: any, rowData: RowData) => {\n onCellClick && onCellClick({ field: column.field, value: value, colDef: column, rowData: rowData });\n }\n\n const handleSelectionChange = useCallback(\n (rowId: RowId) => {\n const selectedIndex = selected.indexOf(rowId);\n let newSelected: RowId[] = [];\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selected, rowId);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selected.slice(1));\n } else if (selectedIndex === selected.length - 1) {\n newSelected = newSelected.concat(selected.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));\n }\n setSelected(newSelected);\n },\n [selected]\n );\n\n useEffect(() => {\n onSelectionChange && onSelectionChange({rows: rows.filter((row: RowData) => selected.indexOf(row.id) !== -1)});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n useEffect(() => {\n if (resetSelection) {\n if (tableRef.current) {\n tableRef.current.scrollTop = 0;\n }\n setSelected([]);\n }\n if(scrollToTopOnReset){\n if (tableRef.current) {\n tableRef.current.scrollTop = 0;\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rows, resetSelection]);\n\n useEffect(() => {\n if(deSelectCheckbox) {\n setSelected([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deSelectCheckbox]);\n \n\n useEffect(() => {\n if (isTabChange) {\n if (tableRef.current) {\n tableRef.current.scrollTop = 0;\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rows, isTabChange]);\n\n useEffect(() => {\n if(reselctSelectedCheckbox) { \n setSelected([]);\n }\n }, [reselctSelectedCheckbox]);\n\n return (\n \n {\n components && components.header &&\n \n \n \n }\n \n {loading && }\n \n \n \n {\n rows.length ?\n rows.map((row: RowData, index: number) => (\n \n )) :\n \n \n \n {\n components?.noRowsOverlay ?\n \n :\n No Data Available\n }\n \n \n \n }\n \n \n {\n components?.footer &&\n \n \n \n }\n \n \n );\n}\n\nexport default DataTable;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const customFooterUseStyles = makeStyles((theme: Theme) =>\n createStyles(\n {\n root: {\n alignItems: \"center\"\n },\n countSection: {\n margin: 'auto',\n width: 200,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n }\n })\n);","import { Grid, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { customFooterUseStyles } from './CustomFooter.styles';\nimport { ComponentProps } from './DataTable';\n\ninterface CustomFooterComponentProps extends ComponentProps { }\n\nconst CustomFooterComponent = (props: CustomFooterComponentProps) => {\n const classes = customFooterUseStyles();\n const { rows, options } = props;\n\n return (\n \n \n \n \n {rows.length}/{options.rowCount}\n \n \n \n \n )\n}\n\nexport default CustomFooterComponent;","import { debounce, Grid } from '@material-ui/core';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useStyles } from './GridWrapper.styles';\nimport { SelectItemProps } from '../SelectBox';\nimport CustomHeaderComponent from './CustomHeader';\nimport DataTable, { CellParams, ComponentProps, RowParams, SelectionChangeParams, SortModel } from './DataTable';\nimport CustomFooterComponent from './CustomFooter';\nimport AppConstants from \"../../constants\";\n\nimport { isUndefined } from '../../utils/helpers.utils';\n\ninterface GridWrapperProps {\n headerData: any;\n rowData: Array;\n loading: boolean;\n showHeader?: boolean;\n searchTypes: Array;\n defaultFilter: any;\n activeFilter?: any;\n loadMore: any;\n checkboxSelection: boolean;\n headerButtons?: Array;\n title: string;\n disableSelectionOnClick?: boolean;\n sortModel?: SortModel;\n searchValue?: string;\n isTabChange?: boolean;\n onRowClick?: ((params: RowParams) => void) | undefined;\n onCellClick?: ((params: CellParams) => void) | undefined;\n onSelectionChange?: (params: SelectionChangeParams) => void | undefined;\n onSort?: ((params: SortModel) => void) | undefined;\n headerBtnClick?: (params: any) => void | undefined;\n searchCallback: (data: any, updatedSearchValue: string, filters?: any) => void;\n filterGrid: (filters: any, isLoadMore?: boolean) => void;\n fetchAllFilters?: () => void;\n resetFilter?: () => void;\n tabValue ?: string;\n exceptions?: boolean | undefined;\n filterForm?: Array; \n handleFilterChange?: (fieldName: string, value: any) => void;\n defaultFormFilter?: any;\n callOnActionOnly?: boolean;\n scrollToTopOnReset?: boolean;\n restFilterForm?:(params:boolean)=>void;\n deSelectCheckbox?: boolean;\n defaultSelectAll?: boolean;\n CustomFiltersApplied?: boolean;\n disableFilterCount?:boolean;\n reselctSelectedCheckbox?:boolean;\n // Store Page\n showDataNextToSearchButton?: boolean;\n renderDataForSearchSection?: any;\n}\n\nconst switchCasesCallbacks: any = {};\n\nconst GridWrapper = (props: GridWrapperProps) => {\n const classes = useStyles();\n const filterRef = useRef(null);\n\n const {\n headerData,\n rowData,\n loading,\n searchTypes,\n searchValue,\n checkboxSelection,\n defaultFilter,\n activeFilter,\n loadMore,\n headerButtons,\n disableSelectionOnClick,\n exceptions,\n sortModel,\n isTabChange,\n showHeader,\n onSelectionChange,\n onSort,\n headerBtnClick,\n onRowClick,\n onCellClick,\n searchCallback,\n fetchAllFilters,\n filterGrid,\n tabValue,\n filterForm,\n handleFilterChange,\n defaultFormFilter,\n callOnActionOnly,\n scrollToTopOnReset,\n restFilterForm,\n deSelectCheckbox,\n defaultSelectAll,\n disableFilterCount,\n CustomFiltersApplied,\n reselctSelectedCheckbox,\n showDataNextToSearchButton = false,\n renderDataForSearchSection = null\n } = props;\n\n const [resetCustomFilter ,setResetCustomFilter]= useState(false);\n const [filters, setFilters] = useState(activeFilter ? activeFilter : defaultFilter);\n const [resetAllFilterFlag, setResetAllFilterFlag] = useState(false);\n const [resetSelection, setResetSelection] = useState(false);\n const [searchType, setSearchType] = useState(searchTypes.length ? searchTypes[0].value : \"\");\n const [placeholderText, setPlaceholderText] = useState(\"\");\n\n const createPlaceHoldersSwitch = () => {\n if (searchTypes.length) {\n const addCase = (_case: any, fn: any) => {\n switchCasesCallbacks[_case] = switchCasesCallbacks[_case] || [];\n switchCasesCallbacks[_case].push(fn);\n }\n searchTypes.forEach(type => {\n addCase(type.value, () => {\n if (type.name === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.CRATE_ID) {\n setPlaceholderText(AppConstants.TODAY_DATA_TEXT);\n } else {\n setPlaceholderText(type.name || \"\");\n }\n });\n });\n }\n }\n const getPlaceHolderText = useCallback(\n () => {\n if (switchCasesCallbacks[searchType]) {\n switchCasesCallbacks[searchType].forEach((fn: any) => {\n fn();\n })\n }\n },\n [searchType],\n );\n\n const handleSearchTypeChange = (value: any) => {\n setSearchType(value);\n }\n\n const updateFilter = useCallback(\n (filter: any) => {\n setResetAllFilterFlag(false);\n let newFilters = { ...activeFilter, [filter.key]: filter };\n // Delve\n // LMC 2337\n // If Delve Date range is chaged then isDelve flag needs to changed\n if (!isUndefined(activeFilter) && !isUndefined(activeFilter.isDelve)) { \n newFilters.isDelve = true;\n if(filter.key === 'dateRange' || filter.key === \"deliverySlot\"){\n newFilters.isDelve = false;\n newFilters.delveDateRange = {...defaultFilter.delveDateRange}\n }else{\n newFilters.dateRange = {...defaultFilter.dateRange}\n }\n }\n \n if (filter.reset) {\n if (filter.key === 'dateRange') {\n newFilters.reset = true;\n }\n } else {\n newFilters.reset = false;\n }\n searchCallback({}, \"\");\n setFilters(newFilters);\n },\n [activeFilter, searchCallback]\n );\n\n const filterGridData = useCallback((isLoadMore?: boolean) => {\n if (isLoadMore) {\n setResetSelection(false);\n } else {\n setResetSelection(true);\n }\n filterGrid(isLoadMore ? activeFilter : filters, isLoadMore);\n }, [filters, activeFilter, filterGrid]);\n\n const handleHeaderBtnClick = useCallback(\n (buttonObj: any) => {\n let buttonParams: any = {type: buttonObj.name}\n if (buttonObj.name === 'excel') {\n buttonParams.params = filters;\n } \n headerBtnClick && headerBtnClick(buttonParams);\n },\n [filters, headerBtnClick]\n );\n\n const handleClearAllFilters = useCallback(\n () => {\n setResetAllFilterFlag(true);\n const resetFilters = { ...defaultFilter };\n // Delve\n // LMC 2337\n // If Delve Date range is chaged then isDelve flag needs to changed\n if(!isUndefined(resetFilters) && !isUndefined(resetFilters.isDelve)){\n resetFilters.isDelve = true;\n }\n if(callOnActionOnly){\n restFilterForm && restFilterForm(true)\n setResetCustomFilter(true)\n }\n searchCallback({}, \"\");\n setFilters(resetFilters);\n },\n [defaultFilter, searchCallback],\n )\n\n const loadMoreCallback = debounce((event: any) => {\n const target = event.target;\n if (target) {\n if (loading || loadMore.disabled) return;\n if (target.offsetHeight + target.scrollTop + 1 >= target.scrollHeight) {\n \n filterGridData(true);\n }\n } else {\n return;\n }\n }, 100);\n\n const enableLoadMore = useCallback(\n (disable?: boolean) => {\n const element = document.querySelector('.data-table-scrollable-area');\n if (element) {\n if (!disable) {\n element.addEventListener('scroll', loadMoreCallback);\n } else {\n element.removeEventListener('scroll', loadMoreCallback);\n }\n }\n },\n [loadMoreCallback]\n );\n\n useEffect(() => {\n fetchAllFilters && fetchAllFilters();\n createPlaceHoldersSwitch();\n getPlaceHolderText();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n enableLoadMore();\n return () => {\n enableLoadMore(true);\n }\n }, [loadMore, enableLoadMore])\n\n useEffect(() => {\n !callOnActionOnly && filterGridData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters, callOnActionOnly]);\n\n useEffect(() => {\n if(resetCustomFilter){\n filterGridData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters, resetCustomFilter]);\n\n useEffect(() => {\n // reset select all to initial state\n if(CustomFiltersApplied){\n setResetSelection(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [CustomFiltersApplied]);\n\n return (\n
\n \n \n (),\n footer: (props: ComponentProps) => ()\n }}\n tabValue={tabValue}\n />\n \n \n
\n );\n}\n\nexport default GridWrapper;","\nexport const persistState = {\n add(key:string, value: object) {\n sessionStorage.setItem(key, JSON.stringify(value));\n },\n remove(key:string) {\n sessionStorage.removeItem(key);\n },\n load(key:string ) {\n const stored = sessionStorage.getItem(key);\n return stored == null ? undefined : JSON.parse(stored);\n },\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n rx: 12,\n fill: \"#F4F4F4\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 17.4999H7C6.86739 17.4999 6.74021 17.4472 6.64645 17.3535C6.55268 17.2597 6.5 17.1325 6.5 16.9999V14.207C6.5 14.1414 6.51293 14.0764 6.53806 14.0157C6.56319 13.955 6.60002 13.8999 6.64645 13.8535L14.1464 6.35348C14.2402 6.25971 14.3674 6.20703 14.5 6.20703C14.6326 6.20703 14.7598 6.25971 14.8536 6.35348L17.6464 9.14637C17.7402 9.24014 17.7929 9.36732 17.7929 9.49992C17.7929 9.63253 17.7402 9.75971 17.6464 9.85348L10 17.4999Z\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 8L16 11.5\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5004 17.5004H10.0004L6.53223 14.0322\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgEditIconNew = function SvgEditIconNew(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEditIconNew, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/edit-icon-new.4033633d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n rx: 12,\n fill: \"#F4F4F4\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0107 10.2324H18.0107V7.23242\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8891 15.8891C15.1199 16.6583 14.1399 17.1821 13.073 17.3943C12.0061 17.6065 10.9002 17.4976 9.89524 17.0813C8.89025 16.6651 8.03126 15.9601 7.42692 15.0556C6.82257 14.1512 6.5 13.0878 6.5 12C6.5 10.9122 6.82257 9.84884 7.42692 8.94437C8.03126 8.0399 8.89025 7.33495 9.89524 6.91867C10.9002 6.50238 12.0061 6.39346 13.073 6.60568C14.1399 6.8179 15.1199 7.34173 15.8891 8.11092L18.0104 10.2322\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgRefreshIconNew = function SvgRefreshIconNew(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRefreshIconNew, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/refresh-icon-new.b8a8edbc.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n rx: 12,\n fill: \"#F4F4F4\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0107 10.2324H18.0107V7.23242\",\n stroke: \"#747474\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8891 15.8891C15.1199 16.6583 14.1399 17.1821 13.073 17.3943C12.0061 17.6065 10.9002 17.4976 9.89524 17.0813C8.89025 16.6651 8.03126 15.9601 7.42692 15.0556C6.82257 14.1512 6.5 13.0878 6.5 12C6.5 10.9122 6.82257 9.84884 7.42692 8.94437C8.03126 8.0399 8.89025 7.33495 9.89524 6.91867C10.9002 6.50238 12.0061 6.39346 13.073 6.60568C14.1399 6.8179 15.1199 7.34173 15.8891 8.11092L18.0104 10.2322\",\n stroke: \"#747474\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgRefreshIconGrey = function SvgRefreshIconGrey(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRefreshIconGrey, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/refresh-icon-grey.ad9b541a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9,\n cy: 9,\n r: 9,\n fill: \"#0A437C\",\n fillOpacity: 0.4\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8.99979,\n cy: 9.00003,\n r: 5.14286,\n fill: \"#0A437C\"\n});\n\nvar SvgActiveTimelineDot = function SvgActiveTimelineDot(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgActiveTimelineDot, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/active-timeline-dot.25b53ed6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9,\n cy: 9,\n r: 9,\n fill: \"#F34041\",\n fillOpacity: 0.4\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9.00028,\n cy: 9.00003,\n r: 5.14286,\n fill: \"#F34041\"\n});\n\nvar SvgTimelineDotError = function SvgTimelineDotError(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTimelineDotError, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/timeline-dot-error.07563691.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.4 14.58C1.17909 14.58 1 14.4009 1 14.18V12.9111C1 12.4693 1.35817 12.1111 1.8 12.1111H14.2727C14.7145 12.1111 15.0727 12.4693 15.0727 12.9111V14.18C15.0727 14.4009 14.8936 14.58 14.6727 14.58H13.1142C12.9722 14.58 12.857 14.4648 12.857 14.3228C12.857 14.1808 12.7419 14.0656 12.5998 14.0656H10.0099C9.86784 14.0656 9.7527 14.1808 9.7527 14.3228C9.7527 14.4648 9.63756 14.58 9.49553 14.58H6.71169C6.56966 14.58 6.45451 14.4648 6.45451 14.3228C6.45451 14.1808 6.33937 14.0656 6.19734 14.0656H3.54011C3.39808 14.0656 3.28294 14.1808 3.28294 14.3228C3.28294 14.4648 3.16779 14.58 3.02576 14.58H1.4ZM14.1029 12.7283C14.3239 12.7283 14.5029 12.9074 14.5029 13.1283V13.5628C14.5029 13.7837 14.3239 13.9628 14.1029 13.9628H13.6839C13.5419 13.9628 13.4268 13.8476 13.4268 13.7056C13.4268 13.5635 13.3116 13.4484 13.1696 13.4484H9.44014C9.2981 13.4484 9.18296 13.5635 9.18296 13.7056C9.18296 13.8476 9.06782 13.9628 8.92578 13.9628H7.28143C7.1394 13.9628 7.02426 13.8476 7.02426 13.7056C7.02426 13.5635 6.90912 13.4484 6.76708 13.4484H2.97037C2.82833 13.4484 2.71319 13.5635 2.71319 13.7056C2.71319 13.8476 2.59805 13.9628 2.45601 13.9628H1.96974C1.74883 13.9628 1.56974 13.7837 1.56974 13.5628V13.1283C1.56974 12.9074 1.74883 12.7283 1.96974 12.7283H14.1029Z\",\n fill: \"#666666\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.75276 1.61722C6.97367 1.61722 7.15276 1.79631 7.15276 2.01722V4.92056C7.15276 5.14148 6.97367 5.32056 6.75276 5.32056H3.05178C2.83086 5.32056 2.65178 5.14148 2.65178 4.92056V2.01722C2.65178 1.79631 2.83086 1.61722 3.05178 1.61722L4.24706 1.61722V1.7C4.24706 1.86569 4.38138 2 4.54706 2H5.08655C5.25224 2 5.38655 1.86569 5.38655 1.7V1.61722L6.75276 1.61722ZM5.08655 1H6.9225C7.36433 1 7.7225 1.35817 7.7225 1.8V5.13779C7.7225 5.57962 7.36433 5.93779 6.9225 5.93779H2.88203C2.4402 5.93779 2.08203 5.57962 2.08203 5.13779V1.8C2.08203 1.35817 2.4402 1 2.88203 1H4.54706H5.08655Z\",\n fill: \"#666666\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.0301 1.61722C13.251 1.61722 13.4301 1.79631 13.4301 2.01722V4.92056C13.4301 5.14148 13.251 5.32056 13.0301 5.32056H9.32912C9.10821 5.32056 8.92912 5.14148 8.92912 4.92056V2.01722C8.92912 1.79631 9.10821 1.61722 9.32912 1.61722L10.4999 1.61722V1.7C10.4999 1.86569 10.6342 2 10.7999 2H11.3393C11.505 2 11.6393 1.86569 11.6393 1.7V1.61722L13.0301 1.61722ZM11.3393 1H13.1998C13.6417 1 13.9998 1.35817 13.9998 1.8V5.13779C13.9998 5.57962 13.6417 5.93779 13.1998 5.93779H9.15937C8.71755 5.93779 8.35938 5.57962 8.35938 5.13779V1.8C8.35938 1.35817 8.71755 1 9.15937 1H10.7999H11.3393Z\",\n fill: \"#666666\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.67073 7.17948C6.89164 7.17948 7.07073 7.35857 7.07073 7.57948V10.4828C7.07073 10.7037 6.89164 10.8828 6.67073 10.8828H2.96975C2.74883 10.8828 2.56974 10.7037 2.56974 10.4828V7.57948C2.56974 7.35857 2.74883 7.17948 2.96974 7.17948H4.16503V7.24607V7.32884C4.16503 7.49453 4.29935 7.62884 4.46503 7.62884H5.00452C5.17021 7.62884 5.30452 7.49453 5.30452 7.32884V7.24607V7.17948H6.67073ZM2 7.36226C2 6.92043 2.35817 6.56226 2.8 6.56226H6.84047C7.2823 6.56226 7.64047 6.92043 7.64047 7.36226V10.7C7.64047 11.1419 7.2823 11.5 6.84047 11.5H2.8C2.35817 11.5 2 11.1419 2 10.7V7.36226Z\",\n fill: \"#666666\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.0301 7.11722C13.251 7.11722 13.4301 7.29631 13.4301 7.51722V10.4206C13.4301 10.6415 13.251 10.8206 13.0301 10.8206H9.32912C9.10821 10.8206 8.92912 10.6415 8.92912 10.4206V7.51722C8.92912 7.29631 9.10821 7.11722 9.32912 7.11722H10.4998V7.11723V7.2C10.4998 7.36569 10.6342 7.5 10.7998 7.5H11.3393C11.505 7.5 11.6393 7.36569 11.6393 7.2V7.11723V7.11722H13.0301ZM8.35938 7.3C8.35938 6.85817 8.71755 6.5 9.15937 6.5H13.1998C13.6417 6.5 13.9998 6.85817 13.9998 7.3V10.6378C13.9998 11.0796 13.6417 11.4378 13.1998 11.4378H9.15937C8.71755 11.4378 8.35938 11.0796 8.35938 10.6378V7.3Z\",\n fill: \"#666666\"\n});\n\nvar SvgCrateStagingLocationIcon = function SvgCrateStagingLocationIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCrateStagingLocationIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/crate-staging-location-icon.8a18d903.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 4,\n cy: 4,\n r: 4,\n fill: \"#92B3D4\"\n});\n\nvar SvgTimelineDot = function SvgTimelineDot(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 8,\n height: 8,\n viewBox: \"0 0 8 8\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTimelineDot, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/timeline-dot.c979d655.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 11.2739V5.77393C3.75 5.57501 3.82902 5.38425 3.96967 5.2436C4.11032 5.10294 4.30109 5.02393 4.5 5.02393H19.5C19.6989 5.02393 19.8897 5.10294 20.0303 5.2436C20.171 5.38425 20.25 5.57501 20.25 5.77393V11.2739C20.25 19.1504 13.5651 21.7599 12.2303 22.2024C12.0811 22.2538 11.9189 22.2538 11.7697 22.2024C10.4349 21.7599 3.75 19.1504 3.75 11.2739Z\",\n stroke: \"#319E60\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.125 10.2739L10.625 15.5239L7.875 12.8989\",\n stroke: \"#319E60\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgShieldCheck = function SvgShieldCheck(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgShieldCheck, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ShieldCheck.71eb7071.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.97187 11.9997V6.9438H12.0121V5.93241H6.97187V0.876465H5.96403V5.93241H0.923828V6.9438H5.96403V11.9997H6.97187Z\",\n fill: \"white\"\n});\n\nvar SvgZoomIn = function SvgZoomIn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 12,\n viewBox: \"0 0 13 12\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgZoomIn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/zoom-in.279aa7d5.svg\";\nexport { ForwardRef as ReactComponent };","export const Countdown = (function () {\n const retunObj: any = {};\n\n function startCountdown(id: any, count: number) {\n let timer : any;\n timer = setInterval(function () {\n if (count > 0 || count == 0) {\n retunObj[id] = count;\n count--;\n }\n\n if (count < 0) {\n delete retunObj[id];\n clearTimeout(timer);\n }\n }, 1000);\n }\n\n return {\n getInstance: function () {\n return retunObj;\n },\n startCountdown,\n };\n})();\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.98358 1.94401H12.0238V0.932617H6.98358H5.97574H0.935547V1.94401H5.97574H6.98358Z\",\n fill: \"white\"\n});\n\nvar SvgZoomOut = function SvgZoomOut(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 2,\n viewBox: \"0 0 13 2\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgZoomOut, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/zoom-out.8c6f4dbd.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\nimport { boxShadow } from \"styled-system\";\nimport { marginTop } from \"styled-system\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n \"& .headingContainer\": {\n flexDirection: \"column\",\n \"& .titleHeading\": {\n fontSize: 18,\n fontWeight: 500,\n \"& .content\": {\n fontWeight: 600,\n },\n },\n \"& .titleContent\": {\n fontSize: 12,\n fontWeight: 600,\n margin: 'auto 0px',\n \"&.link\": {\n cursor: \"pointer\",\n },\n '&.ORANGE': {\n color: COLORS.GOLDEN_BELL\n },\n '&.SUCCESS_GREEN': {\n color: COLORS.PERSIAN_GREEN_DARK\n },\n },\n },\n \"& .tagContainer\": {\n marginLeft: theme.spacing(1),\n \"& .tag\": {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n \"&.PICTON_BLUE\": {\n backgroundColor: COLORS.PICTON_BLUE,\n },\n \"&.CREAM_CAN\": {\n backgroundColor: COLORS.CREAM_CAN,\n },\n \"&.VISTA_BLUE\": {\n backgroundColor: COLORS.VISTA_BLUE,\n },\n \"&.SEA_GREEN\": {\n backgroundColor: COLORS.SEA_GREEN,\n },\n \"&.GOLDEN_BELL\": {\n backgroundColor: COLORS.GOLDEN_BELL,\n },\n \"&.SCAMPI\": {\n backgroundColor: COLORS.SCAMPI,\n },\n \"&.BLUE\": {\n backgroundColor: COLORS.PRIMARY_MAIN,\n },\n \"&.SEA_GREEN2\": {\n backgroundColor: COLORS.SEA_GREEN2,\n },\n \"&.LUCKY\": {\n backgroundColor: COLORS.LUCKY,\n },\n \"&.DUSTY_GRAY\": {\n backgroundColor: COLORS.DUSTY_GRAY,\n },\n \"&.JUNGLE_GREEN\": {\n backgroundColor: COLORS.JUNGLE_GREEN,\n },\n \"&.BLACK\": {\n backgroundColor: COLORS.BLACK,\n },\n \"&.MINSK\": {\n backgroundColor: COLORS.SCAMPI,\n color: COLORS.WHITE,\n },\n },\n },\n \"& .editIcon\": {\n paddingLeft: theme.spacing(1),\n \"& .icon\": {\n cursor: \"pointer\",\n verticalAlign: \"middle\",\n fill: \"none\",\n },\n \"& .refreshText\": {\n color: COLORS.MYSTIC_GREY,\n fontSize: 12,\n },\n \"& .refresh-block\": {\n cursor: \"default !important\",\n },\n \n },\n },\n tabs: {\n paddingTop: \"0px\",\n paddingLeft: \"0px\",\n minHeight: \"38px\",\n '& .tabLabel': {\n fontSize: \"14px\",\n fontWeight: 700\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .tabValues': {\n padding: \"8px 0px 0px 0px\",\n },\n \"& .geocodedAddress\": {\n paddingBottom: theme.spacing(2),\n \"& .addressColItem\": {\n alignSelf: \"flex-start\",\n },\n \"& .geoLocAddressContainer\": {\n cursor: \"pointer\",\n \"& .address\": {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3,\n },\n \"& .addressLogo\": {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.open\": {\n transform: \"rotate(180deg)\",\n },\n },\n },\n \"& .addressMapContainer\": {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER,\n },\n },\n \"& .detailsHeader\": {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n \"& .detailsHeaderItem\": {\n paddingBottom: theme.spacing(1),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .headerItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& .contactItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& p\": {\n lineHeight: \"17px\",\n fontSize: 14,\n },\n \"& .name\": {\n fontWeight: 600,\n },\n \"&.geocodedAddress\": {\n paddingBottom: theme.spacing(2),\n \"& .addressColItem\": {\n alignSelf: \"flex-start\",\n },\n \"& .geoLocAddressContainer\": {\n cursor: \"pointer\",\n \"& .address\": {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3,\n },\n \"& .addressLogo\": {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.open\": {\n transform: \"rotate(180deg)\",\n },\n },\n },\n \"& .addressMapContainer\": {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER,\n },\n },\n \"& .contactMobile\": {\n marginRight: theme.spacing(5),\n },\n \"& .logo\": {\n width: 24,\n height: 24,\n },\n \"& .contact\": {\n \"& a\": {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary,\n },\n paddingLeft: theme.spacing(1),\n \"&.mobile\": {\n paddingLeft: theme.spacing(0.25),\n },\n },\n },\n },\n \"& .detailsContent\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n \"& .contentRow\": {\n paddingBottom: theme.spacing(3),\n \"&.hubDetails\": {\n paddingBottom: theme.spacing(1),\n },\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .contentColumn\": {\n flex: \"2 0 0\",\n \"&:last-child\": {\n flex: \"1 0 0\",\n },\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n },\n \"& .label\": {\n paddingBottom: theme.spacing(1),\n },\n \"& .content\": {\n fontWeight: 600,\n },\n },\n },\n },\n \"& .sellerDetails\": {\n paddingTop: theme.spacing(1.75),\n \"& .detailsHeader\": {\n backgroundColor: theme.palette.secondary.main,\n },\n },\n \"& .deliveryProofSection\": {\n paddingBottom: theme.spacing(1),\n \"& .content\": {\n width: \"100%\",\n \"& .deliveryProofContainer\": {\n flexDirection: \"column\",\n \"& .deliveryProofItem\": {\n paddingBottom: theme.spacing(1.5),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .imagesContainer\": {\n flexWrap: \"nowrap\",\n \"& .imagesItem\": {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .imageItemContainer\": {\n flexDirection: \"column\",\n \"& .imageItem\": {\n paddingBottom: theme.spacing(2),\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 500,\n },\n \"& .allImagesContainer\": {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n \"& .viewerContainer\": {\n display: \"flex\",\n },\n \"&.sign\": {\n justifyContent: \"space-around\",\n },\n \"& img\": {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0,\n },\n },\n },\n },\n },\n },\n },\n \"& .commentsContainer\": {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n \"& .commentsItem\": {\n paddingBottom: theme.spacing(0.75),\n \"& p\": {\n fontWeight: 500,\n fontSize: 12,\n },\n \"& .heading\": {\n fontSize: 14,\n },\n },\n },\n },\n },\n },\n },\n \"& .consignmentHistory\": {\n paddingBottom: theme.spacing(1),\n },\n \"& .tabularSection\": {\n paddingBottom: theme.spacing(1),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"&.crates\": {\n \"& .itemsContainer .item .itemContainer .itemColumn.item1 p\": {\n fontWeight: 600,\n },\n \"& .itemsContainer .item .itemContainer .itemColumn.item1 .header p\": {\n fontWeight: 500,\n },\n \"& .crateBarcode\": {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3),\n },\n \"& .crateStageLocationIcon\": {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1),\n },\n },\n \"& .itemDiv\": {\n padding: theme.spacing(0),\n \"& .content\": {\n width: \"100%\",\n \"& .itemsContainer\": {\n flexWrap: \"nowrap\",\n \"& .item\": {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n \"& .itemContainer\": {\n padding: theme.spacing(0, 2),\n \"&.items\": {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600,\n },\n \"&.header p\": {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n \"& .itemColumn\": {\n padding: theme.spacing(0),\n \"&.item1\": {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\",\n },\n \"& .rejectedReason\": {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON,\n },\n \"& .viewOriginalLink\": {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6,\n },\n \"& .originalName\": {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n },\n },\n \"&.item2\": {\n \"& p\": {\n textAlign: \"center\",\n \"& .green\": {\n color: COLORS.PERSIAN_GREEN,\n },\n },\n },\n \"&.item3\": {\n \"& p\": {\n textAlign: \"right\",\n },\n },\n },\n },\n },\n },\n \"& .paymentContainer\": {\n padding: 16,\n paddingTop: 13,\n \"& .totalDivider\": {\n margin: \"11px 0px\",\n },\n \"& .paymentItem\": {\n \"&:last-child p\": {\n fontWeight: 600,\n },\n padding: \"5px 0\",\n \"& .paymentItemColumn\": {\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n },\n \"& .vat\": {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25),\n },\n \"&.right\": {\n marginLeft: \"auto\",\n },\n },\n },\n },\n },\n },\n },\n },\n accordionSummary: {\n \"& .header\": {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n margin: 'auto 0px',\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .smallHeading\": {\n fontSize: 12,\n },\n },\n \"& .content\": {\n flexGrow: 1,\n },\n },\n\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n \"& .timelineItem\": {\n minHeight: 50,\n \"&:last-child\": {\n minHeight: \"auto\",\n },\n \"&:before\": {\n content: \"none\",\n },\n \"& .timelineDot\": {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n \"& .dotIcon\": {\n width: 18,\n height: 18,\n padding: 5,\n \"&.active\": {\n padding: 0,\n },\n },\n },\n '& .lastModifiedContent': {\n fontSize: \"12px\",\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_DARK,\n paddingTop: \"6px\",\n '& .name': {\n marginLeft: \"4px\"\n }\n },\n '& .timelineContentItem': {\n padding: \"8px 0px\"\n },\n \"& .primaryConnector\": {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`,\n },\n \"& .timelineContent\": {\n padding: 0,\n paddingLeft: theme.spacing(1),\n \"& .heading\": {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n \"&.error\": {\n color: COLORS.DARK_RED,\n \"&.active\": {\n paddingBottom: 17,\n },\n },\n \"&.active\": {\n // paddingBottom: 17\n },\n \"& .dateTime\": {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY_DARK,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n },\n },\n \"& .metadataContainer\": {\n paddingBottom: theme.spacing(1.5),\n \"& .title\": {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY,\n },\n \"& .description\": {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT,\n },\n },\n },\n },\n },\n accordionBundle: {\n flexGrow: 1,\n \"&.MuiAccordion-root\":{\n boxShadow:'none !important'\n },\n \"& .header\": {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .smallHeading\": {\n fontSize: 12,\n },\n },\n \"& .content\": {\n flexGrow: 1,\n },\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680,\n },\n checkbox: {\n marginLeft: \"0px\",\n },\n addressLabel: {\n fontSize: \"12px\",\n color: COLORS.PRIMARY_MAIN,\n lineHeight: \"16px\",\n fontWeight: 700,\n marginLeft: \"12px\",\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"& p\": {\n lineHeight: 1.2,\n },\n \"&.heading\": {\n \"& p\": {\n fontSize: 24,\n fontWeight: 600,\n },\n },\n \"&.desc\": {\n padding: theme.spacing(0, 2.5),\n \"& p\": {\n fontSize: 18,\n fontWeight: 400,\n \"& .count\": {\n fontWeight: 600,\n },\n },\n },\n },\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n \"& .dialogBtn\": {\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\",\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\",\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\",\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\",\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\",\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n \"& .react-pdf__Page\": {\n marginTop: \"56px\",\n \"& .react-pdf__Page__canvas\": {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\",\n },\n },\n \"& .react-pdf__Page__annotations.annotationLayer\": {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: \"auto\",\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n \"& .countContainer\": {\n height: \"100%\",\n \"& .countItem\": {\n margin: \"auto\",\n \"& p\": {\n fontSize: 16,\n fontWeight: 400,\n },\n \"& .current\": {\n fontWeight: 500,\n },\n \"& .separator\": {\n padding: \"0 2px\",\n },\n },\n },\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\",\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeNoPdfModalIcon: {\n position: \"absolute\",\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500,\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n bundleProduct:{\n \"& .icon\": {\n fill: \"none\",\n },\n '& .bundleRows':{\n marginTop: 24,\n '& .itemContainer':{\n marginTop: 12,\n '&.rowItem':{\n \"& p\": {\n fontWeight: '400 !important',\n },\n \n }\n \n },\n }\n },\n itemHeader:{\n display: 'flex',\n backgroundColor: COLORS.LIGHT_BLUE,\n width: 'fit-content',\n padding: '4px 8px 2px 8px',\n borderRadius: 12\n },\n rejectedReason:{\n textTransform: \"capitalize\",\n color: '#DD2326',\n fontSize: 8,\n padding: '0px 16px',\n marginTop: 8,\n \"& p\": {\n fontWeight: 400,\n fontSize:12\n },\n },\n accordianVerticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"auto 8px auto 8px\",\n },\n titleContent: {\n fontSize: 12,\n fontWeight: 600,\n margin: 'auto 0px',\n color: COLORS.PERSIAN_GREEN_DARK \n },\n topLevelShieldCheckStyle: {\n margin: 'auto 0px auto 8px',\n fill: COLORS.WHITE\n },\n shieldCheckStyle: {\n margin: 'auto 4px auto 0px',\n fill: COLORS.WHITE\n }\n })\n);","import React from 'react';\nimport { useBarcode } from 'react-barcodes';\n\ninterface CustomBarcodeProps {\n value: string;\n imgProps?: any;\n options?: any;\n}\n\nconst CustomBarcode = (props: CustomBarcodeProps) => {\n const { value, imgProps, options } = props;\n\n const { inputRef } = useBarcode({\n value: value || \"N/A\",\n options: options || {}\n });\n\n return (\n {imgProps\n )\n}\n\nexport default CustomBarcode;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI,\n color: COLORS.WHITE\n }\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n lineHeight: 1.2,\n },\n '&.heading': {\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n '& .dialogBtn': {\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 24,\n fontWeight: 600,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n borderTop: \"1px solid #E6E6E5\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"58px\",\n '& .content': {\n padding: \"12px\",\n /* '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n } */\n },\n '& .itemContainer': {\n borderBottom: \"1px solid #E6E6E6\",\n padding: \"14px\",\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n },\n '& .itemsContent': {\n fontSize: 14,\n fontWeight: 500,\n color: \"#252525\",\n lineHeight: \"17px\",\n '& p': {\n textAlign: \"center\",\n },\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n },\n '& .new': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n '& .MuiSelect': {\n select: {\n fontSize: \"10px\",\n fontWeight: 500\n }\n }\n },\n '& .select': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n width: \"62px\"\n },\n '& .MuiOutlinedInput': {\n root: {\n borderRadius: \"4px\",\n minWidth: \"0px\"\n }\n }\n },\n '& .paymentContainer': {\n padding: 12,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontSize: 16,\n fontWeight: 600\n },\n '& .vat': {\n fontWeight: 500,\n fontSize: 14,\n marginLeft: \"4px\"\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n },\n selectRoot: {\n color: \"#2D2D2D\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n icon: {\n color: \"#000000\"\n },\n generalReasonRoot: {\n fontSize: \"12px\",\n fontWeight: 600,\n color: \"#0E5AA7\"\n },\n generalReasonIcon: {\n color: \"#000000\"\n },\n menuPropsList: {\n '& .MuiListItem-root': {\n fontSize: 20,\n whiteSpace: \"normal\",\n height: \"55px\"\n },\n },\n menuPropsPaper: {\n maxHeight: 200,\n minWidth: 200,\n border: `1px solid ${COLORS.WHITE}`,\n background: \"#FFFFFF\",\n borderRadius: \"0px\",\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"0px 4px 20px rgba(0, 0, 0, 0.1)\",\n '& .MuiList-padding': {\n paddingTop: \"0px\",\n paddingBottom: \"0px\"\n }\n },\n title: {\n fontSize: \"14px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#505050\"\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n itemHeader:{\n display: 'flex',\n backgroundColor: COLORS.LIGHT_BLUE,\n width: 'fit-content',\n padding: '4px 8px 2px 8px',\n borderRadius: 12\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680,\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n \n bundleProduct:{\n \"& .icon\": {\n fill: \"none\",\n },\n '& .itemContainer':{\n borderBottom: \"none\",\n \n },\n \"&.item\": {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n },\n '& .bundleRows':{\n marginTop: 24,\n '& .itemContainer':{\n marginTop: 12,\n },\n }\n },\n bundleItemsContainer: {\n marginTop: 12,\n flexWrap: \"nowrap\",\n padding: '0px 16px',\n '&.rowItem':{\n \"& p\": {\n fontWeight: '400 !important',\n },\n },\n \"& .itemColumn\": {\n \"& .itemsContent\":{\n fontSize:'14px'\n },\n \"&.item1\": {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\",\n },\n \"& .rejectedReason\": {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON,\n },\n },\n \"&.item2\": {\n \"& p\": {\n textAlign: \"center\",\n \"& .green\": {\n color: COLORS.PERSIAN_GREEN,\n },\n },\n },\n \"&.item3\": {\n \"& p\": {\n textAlign: \"right\",\n },\n },\n },\n \n },\n selectRoot: {\n color: COLORS.MINE_SHAFT,\n fontSize: \"10px\",\n fontWeight: 500\n },\n showRejectionReason:{\n display: \"flex\",\n alignItems: \"center\",\n padding:'0px 16px',\n \"& p\": {\n fontSize: \"10px\",\n color: COLORS.MINE_SHAFT,\n fontWeight: 600,\n },\n\n },\n icon: {\n color: \"#000000\"\n }, \n itemHeader:{\n display: 'flex',\n backgroundColor: COLORS.LIGHT_BLUE,\n width: 'fit-content',\n padding: '4px 8px 2px 8px',\n borderRadius: 12\n },\n rejectedReason:{\n textTransform: \"capitalize\",\n color: COLORS.ALIZARIN_CRIMSON,\n paddingLeft: 16,\n marginTop: 8,\n \"& p\": {\n fontWeight: 400,\n fontSize:10\n },\n },\n showError:{\n paddingLeft: 16,\n }\n })\n);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.03516 11.123L8.03516 14.623L14.0352 11.123\",\n stroke: \"#0B4C8E\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.03516 8.12305L8.03516 11.623L14.0352 8.12305\",\n stroke: \"#0B4C8E\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.03516 5.12305L8.03516 8.62305L14.0352 5.12305L8.03516 1.62305L2.03516 5.12305Z\",\n stroke: \"#0B4C8E\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgStack = function SvgStack(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 17,\n viewBox: \"0 0 17 17\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStack, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Stack.7d097dbd.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useMemo} from 'react';\nimport { Grid, Typography, SvgIcon, Box} from '@material-ui/core';\nimport { fixDecimals } from 'utils/helpers.utils';\nimport { ReactComponent as stack } from '../assets/icons/Stack.svg';\nimport { useStyles } from './Bundleproduct.styles';\n\ninterface BundleProductsProps {\n bundle: {\n bundleName: string;\n bundleShippedQty: number;\n bundleProductQuantity: number;\n bundlePrice: number;\n bundleRejectedQty: number;\n };\n bundleCurrency: string\n}\nconst BundleProductsHeader = (props: BundleProductsProps) => {\n const classes = useStyles();\n const { bundle: { bundleName, bundleShippedQty, bundlePrice, bundleRejectedQty, bundleProductQuantity }, bundleCurrency } = props;\n \n\n const displayedOptions = useMemo(\n () => {\n return [\n { key: 'name', value: bundleName , width: 4, class:'item1'},\n { key: 'rejectedQty', value: bundleRejectedQty || '-', width: 2, class:'item2' },\n { key: 'shippedQty', value: bundleShippedQty || 0, width: 2, class:'item2' },\n { key: 'quantity', value: bundleProductQuantity, width: 2 , class:'item2'},\n { key: 'price', value: bundlePrice, width: 2, class:'item3' }\n ];\n },\n [bundleName,bundleRejectedQty,bundleShippedQty, bundleProductQuantity, bundlePrice ],\n )\n\n const getItem =(key: string, value: string) =>{\n switch (key) {\n case 'price':\n return `${fixDecimals(2, value.toString())} ${bundleCurrency}`;\n case 'name':\n return \n {value}\n case 'shippedQty':\n return {value};\n default:\n return {value};\n }\n }\n \n const getItemsDetail = () => {\n return (\n \n \n {displayedOptions?.length &&\n displayedOptions.map((item: any, index: any) => (\n \n \n {\n getItem(item.key, item.value)\n }\n \n \n ))}\n
\n \n );\n };\n\n\n return (\n <>\n {getItemsDetail()}\n \n )\n\n }\n\n export default BundleProductsHeader;","import React, { useMemo, useEffect, useState } from \"react\";\nimport { Grid, Typography } from \"@material-ui/core\";\nimport { useStyles } from \"./Bundleproduct.styles\";\n\ninterface BundleProductsProps {\n bundleItem: {\n bundleProductName: string;\n bundleProductQuantity: number;\n bundleProductShippedQty: number;\n bundleProductRejectedQty: number;\n };\n bundleShippedQty: number;\n rejectedQty?: number | false | undefined;\n}\nconst BundleProductRow = (props: BundleProductsProps) => {\n const classes = useStyles();\n const {\n bundleItem: {\n bundleProductName,\n bundleProductShippedQty,\n bundleProductRejectedQty,\n bundleProductQuantity,\n },\n bundleShippedQty,\n rejectedQty,\n } = props;\n\n const [rejectedQtyAfterSelection, setRejectedQtyAfterSelection] = useState(\n bundleProductRejectedQty\n );\n\n useEffect(() => {\n if (rejectedQty) {\n const itemQtyAfterSelection =\n (bundleProductShippedQty / bundleShippedQty) * rejectedQty;\n setRejectedQtyAfterSelection(itemQtyAfterSelection);\n }\n }, [rejectedQty]);\n\n useEffect(() => {\n if (bundleProductRejectedQty) {\n setRejectedQtyAfterSelection(bundleProductRejectedQty);\n }\n }, [bundleProductRejectedQty]);\n\n const displayedOptions = useMemo(() => {\n return [\n { key: \"name\", value: bundleProductName, width: 4, class: \"item1\" },\n {\n key: \"rejectedQty\",\n value: bundleProductRejectedQty,\n width: 2,\n class: \"item2\",\n },\n {\n key: \"shippedQty\",\n value: bundleProductShippedQty,\n width: 2,\n class: \"item2\",\n },\n {\n key: \"quantity\",\n value: bundleProductQuantity,\n width: 2,\n class: \"item2\",\n },\n ];\n }, [\n bundleProductName,\n bundleProductShippedQty,\n bundleProductRejectedQty,\n bundleProductQuantity,\n ]);\n\n //{`${classes.itemsContainer} rowItem`}\n const getItemsDetail = () => {\n return (\n \n {displayedOptions?.length &&\n displayedOptions.map((item: any, index: any) => (\n \n \n \n {item.key === \"rejectedQty\"\n ? rejectedQtyAfterSelection\n : item.value}\n \n \n \n ))}\n \n );\n };\n\n return <>{getItemsDetail()};\n};\n\nexport default BundleProductRow;\n","import React, { useMemo } from \"react\";\nimport { Grid, Typography, SvgIcon, Box } from \"@material-ui/core\";\nimport { fixDecimals } from \"utils/helpers.utils\";\nimport { ReactComponent as stack } from \"../assets/icons/Stack.svg\";\nimport { useStyles } from './Bundleproduct.styles';\nimport SelectBox from \"../common/SelectBox\";\n\ninterface BundleProductsProps {\n bundle: {\n campaignId: string;\n bundleName: string;\n bundleShippedQty: number;\n bundleProductQuantity: number;\n bundlePrice: number;\n bundleCurrency: string;\n bundleRejectedQty: number;\n rejectedQtyList?: any;\n selectedRejectedQty?: any;\n rejectedQty?: any;\n showReason?: any;\n itemDeliveryReason?: any;\n error?: any;\n };\n bundleCurrency: string;\n editMode?: boolean;\n rejectionReasonList?: any;\n rejectBundle: (\n params: any,\n param1: any,\n param3?: boolean\n ) => void;\n}\nconst BundleProductsHeaderEdit = (props: BundleProductsProps) => {\n const classes = useStyles();\n const {\n bundle,\n bundle: {\n campaignId,\n bundleName,\n bundleShippedQty,\n bundlePrice,\n bundleRejectedQty,\n bundleProductQuantity,\n rejectedQtyList,\n selectedRejectedQty,\n },\n bundleCurrency,\n rejectBundle,\n } = props;\n\n\n const displayedOptions = useMemo(() => {\n return [\n { key: \"name\", value: bundleName, width: 4, class: \"item1\" },\n {\n key: \"rejectedQty\",\n value: bundleRejectedQty || '-',\n width: 2,\n class: \"item2\",\n },\n { key: \"shippedQty\", value: bundleShippedQty || 0, width: 2, class: \"item2\" },\n {\n key: \"quantity\",\n value: bundleProductQuantity,\n width: 2,\n class: \"item2\",\n },\n { key: \"price\", value: bundlePrice, width: 2, class: \"item3\" },\n ];\n }, [\n bundleName,\n bundleRejectedQty,\n bundleShippedQty,\n bundleProductQuantity,\n bundlePrice,\n ]);\n\n const getItem = (item: any) => {\n switch (item.key) {\n case \"price\":\n return (\n {`${fixDecimals(2, item.value.toString())} ${bundleCurrency}`}\n );\n case \"name\":\n return (\n \n \n {item.value}\n \n );\n case \"rejectedQty\":\n return (\n rejectBundle(e, campaignId, true)\n }\n />\n \n );\n case \"shippedQty\" : \n return {item.value};\n default:\n return {item.value}\n }\n };\n\n const getItemsDetail = () => {\n return (\n \n {displayedOptions?.length &&\n displayedOptions.map((item: any, index: any) => (\n <>\n \n {getItem(item)}\n \n \n ))}\n \n \n );\n };\n\n return <>{getItemsDetail()};\n};\n\nexport default BundleProductsHeaderEdit;\n","import React, { useState } from \"react\";\nimport { Grid, Typography } from \"@material-ui/core\";\nimport { isExisty } from \"utils/helpers.utils\";\nimport { useStyles } from \"./Bundleproduct.styles\";\nimport BundleProductsHeader from \"./BundleProducHeader\";\nimport BundleProductRow from \"./BundleProductRow\";\nimport BundleProductsHeaderEdit from \"./BundleProductHeaderEdit\";\nimport SelectBox from \"../common/SelectBox\";\n\nexport interface ReasonProps {\n reasonCode: string;\n reasonDescription: string;\n}\ninterface BundleConstituent {\n bundleProductName: string;\n bundleProductQuantity: number;\n bundleProductShippedQty: number;\n bundleProductRejectedQty: number;\n}\ninterface BundleProductsProps {\n bundle: {\n campaignId: string;\n bundleName: string;\n bundleShippedQty: number;\n bundleProductQuantity: number;\n bundlePrice: number;\n bundleCurrency: string;\n bundleRejectedQty: number;\n bundleConstituents: BundleConstituent[];\n reason?: ReasonProps;\n showReason?: boolean;\n error?: boolean;\n itemDeliveryReason?: any;\n };\n bundleCurrency: string;\n editMode?: boolean;\n rejectionReasonList?: any;\n handleUpdatedRejectedQty?: (\n params: any,\n param1: any,\n param3?: boolean\n ) => void;\n handleBundleReasonChange?:(param1:any, param2:any)=> void\n}\n\nconst BundleProducts = (props: BundleProductsProps) => {\n const classes = useStyles();\n const {\n bundle,\n bundle: {\n campaignId,\n bundleConstituents,\n reason,\n showReason,\n error,\n itemDeliveryReason,\n bundleShippedQty,\n },\n bundleCurrency,\n editMode,\n rejectionReasonList,\n handleUpdatedRejectedQty,\n handleBundleReasonChange,\n } = props;\n const [rejectedQty, setRejectQty] = useState(0);\n\n const rejectBundle = (e: any, campaignId: string, isBundleProduct: any) => {\n setRejectQty(e);\n handleUpdatedRejectedQty &&\n handleUpdatedRejectedQty(e, campaignId, isBundleProduct);\n };\n\n return (\n <>\n {/* {getItemsDetail(bundleProduct)} */}\n \n {!editMode && (\n \n )}\n {editMode && (\n \n )}\n \n {bundleConstituents.map((item, index) => (\n \n ))}\n \n\n {!editMode && isExisty(reason?.reasonCode) && (\n \n {`Rejection Reason - ${reason?.reasonDescription}`}\n \n )}\n <>\n {showReason ? (\n \n \n \n Rejection Reason : \n \n \n handleBundleReasonChange && handleBundleReasonChange(e, campaignId)}\n />\n \n \n \n ) : null}\n {showReason && error ? (\n \n \n Please select reason\n \n \n ) : null}\n \n \n \n );\n};\n\nexport default BundleProducts;\n","/**\n * Decodes HTML entities in a given string.\n *\n * This function creates a temporary textarea element, sets its innerHTML to the provided text,\n * and then retrieves the decoded value from the textarea.\n *\n * @param {string} text - The string containing HTML entities to decode.\n * @returns {string} - The decoded string.\n *\n * @example\n * const encodedString = \"<div>Hello & welcome!</div>\";\n * const decodedString = decodeHtmlEntities(encodedString);\n * console.log(decodedString); //
Hello & welcome!
\n */\nexport const decodeHtmlEntities = (text: string): string => {\n const textarea = document.createElement(\"textarea\");\n textarea.innerHTML = text;\n return textarea.value;\n};\n","import React, { forwardRef, ReactElement, Ref, useCallback, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { useStyles } from './UpdatePartialRejection.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\nimport AppConstants from '../constants';\nimport { fixDecimals } from 'utils/helpers.utils';\nimport SelectBox from '../common/SelectBox';\nimport { fetchRejectionReasons, fetchRefreshedDataForPCNotReceived } from './redux/planningSlice';\nimport { rejectionDataTransform, bundleRejectionDataTransform } from './../mocks/routePlanning/response.transforms';\nimport BundleProducts from '../BundleProducts/index'\nimport { decodeHtmlEntities } from 'utils/textUtils';\ninterface UpdatePartialRejectionProps {\n open: boolean;\n consignment: any;\n isPcNotRecieved?: boolean;\n items: any;\n bundleProduct?: any;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst UpdatePartialRejection = (props: UpdatePartialRejectionProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { rejectionReasonList, refreshedConsFromSnapshotService, revisedAmountAfterCalculation } = useSelector(\n (state: AppState) => state.routePlanning\n );\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { open, consignment, isPcNotRecieved, items, closePopup, handleDialogAction, bundleProduct } = props;\n const generalReason = AppConstants.SELECT_NONE.value;\n const [rejections, setRejections] = useState([] as any);\n const [products, setProducts] = useState([] as any);\n const [bundleProducts, setBundleProducts] = useState([] as any);\n let metadata: any = {};\n\n if (consignment) {\n metadata = consignment.metadata;\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const validateForm = ((products: any, bundleItems:any) => {\n let newProducts = [...products];\n let newBundleItems = [...bundleItems];\n let rejectionReason = false;\n newProducts.forEach((element: any) => {\n if ((element.rejectedQty !== \"0\" && element.showReason === true && element.itemDeliveryReason && element.itemDeliveryReason.length === 0) ||\n (element.rejectedQty !== \"0\" && element.itemDeliveryReason && element.itemDeliveryReason.length > 0 && element.itemDeliveryReason[0].name === '')) {\n element.error = \"Please select reason\";\n rejectionReason = true;\n }\n })\n newBundleItems?.forEach((element: any) => {\n if ((element?.rejectedQty !== \"0\" && element?.showReason === true && element?.itemDeliveryReason && element?.itemDeliveryReason?.length === 0) ||\n (element?.rejectedQty !== \"0\" && element?.itemDeliveryReason && element?.itemDeliveryReason?.length > 0 && element?.itemDeliveryReason[0]?.name === '')) {\n element.error = \"Please select reason\";\n rejectionReason = true;\n }\n })\n setBundleProducts([...newBundleItems]);\n setProducts([...newProducts]);\n return rejectionReason;\n });\n\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any, bundleItems?:any, consignment?: any) => {\n if (type === 'save') {\n if (!validateForm(values, bundleItems)) {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values,\n bundleItems: bundleItems,\n consignment: consignment\n });\n }\n } else {\n closePopup();\n }\n },\n [closePopup, handleDialogAction],\n );\n\n const handleCommonReasonChange = ((event: any) => {\n let commonReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopy: any = [...products];\n let bundleProductCopy: any =[...bundleProducts]\n if (reason.value === event) {\n commonReason.push(reason);\n productsCopy?.forEach((prod: any) => {\n if (prod.showReason) {\n prod.itemDeliveryReason = commonReason\n }\n });\n bundleProductCopy?.forEach((prod: any) => {\n if (prod.showReason) {\n prod.itemDeliveryReason = commonReason\n }\n });\n }\n setProducts([...productsCopy]);\n setBundleProducts([...bundleProductCopy])\n return productsCopy;\n })\n setRejections(commonReason);\n });\n\n const handleItemReasonChange = ((event: any, fieldName: any) => {\n let itemReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopyNew: any = [...products];\n if (reason.value === event) {\n itemReason.push(reason);\n productsCopyNew.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.itemDeliveryReason = itemReason;\n prod.error = \"\"\n }\n });\n }\n setProducts([...productsCopyNew]);\n return productsCopyNew;\n })\n setRejections(itemReason);\n });\n\n const handleBundleReasonChange = ((event: any, fieldName: any) => {\n let itemReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let bundleProductCopy: any = [...bundleProducts];\n if (reason.value === event) {\n itemReason.push(reason);\n bundleProductCopy.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.itemDeliveryReason = itemReason;\n prod.error = \"\"\n }\n });\n }\n setBundleProducts([...bundleProductCopy]);\n })\n });\n\n const handleUpdatedRejectedQty = ((event: any, fieldName: any, isBundleProduct?:boolean) => {\n let updateProducts: any;\n if(isBundleProduct){\n updateProducts = [...bundleProducts]; \n }\n else{\n updateProducts = [...products]; \n }\n updateProducts.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.rejectedQty = event;\n //conditionally rendering the rejection reason if rejected qty > 0\n if (event === \"0\") {\n prod.showReason = false;\n prod.itemDeliveryReason.pop();\n } else {\n prod.showReason = true;\n }\n }\n if(isBundleProduct){\n setBundleProducts([...updateProducts])\n }\n else{\n setProducts([...updateProducts]);\n }\n \n });\n });\n\n const checkIfDisabled = () => {\n let counter = 0;\n let isDisabled = false;\n if (products && products.length) {\n products.forEach((item: any) => {\n if (item.rejectedQty === 0) {\n counter = counter + 1;\n }\n })\n }\n if (bundleProducts && bundleProducts.length) {\n bundleProducts.forEach((item: any) => {\n if (item.rejectedQty === 0) {\n counter = counter + 1;\n }\n })\n }\n if (counter === products?.length + bundleProducts?.length) {\n isDisabled = true;\n } else {\n isDisabled = false;\n }\n return isDisabled;\n }\n\n const getBundleProduct = () => {\n return bundleProducts.map((item: any, index: number) => (\n \n ));\n };\n\n const getItems = () => {\n return products.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n \n \n \n handleUpdatedRejectedQty(e, item.id)}\n >\n \n \n \n \n {` ${item.shippedQty || 0} ${item.uom}`} \n \n \n \n \n {`${item.totalQty || \"\"}`}\n \n \n {`${fixDecimals(2, item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].unitPrice ? item.substitutedProducts[0]?.unitPrice : item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n {item.showReason ?\n (\n \n \n \n Rejection Reason : \n \n \n handleItemReasonChange(e, item.id)}\n >\n \n \n \n ) : null}\n {item.error ? (\n \n Please select reason\n \n ) : null}\n \n \n )) \n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n Update Rejected Items\n \n \n\n \n \n \n Common Rejection Reason : \n \n \n handleCommonReasonChange(e)}\n >\n \n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n Product Name\n \n \n Rejected\n Qty\n \n \n Shipped\n \n \n Ordered Qty\n \n \n Unit Price\n \n \n \n {products?.length > 0 && getItems()}\n {bundleProduct?.length > 0 && getBundleProduct()}\n {products?.length === 0 && bundleProduct?.length === 0 && (\n \n \n No Items to display\n \n \n )}\n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Grand Total(Inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n {metadata && metadata.paymentType === \"COD\" ? (\n \n \n \n Revised Total\n \n {(revisedAmountAfterCalculation !== \"\") ?\n \n {`${revisedAmountAfterCalculation} ${(metadata && metadata.currency) || \"\"}`}\n \n :\n \n {`${(metadata.collectedAmount ? parseFloat(metadata.collectedAmount.toString()).toFixed(2) : \"0.00\")} ${(metadata && metadata.currency) || \"\"}`}\n \n }\n \n \n ) : null}\n\n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const fetchAllRejectionReasons = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchRejectionReasons({\n countryCode: countryCode\n })\n );\n }, [dispatch]\n );\n\n useEffect(() => {\n if (isPcNotRecieved) {\n dispatch(\n fetchRefreshedDataForPCNotReceived(\n {\n params: consignment.consignmentCode\n }\n )\n )\n }\n }, [dispatch, isPcNotRecieved, consignment.consignmentCode])\n\n useEffect(() => {\n if (consignment != null) {\n fetchAllRejectionReasons(countryCode);\n }\n }, [consignment, countryCode, fetchAllRejectionReasons]);\n\n useEffect(() => {\n // eslint-disable-next-line no-console\n \n setBundleProducts(bundleRejectionDataTransform(bundleProduct) as any)\n setProducts(rejectionDataTransform(items) as any);\n if (isPcNotRecieved) {\n setProducts(rejectionDataTransform(refreshedConsFromSnapshotService) as any);\n }\n }, [items, isPcNotRecieved, refreshedConsFromSnapshotService, bundleProduct])\n\n return (\n \n )\n}\n\nexport default UpdatePartialRejection;","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from '../config/redux/reducers';\nimport { fetchOrderDeliveryStatuses, consignmentReplanning, fetchDeliveryReasons, fetchDeliveryReasonsCountryBased, replanDuringPartialRejection, fetchSlots } from './redux/planningSlice';\nimport { createConsignmentReplanningPayload, createPayloadGetAllSlots } from '../mocks/routePlanning/response.transforms';\nimport { createPayloadForReplanDuringPartialRejection, createPayloadBundlePartialRejection } from '../mocks/routePlanning/response.transforms';\n//common components\nimport CustomDialog from '../common/Dialog';\nimport SelectBox from '../common/SelectBox';\nimport TextBox from '../common/TextBox';\nimport DateRangePickerComponent from '../common/DateRangeComponent';\nimport { filterSlots } from \"../utils/helpers.utils\";\n//Material UI Components\nimport { useStyles } from './ConsignmentEdit.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Button } from '@material-ui/core';\n\n//constants\nimport AppConstants from \"../constants\";\n\n//Assets\nimport warning from \"../assets/icons/warning.svg\";\nimport UpdatePartialRejection from './UpdatePartialRejection';\nimport warningIcon from \"./../assets/icons/warningOctagon.svg\";\n\n\ninterface ConsignmentEditProps {\n open: boolean;\n consignment: any;\n isExpress?: any;\n shippingStatus?: any;\n items: any;\n bundleProduct?: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\nconst ConsignmentEdit = (props: ConsignmentEditProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, consignment, isExpress, items, shippingStatus, closePopup , bundleProduct} = props;\n const { deliveryReasons, reasonsDropdownList, replanningConsignmentSuccess, consignmentDataAfterReplanning, deliverySlotListExpress, orderDeliveryStatuses, availableSlots } = useSelector(\n (state: AppState) => state.routePlanning\n );\n const { countryCode, commonDropdowns } = useSelector(\n (state: AppState) => state.common\n );\n const [slotItems,setSlotItem]=useState([])\n const [selectedStatus, setSelectedStatus] = useState(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n const [selectedSlot, setSelectedSlot] = useState(AppConstants.SELECT_NONE.value);\n const [selectedReason, setSelectedReason] = useState(AppConstants.SELECT_NONE.value);\n const [selectedDate, setSelectedDate] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment().hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n });\n const [showReason, setShowReason] = useState(false);\n const [commentsValue, setCommentsValue] = useState('');\n const [slotAvailable, setSlotAvailable] = useState({});\n const [errors, setErrors] = useState({\n reason: \"\",\n comments: \"\",\n });\n //Commenting Partial rejection functionality for now,To be included later\n const [isStatusDelivered, setIsStatusDelivered] = useState(false);\n const [openUpdateRejectedDialog, setOpenUpdateRejectedDialog] = useState(false);\n const [openPartialRejectionPopup, setOpenPartailRejectionPopup] = useState(false);\n const [isPcNotRecieved, setIsPcNotRecieved] = useState(false);\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let deliveryDate = \"\";\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n //Commenting Partial rejection functionality for now, To be included later\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const validateForm = useCallback(() => {\n let newErrors = {};\n if (selectedReason === AppConstants.SELECT_NONE.value) {\n newErrors = { ...newErrors, reason: \"Please select reason\" };\n }\n if (selectedReason === \"OH04\" || selectedReason === \"DRD5\" || selectedReason === \"DR11\") {\n if (commentsValue === \"\") {\n newErrors = { ...newErrors, comments: \"Please provide comments\" };\n }\n }\n setErrors({ ...errors, ...newErrors });\n\n return Object.keys(newErrors).length;\n }, [errors, selectedReason, commentsValue]);\n\n useEffect(() => {\n if (Object.keys(consignment).length) {\n loadSlots()\n }\n }, [consignment])\n\n const loadSlots = useCallback(\n () => {\n const deliveryZone = consignment?.metadata?.deliveryZone\n const pos = consignment?.posInformation?.store\n const payload = createPayloadGetAllSlots(pos, deliveryZone)\n dispatch(\n fetchSlots(\n {\n params: payload\n }\n )\n )\n }, [dispatch,consignment]\n )\n\n\n const filterSlot = useCallback(\n (value: any) => {\n if(availableSlots.length){\n const arr = filterSlots(value, availableSlots)\n setSlotItem(arr)\n }\n },\n [selectedDate,availableSlots],\n );\n\n const handleSlotChange = useCallback(\n (value: any) => {\n setSelectedSlot(value);\n },\n [],\n );\n\n const handleReasonChange = useCallback(\n (value: any) => {\n setSelectedReason(value);\n if (value) {\n setErrors({ ...errors, reason: \"\", comments: \"\" });\n }\n },\n [errors],\n );\n\n const handleCommentsTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setCommentsValue(event.target.value);\n if (event.target.value) {\n setErrors({ ...errors, comments: \"\" });\n }\n },\n []\n );\n\n const closePartialRejectionPopup = useCallback(\n () => {\n setOpenPartailRejectionPopup(false);\n },\n [],\n );\n\n const handleDateChange = useCallback(\n (value: any) => {\n setSelectedDate(value);\n filterSlot(value)\n },\n [availableSlots],\n );\n\n const handlePartialRejectionUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'save') {\n const payload1 = createPayloadForReplanDuringPartialRejection(params.values, params.consignment);\n let payload = payload1\n if(params?.bundleItems?.length){\n const payload2 = createPayloadBundlePartialRejection(params.bundleItems)\n payload = { ...payload1, ...payload2 };\n }\n dispatch(\n replanDuringPartialRejection(\n {\n params: payload\n }\n )\n )\n closePartialRejectionPopup();\n closePopup();\n }\n }, [dispatch, closePartialRejectionPopup, closePopup]\n )\n\n const handleReplanningForDelivered = useCallback(\n () => {\n const payload = createConsignmentReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n closePartialRejectionPopup();\n }, [consignment, selectedStatus, commentsValue, closePartialRejectionPopup, dispatch]\n )\n\n const handleCHDOrderReplanning = useCallback(\n () => {\n if (selectedStatus !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n if (selectedStatus === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n if (validateForm() === 0) {\n const payload = createConsignmentReplanningPayload({\n id: consignment.consignmentCode,\n selection: selectedStatus,\n reason: selectedReason,\n commentsValue: commentsValue\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n const deliveryReason = deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n payload.reason = deliveryReason[0]\n }\n }\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createConsignmentReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createConsignmentReplanningPayload({\n id: consignment.consignmentCode,\n status: selectedStatus,\n slot: selectedSlot,\n date: selectedDate\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n },\n [consignment, selectedStatus, selectedDate, selectedSlot, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch],\n )\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n //Commenting Partial rejection functionality for now, To be included later\n if (isStatusDelivered) {\n setOpenUpdateRejectedDialog(true);\n } else {\n handleCHDOrderReplanning();\n }\n } else {\n closePopup();\n }\n },\n [isStatusDelivered, closePopup, handleCHDOrderReplanning],\n );\n\n //Commenting Partial rejection functionality for now, to be included later\n const handleRejectedDialogClose = useCallback(\n () => {\n setOpenUpdateRejectedDialog(false);\n },\n [],\n );\n\n const updateRejectedDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'save') {\n handleReplanningForDelivered();\n } else {\n if (shippingStatus === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.PC_NOT_RECEIVED) {\n setIsPcNotRecieved(true);\n }\n setOpenPartailRejectionPopup(true);\n\n }\n handleRejectedDialogClose();\n },\n [shippingStatus, handleRejectedDialogClose, handleReplanningForDelivered],\n )\n\n const handleStatusChange = useCallback(\n (value: any) => {\n setSelectedStatus(value);\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n setShowReason(true);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n //Commenting Partial rejection functionality for now,To be included later\n setIsStatusDelivered(false);\n } else {\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DELIVERED) {\n //Commenting Partial rejection functionality for now,To be included later\n setIsStatusDelivered(true);\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n } else {\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n //Commenting Partial rejection functionality for now,To be included later\n setIsStatusDelivered(false);\n }\n }\n }, []\n );\n\n\n\nconst handleCHDStatuses = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchOrderDeliveryStatuses({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (replanningConsignmentSuccess) {\n closePopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [replanningConsignmentSuccess])\n\n useEffect(() => {\n if (consignment) {\n setSelectedSlot(deliveryInformation ? deliveryInformation.deliverySlot.deliverySlotTime : AppConstants.SELECT_NONE.value);\n const dateObj = {\n startDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n }\n setSelectedDate(dateObj);\n filterSlot(dateObj)\n //setSelectedSlot(slotItems?.length ? slotItems[0] : AppConstants.SELECT_NONE.value)\n setCommentsValue(\"\");\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n setSelectedStatus(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment, open, availableSlots]);\n\n useEffect(() => {\n if (consignment != null) {\n //handleEdit()\n handleCHDStatuses(consignment);\n }\n }, [consignment, handleCHDStatuses]);\n\n //Commenting Partial rejection functionality for now, To be included later\n const getRejectedDialogTitleContent = () => {\n return (\n \n \n \"warning\"\n \n Edit Rejected Items \n \n \n )\n };\n\n const getRejectedDialogDetailsContent = () => {\n return (\n \n \n \n You will not be able to edit the order details after this status change.\n \n Please go ahead and make changes to the item summary if you have any\n \n \n )\n };\n\n const getRejectedDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n EDIT CONSIGNMENT : \n {consignment.consignmentCode} \n \n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n Update Status\n \n \n \n \n \n \n \n \n \n {\n selectedStatus === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION ?\n \n \n \n \n Delivery Date\n \n \n \n \n \n \n \n \n \n Slot\n \n \n \n \n \n \n \n :\n \n {showReason ? (\n \n \n \n Reason\n \n \n \n \n \n \n ) : null}\n \n \n \n Comments\n \n \n \n \n \n \n {showReason ? (\n \n \n \"warning\"\n This consignment will no longer be delivered.\n \n ) : null}\n \n }\n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDialogClose = useCallback(\n () => {\n setErrors({ ...errors, reason: \"\", comments: \"\" });\n closePopup();\n },\n [closePopup],\n );\n\n return (\n <>\n \n {/*Commenting Partial rejection functionality for now, To be included later*/}\n \n {openPartialRejectionPopup && (\n \n )} \n \n )\n}\n\nexport default ConsignmentEdit;","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { fetchConsignmentHistoryAndProducts, exportInvoicePdf, getCratesInfo, closeDialog, resetReplanningSuccess, fetchExpressSlotDropdownValues, getAddressStatus, fetchStatusOnClick, resetStatusRefreshButton, fetchOrderLogs, fetchDeliveryReasons, fetchDeliveryReasonsCountryBased, } from \"./redux/planningSlice\";\nimport mobileLogoIcon from './../assets/icons/mobileLogo.svg';\nimport emailLogoIcon from './../assets/icons/emailLogo.svg';\nimport RcViewer from '@hanyk/rc-viewer';\nimport { AppState } from \"../config/redux/reducers\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as editIconNew } from './../assets/icons/edit-icon-new.svg';\nimport { ReactComponent as refreshIconNew } from './../assets/icons/refresh-icon-new.svg';\nimport { ReactComponent as refreshIconGrey } from './../assets/icons/refresh-icon-grey.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as errorTimelineDot } from './../assets/icons/timeline-dot-error.svg';\nimport { ReactComponent as crateStageLocationIcon } from './../assets/icons/crate-staging-location-icon.svg';\nimport { ReactComponent as timelineDot } from './../assets/icons/timeline-dot.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow.svg';\nimport {ReactComponent as ShieldCheck} from '../assets/icons/ShieldCheck.svg';\n\nimport {getDateOrTimeInReqFormat} from '../utils/dateUtils';\nimport { ReactComponent as zoomInIcon } from './../assets/icons/zoom-in.svg';\nimport { Countdown } from '../utils/countdownTimer';\nimport { ReactComponent as zoomOutIcon } from './../assets/icons/zoom-out.svg';\nimport locationIcon from './../assets/icons/map-pin.svg';\nimport verifiedIcon from './../assets/icons/verified-icon.svg';\nimport unverifiedIcon from './../assets/icons/unverified-icon.svg'; \nimport pendingIcon from './../assets/icons/pending-icon.svg';\nimport { useStyles } from './ConsignmentDetails.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Accordion, AccordionSummary, AccordionDetails, SvgIcon, Collapse, Link, Divider, FormControlLabel, Checkbox, Tabs, Tab } from '@material-ui/core';\nimport { Timeline, TimelineItem, TimelineSeparator, TimelineDot, TimelineConnector, TimelineContent } from '@material-ui/lab';\nimport { COLORS } from '../config/theme/baseTheme';\nimport MapContainer from '../common/GoogleMapContainer';\nimport { TabContext, TabPanel } from '@material-ui/lab';\nimport Loader from \"../common/Loader\";\nimport AppConstants from \"../constants\";\nimport {TIMER_CONST} from \"../constants/CommonConstants\"\nimport { getAddressInfo, getCratesFromProducts, createCratesInfoPayload, createPayloadToMarkAddressUnverified, getDeliveryExecutionStatusField} from '../mocks/routePlanning/response.transforms';\nimport CustomBarcode from 'common/CustomBarcode';\nimport { fixDecimals, localTimeString, isDisplayStatusEditable, displayUnitGrams, isCardOnDelivery } from 'utils/helpers.utils';\nimport moment from 'moment';\nimport ConsignmentEdit from './ConsignmentEdit';\nimport { Document, Page } from 'react-pdf';\nimport Modal from '@material-ui/core/Modal';\nimport KeyboardArrowDownRoundedIcon from \"@material-ui/icons/KeyboardArrowDownRounded\";\nimport clsx from \"clsx\";\nimport { pdfjs } from 'react-pdf';\nimport closeButton from \"./../assets/icons/close-circle-icon.svg\";\nimport { Button } from \"@material-ui/core\";\nimport { isExisty, getObjectKeys, isArrayNonEmpty, isModifiedBySystem } from \"../utils/helpers.utils\";\nimport { ADDRESS_STATUS } from '../constants/CommonConstants';\nimport BundleProducts from '../BundleProducts/index'\n\nimport { MARKER_URL, mapOptionStyles } from './AllRoutes/utils/AllRouteConstant';\nimport RenderRescheduleOrders from '../common/RescheduleOrders/RenderRescheduleOrders';\nimport { decodeHtmlEntities } from 'utils/textUtils';\n\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ninterface ConsignmentDetailsProps {\n open: boolean;\n consignment: any;\n isExpress?: any;\n isFromViewRoute?: any;\n isEditIcon?: any\n closePopup: () => void;\n handleTimerInstances?:(id:any) => void;\n timerStarted?: boolean\n setShowTime?: (showTime: boolean) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ConsignmentDetails = (props: ConsignmentDetailsProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const { loading, invoiceData, invoiceUrl, displayInvoice, invoiceMessage, invoiceConsignment, consignmentStatuses, productsList, bundleProductList, cratesFromAlecto, orderLevelCrateInfo, productsListFromAlecto, consignmentDataAfterReplanning, productsAfterUpdateLineItem, revisedAmountAfterCalculation, consignmentDataAfterAddressUpdate, isPolled, polledConsignmentOmsData, orderLogs, reasonsDropdownList, crateInfo, bundleProductAfterUpdateLineItem } = useSelector(\n (state: AppState) => state.routePlanning\n );\n const { isAdmin, isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { open, consignment, isExpress, isFromViewRoute, isEditIcon, closePopup, handleTimerInstances, timerStarted, setShowTime } = props; \n const [remainingTime, setRemainingTime] = useState(TIMER_CONST.pullTimeForRefresh);\n const [timersValue, setTimersValue] = useState({});\n const [toggleCustMap, setToggleCustMap] = useState(false);\n const [toggleSellerMap, setToggleSellerMap] = useState(false);\n const [openConsignmentEditPopup, setOpenConsignmentEditPopup] = useState(false);\n const [numPages, setNumPages] = useState(null);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const [showInvoiceModal, setShowInvoiceModal] = useState(false);\n const [scale, setScale] = useState(1);\n const [scaleNumber, setScaleNumber] = useState(100);\n const [isCrateInfo, setIsCrateInfo] = useState(false);\n const [isCratesAvailable, setIsCratesAvailable] = useState(false);\n const [addressVerified, setAddressVerified] = useState(false);\n const [openAddressPopup, setOpenAddressPopup] = useState(false);\n const [dataAfterOmsPull, setDataAfterOmsPull] = useState({} as any);\n const [tabValue, setTabValue] = useState(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES_DETAIL.ORDER_DETAIL);\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let custInfo: any = { address: {} };\n let custGeoLocation: any = { name: \"\", location: { lat: 0, lng: 0 }, markers: [] };\n let sellerGeoLocation: any = { name: \"\", location: { lat: 0, lng: 0 }, markers: [] };\n let posInfo: any = {\n address: {}\n };\n let items: any = [];\n let bundleProduct: any = [];\n let historyItems: any = [];\n let crates: any = [];\n let totalNumberOfItems: Number = 0;\n let cratesDetailsFromAlecto: any = cratesFromAlecto.crateAvailableOrders;\n\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n let hubName = \"\";\n let shippingStatus = \"\";\n let addressStatusAfterUpdate = \"\"\n let isCheckboxDisabled = false;\n let deliveryInformationAfterAddressUpdate: any = {};\n let custInfoAfterAddressUpdate: any = {\n address: {}\n }\n\n const handleStatusHistoryAndProducts = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n const handleDeliverySlotsForExpress = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchExpressSlotDropdownValues({\n countryCode: countryCode\n })\n );\n },\n [dispatch]\n );\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n shippingStatus = metadata && metadata.shippingStatus ? metadata.shippingStatus : \"\";\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n // statusErrorReason = consignment.statuses && consignment.statuses.length && consignment.statuses[0].reason ? consignment.statuses[0].reason : consignment.reason ? consignment.reason : {};\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n const latLng = { lat: parseFloat(custInfo.address.latitude) || 0, lng: parseFloat(custInfo.address.longitude) || 0 };\n custGeoLocation.location = latLng;\n const marker = { name: custInfo.name, location: latLng, icon: { url: MARKER_URL.RED_DOT_MARKER } };\n custGeoLocation.markers.push(marker);\n }\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`\n }\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n const latLng = { lat: parseFloat(posInfo.address.latitude) || 0, lng: parseFloat(posInfo.address.longitude) || 0 };\n sellerGeoLocation.location = latLng;\n const marker = { name: hubName, location: latLng, icon: { url: MARKER_URL.RED_DOT_MARKER } };\n sellerGeoLocation.markers.push(marker);\n }\n \n items = productsList;\n bundleProduct= bundleProductList\n if (productsAfterUpdateLineItem && productsAfterUpdateLineItem.length > 0) {\n items = productsAfterUpdateLineItem;\n }\n if(bundleProductAfterUpdateLineItem?.length > 0 ){\n bundleProduct = bundleProductAfterUpdateLineItem\n }\n totalNumberOfItems = items?.length + bundleProduct?.length\n\n crates = orderLevelCrateInfo.length ? orderLevelCrateInfo : getCratesFromProducts(productsList);\n cratesDetailsFromAlecto = getCratesFromProducts(productsListFromAlecto);\n if (consignmentStatuses) {\n let statuses = consignmentStatuses.slice();\n historyItems = statuses;\n }\n if (consignment?.deliveryInformation?.customerContactInfo?.address?.latitude) {\n const latLng = {\n lat: parseFloat(consignment?.deliveryInformation?.customerContactInfo?.address?.latitude) || 0,\n lng: parseFloat(consignment?.deliveryInformation?.customerContactInfo?.address?.longitude) || 0,\n };\n const marker = {\n name: consignment?.deliveryInformation?.customerContactInfo?.name,\n location: latLng,\n icon: { url: MARKER_URL.GREEN_DOT_MARKER },\n };\n sellerGeoLocation.markers.push(marker);\n }\n if (consignment?.deliveryInformation?.deliveryProof?.executedLocation?.latitude) {\n const latLng = {\n lat: parseFloat(consignment?.deliveryInformation?.deliveryProof?.executedLocation?.latitude) || 0,\n lng: parseFloat(consignment?.deliveryInformation?.deliveryProof?.executedLocation?.longitude) || 0,\n };\n const marker = {\n name: consignment?.deliveryInformation?.driver?.name || AppConstants.DRIVER,\n location: latLng,\n icon: { url: MARKER_URL.GREEN_DOT_MARKER },\n };\n custGeoLocation.markers.push(marker);\n }\n }\n if (consignmentDataAfterAddressUpdate) {\n deliveryInformationAfterAddressUpdate = consignmentDataAfterAddressUpdate.deliveryInformation;\n custInfoAfterAddressUpdate = deliveryInformationAfterAddressUpdate && deliveryInformationAfterAddressUpdate.customerContactInfo;\n addressStatusAfterUpdate = custInfoAfterAddressUpdate && custInfoAfterAddressUpdate.address && custInfoAfterAddressUpdate.address.status;\n if (addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED) {\n isCheckboxDisabled = true;\n }\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const handleTrackingLink = () => {\n const trackingUrl = `${deliveryInformation.carrierTrackingUrl}&source=portal`\n window.open(trackingUrl, '_blank');\n }\n\n const onDocumentLoadSuccess = ({ numPages }: any) => {\n setNumPages(numPages);\n }\n\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const checkEditable = () => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0) {\n return AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus) === -1;\n } else {\n return AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(metadata && metadata.deliveryStatus) === -1;\n }\n }\n\n const getBundleProduct =() =>{\n return bundleProduct.map((item: any, index: number) => (\n \n ))\n }\n\n const getItems = () => {\n return items && items.length && items.map((item: any, index: number) => (\n \n \n \n {\n item.substitutedProducts \n && item.substitutedProducts.length \n && item.substitutedProducts[0].name \n && item.substitutedProducts[0].name.en \n ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase())\n : item.name && item.name.en \n ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"\n }\n {\n isExisty(item.reason) && isExisty(item.reason.reasonCode) && isExisty(item.reason.reasonCode) ? (\n {`Rejection Reason - ${item.reason.reasonDescription}`}) :\n isExisty(item.substitutedProducts) && item.substitutedProducts.length && isExisty(item.substitutedProducts[0].reason) && isExisty(item.substitutedProducts[0].reason.reasonCode) ? (\n {`Rejection Reason - ${item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason && item.substitutedProducts[0].reason.reasonDescription}`}\n ) : (\n {\"\"}\n )\n }\n {\n item.substitutedProducts &&\n
\n View Original\n handleOriginalName()} />\n
\n }\n
\n \n \n \n {item.substitutedProducts &&\n item.substitutedProducts.length &&\n (item.substitutedProducts[0]?.rejectedQty !== undefined && item.substitutedProducts[0]?.rejectedQty !== '0')\n ? `${item.substitutedProducts[0]?.rejectedQty } ${\n item.substitutedProducts[0].uom ?\n item.substitutedProducts[0].uom === \"Grams\"\n ? displayUnitGrams(item.substitutedProducts[0].uom)\n : \"\"\n : item.uom && item.uom === \"Grams\"? displayUnitGrams(item.uom): \"\"\n }`\n : item?.rejectedQty && Number(item?.rejectedQty)\n ? `${item?.rejectedQty || '-'} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`\n : \"-\"}\n \n \n \n \n \n \n {item.substitutedProducts && item.substitutedProducts.length\n ? `${item.substitutedProducts[0].shippedQty} ${\n item.substitutedProducts[0].uom ?\n item.substitutedProducts[0].uom === \"Grams\"\n ? displayUnitGrams(item.substitutedProducts[0].uom)\n : \"\"\n : item.uom && item.uom === \"Grams\"? displayUnitGrams(item.uom): \"\"\n }`\n : `${item.shippedQty || 0} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}{\" \"}\n \n \n \n \n \n {`${item.quantity || \"\"} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}\n \n \n \n {`${fixDecimals(\n 2,\n item.substitutedProducts &&\n item.substitutedProducts.length &&\n item.substitutedProducts[0].unitPrice\n ? item.substitutedProducts[0]?.unitPrice\n : item.unitPrice\n ? item.unitPrice.toString()\n : \"\"\n )} ${metadata && metadata.currency}`}\n \n
\n {\n showOriginalName && item.substitutedProducts &&\n \n \n {item.name.en.toLowerCase()}\n \n \n {item.rejectedQty || \"-\"}\n\n \n\n \n {'-'}\n \n \n \n {`${item.quantity || \"\"} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}\n \n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n \n }\n
\n ))\n }\n\n const getCrateItems = () => {\n return crateInfo && crateInfo.length ? crateInfo.map((crate: any, index: number) => (\n \n \n \n \n {crate.crateId}\n \n \n \n \n {crate.productsCountPerCrate !== 0 && crate.productsCountPerCrate}\n \n \n \n \n {crate.locationCode}\n \n \n \n \n )) : (No Items to display)\n }\n\n const getCrateItemsFromAlecto = () => {\n return cratesDetailsFromAlecto && cratesDetailsFromAlecto.length ? cratesDetailsFromAlecto.map((crate: any, index: number) => (\n \n \n \n \n {crate.crateId}\n \n \n \n \n {crate.quantity}\n \n \n \n \n {crate.locationCode}\n \n \n \n \n )) : (Crate information updates susccessfuly)\n }\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n dispatch(\n closeDialog()\n );\n setTabValue(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES_DETAIL.ORDER_DETAIL);\n },\n [closePopup, dispatch],\n );\n\n const getCustomerImages = useCallback(\n () => {\n return deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.imageURLs ? deliveryInformation.deliveryProof.imageURLs.map((image: any, index: number) => (\n \"customer-delivery-proofs\"\n )) : null;\n },\n [deliveryInformation],\n );\n\n /* const checkStatusReason = useCallback(\n (reason: any, statusCode: string) => {\n return reason && reason.deliveryStatus ? reason.deliveryStatus === statusCode ? true : false : false;\n },\n [],\n ); */\n\n const closeConsignmentEditPopup = useCallback(\n () => {\n setOpenConsignmentEditPopup(false);\n },\n [],\n );\n\n const fetchAllDeliveryReasons = () => {\n dispatch(fetchDeliveryReasonsCountryBased());\n }\n\n useEffect(() => {\n if(openConsignmentEditPopup && !(reasonsDropdownList.length)){\n fetchAllDeliveryReasons();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode, openConsignmentEditPopup])\n\n const handleEditPopup = useCallback(\n () => {\n dispatch(\n resetReplanningSuccess()\n )\n setOpenConsignmentEditPopup(true);\n },\n [dispatch],\n );\n\n const handleInvoiceModalClose = () => {\n setShowInvoiceModal(false);\n setScale(1);\n };\n\n const zoomIn = (scaleNumber: any) => {\n setScaleNumber(scaleNumber + 15);\n setScale(scale + 0.4);\n };\n\n const zoomOut = (scaleNumber: any) => {\n if (scale > 1) {\n setScaleNumber(scaleNumber - 15);\n setScale(scale - 0.4);\n } else {\n setScale(1);\n }\n };\n\n const handleChange = (event: React.ChangeEvent) => {\n setAddressVerified(event.target.checked);\n setOpenAddressPopup(true)\n };\n\n const handleAddressDialogClose = useCallback(\n () => {\n setOpenAddressPopup(false);\n },\n [],\n );\n\n const handleMarkAddressVerified = useCallback(\n (consignment: any, address: boolean) => {\n const payload = createPayloadToMarkAddressUnverified(consignment, address);\n dispatch(\n getAddressStatus({\n params: payload\n })\n );\n setOpenAddressPopup(false);\n },\n [dispatch]\n )\n\n const updateAddressDialogActionHandler = useCallback(\n (type: string, order?: string, address?: any) => {\n if (type === 'yes') {\n setAddressVerified(true);\n handleMarkAddressVerified(order, true);\n } else {\n setOpenAddressPopup(false);\n setAddressVerified(false);\n }\n },\n [handleMarkAddressVerified],\n )\n\n const handleInvoicePdf = useCallback(\n (consignment) => {\n const paramsInvoice = {\n consignmentNo: [consignment.consignmentCode]\n };\n setShowInvoiceModal(true);\n dispatch(\n exportInvoicePdf({\n params: paramsInvoice\n })\n )\n },\n [dispatch]\n );\n\n const handleCratesInfoFromAlecto = useCallback(\n (consignment: any) => {\n setIsCrateInfo(true);\n setIsCratesAvailable(true);\n const payload = createCratesInfoPayload(consignment);\n dispatch(\n getCratesInfo({\n params: payload\n })\n )\n },\n [dispatch]\n );\n\n const handleCrateSummary = () => {\n setIsCratesAvailable(false);\n }\n\n const addressStatus = (status: any) => {\n if (status === ADDRESS_STATUS.VERIFIED) {\n return \"verified-icon\"\n } else {\n if (status === ADDRESS_STATUS.UNVERIFIED) {\n return \"unverified-icon\"\n } else {\n return \"pending-icon\"\n }\n }\n }\n\n const getAddressDialogTitleContent = () => {\n return (\n \n \n )\n }\n\n const getAddressDialogDetailsContent = () => {\n return (\n \n \n \n Do you want to mark this address unverified?\n \n \n )\n };\n const getAddressDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const renderInvoiceModal = () => {\n return (\n \n <>\n {loading && }\n {!loading && displayInvoice &&\n <>\n \n \n {invoiceConsignment}.pdf ({numPages} Pages)\n \n \n zoomOut(scaleNumber)} />\n {scaleNumber}\n zoomIn(scaleNumber)} className={classes.zoomInStyle} />\n \n \"Modal\n \n\n \n
\n
\n \n {Array.from(new Array(numPages), (el, index) => (\n \n ))}\n \n
\n
\n }\n {!loading && !displayInvoice &&\n
\n
\n
setShowInvoiceModal(false)}>\n \"Modal\n
\n

{invoiceMessage}

\n
\n
\n }\n \n
\n );\n };\n\n const getHistoryTimelineItems = () => {\n return historyItems && historyItems.length ? historyItems.map((item: any, index: number) => (\n < TimelineItem key={`${item.statusCode} - ${index}`} className=\"timelineItem\" >\n \n {index === 0 ?\n \n \n \n :\n \n \n \n }\n {index !== historyItems.length - 1 && }\n \n \n {item.statusName}{`(${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n {\n item.reason ? (\n \n {item.reason ? item.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n ) :\n consignment.reason && consignment.reason.deliveryStatus === item.statusCode ? (\n \n {consignment.reason ? consignment.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n ) : \"\"\n }\n {/* {\n checkStatusReason(statusErrorReason, item.statusCode) && \n {statusErrorReason ? statusErrorReason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n } */}\n \n \n )) : (No Items to display)\n }\n\n const fetchStatus = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchStatusOnClick({\n params: consignmentCode,\n })\n );\n }\n },\n [dispatch]\n );\n\n const checkRefreshableStatus = () => {\n let status = metadata && metadata.deliveryStatus;\n return (\n AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.REFRESHABLE_STATUSES.indexOf(\n status\n ) !== -1\n );\n };\n const handleClick = () => {\n fetchStatus(consignment);\n setRemainingTime(TIMER_CONST.pullTimeForRefresh);\n handleTimerInstances && handleTimerInstances(consignment.consignmentCode);\n };\n\n useEffect(() => {\n let timer: any = {};\n if (timerStarted) {\n timer = setInterval(() => {\n setRemainingTime((prevTime) => prevTime - 1);\n const countdownInstance = Countdown.getInstance();\n setTimersValue(countdownInstance);\n }, 1000); // update every second\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [timerStarted === true]);\n\n useEffect(() => {\n if (remainingTime === Number(0)) {\n dispatch(resetStatusRefreshButton());\n setShowTime && setShowTime(false);\n }\n }, [remainingTime, dispatch]);\n\n useEffect(() => {\n setDataAfterOmsPull(polledConsignmentOmsData)\n }, [polledConsignmentOmsData]);\n\n\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {consignment && consignment?.secureInfo && consignment?.secureInfo?.isVerified && (\n \n \n \n )} \n {consignment?.deliveryInformation?.deliverySlot?.rescheduled && (\n \n \n \n )}\n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : dataAfterOmsPull?.metadata ? (\n \n {dataAfterOmsPull?.metadata?.deliveryStatus}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n {!(isLastMileViewer || isOnlyStdLastMileViewer) &&\n <>\n {\n isFromViewRoute ?\n (\n checkEditable() && !isEditIcon &&\n \n \n \n ) : (\n checkEditable() && isDisplayStatusEditable(metadata, countryCode) &&\n \n \n \n )\n }\n {checkRefreshableStatus() && (\n \n {!timersValue[\n consignment.consignmentCode as keyof typeof timersValue\n ] && (\n \n )}\n {timerStarted &&\n timersValue[\n consignment.consignmentCode as keyof typeof timersValue\n ] && (\n <>\n \n \n {\" \"}\n Refresh in{\" \"}\n {\n timersValue[\n consignment.consignmentCode as keyof typeof timersValue\n ]\n }{\" \"}\n secounds{\" \"}\n \n \n )}\n \n )}\n \n }\n \n \n \n \n
\n {(deliveryInformation && deliveryInformation.carrierTrackingId) || consignment.orderReference \n ? (\n deliveryInformation && deliveryInformation.carrierTrackingUrl \n ? (<>\n {`Live Tracking (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n
\n handleInvoicePdf(consignment)}> View Invoice\n {deliveryInformation?.deliveryExecutionStatus && (\n <>\n
\n {`${deliveryInformation?.deliveryExecutionStatus || \"\"}`}\n \n )}\n )\n : <>\n {`Track Consignment (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n {deliveryInformation?.deliveryExecutionStatus && (\n <>\n
\n {`${deliveryInformation?.deliveryExecutionStatus || \"\"}`}\n \n )}\n \n ) \n : deliveryInformation?.deliveryExecutionStatus && {`${deliveryInformation?.deliveryExecutionStatus || \"\"}`}\n }\n
\n \n \n \n \n \n )\n }\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n },\n []\n )\n\n const handleOrderLogs = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchOrderLogs({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n const getOrderLogs = () => {\n return orderLogs && orderLogs.length ? (\n orderLogs.map((item: any, index: number) => (\n \n \n {index === 0 ? (\n \n \n \n ) : (\n \n \n \n )}\n {index !== orderLogs.length - 1 && }\n \n \n \n {item.message}\n {isModifiedBySystem(item.lastModifiedBy) && (\n {` (${getDateOrTimeInReqFormat(\n item.updatedAt,\n AppConstants.DATE_FORMAT\n )} at ${getDateOrTimeInReqFormat(item.updatedAt, AppConstants.SLOT_FORMAT_UI)})`}\n )}\n \n {!isModifiedBySystem(item.lastModifiedBy) && (\n \n Updated by\n {item.lastModifiedBy}\n {` (${getDateOrTimeInReqFormat(\n item.updatedAt,\n AppConstants.DATE_FORMAT\n )} at ${getDateOrTimeInReqFormat(item.updatedAt, AppConstants.SLOT_FORMAT_UI)})`}\n \n )}\n \n \n \n ))\n ) : (\n No Items to display\n );\n };\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n handleOrderLogs(consignment)}\n />\n \n \n \n \n \n Customer Details\n \n \n \n \n {custInfo && custInfo.name}\n \n {addressStatusAfterUpdate ? (\n \n {addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED ? (\n info-icon\n ) : (\n \"\"\n )}\n \n ) : (\n \n {addressStatus(custInfo?.address?.status)}\n \n )}\n \n \n location\n \n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")}\n \n \n \n \n \n \n setToggleCustMap(!toggleCustMap)}\n >\n View Geocoded Address\n \n \n \n \n \n {custGeoLocation ? (\n \n ) : (\n \"\"\n )}\n \n \n \n \n \n \n \n \n Mobile\n \n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \n Email\n \n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n \n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {!(custInfo && custInfo.address && custInfo.address.status === ADDRESS_STATUS.UNVERIFIED) && (\n \n Mark address as inaccurate}\n control={\n \n }\n />\n \n )}\n \n )}\n \n \n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode}\n \n \n \n \n \n \n Delivery Date\n \n \n {deliveryDate}\n \n \n \n \n \n \n Delivery Slot\n \n \n {deliverySlot}\n \n \n \n \n \n \n \n \n \n \n Delivery Proposition\n \n \n {metadata ? metadata.deliveryType : \"\"}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {custInfo && custInfo.address ? custInfo.address.area : \"\"}\n \n \n \n \n \n \n \n Payment Mode\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n {metadata && metadata.routeName && (\n \n \n \n \n \n Route No.\n \n \n {metadata.routeName}\n \n \n \n \n \n \n Driver\n \n \n \n {deliveryInformation && deliveryInformation.driver && deliveryInformation.driver.name}\n \n \n \n \n \n \n \n Vehicle\n \n \n \n {deliveryInformation && deliveryInformation.vehicle && deliveryInformation.vehicle.name}\n \n \n \n \n \n \n )}\n \n \n \n \n \n Payment Status\n \n \n \n {metadata && metadata.paymentStatus && metadata.paymentStatus === \"PAYMENT_ACCEPTED\"\n ? \"Payment Accepted\"\n : \"-\"}\n \n \n \n \n {deliveryInformation && deliveryInformation.helper && (\n \n \n \n Helper\n \n \n \n {deliveryInformation && deliveryInformation.helper && deliveryInformation.helper.name}\n \n \n \n \n )}\n \n \n \n \n \n {deliveryInformation && deliveryInformation.deliveryInstructions && (\n \n \n \n \n Delivery Instructions\n \n \n \n {deliveryInformation && deliveryInformation.deliveryInstructions}\n \n \n \n \n \n )}\n {(metadata?.deliveryStatus === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.ORDER_STATUS.DELIVERY_FAILED ||\n consignmentDataAfterReplanning?.metadata?.deliveryStatus ===\n AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.ORDER_STATUS.DELIVERY_FAILED) && (\n \n \n \n {consignmentDataAfterReplanning?.deliveryInformation\n ?.reason ? (\n <>\n \n \n Undelivered Reason\n \n \n \n \n {\n consignmentDataAfterReplanning\n ?.deliveryInformation?.reason\n ?.reasonDescription\n }\n \n \n \n ) : (\n deliveryInformation?.reason && (\n <>\n \n \n Undelivered Reason\n \n \n \n \n {\n deliveryInformation?.reason\n ?.reasonDescription\n }\n \n \n \n )\n )}\n \n \n \n )}\n \n \n \n \n Hub Details\n \n \n {hubName}\n {getAddressInfo(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n \n \n \n \n \n setToggleSellerMap(!toggleSellerMap)}\n >\n View Geocoded Address\n \n \n \n \n \n {sellerGeoLocation ? (\n \n ) : (\n \"\"\n )}\n \n \n \n \n \n \n \n \n }\n aria-controls='delivery-proof-content'\n id='delivery-proof-header'\n className={classes.accordionSummary}\n >\n Proof of Delivery\n {consignment && consignment?.secureInfo && consignment?.secureInfo?.isVerified && (\n <> \n
\n \n OTP Delivery\n \n )}\n \n \n \n \n \n \n \n \n \n Images\n \n \n \n {getCustomerImages()}\n \n \n \n \n \n \n \n Customer's Signature\n \n \n \n {deliveryInformation &&\n deliveryInformation.deliveryProof &&\n deliveryInformation.deliveryProof.signURL && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n Comments:\n \n \n \n {deliveryInformation && deliveryInformation.deliveryProof\n ? deliveryInformation.deliveryProof.comments\n : \"\"}\n \n \n \n \n \n \n \n \n \n \n \n }\n aria-controls='consignment-history-content'\n id='consignment-history-header'\n className={classes.accordionSummary}\n >\n Consignment History\n \n \n \n \n {getHistoryTimelineItems()}\n \n \n \n \n \n \n \n }\n aria-controls='consignment-history-content'\n id='consignment-history-header'\n className={classes.accordionSummary}\n >\n Items Summary ({totalNumberOfItems})\n \n \n \n \n \n \n \n Product Name\n \n \n Rejected Qty\n \n \n Shipped Qty\n \n \n Ordered Qty\n \n \n Unit Price\n \n \n \n {items?.length > 0 && getItems()}\n {bundleProduct.length > 0 && getBundleProduct()}\n {items?.length === 0 && bundleProductList?.length === 0 &&\n (\n No Items to display\n )}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n \n {deliveryInformation && metadata\n ? `${\n fixDecimals(\n 2,\n deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\"\n ) || \"\"\n } ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n \n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n \n \n {metadata\n ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${\n (metadata && metadata.currency) || \"\"\n }`\n : \"\"}\n \n \n \n \n \n {metadata && (metadata.paymentType === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ? (\n <>\n \n \n \n \n \n Amount to be Collected\n \n \n \n {metadata\n ? `${\n fixDecimals(\n 2,\n metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"\n ) || \"\"\n } ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n \n \n \n Collected Amount\n \n {revisedAmountAfterCalculation !== \"\" ? (\n \n {`${revisedAmountAfterCalculation} ${\n (metadata && metadata.currency) || \"\"\n }`}\n \n ) : (\n \n {`${\n metadata.collectedAmount\n ? parseFloat(metadata.collectedAmount.toString()).toFixed(2)\n : \"0.00\"\n } ${(metadata && metadata.currency) || \"\"}`}\n \n )}\n \n \n \n \n ) : null}\n \n \n \n \n \n \n }\n aria-controls='crate-section-content'\n id='crate-section-content'\n className={classes.accordionSummary}\n onClick={() => handleCrateSummary()}\n >\n \n Crate Summary\n \n Total Crates\n {` : ${crateInfo.length} (Estimated ${\n deliveryInformation ? deliveryInformation.estimatedCrates : \"\"\n } Actual ${deliveryInformation ? deliveryInformation.totalCratesCount : \"\"})`}\n \n \n \n \n \n {crateInfo && crateInfo.length ? (\n \n \n \n Crate ID\n \n \n Number of Items\n \n \n Staging Location\n \n \n {getCrateItems()}\n \n ) : (\n <>\n No Crates to display\n {isAdmin ? (\n <>\n {(metadata && metadata.deliveryStatus === \"NEW\") ||\n (metadata && metadata.deliveryStatus === \"READY_TO_DISPATCH\") ||\n (metadata && metadata.deliveryStatus === \"PREPARING\") ||\n (metadata && metadata.deliveryStatus === \"PREPARED\") ||\n (metadata && metadata.deliveryStatus === \"OUT_FOR_DELIVERY\") ||\n (metadata && metadata.deliveryStatus === \"PACKING_COMPLETE\") ? (\n handleCratesInfoFromAlecto(consignment)}\n >\n {AppConstants.BUTTONS.GET_CRATE_INFO}\n \n ) : null}\n {!loading && isCrateInfo ? (\n <>\n {isCratesAvailable &&\n cratesFromAlecto.crateNotAvailableOrders &&\n cratesFromAlecto.crateNotAvailableOrders.length > 0 ? (\n
No Crates Available
\n ) : null}\n {cratesFromAlecto.crateAvailableOrders &&\n cratesFromAlecto.crateAvailableOrders.length > 0 ? (\n
{getCrateItemsFromAlecto()}
\n ) : null}\n \n ) : null}\n \n ) : null}\n \n )}\n
\n
\n
\n
\n \n \n \n {getOrderLogs()}\n \n \n \n \n \n \n );\n }\n\n useEffect(() => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0 || isPolled) {\n let consignmentCode = consignment?.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n }, [consignmentDataAfterReplanning,isPolled, dispatch])\n\n useEffect(() => {\n if (consignment != null) {\n setIsCrateInfo(false);\n setAddressVerified(false);\n handleStatusHistoryAndProducts(consignment);\n if (isExpress) {\n handleDeliverySlotsForExpress(countryCode);\n }\n }\n }, [handleStatusHistoryAndProducts, handleDeliverySlotsForExpress, consignment, isExpress, countryCode]);\n return (\n <>\n \n \n {openConsignmentEditPopup && (\n \n )}\n {renderInvoiceModal()}\n \n )\n}\n\nexport default ConsignmentDetails;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { fetchOrdersFilterChipsDisplayCount, fetchRoutesFilterChipsDisplayCount, fetchPlanningOrderListByFilter, fetchPlanningRouteListByFilter, publishRoutes, deleteRoute, bulkDeleteRoute, clearPublishedRoutesErrors, clearUpdatedRoute, resetPlanningError, resetConsignmentReplanningSuccess, fetchDeliveryReasons, fetchDeliveryReasonsCountryBased, fetchDynamicFiltersOrdersDropdownValues, fetchDynamicFiltersRoutesDropdownValues, clearCurrentSlot, exportToExcel, exportRoutesToExcel, resetRouteConsignmentsState, resetSubrouteState } from \"./redux/planningSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n createDeleteRoutePayload,\n createBulkDeleteRoutePayload,\n createFilterPayload,\n createPublishRoutesPayload,\n getConsignmentStatusField,\n getRouteStatusField,\n lastMilePlanningOrdersDataTransform,\n lastMilePlanningRoutesDataTransform,\n transformDataForSubRoutes,\n createPayloadForExcelExport,\n createRoutesPayloadForExcelExport\n} from \"../mocks/routePlanning/response.transforms\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as deleteIcon } from './../assets/icons/delete-icon.svg';\nimport { ReactComponent as checkIcon } from './../assets/icons/circle-checked-icon.svg';\nimport { AppState } from \"../config/redux/reducers\";\nimport { useStyles } from \"./RoutePlanning.styles\";\nimport AllRoutes from \"./AllRoutes/AllRoutes\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport {persistState} from '../common/PersistData'\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport _ from \"lodash\";\nimport { CellParams, RowData, RowParams, SelectionChangeParams, SortModel } from \"../common/GridWrapper/DataTable\";\nimport { Button, Grid, IconButton, SvgIcon, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { TabContext, TabPanel } from '@material-ui/lab';\nimport { useHistory } from \"react-router\";\nimport CustomDialog from \"../common/Dialog\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport ConsignmentDetails from \"./ConsignmentDetails\";\nimport CustomTooltip from \"common/Tooltip\";\nimport { getSlotUIValue, getValueFromArray, isArrayNonEmpty, isInputAnArray, isNull, isUndefined, isNonEmptyObject, getHubRecordList } from \"../utils/helpers.utils\";\nimport moment from \"moment\";\nimport SelectBox from \"common/SelectBox\";\nimport {Countdown} from '../utils/countdownTimer'\nimport {TIMER_CONST} from \"../constants/CommonConstants\"\nimport {ACTION_BUTTON} from \"../constants/PlanningConstants\";\nimport { ROUTE_TYPE, ALL_ROUTES_TEXT_CONTANT} from \"./AllRoutes/utils/AllRouteConstant\";\nimport RenderRescheduleOrders from \"../common/RescheduleOrders/RenderRescheduleOrders\";\n\ninterface RoutePlanningProps {\n match?: any;\n location?: any;\n}\n\nconst RoutePlanning = (props: RoutePlanningProps) => {\n const dispatch = useDispatch();\n const history = useHistory();\n // const feature = useFeatureIsOn(\"newtest-feature-flag\")\n const { location } = props;\n const componentClasses = useStyles();\n const {\n ordersData,\n routesData,\n tableLoading,\n ordersFiltersDropdowns,\n routesFiltersDropdowns,\n ordersFilterChipsDisplayCount,\n routesFilterChipsDisplayCount,\n publishedRoutes,\n deletedRoute,\n publishedRoutesErrors,\n updatedRoute,\n routeDiscardSuccess,\n replanningConsignmentSuccess,\n loading,\n error,\n errorCode,\n excelLoading,\n exportError,\n isPolled,\n bulkDeletedRoute,\n } = useSelector((state: AppState) => state.routePlanning);\n \n let { isAddressUpdated } = useSelector(\n (state: AppState) => state.routePlanning\n );\n const { countryCode, hubCode, hubRecordList, hubRecordListWithCodeAndName } = useSelector(\n (state: AppState) => state.common\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const onLoadRef = useRef(true);\n const [showTime, setShowTime] = useState(false);\n const [navigatedFromPublish, setNavigatedFromPublish] = useState(false)\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [routesListToShow, setRoutesListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [routesSearchValue, setRoutesSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [isRouteSearched, setIsRouteSearched] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n const persitedRouteFilterChip = persistState.load(AppConstants.PLANNING_CONSTANTS.ROUTE_DATA_PERSIST)?.activeRoutesFilterChip\n const [activeRoutesFilterChip, setActiveRoutesFilterChip] = useState(persitedRouteFilterChip ? persitedRouteFilterChip :AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP);\n\n const [selectedRoutes, setSelectedRoutes] = useState([] as RowData[]);\n const [bulkDeleteClicked, setBulkDeleteClicked] = useState(false);\n const [isTabChange, setIsTabChange] = useState(false);\n const [lastTabClicked, setLastTabClicked ] = useState('');\n const [hubForRoutes, setHubForRoutes] = useState('');\n const [hubNameForRoutes, setHubNameForRoutes] = useState('');\n const [openPublishDialog, setOpenPublishDialog] = useState(false);\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [viewRoute, setViewRoute] = useState(null);\n const [createRouteHub, setCreateRouteHub] = useState(AppConstants.SELECT_NONE.value);\n const [openCreateRouteHubSelectionPopup, setOpenCreateRouteHubSelectionPopup] = useState(false);\n const [createRoute, setCreateRoute] = useState(false);\n const [routeToBeDeleted, setRouteToBeDeleted] = useState({});\n const [openPublishErrorMsgPopup, setOpenPublishErrorMsgPopup] = useState(false);\n const [routeState, setRouteState] = useState({ reselctSelectedCheckbox: false })\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'consignmentId') {\n newHeader.renderCell = (params: CellParams) => (\n
\n {`${params.value}`}\n {params?.rowData?.rescheduled && } \n
\n )\n }\n if (newHeader.field === 'deliveryStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [routesTableWrapperData, setRoutesTableWrapperData] = useState({\n ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'routeId') {\n newHeader.renderCell = (params: CellParams) => (\n <>\n {params.value}\n { params?.rowData?.subRoutes?.length > 0 \n ? {ALL_ROUTES_TEXT_CONTANT.PARENT_ROUTE} \n : params?.rowData?.routeType === ROUTE_TYPE.PARENT_ROUTE \n ? {ALL_ROUTES_TEXT_CONTANT.PARENT_ROUTE} \n : params?.rowData?.routeType === ROUTE_TYPE.SUB_ROUTE \n ? {ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE} \n : <>\n }\n \n );\n newHeader.renderSubElementCell = (params: CellParams) => (\n <>\n \n {params.value}\n {ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE}\n \n \n \n );\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n newHeader.renderSubElementCell = (params: CellParams) => (\n <>\n \n \n \n \n \n \n \n );\n }\n if (newHeader.field === 'deliveryArea') {\n newHeader.renderCell = (params: CellParams) => {\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : params.value[0]}\n \n \n );\n }\n }\n if (newHeader.field === 'deliverySlot') {\n newHeader.renderCell = (params: CellParams) => {\n const firstDelSlot = params.value.length && params.value[0].split('-');\n const slotValue = getSlotUIValue(firstDelSlot);\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : `${slotValue.startTime} - ${slotValue.endTime}`}\n \n \n );\n }\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n \n {params.value ? params.value : \"\"}\n \n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n\n const [routesTableInitialData, setRoutesTableInitialData] = useState({\n ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n \n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n <>\n \n \n \n \n {AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.OUT_FOR_DELIVERY !== (params.rowData?.routeStatus.toString().toUpperCase()) && params.value.routeType !== ROUTE_TYPE.SUB_ROUTE && \n \n }\n \n \n \n );\n newHeader.renderSubElementCell = (params: CellParams) => (\n <>\n \n \n \n \n \n \n \n );\n }\n return newHeader;\n })\n });\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n const persitedRouteData = persistState.load(AppConstants.PLANNING_CONSTANTS.ROUTE_DATA_PERSIST)?.routesActiveFilters\n const [tabValue, setTabValue] = useState(isNonEmptyObject(persitedRouteData) ? AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES : location.state && location.state.tabValue ? location.state.tabValue : AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.CONSIGNMENTS);\n\n const [routesActiveFilters, setRoutesActiveFilters] = useState(isNonEmptyObject(persitedRouteData) ? {...persitedRouteData} : { ...routesTableWrapperData.defaultFiltersObj });\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const [isExpress, setIsExpress] = useState(false);\n\n const publishDialogPaperProps = {\n classes: {\n root: componentClasses.publishDialogPaperPropsRoot\n }\n }\n\n const deleteDialogPaperProps = {\n classes: {\n root: componentClasses.deleteDialogPaperPropsRoot\n }\n }\n\n const createRouteHubSelectionDialogPaperProps = {\n classes: {\n root: componentClasses.hubSelectionDialogPaperPropsRoot\n }\n }\n\n const fetchDynamicFilters = useCallback(\n (filters: any, isRoute?: boolean) => {\n if (isRoute) {\n dispatch(\n fetchDynamicFiltersRoutesDropdownValues({\n filters: filters\n })\n )\n } else {\n dispatch(\n fetchDynamicFiltersOrdersDropdownValues({\n filters: filters\n })\n )\n }\n },\n [dispatch]\n );\n\n const handleHeaderButtonsDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case ACTION_BUTTON.PUBLISH:\n btn.disabled = !selectedRoutes.length;\n break;\n case ACTION_BUTTON.BULK_DELETE:\n btn.disabled = !selectedRoutes.length;\n btn.displayName= selectedRoutes.length ? ` Delete ${selectedRoutes.length} Selected`: 'Delete Routes'\n break; \n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case \"createRoute\":\n if(isLastMileViewer || isOnlyStdLastMileViewer){\n btn.hide = true;\n }\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, selectedRoutes]\n );\n\n const handleHeaderButtonsHideState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case ACTION_BUTTON.PUBLISH:\n btn.hide = activeRoutesFilterChip !== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP;\n break;\n case ACTION_BUTTON.BULK_DELETE:\n btn.hide = AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DELETE_STATUS.indexOf(activeRoutesFilterChip) < 0; \n break;\n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'createRoute':\n btn.hide = activeOrdersFilterChip !== AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP;\n break;\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip]\n );\n\n const handleLoadMoreDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let loadMoreState = routesTableWrapperData.loadMore;\n loadMoreState.disabled = routesData.totalPages ? routesData.pageNumber + 1 >= routesData.totalPages : true;\n setRoutesTableWrapperData({ ...routesTableWrapperData, loadMore: loadMoreState });\n } else {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n }\n },\n [routesTableWrapperData, ordersTableWrapperData, ordersData, routesData]\n );\n\n const getFilterChipsCount = useCallback(\n (payload: any, isRoute?: boolean) => {\n setIsDisplayCount(false);\n let updatedPayload = _.cloneDeep(payload);\n if (isRoute) {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.displayRouteStatus');\n dispatch(\n fetchRoutesFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n } else {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.metadata.displayRouteStatus');\n dispatch(\n fetchOrdersFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n }\n\n },\n [dispatch],\n )\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const routesSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setRoutesSearchValue(updatedSearchValue);\n setIsRouteSearched(false);\n if (updatedSearchValue) {\n setIsRouteSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n routesFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeOrdersFilterChip === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n if (payloadFilters.displayRouteStatus && payloadFilters.displayRouteStatus.value) {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n }\n }\n const payload = createFilterPayload(payloadFilters, ordersData, isLoadMore, isExpress);\n if (!isLoadMore) {\n fetchDynamicFilters(payload);\n }\n if(isLoadMore){\n setIsTabChange(false);\n }\n getFilterChipsCount(payload);\n dispatch(\n fetchPlanningOrderListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, ordersData, ordersTableWrapperData, activeOrdersFilterChip, isExpress, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n const handleExcelExport = useCallback(\n (filters: any, isRoute: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n if (isRoute) {\n if (activeRoutesFilterChip === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n const payload = createRoutesPayloadForExcelExport(payloadFilters, routesData, false, isExpress, true);\n dispatch(\n exportRoutesToExcel({\n payload: payload\n })\n );\n } else {\n if (activeOrdersFilterChip === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n const payload = createPayloadForExcelExport(payloadFilters, ordersData, false, isExpress, false);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n }\n }\n setRenderExcelProgress(true);\n },\n [dispatch, ordersData, routesData, isExpress, countryCode, activeOrdersFilterChip, activeRoutesFilterChip]\n )\n\n const routesFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = routesTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeRoutesFilterChip === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, routesData, isLoadMore, isExpress, true);\n if (!isLoadMore) {\n fetchDynamicFilters(payload, true);\n }\n if(isLoadMore){\n setIsTabChange(false);\n }\n dispatch(\n fetchPlanningRouteListByFilter({\n filters: payload\n })\n );\n getFilterChipsCount(payload, true);\n setRoutesActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, routesData, routesTableWrapperData, activeRoutesFilterChip, isExpress, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n\n\n const handleConsignmentReplanningReset = useCallback(\n () => {\n dispatch(\n resetConsignmentReplanningSuccess()\n )\n },\n [dispatch],\n );\n\n const handleHubSelectionDialogClose = useCallback(\n () => {\n setOpenCreateRouteHubSelectionPopup(false);\n },\n [],\n );\n\n const handleClearCurrentSlot = useCallback(\n () => {\n dispatch(\n clearCurrentSlot()\n );\n },\n [dispatch],\n );\n\n const hubSelectionDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'continue') {\n if(lastTabClicked ){\n if(hubForRoutes){\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES);\n }\n else{\n setOpenCreateRouteHubSelectionPopup(false)\n }\n }\n else{\n handleClearCurrentSlot();\n setCreateRoute(true);\n setEditRoute(null);\n }\n }\n handleHubSelectionDialogClose();\n },\n [handleHubSelectionDialogClose, handleClearCurrentSlot, lastTabClicked, hubForRoutes],\n )\n\n const handleHubChangePopup = useCallback(\n () => {\n const hubs : any[] = getHubRecordList(hubRecordList, countryCode);\n if (hubs.length > 1) {\n setOpenCreateRouteHubSelectionPopup(true);\n } else {\n if(lastTabClicked ){\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES);\n setHubForRoutes(hubs.length ? hubs[0].value : AppConstants.SELECT_NONE.value)\n }else{\n setCreateRouteHub(hubs.length ? hubs[0].value : AppConstants.SELECT_NONE.value);\n }\n hubSelectionDialogActionHandler('continue');\n }\n },\n [hubRecordList, countryCode, hubSelectionDialogActionHandler],\n )\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'createRoute':\n handleHubChangePopup();\n break;\n case 'excel':\n handleExcelExport(ordersActiveFilters, false);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, handleHubChangePopup, ordersActiveFilters]\n );\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'consignmentId') {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n }\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRowClick = useCallback(\n (params: RowParams) => {\n const selectedRow: any = params.data;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRouteCellClick = useCallback(\n (params: CellParams) => {\n if (params.field !== 'actions') {\n const selectedRow: any = params.rowData;\n const selectedRoute = routesData.elements.filter((item: any) => item.id === selectedRow.id);\n handleClearCurrentSlot();\n setViewRoute(selectedRoute.length ? selectedRoute[0] : {});\n setCreateRoute(false);\n }\n },\n [routesData, handleClearCurrentSlot],\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n\n\n const handleRoutesHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case ACTION_BUTTON.PUBLISH:\n setOpenPublishDialog(true);\n break;\n case ACTION_BUTTON.BULK_DELETE:\n handleDeleteBulkRouteButtonClick();\n break;\n case 'excel':\n handleExcelExport(routesActiveFilters, true);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, routesActiveFilters]\n );\n\n const getPublishDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getPublishDialogDetailsContent = () => {\n return (\n \n \n Are you sure you want to publish these routes?\n \n \n {selectedRoutes.length > 1 ? `${selectedRoutes.length} Routes` : `${selectedRoutes.length} Route`}{selectedRoutes.length > 1 ? ' are ' : ' is '}being published. Once published, the drivers will be notified of the assigned routes.\n \n \n )\n };\n\n const handlePublishDialogClose = useCallback(\n () => {\n setOpenPublishDialog(false);\n },\n [],\n )\n\n const getDeleteDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getDeleteDialogDetailsContent = () => {\n return (\n \n \n {!bulkDeleteClicked && {`Are you sure you want to delete Route ${routeToBeDeleted.routeId}`}}\n {bulkDeleteClicked && {`Are you sure you want to delete ${selectedRoutes.length} route(s)`}}\n \n \n Once deleted, the consignments in this route will be moved back to the unplanned tab.\n \n \n )\n };\n\n const handleHubChange = useCallback(\n (value: any) => {\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, \"\");\n setCreateRouteHub(value);\n if (lastTabClicked) {\n const hubName: any = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", value);\n setHubForRoutes(value);\n setCreateRouteHub(value);\n setHubNameForRoutes(hubName);\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, value);\n }\n },\n [lastTabClicked]\n );\n\n const getHubSelectionDialogTitleContent = () => {\n return (\n Select Hub\n )\n }\n\n const getHubSelectionDialogDetailsContent = () => {\n return (\n \n \n Please select the Hub to create routes\n \n \n \n \n \n )\n };\n\n const getDeliveryAreas = (areas: any[]) => {\n return areas.length && areas.map((area: string, index: number) => (\n {area}\n ));\n }\n\n const getDeliverySlots = (slots: any[]) => {\n return slots.length && slots.map((slot: string, index: number) => {\n const delSlot = slot.split('-');\n const slotValue = getSlotUIValue(delSlot);\n return (\n {`${slotValue.startTime} - ${slotValue.endTime}`}\n )\n });\n }\n\n const handleDeleteRouteIconClick = (value: any) => () => {\n setBulkDeleteClicked(false);\n setRouteToBeDeleted(value);\n setOpenDeleteDialog(true);\n }\n\n const handleDeleteBulkRouteButtonClick = () => {\n setBulkDeleteClicked(true);\n setOpenDeleteDialog(true);\n }\n\n const handleEditRouteIconClick = (value: any) => () => {\n handleClearCurrentSlot();\n setEditRoute(value);\n setCreateRoute(false);\n }\n\n const handleDeleteDialogClose = useCallback(\n () => {\n setRouteToBeDeleted({});\n setBulkDeleteClicked(false);\n setOpenDeleteDialog(false);\n },\n [],\n );\n\n const handleBulkOrSingleDelete = useCallback(\n (routesData) => {\n const bulkDeletePayload = createBulkDeleteRoutePayload(routesData);\n if (bulkDeletePayload) {\n dispatch(\n bulkDeleteRoute({\n payload: bulkDeletePayload\n })\n )\n }\n },\n [dispatch],\n )\n\n const handleDeleteRoute = useCallback(() => {\n handleBulkOrSingleDelete([routeToBeDeleted]);\n }, [routeToBeDeleted]);\n\n const handleBulkDelete = useCallback(\n () => {\n handleBulkOrSingleDelete(selectedRoutes)\n },\n [selectedRoutes],\n ) \n\n const deleteRouteDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'delete') {\n handleDeleteRoute();\n }\n if(type === 'bulkDelete'){\n handleBulkDelete()\n }\n handleDeleteDialogClose();\n },\n [handleDeleteDialogClose, handleDeleteRoute, handleBulkDelete],\n )\n\n const getDeleteDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getHubSelectionDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n\n\n const handlePublishRoutes = useCallback(\n () => {\n const publishPayload = createPublishRoutesPayload(selectedRoutes);\n if (publishPayload) {\n dispatch(\n publishRoutes({\n payload: publishPayload\n })\n )\n }\n },\n [dispatch, selectedRoutes],\n )\n\n const publishRoutesDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'publish') {\n handlePublishRoutes();\n }\n handlePublishDialogClose();\n },\n [handlePublishDialogClose, handlePublishRoutes],\n )\n\n const getPublishDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n if (error) {\n dispatch(\n resetPlanningError()\n )\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(\n clearUpdatedRoute()\n )\n }\n },\n [dispatch, error, errorCode, updatedRoute]\n );\n\n const handleTabChange = (event: React.ChangeEvent<{}>, value: string) => {\n persistState.remove(AppConstants.PLANNING_CONSTANTS.ROUTE_DATA_PERSIST)\n if (value == AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES) {\n setLastTabClicked(value);\n setCreateRouteHub(AppConstants.SELECT_NONE.value);\n let hubValue: string | null | undefined = sessionStorage.getItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES); \n if (hubValue && !isNull(hubValue) ) {\n const hubName: any = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", hubValue);\n setHubForRoutes(hubValue);\n setHubNameForRoutes(hubName);\n setTabValue(value);\n } else if (\n !isUndefined(getHubRecordList(hubRecordList, countryCode)) &&\n isInputAnArray(getHubRecordList(hubRecordList, countryCode)) &&\n hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode]?.length === 1\n ) {\n const hubName: any = getHubRecordList(hubRecordList, countryCode);\n hubValue = hubName[0]?.value;\n setHubForRoutes(hubValue || AppConstants.SELECT_NONE.value);\n setHubNameForRoutes(hubName);\n setTabValue(value);\n } else {\n setOpenCreateRouteHubSelectionPopup(true);\n }\n } else {\n setHubForRoutes(\"\");\n setLastTabClicked(\"\");\n setTabValue(value);\n }\n let updatedFilters: any = {};\n if (value === AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES) {\n updatedFilters = {\n ...routesActiveFilters,\n hub: { ...routesActiveFilters.hub, value: ordersActiveFilters.hub.value },\n hubName: { ...routesActiveFilters.hubName, value: ordersActiveFilters.hubName.value },\n dateRange: ordersActiveFilters.dateRange,\n deliverySlot: ordersActiveFilters.deliverySlot,\n };\n setIsRouteSearched(false);\n } else {\n updatedFilters = {\n ...ordersActiveFilters,\n hub: { ...ordersActiveFilters.hub, value: routesActiveFilters.hub.value },\n hubName: { ...ordersActiveFilters.hubName, value: routesActiveFilters.hubName.value },\n dateRange: routesActiveFilters.dateRange,\n deliverySlot: routesActiveFilters.deliverySlot,\n };\n setIsOrderSearched(false);\n }\n }\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any, isRoute?: boolean) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n if (isRoute) { \n setRouteState({...routeState, reselctSelectedCheckbox: true});\n if(navigatedFromPublish){\n filters = chip.code === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DISPLAY_PUBLISHED_FILTER_OBJ, value: [chip.code] } }\n }\n else{\n filters = chip.code === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n }\n setIsRouteSearched(false);\n if (chip.code === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.CONSIGNMENTS);\n setActiveOrdersFilterChip(chip.code);\n }\n if (chip.code !== activeRoutesFilterChip) {\n setActiveRoutesFilterChip(chip.code);\n routesFilterCallback(filters, false, true);\n let hederTemp:any;\n routesTableInitialData.HeaderData.map((header: any) => {\n hederTemp = { ...header };\n })\n const headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'actions') {\n newHeader.renderCell = AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.EDIT_STATUS_ROUTE.indexOf(chip.code) < 0 ? () => (<>) : hederTemp.renderCell;\n newHeader.renderSubElementCell = AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.EDIT_STATUS_ROUTE.indexOf(chip.code) < 0 ? () => (<>) : hederTemp.renderSubElementCell;\n }\n return newHeader;\n })\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n } else {\n filters = chip.code === AppConstants.PLANNING_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true);\n }\n }\n setRenderExcelProgress(false);\n },\n [routesFilterCallback, ordersFilterCallback, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip],\n )\n\n const updateSelectedRoutes = useCallback(\n (params: SelectionChangeParams) => {\n setRouteState({...routeState, reselctSelectedCheckbox: false});\n setSelectedRoutes(params.rows);\n },\n []\n );\n\n\n const viewPublishRoute = useCallback(\n () => {\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES);\n setNavigatedFromPublish(true)\n setActiveRoutesFilterChip(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.PUBLISHED_FILTER_CHIP)\n },\n []\n );\n\n const getFilterChips = (isRoute?: boolean) => {\n const filterChips = isRoute ? AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.FILTER_CHIPS : AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n <>\n handleChipFilter(chip, isRoute ? routesActiveFilters : ordersActiveFilters, isRoute)}>\n\n \n \n {chip.value}\n \n \n {chip.code === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP ? ordersFilterChipsDisplayCount.consignmentCount[chip.code] : isRoute ? routesFilterChipsDisplayCount.routCount[chip.code] : ordersFilterChipsDisplayCount.consignmentCount[chip.code]}\n \n \n \n \n ))\n };\n\n const getPublishedErrorContentItems = () => {\n return publishedRoutesErrors.length ? publishedRoutesErrors.map((error: any) => (\n \n \n \n \n {error.message}\n \n \n \n )) : null;\n };\n\n const handlePublishErrorPopupClose = useCallback(\n () => {\n setOpenPublishErrorMsgPopup(false);\n dispatch(\n clearPublishedRoutesErrors()\n );\n },\n [dispatch],\n );\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n history.replace({ pathname: location.pathname, state: {} })\n }\n\n useEffect(() => {\n dispatch(resetRouteConsignmentsState());\n dispatch(resetSubrouteState());\n isAddressUpdated = false;\n window.addEventListener('beforeunload', handleBeforeUnload);\n onLoadRef.current = true;\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, \"\");\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error, isExpress])\n\n\n\n useEffect(() => {\n if (publishedRoutes.length && tabValue !== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES && tabValue === AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES ) {\n onLoadRef.current = false;\n openSnackbarPopup(`\"${publishedRoutes.length} Route(s)\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publishedRoutes])\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n }\n if (!(updatedRoute && routeDiscardSuccess)) {\n if (editRoute) {\n // history.push(AppConstants.ROUTES.EDIT_ROUTE);\n history.push(`${AppConstants.ROUTES.EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n isExpress: isExpress,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.PLANNING,\n state: {\n tabValue: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n if (createRoute) {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n isExpress: isExpress\n });\n }\n if (viewRoute) {\n history.push(`${AppConstants.ROUTES.VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute,\n isExpress: isExpress,\n parentRoute: viewRoute?.routeType,\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updatedRoute, routeDiscardSuccess, isExpress])\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n history.push(`${AppConstants.ROUTES.EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n isExpress: isExpress,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.PLANNING,\n state: {\n tabValue: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n }\n if (createRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n isExpress: isExpress\n });\n }\n }\n if (viewRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n persistState.add(AppConstants.PLANNING_CONSTANTS.ROUTE_DATA_PERSIST, {\n routesActiveFilters: routesActiveFilters,\n activeRoutesFilterChip: activeRoutesFilterChip,\n });\n history.push(`${AppConstants.ROUTES.VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute,\n isExpress: isExpress,\n parentRoute: viewRoute?.routeType,\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editRoute, createRoute, viewRoute, isExpress])\n\n useEffect(() => {\n if (deletedRoute) {\n onLoadRef.current = false;\n openSnackbarPopup(`Route \"${deletedRoute.id}\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DELETE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deletedRoute])\n\n useEffect(() => {\n if (bulkDeletedRoute && tabValue!== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES) {\n onLoadRef.current = false;\n openSnackbarPopup(`Route(s) ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.DELETE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n }, [bulkDeletedRoute])\n\n useEffect(() => {\n if (replanningConsignmentSuccess || isPolled ) {\n openSnackbarPopup(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.REPLANNING_CONSIGNMENT_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [replanningConsignmentSuccess, isPolled])\n\n useEffect(() => {\n if (isAddressUpdated) {\n openSnackbarPopup(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.ADDRESS_MARKED_UNVERIFIED, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAddressUpdated])\n\n useEffect(() => {\n if (publishedRoutesErrors.length) {\n setOpenPublishErrorMsgPopup(true);\n }\n }, [publishedRoutesErrors])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(ordersFilterChipsDisplayCount.consignmentCount).filter((key: string) => ordersFilterChipsDisplayCount.consignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? chips[0] === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.CANCELLED && chips.length === 2 ? chips[1] : selectedChipValue : activeOrdersFilterChip }, ordersActiveFilters)\n } else {\n setOrdersListToShow(lastMilePlanningOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFilterChipsDisplayCount, ordersData, isExpress]);\n\n useEffect(() => {\n if (isRouteSearched) {\n const chips = Object.keys(routesFilterChipsDisplayCount.routCount).filter((key: string) => routesFilterChipsDisplayCount.routCount[key] > 0);\n handleChipFilter({ code: chips.length ? chips[0] : activeRoutesFilterChip }, routesActiveFilters, true);\n } else {\n setRoutesListToShow(transformDataForSubRoutes(routesData) as any);\n handleLoadMoreDisableState(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesFilterChipsDisplayCount, routesData]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersListToShow, isExpress]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesListToShow, selectedRoutes, isExpress]);\n\n useEffect(() => { \n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === \"addressStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.addressStatusList || [];\n }\n if (header.filterObj.fieldName === \"deliveryZone\") {\n header.filterObj.items = ordersFiltersDropdowns.deliveryZonesList || [];\n }\n if (header.filterObj.fieldName === \"vendor\") {\n header.filterObj.items = ordersFiltersDropdowns.vendorList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n if (header.filterObj.fieldName === 'deliveryExecutionStatus') {\n header.filterObj.items = ordersFiltersDropdowns.executionStatusList || [];\n }\n }\n return header;\n });\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({ name: hub, value: hub }));\n const globalHubApplied = hubsToAdd.findIndex((p: { value: string; }) => p.value == AppConstants.SELECT_ALL.value);\n let updatedFilters: any = {};\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: routesHeaderData });\n setActiveOrdersFilterChip(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n if(navigatedFromPublish){\n setActiveRoutesFilterChip(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.PUBLISHED_FILTER_CHIP);\n }\n \n if (tabValue === AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.CONSIGNMENTS) {\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: globalHubApplied < 0 && hubsToAdd.length ? hubsToAdd : [] } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n } else if (tabValue === AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES) {\n setIsRouteSearched(false);\n updatedFilters = { ...routesActiveFilters, hub: { ...routesActiveFilters.hub, value: globalHubApplied < 0 && hubsToAdd.length ? hubsToAdd : [] } };\n if (!onLoadRef.current) {\n routesFilterCallback(updatedFilters);\n }\n } else {\n setHubForRoutes(\"\");\n setLastTabClicked(\"\");\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, \"\");\n const hubValueIndex = hubCode.findIndex((hub: string) => hub !== AppConstants.SELECT_ALL.value)\n if(hubValueIndex !== -1){\n const hubValue = hubCode[hubValueIndex];\n sessionStorage.setItem(AppConstants.PLANNING_CONSTANTS.HUB_FOR_ROUTES, hubValue);\n const hubName: any = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", hubValue);\n setHubForRoutes(hubValue);\n setHubNameForRoutes(hubName);\n } else {\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: globalHubApplied < 0 && hubsToAdd.length ? hubsToAdd : [] } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.CONSIGNMENTS);\n }\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode, isExpress, navigatedFromPublish]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === \"addressStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.addressStatusList || [];\n }\n if (header.filterObj.fieldName === \"deliveryZone\") {\n header.filterObj.items = ordersFiltersDropdowns.deliveryZonesList || [];\n }\n if (header.filterObj.fieldName === \"vendor\") {\n header.filterObj.items = ordersFiltersDropdowns.vendorList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n if (header.filterObj.fieldName === 'deliveryExecutionStatus') {\n header.filterObj.items = ordersFiltersDropdowns.executionStatusList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n if (routesTableWrapperData && routesTableWrapperData.HeaderData) {\n let headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns, routesFiltersDropdowns, isExpress]);\n\n useEffect(() => {\n handleHeaderButtonsHideState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeOrdersFilterChip, isExpress]);\n\n useEffect(() => {\n handleHeaderButtonsHideState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeRoutesFilterChip]);\n\n useEffect( () => () => {\n if(isNonEmptyObject(persitedRouteData)){\n persistState.remove(AppConstants.PLANNING_CONSTANTS.ROUTE_DATA_PERSIST)\n }\n\n }, [persitedRouteData] );\n\n useEffect(() => {\n if (countryCode === AppConstants.COUNTRY_KENYA) {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'paybill') {\n newHeader.hide = false\n }\n if (newHeader.field === 'mpesaphoneNumber') {\n newHeader.hide = false\n }\n if (newHeader.field === 'refNo') {\n newHeader.hide = false\n }\n if (newHeader.field === 'mpesaAttemptNo') {\n newHeader.hide = false\n }\n if (newHeader.field === 'mpesaStatus') {\n newHeader.hide = false\n }\n if (newHeader.field === 'requestedAmt') {\n newHeader.hide = false\n }\n if (newHeader.field === 'timestamp') {\n newHeader.hide = false\n }\n return newHeader;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n } else {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'paybill') {\n newHeader.hide = true\n }\n if (newHeader.field === 'mpesaphoneNumber') {\n newHeader.hide = true\n }\n if (newHeader.field === 'refNo') {\n newHeader.hide = true\n }\n if (newHeader.field === 'mpesaAttemptNo') {\n newHeader.hide = true\n }\n if (newHeader.field === 'mpesaStatus') {\n newHeader.hide = true\n }\n if (newHeader.field === 'requestedAmt') {\n newHeader.hide = true\n }\n if (newHeader.field === 'timestamp') {\n newHeader.hide = true\n }\n return newHeader;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n }\n if (isLastMileViewer || isOnlyStdLastMileViewer) {\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = {...header};\n if (newHeader.field === \"actions\") {\n newHeader.hide = true;\n }\n return newHeader;\n });\n setRoutesTableWrapperData({...routesTableWrapperData, HeaderData: routesHeaderData});\n } \n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode])\n\n useEffect(() => {\n if (location.pathname === AppConstants.ROUTES.EXPRESS) {\n setIsExpress(true);\n } else {\n setIsExpress(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location, isExpress]);\n\n\nconst handleTimerInstances = (id: any) => {\n Countdown.startCountdown(id, TIMER_CONST.globalTimeForRefresh);\n setShowTime(true);\n};\n\n const handleChangeAllRoutesHub = () => {\n setTabValue(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.CONSIGNMENTS);\n setLastTabClicked(AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ALLROUTES);\n setOpenCreateRouteHubSelectionPopup(true);\n };\n\n return (\n
\n {loading && }\n \n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips(true)\n }\n \n \n \n \n \n \n {\n openPublishErrorMsgPopup &&\n \n \n \n \n {`${publishedRoutesErrors.length} Route(s) ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_ERROR_MSG}`}\n \n \n \n \n \n \n \n \n \n \n {getPublishedErrorContentItems()}\n \n \n \n }\n \n \n \n \n \n \n \n \n {openConsignmentDetailsPopup && }\n {openPublishDialog && }\n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n \n Your files are getting downloaded\n \n ) : (\n \n \n Your files have been downloaded\n \n \n )}\n {excelLoading ? :\n \n \n \n \n \n \n }\n ) : (\n exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null)}\n\n \n \n
\n );\n};\n\nexport default RoutePlanning;","import { createStyles, makeStyles, StepConnector, Theme, withStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\nimport { alignItems } from \"styled-system\";\n\nexport const StepperTimelineConnector = withStyles({\n alternativeLabel: {\n top: 28,\n left: 'calc(-50% + 9px)',\n right: 'calc(50% + 9px)'\n },\n active: {\n '& $line': {\n borderColor: COLORS.SECONDARY_DARK,\n },\n },\n line: {\n borderColor: COLORS.SECONDARY_DARK,\n borderTopWidth: 4,\n borderRadius: 100,\n },\n})(StepConnector);\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n '& .padding-2': {\n padding: theme.spacing(2)\n }\n },\n statusHeaderContainer: {\n alignItems: \"center\",\n paddingLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"10px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 8,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n '&.parent':{\n backgroundColor: COLORS.OLD_GOLD,\n color: COLORS.WHITE,\n margin: 4,\n textTransform: \"uppercase\",\n }\n }\n },\n container: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"100%\",\n '& .createRtItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(3),\n display: \"flex\",\n justifyContent: \"space-between\",\n '& .headingContainer': {\n alignItems: \"center\"\n },\n '& .editIcon': {\n width: 22,\n height: 22,\n marginLeft: theme.spacing(1),\n cursor: \"pointer\"\n },\n '& .headingTitle': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600,\n }\n },\n '&.content': {\n height: \"calc(100vh - 176px)\"\n }\n }\n },\n createRtContentContainer: {\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n boxShadow: `0px 1px 4px ${COLORS.LIGHT_BLACK_SHADOW}`,\n borderRadius: theme.spacing(1),\n height: \"100%\",\n '&.left': {\n width: 500,\n minWidth: 500,\n marginRight: theme.spacing(3),\n '& .consignmentsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentItem': {\n '& .headerSectionContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(2, 2, 1, 2),\n '&.viewMode': {\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n },\n '& .searchTextBox': {\n '& .MuiOutlinedInput-root': {\n width: 210,\n }\n },\n '& .MuiOutlinedInput-root': {\n width: 143,\n minWidth: 143,\n height: 24,\n borderRadius: theme.spacing(.5)\n },\n '& .MuiOutlinedInput-input': {\n fontSize: 10,\n padding: 0,\n paddingLeft: theme.spacing(.5)\n },\n '& .MuiSelect-iconOutlined': {\n right: 0\n },\n '& .MuiSelect-root': {\n '& .MuiChip-root': {\n fontSize: 10,\n height: 15\n }\n },\n '& .headerContainer': {\n alignItems: \"center\",\n paddingBottom: theme.spacing(1.5),\n '& .headerItem': {\n '&.heading': {\n flexGrow: 1,\n '& .refreshIcon': {\n width: 16,\n height: 16,\n cursor: \"pointer\",\n marginLeft: theme.spacing(0.5)\n },\n '& p': {\n fontSize: 16,\n fontWeight: 600\n }\n },\n '&.icons': {\n display: \"flex\",\n alignItems: \"center\",\n '& .MuiOutlinedInput-adornedEnd': {\n paddingRight: 0,\n '& .MuiSvgIcon-root': {\n padding: theme.spacing(.25)\n }\n },\n '& .MuiInputAdornment-positionEnd': {\n marginLeft: 0\n },\n '& .MuiIconButton-sizeSmall': {\n padding: 0,\n '&.MuiIconButton-edgeEnd': {\n marginRight: 0\n }\n },\n '& .MuiSvgIcon-root': {\n width: 19,\n height: 19\n },\n '& .icon': {\n padding: theme.spacing(0.5)\n }\n }\n }\n },\n '& .filtersContainer': {\n '& .filterItem': {\n paddingRight: theme.spacing(0.5),\n '&:last-child': {\n paddingRight: 0\n },\n '& .icon-datepicker': {\n marginLeft: 0\n },\n '& .filterName': {\n fontSize: 9,\n fontWeight:600,\n marginBottom:4 \n },\n }\n }\n },\n '&.content': {\n height: \"calc(100% - 80px)\",\n '& .contentContainer': {\n position: \"relative\",\n height: \"100%\"\n },\n '& .hubLabel': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(8.5),\n '&.isRoute': {\n right: theme.spacing(2)\n },\n '& .hubLabelContainer': {\n alignItems: \"center\",\n height: 21,\n '& .hubLabelText': {\n fontSize: 12,\n fontWeight: 600,\n maxWidth: 200,\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n '& .label': {\n fontWeight: 500,\n paddingRight: theme.spacing(0.5)\n }\n }\n }\n },\n '& .toggleAll': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(2.25),\n cursor: \"pointer\",\n userSelect: \"none\",\n '& .toggleAllContainer': {\n alignItems: \"center\",\n '& .toggleItem': {\n paddingLeft: theme.spacing(0.5),\n '&.iconItem': {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.expanded': {\n transform: \"rotate(180deg)\"\n }\n },\n '& .toggleText': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .toggleIcon': {\n width: 21,\n height: 21,\n verticalAlign: \"bottom\"\n }\n }\n }\n },\n '& .slotContentContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.viewMode': {\n overflow: \"auto\",\n paddingBottom: theme.spacing(2),\n '& .slotItemContainer': {\n paddingLeft: theme.spacing(2)\n },\n \"& .MuiAccordionSummary-root\":{\n minHeight: 'unset'\n },\n \"& .MuiAccordionSummary-content.Mui-expanded\":{\n margin : 'unset'\n },\n \"& .MuiAccordionDetails-root\": {\n display:\"inline\",\n },\n \"& .MuiAccordion-root.Mui-expanded\":{\n margin: 0,\n },\n },\n '& .slotItemContainer': {\n alignItems: \"flex-start\",\n padding: theme.spacing(1, 2, 1, 6),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n flexWrap: \"nowrap\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n '&.drafted': {\n color: COLORS.GRAY_DARK,\n paddingLeft: theme.spacing(3.5)\n },\n '&.terminal': {\n color: COLORS.GRAY_DARK,\n borderColor: COLORS.GRAY_DARK\n },\n '& .slotContentItem': {\n '&.checkbox': {\n '& .checkboxContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .lockIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n paddingRight: theme.spacing(1.5)\n },\n '&.consignmentDetails': {\n flexGrow: 1,\n height: \"100%\",\n '& .consignmentDetailsContainer': {\n justifyContent: \"space-between\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailsItem': {\n '& .consignmentHeader': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentHeaderItem': {\n '&.details': {\n flexGrow: 1,\n paddingTop: theme.spacing(0.5)\n },\n '& .headerDetailsContainer': {\n flexWrap: \"nowrap\",\n '& .itemContainer': {\n flexWrap: \"nowrap\"\n },\n '& .consignmentAddressIcon':{\n marginLeft: \"8px\", \n minWidth:\"14px\",\n maxWidth:\"14px\"\n },\n },\n '&.status': {\n display: \"flex\",\n alignItems: \"center\"\n },\n }\n },\n\n '& .consignmentAddressCTA':{\n fontSize: \"10px\", \n color: \"#0E5AA7\", \n cursor: \"pointer\"\n },\n '& .headingContainer': {\n alignItems: \"center\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .heading': {\n fontSize: 12,\n fontWeight: 600,\n cursor: \"pointer\"\n },\n },\n '& .seqNoContainer': {\n backgroundColor: COLORS.ALERT_ORANGE,\n borderRadius: 2,\n '& .seqNo': {\n fontSize: 10,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n lineHeight: '16px',\n padding: theme.spacing(0, 1)\n }\n },\n '& .count': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n padding: theme.spacing(0, 0.75)\n },\n '& .icon': {\n width: 16,\n height: 16\n },\n '&.desc': {\n paddingTop: theme.spacing(1)\n },\n '& .descContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .location': {\n width: 356\n },\n '& .itemContainer': {\n alignItems: \"center\",\n paddingRight: theme.spacing(2.5),\n flexWrap: \"nowrap\",\n '& .locDesc': {\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\"\n }\n },\n }\n }\n },\n }\n }\n }\n },\n '& .MuiTabs-root': {\n padding: theme.spacing(0, 2),\n minHeight: 42,\n borderBottom: `1px solid ${theme.palette.secondary.main}`\n },\n '& .tabPanel': {\n padding: 0,\n height: 'calc(100% - 42px)',\n overflow: \"auto\",\n '& .tabPanelContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .delSlotContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n },\n '& .highlightText': {\n backgroundColor: COLORS.SUCCESS_GREEN\n },\n '& .accordionRoot': {\n boxShadow: \"none\",\n margin: 0,\n '&::before': {\n opacity: 0\n }\n },\n '& .accordianSummary': {\n border: \"none\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '&.delArea': {\n minHeight: 46,\n height: 46,\n '& .areaHeaderContainer': {\n alignItems: \"center\",\n '& .areaHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT\n }\n }\n }\n }\n },\n '&.delSlot': {\n minHeight: 32,\n height: 32,\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n '& .slotHeaderContainer': {\n alignItems: \"center\",\n '& .Mui-disabled': {\n pointerEvents: 'auto',\n cursor: 'not-allowed',\n },\n '& .slotHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 12,\n fontWeight: 500,\n paddingLeft: theme.spacing(1.5)\n }\n }\n }\n }\n }\n },\n '& .accordianDetails': {\n padding: 0,\n '&.routes': {\n '& .slotItemContainer': {\n height: 56\n }\n }\n },\n '&.planned': {\n paddingTop: theme.spacing(1.5),\n '& .heading': {\n paddingLeft: '0px !important'\n },\n '& .accordianDetails': {\n '& .slotItemContainer': {\n padding: '10px 8px 10px 16px !important',\n cursor: 'pointer'\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.right': {\n flexGrow: 1,\n width: 'auto',\n overflow: 'auto',\n },\n '& .detailsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailItem': {\n '&.routeDetails': {\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n padding: theme.spacing(2),\n '&.viewMode': {\n '& .routeDetailsContainer .routeDetailsItem.basicDesc': {\n paddingBottom: 0\n }\n },\n '& .routeDetailsContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .routeDetailsItem': {\n '&.header': {\n display: \"flex\",\n justifyContent: \"space-between\",\n '& .routeIdHeaderContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .ddnsItem': {\n '& .MuiFormControl-root': {\n paddingRight: theme.spacing(1.5),\n '&:last-child': {\n paddingRight: 0\n }\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n }\n }\n },\n paddingBottom: theme.spacing(2)\n },\n '& .heading': {\n fontSize: 16,\n fontWeight: 600,\n color: COLORS.BLACK\n },\n \"& .subHeading\": {\n fontSize: 14,\n fontWeight: 500,\n color: COLORS.BLACK,\n },\n '&.basicDesc': {\n paddingBottom: theme.spacing(3)\n },\n '&.noSelectedArea': {\n padding: theme.spacing(3),\n backgroundColor: COLORS.WHITE,\n border: `1px dashed ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n '& p': {\n textAlign: \"center\",\n fontSize: 14,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '&.timeline': {\n alignSelf: \"flex-start\",\n height: 80,\n maxWidth: '100%',\n overflow: 'auto',\n },\n '&.timelineWarning': {\n paddingBottom: theme.spacing(1.5),\n '& .warningContainer': {\n alignItems: \"center\",\n '& .warningItem': {\n paddingRight: theme.spacing(1),\n '& p': {\n fontSize: 11,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '& .warningIcon': {\n width: 20,\n height: 20,\n verticalAlign: \"middle\",\n\n }\n },\n\n },\n '& .basicDescContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .basicItem': {\n paddingBottom: theme.spacing(2),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.driver': {\n paddingRight: theme.spacing(2)\n },\n '&.descriptions': {\n flexGrow: 1\n },\n '& .descCommonContainer': {\n '& .commonItem': {\n flex: \"1 0 0\",\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n },\n '&:last-child': {\n flex: \"0.5 0 0\"\n },\n '& .descContainer': {\n flexDirection: \"column\",\n '& .capacityBreachContainer': {\n alignItems: \"center\",\n '& .infoErrorIcon': {\n width: 16,\n height: 16,\n marginLeft: theme.spacing(1)\n }\n },\n '& p': {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"18px\"\n },\n '& .value': {\n alignSelf: \"flex-start\",\n '& p': {\n fontWeight: 600\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.mapZone': {\n flexGrow: 1,\n backgroundColor: theme.palette.secondary.dark,\n position: \"relative\",\n overflow: \"auto\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '& .listViewTimelineContent': {\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(2, 3),\n height: \"100%\",\n overflow: \"auto\"\n },\n '& .mapSwitchBtnContainer': {\n position: \"absolute\",\n alignItems: \"center\",\n width: 110,\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n backgroundColor: COLORS.WHITE,\n top: theme.spacing(1),\n right: theme.spacing(6.5),\n flexWrap: \"nowrap\",\n '& .switchBtnItem': {\n cursor: \"pointer\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n '&.mapView': {\n borderTopLeftRadius: theme.spacing(1),\n borderBottomLeftRadius: theme.spacing(1),\n '& path': {\n stroke: theme.palette.primary.main\n }\n },\n '&.listView': {\n borderTopRightRadius: theme.spacing(1),\n borderBottomRightRadius: theme.spacing(1),\n '& path': {\n fill: theme.palette.primary.main\n }\n },\n '& .title': {\n color: theme.palette.primary.main,\n fontWeight: 600\n }\n },\n '& .switchBtnItemContainer': {\n flexDirection: \"column\",\n alignItems: \"center\",\n '& .title': {\n fontSize: 12,\n fontWeight: 500,\n paddingBottom: theme.spacing(0.5)\n }\n },\n '& .switchBtnIcon': {\n width: 54,\n height: 40,\n verticalAlign: \"middle\",\n padding: theme.spacing(0, 2),\n backgroundColor: \"transparent\"\n },\n }\n\n }\n },\n '&.buttons': {\n '& .buttonsContainer': {\n padding: theme.spacing(2),\n justifyContent: \"flex-end\",\n '& .btn': {\n marginRight: theme.spacing(1.5),\n '&:last-child': {\n marginRight: 0\n }\n },\n '& .refreshMapBtn': {\n marginRight: \"auto\"\n },\n '& .saveBtn': {\n padding: theme.spacing(1, 5.5)\n }\n }\n },\n '&.planned': {\n '& .routeDetailsItem': {\n '&.basicDesc': {\n paddingBottom: '0 !important'\n }\n }\n },\n }\n }\n }\n },\n timelineStepper: {\n padding: 0,\n alignItems: \"center\",\n backgroundColor: 'transparent',\n '& .timelineStep': {\n paddingLeft: 16,\n paddingRight: 16,\n '&.isDragging': {\n '& .MuiStepConnector-alternativeLabel': {\n display: \"none\"\n }\n },\n '&.first': {\n paddingLeft: 0\n }\n },\n '& .MuiStepLabel-root': {\n flexDirection: 'column-reverse',\n '& .MuiStepLabel-labelContainer': {\n '& .MuiStepLabel-alternativeLabel': {\n whiteSpace: \"nowrap\",\n width: 32,\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n }\n },\n '&.MuiStepLabel-alternativeLabel': {\n flexDirection: 'column-reverse'\n }\n },\n '& .MuiStepLabel-iconContainer': {\n paddingRight: 0\n },\n '& .MuiStepLabel-label.MuiStepLabel-alternativeLabel': {\n marginTop: 0\n },\n '& .MuiStepLabel-label': {\n fontSize: 10,\n color: '#252525',\n paddingBottom: 6,\n textAlign: \"center\"\n }\n },\n listViewTimeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 64,\n '&.first': {\n minHeight: 62,\n '& .MuiTimelineSeparator-root': {\n padding: 0\n }\n },\n '& .MuiTimelineSeparator-root': {\n paddingLeft: 3\n },\n '&:last-child': {\n minHeight: \"auto\",\n '& .primaryConnector': {\n display: \"none\"\n },\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '&.listItem': {\n paddingTop: 9\n },\n '& .timelineIcon': {\n padding: 0,\n },\n '& .countIcon': {\n width: 24,\n height: 24,\n borderRadius: \"50%\",\n backgroundColor: COLORS.MAROON,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n '& .count': {\n fontSize: 10,\n fontWeight: 600,\n lineHeight: \"12px\",\n color: COLORS.WHITE\n }\n },\n '& .areaIcon': {\n width: 32,\n height: 32\n }\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1.5),\n '& .contentContainer': {\n alignItems: \"center\",\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n flexWrap: \"nowrap\",\n marginBottom: theme.spacing(2),\n '& .listViewContentItem': {\n '&.itemHeading': {\n padding: theme.spacing(0, 2),\n cursor: \"pointer\"\n },\n '&.itemSubHeading': {\n padding: theme.spacing(0, 1),\n \n },\n '& .id': {\n fontSize: 12,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n whiteSpace: \"nowrap\"\n },\n '& .subHeading': {\n fontSize: 12,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n whiteSpace: \"normal\",\n margin:'auto',\n padding: theme.spacing(0, 0, 0, 0.5),\n },\n '&.itemDetails': {\n flexGrow: 1,\n padding: theme.spacing(1, 1.5, 1)\n },\n '& .itemDetailsContainer': {\n flexWrap: \"nowrap\",\n alignItems: \"center\",\n '& .detailsItem': {\n paddingRight: theme.spacing(1.5)\n },\n '& .itemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\",\n whiteSpace: \"nowrap\",\n '&.address': {\n whiteSpace: \"normal\",\n }\n },\n '& .valueDetails': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\",\n whiteSpace: \"normal\",\n '&.address': {\n whiteSpace: \"normal\",\n }\n }\n },\n '& .flexWrapNoWrap': {\n flexWrap: \"nowrap\",\n }\n }\n }\n },\n '& .titleHeading': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.BLACK,\n paddingTop: theme.spacing(1)\n }\n }\n }\n },\n viewModeSubroute:{\n margin: theme.spacing(0.5, 0, 0, 0),\n padding: 0,\n '& .slotItemContainer': {\n '&:last-child': {\n borderBottom: 'none !important'\n },\n }\n },\n subRoute: {\n margin: theme.spacing(0, 0, 0, 0),\n boxShadow: 'none',\n borderRadius: 'none',\n \"& .MuiAccordion-root.Mui-expanded\" : { margin: theme.spacing(0, 0, 0, 0) },\n '& .MuiAccordionSummary-root' : {},\n '& .MuiAccordionSummary-content':{\n display:'flex',\n alignItems:'center'\n },\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.25, 0.5),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n fontSize: 8,\n textTransform: \"uppercase\",\n '&.subRouteTag':{\n backgroundColor: COLORS.INFO_BLUE,\n color: COLORS.WHITE,\n margin: 4\n },\n '&.status':{\n backgroundColor: COLORS.TROPICAL_BLUE ,\n color: COLORS.ASTRAL,\n margin: 4\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogAddressButtonsContainer: {\n justifyContent: \"center\",\n \"& .dialogBtn\": {\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2,\n '&.alignLeft': {\n textAlign: \"left\",\n }\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n capacityBreachDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: theme.spacing(2.5)\n },\n capacityBreachDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(3.75),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmWithTitleDialogPaperPropsRoot: {\n width: 600,\n height: 240,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n confirmDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n addressConfirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n endSessionSelectionDialogPaperPropsRoot: {\n width: 428,\n height: 242,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n endSessionSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n padding: \"6px 0px 0px 12px\"\n },\n\n endSessionSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n content: {\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"15px\",\n color: \"#252525\"\n },\n endSessionDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(1),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n selectMenuPropsList: {\n '& .MuiListItem-root': {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n whiteSpace: \"normal\",\n '& .MuiListItemText-primary': {\n fontSize: 10\n }\n },\n '& .MuiCheckbox-root': {\n backgroundSize: \"16px 16px\",\n marginRight: theme.spacing(0.75)\n }\n },\n selectMenuPaperProps: {\n maxHeight: 200,\n width: 143,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\"\n },\n titleContainer: {\n \"& .headingContainer\": {\n flexDirection: \"column\",\n \"& .titleHeading\": {\n fontSize: 18,\n fontWeight: 500,\n \"& .content\": {\n fontWeight: 600,\n },\n },\n \"& .titleContent\": {\n fontSize: 12,\n fontWeight: 600,\n \"&.link\": {\n cursor: \"pointer\",\n },\n },\n },\n },\n addressContent: {\n fontSize: \"14px\", \n fontWeight: 500, \n },\n flexWrapNoWrap: {\n flexWrap: \"nowrap\",\n }\n })\n\n);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.4435 6.16339L16.5758 9.63955L20 5.52399L19.2268 4.88575L16.9771 7.59075C16.5201 3.34673 12.9813 0.0994883 8.7073 0.00223783C4.43328 -0.0950127 0.750005 2.9879 0.0998253 7.20672C-0.550355 11.4255 2.03427 15.4714 6.13986 16.6616C10.2454 17.8517 14.5983 15.8169 16.312 11.9064L15.3924 11.5039C13.8771 14.9751 10.011 16.7775 6.37265 15.709C2.73429 14.6404 0.461381 11.035 1.0699 7.29748C1.67842 3.55994 4.9781 0.858994 8.76811 0.996114C12.5581 1.13323 15.6533 4.06554 15.9893 7.83725L13.0909 5.39859L12.4435 6.16339Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgRefreshIcon = function SvgRefreshIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 17,\n viewBox: \"0 0 20 17\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRefreshIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/refresh-icon.69ef7882.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.57326 2.99102C10.8424 1.68587 12.9192 1.66777 14.2129 2.9491C15.515 4.23615 15.5386 6.34344 14.2648 7.65907V12.6396C14.2648 12.7768 14.1818 12.8997 14.0563 12.9502L11.502 13.9771C11.4633 13.9924 11.4218 14 11.3812 14L11.3783 13.999L11.3736 14H11.0434L11.0462 8.54219C9.63459 8.16017 8.64099 6.88456 8.60796 5.40983H8.11918V7.57809C8.11918 7.63621 8.08805 7.69146 8.03804 7.72099C7.98708 7.75053 7.92575 7.75148 7.87385 7.72385L7.47188 7.50188L7.07086 7.72385C7.02085 7.75148 6.9614 7.75148 6.91139 7.72385L6.51131 7.50188L6.11028 7.72385C6.08575 7.73719 6.05838 7.74481 6.03102 7.74481C5.93949 7.74481 5.86589 7.6705 5.86589 7.57809V5.40983H2.65391V13.3484H10.0856V14H2.32931C2.1472 14 2 13.8504 2 13.6666V5.08783C2.00283 5.05449 2.00849 5.02496 2.01793 4.99733C2.02076 4.98304 2.02359 4.9697 2.02736 4.95541C2.03586 4.94017 2.04624 4.92493 2.05756 4.91064C2.06888 4.88968 2.08304 4.86872 2.09813 4.85062C2.10663 4.843 2.11795 4.83823 2.12644 4.83157C2.15003 4.81061 2.1774 4.79251 2.20665 4.77917L2.20948 4.77726L4.87229 3.72171C4.91098 3.70647 4.95155 3.69885 4.99307 3.69885H9.04862C9.1911 3.44068 9.36756 3.20251 9.57326 2.99102ZM13.6043 8.17923C13.0919 8.49646 12.5031 8.66604 11.902 8.66889C11.8369 8.66889 11.7765 8.65365 11.7114 8.64984V13.175L13.6043 12.4148V8.17923ZM11.8958 2.7016C10.4361 2.7016 9.25376 3.89529 9.25376 5.36906C9.25376 6.84188 10.4361 8.03652 11.8958 8.03652C13.3546 8.03652 14.5379 6.84188 14.5379 5.36906C14.5379 3.89529 13.3546 2.7016 11.8958 2.7016ZM7.78798 5.40983H6.19615V7.29611L6.4311 7.16559C6.48111 7.13796 6.5415 7.13796 6.59057 7.16559L6.99159 7.38756L7.39262 7.16559C7.44263 7.13796 7.50208 7.13796 7.55114 7.16559L7.78798 7.29611V5.40983ZM11.472 3.52746L12.0316 3.52842L12.0269 5.45661L13.2167 6.91418L12.777 7.25524L11.4673 5.6519L11.472 3.52746ZM8.78253 4.36571H7.83516L7.06142 4.7544H8.32394L8.74762 4.49528C8.76083 4.45336 8.76838 4.40858 8.78253 4.36571ZM7.0935 4.36571H5.05535L4.07496 4.7544H6.3207L7.0935 4.36571Z\",\n fill: \"#666666\"\n});\n\nvar SvgConsignmentsIcon = function SvgConsignmentsIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 16,\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgConsignmentsIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/consignments-icon.b998cf06.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.045 1.05566V15.1132M1.05566 1.05566L7.12332 3.386L14.045 1.05566L20.0557 3.386V15.3663V17.3701L14.045 15.1132L7.12332 17.6465L1.05566 15.1132V1.05566ZM7.12332 3.386V17.6465V3.386Z\",\n stroke: \"#4D4D4D\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgMapViewIcon = function SvgMapViewIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 19,\n viewBox: \"0 0 22 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMapViewIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/map-view-icon.56cfa7c3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.001 17.994V19H0V17.994H4.001ZM19.999 17.992V18.99H6V17.992H19.999ZM4.001 11.99V12.996H0V11.99H4.001ZM19.999 11.988V12.986H6V11.988H19.999ZM4.001 6.002V7.008H0V6.002H4.001ZM19.999 6V6.998H6V6H19.999ZM4.001 0.00399995V1.01H0V0.00399995H4.001ZM19.999 0V0.998H6V0H19.999Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgListViewIcon = function SvgListViewIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 19,\n viewBox: \"0 0 20 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgListViewIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/list-view-icon.ed203583.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#0E5AA7\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 15.9998,\n cy: 16.0003,\n rx: 13.6585,\n ry: 13.6585,\n fill: \"white\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.191 10.0746C13.5188 11.1138 12.7692 13.0244 12.6935 14.8735C12.6886 14.9788 12.6873 15.0833 12.6873 15.1879V15.1876C12.6873 15.1977 12.6855 15.2511 12.6855 15.2685V21.8364H14.8611V15.2685C14.8611 14.8539 15.0489 14.4836 15.3437 14.2381L16.2021 15.2685L17.0591 14.2383C17.354 14.4836 17.5423 14.8539 17.5423 15.2685V21.8364H19.7174V15.2685C19.7174 13.3267 18.1431 11.7525 16.2021 11.7525C15.7424 11.7525 15.3037 11.8403 14.9023 12.001V12.0006C15.3479 11.4774 16.0209 11.2181 16.7567 11.2022H16.7584C16.9881 11.1967 17.224 11.2159 17.4606 11.2578C19.3857 11.5732 20.8522 13.1866 20.8597 15.1325C20.8635 15.2067 20.8649 15.2818 20.8649 15.3581V21.8364H23.0413V15.3034C23.0413 12.4738 21.3408 10.2051 18.4425 9.52964C18.3368 9.50563 18.1691 9.47189 18.0191 9.45174C17.8048 9.42327 17.585 9.39941 17.358 9.39941C16.8871 9.39941 16.545 9.48289 16.1509 9.61415C15.87 9.7084 15.5917 9.82465 15.191 10.0746Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.7845 9.36548C12.0053 9.36548 9.36572 11.8893 9.36572 15.2354V21.8533H11.5585C11.5585 21.8533 11.5567 18.2124 11.5567 15.2306C11.5567 12.1181 13.9393 9.8982 16.3304 9.41637C16.4277 9.39612 16.5418 9.36548 16.4282 9.36548H15.7845Z\",\n fill: \"#EE2527\"\n});\n\nvar SvgTimelineAreaIcon = function SvgTimelineAreaIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTimelineAreaIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/timeline-area-icon.ac5aab88.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 0C4.47254 0 0 4.47293 0 10C0 15.5275 4.47293 20 10 20C15.5275 20 20 15.5271 20 10C20 4.47254 15.527 0 10 0ZM10 18.4375C5.33621 18.4375 1.5625 14.6635 1.5625 10C1.5625 5.33621 5.33652 1.5625 10 1.5625C14.6638 1.5625 18.4375 5.33652 18.4375 10C18.4375 14.6638 14.6634 18.4375 10 18.4375Z\",\n fill: \"#666666\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 8.37109C9.56852 8.37109 9.21875 8.72086 9.21875 9.15234V14.1833C9.21875 14.6148 9.56852 14.9646 10 14.9646C10.4315 14.9646 10.7812 14.6148 10.7812 14.1833V9.15234C10.7812 8.72086 10.4315 8.37109 10 8.37109Z\",\n fill: \"#666666\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 7.41602C10.5825 7.41602 11.0547 6.94382 11.0547 6.36133C11.0547 5.77884 10.5825 5.30664 10 5.30664C9.41751 5.30664 8.94531 5.77884 8.94531 6.36133C8.94531 6.94382 9.41751 7.41602 10 7.41602Z\",\n fill: \"#666666\"\n});\n\nvar SvgInfoWarningIcon = function SvgInfoWarningIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoWarningIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/info-warning-icon.81f91ad9.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.39977 11.7424C2.39977 11.8712 2.2953 11.9757 2.16649 11.9757C2.03757 11.9757 1.93311 11.8712 1.93311 11.7424C1.93311 11.6135 2.03757 11.509 2.16649 11.509C2.2953 11.509 2.39977 11.6135 2.39977 11.7424Z\",\n fill: \"#666666\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.39977 12.6758C2.39977 12.8046 2.2953 12.9091 2.16649 12.9091C2.03757 12.9091 1.93311 12.8046 1.93311 12.6758C1.93311 12.547 2.03757 12.4424 2.16649 12.4424C2.2953 12.4424 2.39977 12.547 2.39977 12.6758Z\",\n fill: \"#666666\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0668 11.7424C14.0668 11.8712 13.9623 11.9757 13.8334 11.9757C13.7046 11.9757 13.6001 11.8712 13.6001 11.7424C13.6001 11.6135 13.7046 11.509 13.8334 11.509C13.9623 11.509 14.0668 11.6135 14.0668 11.7424Z\",\n fill: \"#666666\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0668 12.6758C14.0668 12.8046 13.9623 12.9091 13.8334 12.9091C13.7046 12.9091 13.6001 12.8046 13.6001 12.6758C13.6001 12.547 13.7046 12.4424 13.8334 12.4424C13.9623 12.4424 14.0668 12.547 14.0668 12.6758Z\",\n fill: \"#666666\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.3 2.17578H1.70004C1.3136 2.17621 1.00043 2.48938 1 2.87582V4.74246C1.00085 5.03812 1.18777 5.30119 1.46666 5.39946V6.41876C1.18777 6.51703 1.00085 6.78011 1 7.07576V8.9424C1.00085 9.23816 1.18777 9.50124 1.46666 9.5994V10.6188C1.18777 10.717 1.00085 10.9801 1 11.2758V13.1424C1.00043 13.5289 1.3136 13.8421 1.70004 13.8425H14.3C14.6864 13.8421 14.9996 13.5289 15 13.1424V11.2758C14.9991 10.9801 14.8122 10.717 14.5333 10.6188V9.5994C14.8122 9.50124 14.9991 9.23816 15 8.9424V7.07576C14.9991 6.78011 14.8122 6.51703 14.5333 6.41876V5.39946C14.8122 5.30119 14.9991 5.03812 15 4.74246V2.87582C14.9996 2.48938 14.6864 2.17621 14.3 2.17578ZM3.79996 5.4424V6.37582H1.93332V5.4424H3.79996ZM5.54996 5.4424C6.00081 5.44186 6.3661 5.07657 6.36664 4.62582C6.36685 4.4326 6.52344 4.27602 6.71666 4.2758H9.28334C9.47656 4.27602 9.63315 4.4326 9.63336 4.62582C9.6339 5.07657 9.99919 5.44186 10.45 5.4424H11.7334V6.37582H4.26662V5.4424H5.54996ZM14.0667 5.4424V6.37582H12.2V5.4424H14.0667ZM3.79996 9.64244V10.5758H1.93332V9.64244H3.79996ZM11.7334 9.64244V10.5758H4.26662V9.64244H11.7334ZM14.0667 9.64244V10.5758H12.2V9.64244H14.0667ZM14.5333 13.1424C14.5332 13.2713 14.4288 13.3757 14.3 13.3758H1.70004C1.57123 13.3757 1.46677 13.2713 1.46666 13.1424V11.2758C1.46677 11.147 1.57123 11.0425 1.70004 11.0424H14.3C14.4288 11.0425 14.5332 11.147 14.5333 11.2758V13.1424ZM14.5333 8.9424C14.5332 9.07132 14.4288 9.17567 14.3 9.17578H1.70004C1.57123 9.17567 1.46677 9.07132 1.46666 8.9424V7.07576C1.46677 6.94695 1.57123 6.84259 1.70004 6.84248H14.3C14.4288 6.84259 14.5332 6.94695 14.5333 7.07576V8.9424ZM14.5333 4.74246C14.5332 4.87128 14.4288 4.97563 14.3 4.97574H10.45C10.2568 4.97552 10.1002 4.81894 10.1 4.62582C10.0995 4.17497 9.73419 3.80968 9.28334 3.80914H6.71666C6.26581 3.80968 5.90051 4.17497 5.89998 4.62582C5.89977 4.81894 5.74318 4.97552 5.54996 4.97574H1.70004C1.57123 4.97563 1.46677 4.87128 1.46666 4.74246V2.87582C1.46677 2.74701 1.57123 2.64255 1.70004 2.64244H14.3C14.4288 2.64255 14.5332 2.74701 14.5333 2.87582V4.74246Z\",\n fill: \"#666666\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.39977 3.34251C2.39977 3.47133 2.2953 3.57579 2.16649 3.57579C2.03757 3.57579 1.93311 3.47133 1.93311 3.34251C1.93311 3.21359 2.03757 3.10913 2.16649 3.10913C2.2953 3.10913 2.39977 3.21359 2.39977 3.34251Z\",\n fill: \"#666666\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.39977 4.27586C2.39977 4.40468 2.2953 4.50914 2.16649 4.50914C2.03757 4.50914 1.93311 4.40468 1.93311 4.27586C1.93311 4.14694 2.03757 4.04248 2.16649 4.04248C2.2953 4.04248 2.39977 4.14694 2.39977 4.27586Z\",\n fill: \"#666666\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0668 3.34251C14.0668 3.47133 13.9623 3.57579 13.8334 3.57579C13.7046 3.57579 13.6001 3.47133 13.6001 3.34251C13.6001 3.21359 13.7046 3.10913 13.8334 3.10913C13.9623 3.10913 14.0668 3.21359 14.0668 3.34251Z\",\n fill: \"#666666\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0668 4.27586C14.0668 4.40468 13.9623 4.50914 13.8334 4.50914C13.7046 4.50914 13.6001 4.40468 13.6001 4.27586C13.6001 4.14694 13.7046 4.04248 13.8334 4.04248C13.9623 4.04248 14.0668 4.14694 14.0668 4.27586Z\",\n fill: \"#666666\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.33336 11.509H3.10008C2.97116 11.509 2.8667 11.6135 2.8667 11.7424C2.8667 11.8712 2.97116 11.9757 3.10008 11.9757H3.33336C3.46228 11.9757 3.56674 11.8712 3.56674 11.7424C3.56674 11.6135 3.46228 11.509 3.33336 11.509Z\",\n fill: \"#666666\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.3665 11.509H4.26648C4.13766 11.509 4.0332 11.6135 4.0332 11.7424C4.0332 11.8712 4.13766 11.9757 4.26648 11.9757H6.3665C6.49542 11.9757 6.59988 11.8712 6.59988 11.7424C6.59988 11.6135 6.49542 11.509 6.3665 11.509Z\",\n fill: \"#666666\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.86656 3.10913H9.63329C9.50436 3.10913 9.3999 3.21359 9.3999 3.34251C9.3999 3.47133 9.50436 3.57579 9.63329 3.57579H9.86656C9.99548 3.57579 10.0999 3.47133 10.0999 3.34251C10.0999 3.21359 9.99548 3.10913 9.86656 3.10913Z\",\n fill: \"#666666\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9002 3.10913H10.8002C10.6714 3.10913 10.5669 3.21359 10.5669 3.34251C10.5669 3.47133 10.6714 3.57579 10.8002 3.57579H12.9002C13.0291 3.57579 13.1336 3.47133 13.1336 3.34251C13.1336 3.21359 13.0291 3.10913 12.9002 3.10913Z\",\n fill: \"#666666\"\n});\n\nvar SvgCratesIcon = function SvgCratesIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCratesIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/crates-icon.0f1979bc.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.375 4.5H9V3C9 1.34546 7.65454 0 6 0C4.34546 0 3 1.34546 3 3V4.5H2.625C2.005 4.5 1.5 5.00446 1.5 5.625V10.875C1.5 11.4955 2.005 12 2.625 12H9.375C9.995 12 10.5 11.4955 10.5 10.875V5.625C10.5 5.00446 9.995 4.5 9.375 4.5ZM4.00003 3C4.00003 1.89697 4.89697 1.00003 6 1.00003C7.10303 1.00003 7.99997 1.89697 7.99997 3V4.5H4.00003V3Z\",\n fill: \"#252525\"\n});\n\nvar SvgLockIcon = function SvgLockIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLockIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/lock-icon.46ab148a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.0002 9.65771V11.0064C10.0004 11.1856 10.1456 11.3307 10.3247 11.3308H13.9918V9.33341H10.3247C10.1456 9.33346 10.0004 9.47858 10.0002 9.65771ZM10.9998 9.99957C11.1824 10.001 11.3295 10.1499 11.3286 10.3326C11.3277 10.5152 11.1791 10.6627 10.9965 10.6622C10.8138 10.6618 10.666 10.5136 10.6659 10.331C10.6666 10.1472 10.8161 9.99888 10.9998 9.99955L10.9998 9.99957ZM14.0077 5.39092V4.26559C14.0058 3.75305 13.5893 3.33878 13.0768 3.33948H11.476L9.52552 0.959105C9.38612 0.788545 9.18229 0.683354 8.9625 0.66855C8.74272 0.653746 8.52663 0.730653 8.36561 0.880979L7.72112 1.48841L7.19597 1.14929C7.05247 1.03313 6.86784 0.980439 6.68464 1.00338C6.50113 1.02791 6.33601 1.12745 6.22864 1.27828L4.77206 3.35234L2.46464 3.3512C1.78741 3.41069 1.28447 4.00455 1.3373 4.68233C1.3373 4.703 1.3417 4.72221 1.34252 4.74264V15.3265H2.00865V5.88993C2.1492 5.96507 2.30595 6.0048 2.46532 6.00566H4.00971V6.00224L13.6701 5.99524C13.8531 5.99415 14.0026 6.14118 14.0045 6.32418V8.67061H10.3303C9.78323 8.67137 9.34002 9.11478 9.33951 9.66183V11.0105C9.34002 11.5576 9.78323 12.001 10.3303 12.0018H14.0045V14.3379C14.0025 14.5208 13.8531 14.6678 13.6701 14.6667H3.35118V15.3336H13.6701C14.2211 15.3343 14.6687 14.8888 14.6706 14.3379V6.32419C14.6688 5.90435 14.4035 5.53089 14.0077 5.39092ZM6.80297 1.68721L7.22171 1.9591L5.34728 3.72611L6.80297 1.68721ZM3.37908 5.33589L2.92583 5.33622V5.33882H2.46526C2.21937 5.33882 2.00339 5.03202 2.00339 4.66865C2.00339 4.31571 2.21481 4.01799 2.46461 4.01799L4.30384 4.01897L3.37908 5.33589ZM4.61262 5.3349L8.82038 1.3681C8.84739 1.34433 8.88269 1.33216 8.91861 1.33425C8.95454 1.33642 8.98787 1.35369 9.01037 1.38178L12.2446 5.32936L4.61262 5.3349ZM13.3416 5.32858L13.1061 5.32874L12.0225 4.00631H13.0769C13.2214 4.00518 13.3397 4.12104 13.3416 4.26559V5.32858Z\",\n fill: \"#666666\"\n});\n\nvar SvgWalletIcon = function SvgWalletIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWalletIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/wallet-icon.efc4568e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.55049 1.98807H10.4712C10.9824 1.98956 11.3959 2.40468 11.3954 2.91592V3.32467H4.62621V2.91592C4.62572 2.40467 5.03924 1.98956 5.55049 1.98807ZM4.68925 13.0712V12.0063L11.3428 12.0075V13.999H5.61353C5.10229 13.9975 4.68877 13.5824 4.68925 13.0712ZM7.34199 13.331H8.67973V12.6664H7.34199V13.331ZM10.4604 1.33325H5.53976C4.67926 1.34497 3.99056 2.0509 4.0001 2.91143V13.0884C3.99056 13.9489 4.67926 14.6549 5.53976 14.6666H10.0157V13.9954H11.3444V14.6648H12.0001V2.91143C12.0096 2.0509 11.3209 1.34497 10.4604 1.33325ZM11.3318 11.3447H4.65979V4.00502H11.3318V11.3447Z\",\n fill: \"#666666\"\n});\n\nvar SvgMobileIcon = function SvgMobileIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMobileIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/mobile-icon.6f5c365b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0C3.57803 0 0 3.57834 0 8C0 12.422 3.57834 16 8 16C12.422 16 16 12.4217 16 8C16 3.57803 12.4216 0 8 0ZM8 14.75C4.26897 14.75 1.25 11.7308 1.25 8C1.25 4.26897 4.26922 1.25 8 1.25C11.731 1.25 14.75 4.26922 14.75 8C14.75 11.731 11.7308 14.75 8 14.75Z\",\n fill: \"#F34041\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 6.69727C7.65481 6.69727 7.375 6.97708 7.375 7.32227V11.347C7.375 11.6922 7.65481 11.972 8 11.972C8.34519 11.972 8.625 11.6922 8.625 11.347V7.32227C8.625 6.97708 8.34519 6.69727 8 6.69727Z\",\n fill: \"#F34041\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 5.93164C8.46599 5.93164 8.84375 5.55388 8.84375 5.08789C8.84375 4.6219 8.46599 4.24414 8 4.24414C7.53401 4.24414 7.15625 4.6219 7.15625 5.08789C7.15625 5.55388 7.53401 5.93164 8 5.93164Z\",\n fill: \"#F34041\"\n});\n\nvar SvgInfoErrorIcon = function SvgInfoErrorIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoErrorIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/info-error-icon.26347234.svg\";\nexport { ForwardRef as ReactComponent };","export const CreateRouteConstant = {\n ON_EXIT_SCREEN_MESSAGE: \"All changes will be discarded. Are you sure you want to leave this page?\",\n};\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Prompt, useHistory } from \"react-router\";\n\nimport moment from \"moment\";\nimport _ from \"lodash\";\n\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Button,\n Checkbox,\n Divider,\n Grid,\n IconButton,\n InputAdornment,\n Step,\n StepLabel,\n Stepper,\n SvgIcon,\n Tab,\n Tabs,\n Typography,\n} from \"@material-ui/core\";\nimport { TabContext, TabPanel, Timeline, TimelineConnector, TimelineContent, TimelineDot, TimelineItem, TimelineSeparator } from \"@material-ui/lab\";\n\nimport { AppState } from \"../config/redux/reducers\";\n\nimport { StepperTimelineConnector, useStyles } from \"./CreateRoute.styles\";\nimport { useStyles as useStyleNew } from \"./AllRoutes/AllRoutes.styles\";\n\nimport { ReactComponent as searchIcon } from \"./../assets/icons/search-icon-small.svg\";\nimport { ReactComponent as refreshIcon } from \"./../assets/icons/refresh-icon.svg\";\nimport { ReactComponent as consignmentsIcon } from \"./../assets/icons/consignments-icon.svg\";\nimport { ReactComponent as activeTimelineDot } from \"./../assets/icons/active-timeline-dot.svg\";\nimport { ReactComponent as mapViewIcon } from \"./../assets/icons/map-view-icon.svg\";\nimport { ReactComponent as listViewIcon } from \"./../assets/icons/list-view-icon.svg\";\nimport { ReactComponent as areaTimelineIcon } from \"./../assets/icons/timeline-area-icon.svg\";\nimport { ReactComponent as infoWarningIcon } from \"./../assets/icons/info-warning-icon.svg\";\nimport { ReactComponent as cratesIcon } from \"./../assets/icons/crates-icon.svg\";\nimport { ReactComponent as lockIcon } from \"./../assets/icons/lock-icon.svg\";\nimport { ReactComponent as walletIcon } from \"./../assets/icons/wallet-icon.svg\";\nimport { ReactComponent as mobileIcon } from \"./../assets/icons/mobile-icon.svg\";\nimport { ReactComponent as locationIcon } from \"./../assets/icons/location-icon.svg\";\nimport { ReactComponent as downArrowIcon } from \"./../assets/icons/down-arrow-icon.svg\";\nimport { ReactComponent as infoErrorIcon } from \"./../assets/icons/info-error-icon.svg\";\nimport { ReactComponent as timeSlotIcon } from \"./../assets/icons/time-slot-icon.svg\";\nimport { ReactComponent as editIcon } from \"./../assets/icons/edit-icon.svg\";\nimport transferPointIcon from \"./../assets/icons/transfer-point-icon.svg\";\nimport mapHubIcon from \"./../assets/icons/timeline-area-icon.svg\";\nimport mapItemIcon from \"./../assets/icons/map-item-icon.svg\";\nimport alertIcon from \"./../assets/icons/Alert.svg\";\nimport calendarIcon from \"./../assets/icons/calendar-icon.svg\";\nimport verifiedIcon from \"./../assets/icons/verified-icon.svg\";\nimport unverifiedIcon from \"./../assets/icons/unverified-icon.svg\";\nimport pendingIcon from \"./../assets/icons/pending-icon.svg\";\nimport TrcukFilledIcon from \"./../assets/icons/TrcukFilledIcon.svg\";\n\nimport AppConstants from \"../constants/\";\nimport Loader from \"../common/Loader\";\nimport DateRangePickerComponent from \"../common/DateRangeComponent\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport TextBox from \"../common/TextBox\";\nimport CustomDialog from \"../common/Dialog\";\nimport ConsignmentDetails from \"./ConsignmentDetails\";\nimport MapContainer from \"common/GoogleMapContainer\";\nimport CustomTooltip from \"common/Tooltip\";\nimport CustomPlannedRouteView from \"./AllRoutes/common/CustomPlannedRouteView\";\n\nimport SelectBox, { SelectItemProps } from \"../common/SelectBox\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport { API_RESPONSE_STATUS } from \"../constants/CommonConstants\";\nimport { COLORS } from \"config/theme/baseTheme\";\nimport { ADDRESS_STATUS } from \"../constants/CommonConstants\";\nimport { mapOptionStyles, ROUTE_TYPE, ALL_ROUTES_TEXT_CONTANT, ALL_ROUTE_INITIAL_STATE, ALL_ROUTE_INITIAL_STATE_INTERFACE } from \"./AllRoutes/utils/AllRouteConstant\";\nimport { CreateRouteConstant } from \"./CreateRoute/CreateRouteConstant\";\nimport {\n calculateTransitTime,\n createDraftRoutePayload,\n createGetAllDropdownsPayload,\n createGetAllPlannedRoutesPayload,\n createRouteCreationPayload,\n createUpdateOrderStatusPayload,\n getAllAreasAndSlots,\n getConsignmentData,\n getTotalCrates,\n transformRouteConsignments,\n getAddressInfo,\n getRouteStatusField,\n getConsignmentStatusField,\n checkTerminalStatus,\n createPayloadToReleaseAssignee,\n createPayloadToMarkAddressUnverified,\n isRouteStatusOutForDelivery,\n transformedDataViewRoute,\n} from \"../mocks/routePlanning/response.transforms\";\nimport {\n createDraftRoute,\n createAndEditRoute,\n fetchAllDrivers,\n fetchAllHelpers,\n fetchAllVehicles,\n fetchAllPlannedRoutes,\n fetchAllPlannedRoutesNew,\n updateConsignmentStatus,\n discardRouteChanges,\n resetPlanningError,\n updateAllConsignmentsState,\n loadAllSlots,\n clearCurrentSlot,\n fetchRouteConsignments,\n clearUpdatedRoute,\n releaseAssignee,\n getAddressStatus,\n resetAddressupdateStatus,\n getDriverMarkerApi,\n fetchSubRouteById,\n resetViewRouteState,\n fetchOrderById,\n resetRouteConsignmentsState,\n resetSubrouteState,\n} from \"./redux/planningSlice\";\nimport {\n getMatchingValues,\n getSlotUIValue,\n getUniqueValues,\n highlightTextWithClass,\n isEqualArrays,\n convertTime,\n getDifferenceValues,\n isUndefined,\n isNull,\n isNonEmptyObject,\n isObject,\n countObjectProperties,\n loadDashIsEmpty,\n} from \"../utils/helpers.utils\";\nimport {\n designAllRoutesStateObjectUtils,\n handleRouteAccordianClickedUtils,\n handleRoutAreaSubareaAccordianToggleUtils,\n handleRoutAreaAccordianToggleUtils,\n handleRouteSlotAccordianToggleUtils,\n handleSubRouteSlotAccordianToggleUtils,\n handleSubrouteOrderAccordianToggleUtils,\n handleOrderAccordianToggleUtils,\n} from \"./AllRoutes/utils/AllRouteUtils\";\nimport RenderRescheduleOrders from \"../common/RescheduleOrders/RenderRescheduleOrders\";\n\ninterface CreateRouteProps {\n location?: any;\n match?: any;\n editMode?: boolean;\n viewMode?: boolean;\n}\n\nconst CreateRoute = (props: CreateRouteProps) => {\n const { editMode, viewMode, match, location } = props;\n\n const classes2 = useStyleNew();\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { mapRouteDirections, countryCode, hubData } = useSelector((state: AppState) => state.common);\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector((state: AppState) => state.userLogin);\n const {\n loading,\n draftRoute,\n areawiseConsignments,\n slotwiseConsignments,\n allConsignments,\n routeConsignments,\n driversList,\n helpersList,\n vehiclesList,\n vehiclesData,\n routeCreateSuccess,\n updatedRoute,\n routeDiscardSuccess,\n currentSlot,\n slotsList,\n zoneList,\n consignmentStatusList,\n error,\n errorCode,\n isReleaseAssignee,\n releaseMessage,\n consignmentDataAfterAddressUpdate,\n isAddressUpdated,\n subRoutes,\n order,\n plannedRoutesNew,\n fetchStatus,\n } = useSelector((state: AppState) => state.routePlanning);\n\n const shouldBlockNavigationRef = useRef(false);\n const autoRefreshMapRef = useRef(false);\n const hubNameRef = useRef(location.state && location.state.hubName);\n const onLoadRef = useRef(false);\n const filterChangeRef = useRef(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const [allRouteState, setAllRouteState] = useState(ALL_ROUTE_INITIAL_STATE);\n const [createRouteState, setCreateRouteState] = useState({ countDownInterval: 0, minutes: null, seconds: null, refreshInterval: 0 });\n const [mapCenterState, setMapCenterState] = useState<{ lat: number; lng: number }>({ lat: 0, lng: 0 });\n const [tabValue, setTabValue] = useState(location.state && location.state.tabValue ? location.state.tabValue : AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED);\n const [autoRefreshMap, setAutoRefreshMap] = useState(false);\n const [optimizeMapRoute, setOptimizeMapRoute] = useState(false);\n const [updateMap, setUpdateMap] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [noRedirect, setNoRedirect] = useState(false);\n const [shouldBlockNavigation, setShouldBlockNavigation] = useState(false);\n const [isListView, setIsListView] = useState(true);\n const [draggingItem, setDraggingItem] = useState(false);\n const [toggleAllDropdownExpanded, setToggleAllDropdownExpanded] = useState(false);\n const [mapMarkers, setMapMarkers] = useState([]);\n const [consignmentsSequence, setConsignmentsSequence] = useState({});\n const [lastSequenceNumber, setLastSequenceNumber] = useState(0);\n const [openDiscardConfirmDialog, setOpenDiscardConfirmDialog] = useState(false);\n const [openDateChangeConfirmDialog, setOpenDateChangeConfirmDialog] = useState(false);\n const [openUpdateConfirmDialog, setOpenUpdateConfirmDialog] = useState(false);\n const [openCapacityBreachConfirmDialog, setOpenCapacityBreachConfirmDialog] = useState(false);\n const [capacityBreachPopupMsg, setCapacityBreachPopupMsg] = useState(\"\");\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [consignmentExpanded, setConsignmentExpanded] = useState([]);\n const [searchedConsignmentExpanded, setSearchedConsignmentExpanded] = useState([]);\n const [consignmentSearchValue, setConsignmentSearchValue] = useState(\"\");\n const [statusValue, setStatusValue] = useState([]);\n const [slotValue, setSlotValue] = useState([]);\n const [zoneValue, setZoneValue] = useState([]);\n const [driverValue, setDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [helperValue, setHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [vehicleValue, setVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeDriverValue, setRouteDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeHelperValue, setRouteHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeVehicleValue, setRouteVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [isPlannedRoute, setIsPlannedRoute] = useState(false);\n const [selectableConsignments, setSelectableConsignments] = useState({ ...slotwiseConsignments });\n const [checkedConsignments, setCheckedConsignments] = useState({} as any);\n const [selectedRoute, setSelectedRoute] = useState({} as any);\n const [addressVerified, setAddressVerified] = useState(false);\n const [addressAfterUnverrified, setAddressAfterUnverrified] = useState({} as any);\n const [openAddressPopup, setOpenAddressPopup] = useState(false);\n const [selectedCode, setSelectedCode] = useState(\"\");\n const [selectedConsignments, setSelectedConsignments] = useState({} as any);\n const [isExpressFlow, setIsExpressFlow] = useState(location.state && location.state.isExpress);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [unplannedConsignmentsData, setUnplannedConsignmentsData] = useState({ selectedConsignments: {}, consignmentsSequence: {} } as any);\n const [plannedConsignmentsData, setPlannedConsignmentsData] = useState({ selectedConsignments: {}, consignmentsSequence: {} } as any);\n const [openReleaseDialog, setOpenReleaseDialog] = useState(false);\n const [openReleaseSnackbar, setOpenReleaseSnackbar] = useState(false);\n const [currentDate, setCurrentDate] = useState({\n startDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND)\n .hours(0)\n .minutes(0)\n .seconds(0)\n .format(AppConstants.DATE_FORMAT),\n endDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND)\n .hours(23)\n .minutes(59)\n .seconds(59)\n .format(AppConstants.DATE_FORMAT),\n });\n\n let singleEntryVehical = false;\n const isEditIcon = location?.state?.route?.displayRouteStatus !== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP;\n\n const confirmDialogPaperProps = { classes: { root: classes.confirmDialogPaperPropsRoot } };\n const confirmWithTitleDialogProps = { classes: { root: classes.confirmWithTitleDialogPaperPropsRoot } };\n const endSessionSelectionDialogPaperPropsRoot = { classes: { root: classes.endSessionSelectionDialogPaperPropsRoot } };\n\n const initialSteps = () => {\n if (viewMode || editMode) {\n sessionStorage.setItem(\"routeId\", match?.params?.id);\n }\n if (editMode) {\n setNoRedirect(true);\n setSlotValue(location?.state?.slots);\n }\n onLoadRef.current = true;\n filterChangeRef.current = false;\n initializeRoute({ date: currentDate, slotValue: editMode ? location.state.slots : slotValue, statusValue: statusValue, routeType: location?.state?.route?.routeType || ROUTE_TYPE.NORMAL_ROUTE });\n };\n\n const initializeRoute = (params: any) => {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n if (!viewMode) {\n if (filterChangeRef.current) {\n handleCreateDraftRoute({ slots: params.slotValue, statusValue: params.statusValue, zoneValue: params.zoneValue });\n } else {\n getAllSlots({\n date: params.date,\n slotValue: params.slotValue,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue,\n isExpress: isExpressFlow,\n zoneValue: params?.zoneValue,\n routeType: params?.routeType,\n });\n if (location?.state?.route?.routeType === ROUTE_TYPE.PARENT_ROUTE && location?.state?.route?.id && loadDashIsEmpty(subRoutes)) {\n getSubRoutes(location?.state?.route?.id);\n }\n if (loadDashIsEmpty(routeConsignments) && location?.state?.route?.id) {\n getRouteConsignments(location?.state?.route?.id);\n }\n }\n\n if (!editMode) {\n setDriverValue(AppConstants.SELECT_NONE.value);\n setHelperValue(AppConstants.SELECT_NONE.value);\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n } else {\n if (location?.state?.parentRoute === ROUTE_TYPE.PARENT_ROUTE && match?.params?.id) {\n getSubRoutes(match.params.id);\n } else {\n handleResetViewModeState();\n }\n getRouteConsignments(match.params.id); // call route api and set selected cons\n }\n };\n\n const handleCreateDraftRoute = (params: any) => {\n const payload = createDraftRoutePayload({\n date: currentDate,\n slotValue: params.slots,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue,\n isExpress: isExpressFlow,\n zoneValue: params?.zoneValue,\n });\n dispatch(createDraftRoute({ params: payload }));\n };\n\n const getSubRoutes = (id: string) => {\n const params = { routeId: id, fetchOrders: true };\n dispatch(fetchSubRouteById({ params: params }));\n };\n\n const handleResetViewModeState = () => {\n dispatch(resetViewRouteState());\n };\n\n const getRouteConsignments = (id: string) => {\n dispatch(fetchRouteConsignments({ id: id }));\n };\n\n const handleOpenReleaseDriverHelperDialog = () => {\n setOpenReleaseDialog(true);\n };\n\n const handleReleaseDialogClose = () => {\n setOpenReleaseDialog(false);\n };\n\n const handleReleaseAssigneeSelection = (id: any) => {\n const payload = createPayloadToReleaseAssignee(match.params.id);\n dispatch(releaseAssignee({ params: payload }));\n setOpenReleaseDialog(false);\n setOpenReleaseSnackbar(true);\n };\n\n const handleRefreshPlannedRoutes = () => {\n if (isExpressFlow) {\n getAllPlannedRoutes({ date: currentDate, hubCode: location.state.hubCode, isExpress: isExpressFlow });\n } else {\n getAllPlannedRoutes({ date: currentDate, hubCode: location.state.hubCode });\n }\n };\n\n const setExpandedConsignments = (consignments: string[], isSearch?: boolean) => {\n const expandedConsignments = getUniqueValues(consignments);\n isSearch ? setSearchedConsignmentExpanded(expandedConsignments) : setConsignmentExpanded(expandedConsignments);\n };\n\n const handleSearchedAccordionChange = (searchValue: string) => {\n if (searchValue) {\n let expandedConsignments: string[] = [];\n let searchedConsignments = allConsignments.filter((item: any) => {\n const consignmentValue = highlightTextWithClass(searchValue, item.code);\n const address = getAddressInfo(item.data && item.data.deliveryInformation ? item.data.deliveryInformation.customerContactInfo.address : \"\");\n const addressValue = highlightTextWithClass(searchValue, address);\n const areaValue = highlightTextWithClass(searchValue, item.area);\n return consignmentValue.indexOf(\"highlightText\") > -1 || addressValue.indexOf(\"highlightText\") > -1 || areaValue.indexOf(\"highlightText\") > -1;\n });\n if (searchedConsignments?.length > 0) {\n searchedConsignments.forEach((consignment: any) => {\n const slotIndex = expandedConsignments.indexOf(consignment.slot);\n const areaIndex = expandedConsignments.indexOf(consignment.area);\n if (slotIndex === -1) {\n expandedConsignments.push(`${consignment.area}-${consignment.slot}`);\n }\n if (areaIndex === -1) {\n expandedConsignments.push(consignment.area);\n }\n });\n }\n setExpandedConsignments(expandedConsignments, true);\n }\n };\n\n const debounceConsignmentSearch = _.debounce((searchValue: string) => {\n handleSearchedAccordionChange(searchValue);\n }, 500);\n\n const handleSearch = (event: React.ChangeEvent) => {\n const searchValue = event?.target?.value;\n setConsignmentSearchValue(searchValue);\n debounceConsignmentSearch(searchValue);\n };\n\n const handleChangeRoute = (params: any) => {\n if (!filterChangeRef.current) {\n onLoadRef.current = true;\n setSlotValue([AppConstants.SELECT_NONE.value]);\n }\n initializeRoute({ date: params.date, slotValue: params.slotValue, statusValue: params.statusValue, zoneValue: params.zoneValue });\n setSelectedConsignments({});\n setSelectedRoute({});\n setUnplannedConsignmentsData({ selectedConsignments: {}, consignmentsSequence: {} });\n setPlannedConsignmentsData({ selectedConsignments: {}, consignmentsSequence: {} });\n setConsignmentSearchValue(\"\");\n setExpandedConsignments([], true);\n setExpandedConsignments([]);\n setToggleAllDropdownExpanded(false);\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n history.replace({ ...location, state: { ...location.state, plannedDate: moment(params.date.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_BACKEND) } });\n };\n\n const handleStatusChange = useCallback(\n (value: any) => {\n filterChangeRef.current = true;\n setStatusValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({ date: currentDate, slotValue: slotValue, statusValue: value, zoneValue: zoneValue });\n }\n },\n [currentDate, slotValue, zoneValue, shouldBlockNavigation, handleChangeRoute]\n );\n\n const handleSlotChange = useCallback(\n (value: any) => {\n onLoadRef.current = false;\n filterChangeRef.current = true;\n setSlotValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({ date: currentDate, statusValue: statusValue, slotValue: value, zoneValue: zoneValue });\n }\n },\n [currentDate, statusValue, zoneValue, shouldBlockNavigation, handleChangeRoute]\n );\n\n const handleZoneChange = useCallback(\n (value: any) => {\n onLoadRef.current = false;\n filterChangeRef.current = true;\n setZoneValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({ date: currentDate, statusValue: statusValue, slotValue: slotValue, zoneValue: value });\n }\n },\n [currentDate, statusValue, slotValue, shouldBlockNavigation, handleChangeRoute]\n );\n\n const handleDateChange = useCallback(\n (dateRange: any) => {\n filterChangeRef.current = false;\n setCurrentDate(dateRange);\n setSlotValue([AppConstants.SELECT_NONE.value]);\n setStatusValue([AppConstants.SELECT_NONE.value]);\n setZoneValue([]);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({ date: dateRange, statusValue: [], slotValue: [], zoneValue: [] });\n }\n },\n [shouldBlockNavigation, handleChangeRoute]\n );\n\n const getViewModeConsignments = () => {\n const renderConsignmentItem = (consignmentItem: any) => (\n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem)} item>\n {consignmentItem?.consignmentCode}\n \n {consignmentItem?.deliveryInformation?.deliverySlot?.rescheduled && }\n \n \n \n {consignmentItem ? consignmentItem?.metadata?.deliveryStatus : \"\"}\n \n \n \n \n \n \n \n \n \n \n {consignmentItem && consignmentItem?.deliveryInformation?.totalCratesCount}\n \n \n \n \n \n \n {consignmentItem?.routeType === ROUTE_TYPE.SUB_ROUTE && consignmentItem?.deliveryInformation?.customerContactInfo?.address}\n {consignmentItem?.routeType !== ROUTE_TYPE.SUB_ROUTE &&\n getAddressInfo(consignmentItem?.deliveryInformation?.customerContactInfo?.address ? consignmentItem.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n \n \n \n );\n\n const renderSubRouteConsignments = (subRoute: any) => (\n \n }>\n {subRoute.routeId}\n {subRoute?.displayStatus}\n {ALL_ROUTES_TEXT_CONTANT.SUB_ROUTE}\n \n {subRoute.orders.map(renderConsignmentItem)}\n \n );\n\n return (\n <>\n {routeConsignments?.length > 0 && routeConsignments.map(renderConsignmentItem)}\n {subRoutes?.length > 0 && subRoutes.map(renderSubRouteConsignments)}\n {routeConsignments?.length === 0 && subRoutes?.length === 0 && No Items to display}\n \n );\n };\n\n const getAllSelectedConsignments = useCallback(() => {\n let consignments: any[] = [];\n if (selectedConsignments) {\n Object.keys(selectedConsignments).forEach((areaKey: string) => {\n const slots = selectedConsignments[areaKey];\n Object.keys(slots).forEach((slotKey: string) => {\n consignments = [...consignments, ...slots[slotKey].filter((item: any) => item.value !== AppConstants.SELECT_ALL.value)];\n });\n });\n }\n return consignments;\n }, [selectedConsignments]);\n\n const updateAllConsignments = (consignments: any) => {\n dispatch(updateAllConsignmentsState({ consignments: consignments }));\n };\n\n const getAllDrivers = (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(fetchAllDrivers({ payload: payload }));\n };\n\n const getAllHelpers = (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(fetchAllHelpers({ payload: payload }));\n };\n\n const getAllVehicles = (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(fetchAllVehicles({ payload: payload }));\n };\n\n const updateConsignments = async () => {\n const consignments = await getConsignmentData(draftRoute.statusOrders);\n updateAllConsignments({ ...consignments, loading: false });\n getAllDrivers({ date: currentDate, hubCode: draftRoute.route.hubCode });\n getAllHelpers({ date: currentDate, hubCode: draftRoute.route.hubCode });\n getAllVehicles({ date: currentDate, hubCode: draftRoute.route.hubCode });\n };\n\n const getAreawiseConsignments = () => {\n return areawiseConsignments.length ? (\n areawiseConsignments.map((areaItem: any) => (\n \n } aria-controls=\"delivery-area-content\" className=\"accordianSummary delArea\">\n \n \n \n \n \n \n \n \n \n {getAreaTotalConsignments(areaItem).padStart(2, \"0\")}\n \n \n \n \n \n {getAreaTotalCrates(areaItem).padStart(2, \"0\")}\n \n \n \n \n \n \n {areaItem.data &&\n areaItem.data.length &&\n areaItem.data.map((slotItem: any) => (\n \n } aria-controls=\"delivery-slot-content\" className=\"accordianSummary delSlot\">\n \n \n \n {draftRoute?.route?.routeType === ROUTE_TYPE.PARENT_ROUTE || draftRoute?.route?.routeType === ROUTE_TYPE.SUB_ROUTE ? (\n <>\n ) : (\n handleCheckboxToggle(e, slotItem, true)}\n />\n )}\n {slotItem.value}\n \n \n \n \n \n {`${slotItem.data.length}`.padStart(2, \"0\")}\n \n \n \n \n \n {`${getTotalCrates(slotItem.data)}`.padStart(2, \"0\")}\n \n \n \n \n \n \n {slotItem.data &&\n slotItem.data.length &&\n slotItem.data.map((consignmentItem: any) => (\n \n \n \n {consignmentItem.status === \"DRAFTED\" && (\n \n \n \n )}\n {draftRoute?.route?.routeType === ROUTE_TYPE.PARENT_ROUTE || draftRoute?.route?.routeType === ROUTE_TYPE.SUB_ROUTE ? (\n <>\n ) : (\n handleCheckboxToggle(e, consignmentItem, false)}\n color=\"primary\"\n />\n )}\n \n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n \n \n {consignmentItem?.data?.deliveryInformation?.deliverySlot?.rescheduled && }\n \n \n \n {consignmentItem.data ? consignmentItem.data.metadata.deliveryStatus : \"\"}\n \n \n \n \n \n \n \n \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation.totalCratesCount}\n \n \n \n \n \n {addressAfterUnverrified[consignmentItem.code] === ADDRESS_STATUS.UNVERIFIED ? (\n \n \"info-icon\"\n \n ) : (\n \n {addressStatus(consignmentItem.data.deliveryInformation.customerContactInfo.address.status)}\n \n )}\n \n \n \n \n \n {consignmentItem?.data?.deliveryInformation?.customerContactInfo?.address?.status !== ADDRESS_STATUS.UNVERIFIED &&\n consignmentItem?.data?.deliveryInformation?.customerContactInfo?.address?.status !== ADDRESS_STATUS.VERIFIED &&\n !addressAfterUnverrified[consignmentItem.code] && (\n handleChange(consignmentItem.code)} item>\n Mark address as inaccurate\n \n )}\n \n \n \n {getSelectedValue(consignmentItem, false) && (\n \n {consignmentsSequence[consignmentItem.code] && `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, \"0\")}\n \n )}\n \n \n \n \n ))}\n \n \n \n ))}\n \n \n \n ))\n ) : (\n No Items to display\n );\n };\n\n const designAllRoutesStateObject = () => {\n if (isNonEmptyObject(plannedRoutesNew) && !isUndefined(fetchStatus) && fetchStatus !== (API_RESPONSE_STATUS.IDLE || API_RESPONSE_STATUS.LOADING || API_RESPONSE_STATUS.FAILED)) {\n let newAllRouteState = designAllRoutesStateObjectUtils(allRouteState, plannedRoutesNew);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const addressStatus = (status: any) => {\n if (status === ADDRESS_STATUS.VERIFIED) {\n return \"verified-icon\";\n } else {\n if (status === ADDRESS_STATUS.UNVERIFIED) {\n return \"unverified-icon\";\n } else {\n return \"pending-icon\";\n }\n }\n };\n\n const getAllPlannedRoutes = (params: any) => {\n const payload = createGetAllPlannedRoutesPayload(params);\n dispatch(fetchAllPlannedRoutesNew({ payload: payload }));\n };\n\n const handleTabChange = (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n setAutoRefreshMap(true);\n setSelectedRoute({});\n if (value === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED) {\n setPlannedConsignmentsData({ selectedConsignments: { ...selectedConsignments }, consignmentsSequence: { ...consignmentsSequence } });\n setSelectedConsignments(unplannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(unplannedConsignmentsData.consignmentsSequence);\n } else {\n setUnplannedConsignmentsData({ selectedConsignments: { ...selectedConsignments }, consignmentsSequence: { ...consignmentsSequence } });\n setSelectedConsignments(plannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(plannedConsignmentsData.consignmentsSequence);\n handleRefreshPlannedRoutes();\n }\n };\n\n const toggleListView = (type: string) => {\n setIsListView(type === \"map\" ? false : true);\n if (type === \"map\") {\n setAutoRefreshMap(true);\n } else {\n setAutoRefreshMap(false);\n setCreateRouteState({ ...createRouteState, refreshInterval: 0 });\n }\n };\n\n const handleConsignmentAccordionChange = useCallback(\n (itemObj: any, isSlot?: boolean) => (event: any, isExpanded: boolean) => {\n let expandedConsignments = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n const id = isSlot ? `${itemObj.area}-${itemObj.code}` : itemObj.code;\n const idIndex = expandedConsignments.indexOf(id);\n const allSlotItems = !isSlot ? Object.keys(slotwiseConsignments[itemObj.code]) : [];\n if (isExpanded) {\n expandedConsignments.push(id);\n if (allSlotItems.length) {\n expandedConsignments = [...expandedConsignments, ...allSlotItems.map((item) => `${itemObj.code}-${item}`)];\n }\n } else {\n if (idIndex > -1) {\n expandedConsignments.splice(idIndex, 1);\n }\n }\n\n consignmentSearchValue ? setExpandedConsignments(expandedConsignments, true) : setExpandedConsignments(expandedConsignments);\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded, slotwiseConsignments, setExpandedConsignments]\n );\n\n const checkExpanded = useCallback(\n (item: any, isSlot?: boolean) => {\n const idsToCheck = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n let expanded = false;\n const itemId = isSlot ? `${item.area}-${item.code}` : item.code;\n if (item) {\n if (idsToCheck.length) {\n expanded = idsToCheck.indexOf(itemId) > -1;\n } else {\n expanded = false;\n }\n }\n return expanded;\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded]\n );\n\n const calculateCapacityBreach = (type: string) => {\n let capacityBreach = false;\n if (vehiclesData && vehicleValue !== AppConstants.SELECT_NONE.value) {\n let selectedVehicle = vehiclesData.filter((vehicle: any) => vehicle.id === vehicleValue);\n if (selectedVehicle.length) {\n selectedVehicle = selectedVehicle[0];\n const allSelectedConsignments = getAllSelectedConsignments();\n switch (type) {\n case \"consignments\":\n capacityBreach = allSelectedConsignments.length > selectedVehicle.orderCapacity;\n break;\n case \"crates\":\n capacityBreach = getTotalCrates(allSelectedConsignments) > selectedVehicle.crateCapacity;\n break;\n case \"transitTime\":\n capacityBreach = false;\n break;\n default:\n break;\n }\n }\n }\n return capacityBreach;\n };\n\n const updateHighlightSearch = useCallback(\n (item: any) => {\n let returnValue = item.code;\n if (consignmentSearchValue) {\n returnValue = highlightTextWithClass(consignmentSearchValue, item.code);\n }\n return returnValue;\n },\n [consignmentSearchValue]\n );\n\n const handleConSelectChange = useCallback(\n (newValues: any, slot: string, area: string) => {\n let selected: any[] = [];\n const selectedValues = newValues[area][slot];\n const previous = selectedConsignments[area][slot].map((item: any) => item.value);\n const selectable = selectableConsignments[area][slot].filter((item: any) => item.status !== \"DRAFTED\");\n if (selectedValues.length) {\n selectable.forEach((selItem: any) => {\n selectedValues.forEach((item: any) => {\n if (selItem.value === item) {\n selected.push(selItem);\n }\n });\n });\n }\n const selectAllIdx = selectedValues.indexOf(AppConstants.SELECT_ALL.value);\n const selectAllPreviousIdx = previous.indexOf(AppConstants.SELECT_ALL.value);\n if (selectAllIdx > -1) {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = selected.filter((item: any) => item.value !== AppConstants.SELECT_ALL.value && item.status !== \"DRAFTED\");\n } else {\n selected = selectable.slice().filter((item: any) => item.status !== \"DRAFTED\");\n }\n }\n } else {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = [];\n } else if (selected.length === selectable.length - 1) {\n selected = selectable.slice().filter((item: any) => item.status !== \"DRAFTED\");\n }\n }\n }\n if (!selected.length) {\n selected = [];\n }\n setSelectedConsignments({ ...selectedConsignments, [area]: { ...selectedConsignments[area], [slot]: selected } });\n setCheckedConsignments({ ...checkedConsignments, [area]: { ...checkedConsignments[area], [slot]: selected.map((item: any) => item.value) } });\n let defaultConsignments = [AppConstants.SELECT_ALL];\n if (editMode) {\n defaultConsignments =\n draftRoute.route && draftRoute.route.consignmentsIds\n ? [\n AppConstants.SELECT_ALL,\n ...draftRoute.route.consignmentsIds.map((item: string) => {\n return {\n value: item,\n };\n }),\n ]\n : [AppConstants.SELECT_ALL];\n }\n let allPreviousSelectedConsignments = getAllSelectedConsignments();\n const currentSlotPreviousConsignments = allPreviousSelectedConsignments.filter((con: any) => con.area === area && con.slot === slot);\n allPreviousSelectedConsignments = _.difference(allPreviousSelectedConsignments, currentSlotPreviousConsignments);\n const allSelectedConsignments = [...allPreviousSelectedConsignments, ...selected];\n sessionStorage.setItem(\"extraConsignments\", JSON.stringify(getDifferenceValues(allSelectedConsignments, defaultConsignments).map((item: any) => item.value)));\n },\n [selectableConsignments, selectedConsignments, checkedConsignments, draftRoute, editMode, getAllSelectedConsignments]\n );\n\n const updateOrderStatus = (params: any) => {\n if (params.consignments.length) {\n const payload = createUpdateOrderStatusPayload(params);\n dispatch(updateConsignmentStatus({ payload: payload }));\n }\n };\n\n const handleConsignmentSequense = (consignment: any, isNew: boolean, seqParams: any) => {\n if (consignment) {\n let lastSeqNo: number = seqParams.lastSeqNo;\n let newSequencedCons = { ...seqParams.allSequencedCons };\n if (isNew) {\n newSequencedCons[consignment.id] = { id: consignment.id, seq: ++lastSeqNo };\n } else {\n delete newSequencedCons[consignment.id];\n --lastSeqNo;\n Object.keys(newSequencedCons).forEach((id: string) => {\n const cons = newSequencedCons[id];\n if (id !== consignment.id && cons.seq >= consignment.seq) {\n newSequencedCons[id].seq -= 1;\n }\n });\n }\n seqParams.lastSeqNo = lastSeqNo;\n seqParams.allSequencedCons = newSequencedCons;\n }\n return seqParams;\n };\n\n const addSequence = (consignments: any[], status: string, params: any) => {\n let seqParams = _.cloneDeep(params);\n if (consignments.length) {\n let sequencedCons = seqParams.allSequencedCons;\n consignments.forEach((id: any) => {\n let isNew = status === \"PLANNED\";\n let consignment = isNew ? { id: id } : sequencedCons[id];\n seqParams = handleConsignmentSequense(consignment, isNew, seqParams);\n });\n }\n return seqParams;\n };\n\n const handleCheckboxToggle = useCallback(\n (event: React.MouseEvent, value: any, isSlot: boolean) => {\n event.stopPropagation();\n const currentSlot = isSlot ? value.code : value.slot;\n const currentArea = value.area;\n const currentValue = isSlot ? AppConstants.SELECT_ALL.value : value.code;\n const currentIndex = checkedConsignments[currentArea][currentSlot].indexOf(currentValue);\n const newCheckedConsignments = [...checkedConsignments[currentArea][currentSlot]];\n let consignments = [];\n let status = \"\";\n if (currentIndex === -1) {\n status = \"PLANNED\";\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot]\n .slice()\n .filter((item: any) => item.status !== \"DRAFTED\")\n .map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.push(currentValue);\n } else {\n status = \"UNPLANNED\";\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot]\n .slice()\n .filter((item: any) => item.status !== \"DRAFTED\")\n .map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.splice(currentIndex, 1);\n }\n updateOrderStatus({ consignments: consignments, status: status, routeId: draftRoute.route.id });\n let seqParams: any = { allSequencedCons: _.cloneDeep(consignmentsSequence), lastSeqNo: lastSequenceNumber };\n if (isSlot && status === \"PLANNED\") {\n const alreadySelectedCons = getMatchingValues(checkedConsignments[currentArea][currentSlot], consignments);\n seqParams = addSequence(alreadySelectedCons, \"UNPLANNED\", seqParams);\n }\n seqParams = addSequence(consignments, status, seqParams);\n autoRefreshMapRef.current = false;\n setOptimizeMapRoute(false);\n setAutoRefreshMap(false);\n setUpdateMap(false);\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } });\n handleConSelectChange({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } }, currentSlot, currentArea);\n },\n [checkedConsignments, draftRoute, slotwiseConsignments, consignmentsSequence, lastSequenceNumber, addSequence, handleConSelectChange, updateOrderStatus]\n );\n\n const handleRouteSelection = (route: any) => {\n setSelectedRoute(route);\n if (route?.data?.assignee) {\n setRouteDriverValue(route?.data?.assignee?.id);\n } else {\n setRouteDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (route?.data?.helper) {\n setRouteHelperValue(route?.data?.helper?.id);\n } else {\n setRouteHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (route.data.assignedVehicle) {\n setRouteVehicleValue(route.data.assignedVehicle.id);\n } else {\n setRouteVehicleValue(AppConstants.SELECT_NONE.value);\n }\n getRouteConsignments(route?.code);\n if (route?.data?.routeType === ROUTE_TYPE.PARENT_ROUTE) {\n getSubRoutes(route.code);\n } else {\n handleResetViewModeState();\n }\n };\n\n const handleDriverChange = (value: any) => {\n setDriverValue(value);\n };\n\n const handleRouteDriverChange = (value: any) => {\n setRouteDriverValue(value);\n };\n\n const handleHelperChange = (value: any) => {\n setHelperValue(value);\n };\n\n const handleRouteHelperChange = (value: any) => {\n setRouteHelperValue(value);\n };\n\n const handleVehicleChange = (value: any) => {\n setVehicleValue(value);\n };\n\n const handleRouteVehicleChange = (value: any) => {\n setRouteVehicleValue(value);\n };\n\n const getAllSlots = (params: any) => {\n const payload = createDraftRoutePayload(params);\n dispatch(loadAllSlots({ params: payload }));\n };\n\n const getSelectedValue = useCallback(\n (item: any, isSlot: boolean) => {\n const slot = isSlot ? item.code : item.slot;\n const area = item.area;\n let selectedValues = [];\n if (selectedConsignments[area] && selectedConsignments[area][slot] && selectedConsignments[area][slot].length) {\n selectedValues = selectedConsignments[area][slot].map((con: any) => con.value);\n }\n return selectedValues.indexOf(isSlot ? AppConstants.SELECT_ALL.value : item.value) > -1;\n },\n [selectedConsignments]\n );\n\n const disableCheckboxForPlanned = useCallback(\n (item: any, isSlot: boolean) => {\n const slot = isSlot ? item.code : item.slot;\n const area = item.area;\n let selectedValues = [];\n if (selectedConsignments[area] && selectedConsignments[area][slot] && selectedConsignments[area][slot].length) {\n selectedValues = selectedConsignments[area][slot].filter((con: any) => con.status == \"PLANNED\");\n }\n return selectedValues?.length;\n },\n [selectedConsignments]\n );\n\n const getChangeDialogTitleContent = () => {\n return <>;\n };\n\n const getDiscardDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to discard changes?\n \n \n );\n };\n\n const getChangeDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to continue?\n \n \n );\n };\n\n const getReleaseDialogTitleContent = () => {\n return (\n <>\n \n \"alert-icon\"\n {AppConstants.BUTTONS.END_DRIVER_HELPER_SESSION}\n \n \n );\n };\n\n const getReleaseDialogDetailsContent = () => {\n return (\n \n \n {AppConstants.USERS_CONSTANTS.RELEASE_ASSIGNEE_CONTENT}\n \n \n );\n };\n\n const getReleaseDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDiscardDialogClose = () => {\n setOpenDiscardConfirmDialog(false);\n };\n\n const handleChangeDialogClose = () => {\n setOpenDateChangeConfirmDialog(false);\n };\n\n const handleDiscardRoute = (redirect?: boolean) => {\n // const payload = getDiscardRoutePayload({ previousCons: draftRoute.route ? draftRoute.route.consignmentsIds : [] });\n // dispatch(discardRouteChanges({ params: payload, redirect: redirect }));\n let route: any = AppConstants.ROUTES.PLANNING;\n let state: any = { tabValue: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES };\n if (location.state && location.state.redirect) {\n route = location.state.redirect.route;\n state = updatedRoute ? { ...location.state.redirect.state, route: updatedRoute.route } : location.state.redirect.state;\n onLoadRef.current = true;\n filterChangeRef.current = false;\n setEditRoute(null);\n }\n handleClearCurrentSlot();\n history.push(route, state);\n };\n\n const discardDialogActionHandler = (type: string) => {\n if (type === \"discard\") {\n setNoRedirect(false);\n handleDiscardRoute();\n }\n handleDiscardDialogClose();\n };\n\n const getDiscardDialogActions = () => {\n return (\n \n {\n discardDialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n discardDialogActionHandler(\"discard\");\n }}\n >\n {AppConstants.BUTTONS.PROCEED}\n \n \n );\n };\n\n const getChangeDialogActions = () => {\n return (\n \n {\n changeDialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n changeDialogActionHandler(\"proceed\");\n }}\n >\n {AppConstants.BUTTONS.PROCEED}\n \n \n );\n };\n\n const getUpdateDialogTitleContent = () => {\n return <>;\n };\n\n const getCapacityBreachDialogTitleContent = () => {\n return Capacity Breach;\n };\n\n const getCapacityBreachDialogDetailsContent = () => {\n return (\n \n \n {capacityBreachPopupMsg}\n \n \n );\n };\n\n const handleCapacityBreachDialogClose = () => {\n setOpenCapacityBreachConfirmDialog(false);\n };\n\n const getOrderDetailById = (id: any) => {\n dispatch(fetchOrderById({ id: id }));\n };\n\n const handleConsignmentDetailsClick = (data: any) => {\n if (data.routeType === ROUTE_TYPE.SUB_ROUTE) {\n getOrderDetailById(data?.consignmentCode);\n } else {\n setConsignmentData(data);\n }\n setOpenConsignmentDetailsPopup(true);\n };\n\n const closeConsignmentDetailsPopup = () => {\n setOpenConsignmentDetailsPopup(false);\n };\n\n const getSeqSortedSelectedConsignments = () => {\n let seqSelectedConsignments = getAllSelectedConsignments().map((consignment: any) => {\n return { ...consignment, seq: consignmentsSequence[consignment.code] ? consignmentsSequence[consignment.code].seq : lastSequenceNumber };\n });\n return _.sortBy(seqSelectedConsignments, \"seq\");\n };\n\n const isAllConsignmentsSame = (consignments: any[], consignmentsIds: any[]) => {\n return consignments.length === consignmentsIds.length && consignments.every((v: any) => consignmentsIds.includes(v.code));\n };\n\n const getConsignmentRecord = () => {\n const consignments = getSeqSortedSelectedConsignments();\n if (!isUndefined(draftRoute?.route?.automatedRoute) && draftRoute?.route?.automatedRoute && draftRoute?.route?.consignmentsIds && draftRoute?.route?.consignmentsIds?.length > 0) {\n const consignmentsIds: any[] = draftRoute.route.consignmentsIds;\n if (isAllConsignmentsSame(consignments, consignmentsIds)) {\n let consignmentsOfObjects = consignmentsIds.map((item: string | number) => {\n return { code: item };\n });\n return consignmentsOfObjects;\n }\n } else if (consignments?.length === 0 && draftRoute?.route?.consignmentsIds?.length !== 0) {\n let consignmentsOfObjects = draftRoute.route.consignmentsIds.map((item: string | number) => {\n return { code: item };\n });\n return consignmentsOfObjects;\n }\n return consignments;\n };\n\n const createRoute = () => {\n const payload = createRouteCreationPayload({\n consignments: getConsignmentRecord(),\n route: isPlannedRoute ? selectedRoute.data : draftRoute.route,\n selectedDriver: isPlannedRoute ? routeDriverValue : driverValue,\n selectedHelper: isPlannedRoute ? routeHelperValue : helperValue,\n selectedVehicle: isPlannedRoute ? routeVehicleValue : vehicleValue,\n date: currentDate.startDate,\n transitTime: calculateTransitTime(mapRouteDirections),\n mapRouteDirections: mapRouteDirections,\n editMode: isPlannedRoute || false,\n });\n if (payload?.route?.deliveryArea.length === 0) {\n if (draftRoute?.route?.deliveryArea?.length > 0) {\n payload.route.deliveryArea = [...draftRoute.route.deliveryArea];\n } else if (location?.state?.route?.deliverySlot?.length > 0) {\n payload.route.deliverySlot = [...location.state.route.deliverySlot];\n }\n }\n if (payload?.route?.deliverySlot.length === 0) {\n if (draftRoute?.route?.deliverySlot?.length > 0) {\n payload.route.deliverySlot = [...draftRoute.route.deliverySlot];\n } else if (location?.state?.route?.deliverySlot?.length > 0) {\n payload.route.deliverySlot = [...location.state.route.deliverySlot];\n }\n }\n dispatch(createAndEditRoute({ payload: payload, editMode: isPlannedRoute || editMode || false }));\n };\n\n const capacityBreachDialogActionHandler = (type: string) => {\n if (type === \"continue\") {\n createRoute();\n }\n handleCapacityBreachDialogClose();\n };\n\n const getCapacityBreachDialogActions = () => {\n return (\n \n {\n capacityBreachDialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n capacityBreachDialogActionHandler(\"continue\");\n }}\n >\n {AppConstants.BUTTONS.CONTINUE}\n \n \n );\n };\n\n const getUpdateDialogDetailsContent = () => {\n return (\n \n \n {`Are you sure you want to update ${draftRoute.route && draftRoute.route.routeId}?`}\n \n \n The changes made here will affect existing routes and cannot be undone.\n \n \n );\n };\n\n const handleUpdateDialogClose = () => {\n setOpenUpdateConfirmDialog(false);\n };\n\n const getCapacityBreachPopupMsg = (capacityBreach: any) => {\n let msg = \"\";\n if (capacityBreach.consignments) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS;\n if (capacityBreach.crates) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.ALL_VALUES;\n }\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_TRANSIT_TIME;\n }\n }\n } else if (capacityBreach.crates) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES_AND_TRANSIT_TIME;\n }\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.TRANSIT_TIME;\n }\n }\n return msg;\n };\n\n const handleCreateRoute = (isCreateClicked?: boolean) => {\n if (isCreateClicked) {\n setIsPlannedRoute(false);\n }\n const capacityBreach: any = {\n consignments: calculateCapacityBreach(\"consignments\"),\n crates: calculateCapacityBreach(\"crates\"),\n transitTime: calculateCapacityBreach(\"transitTime\"),\n };\n if (capacityBreach.consignments || capacityBreach.crates || capacityBreach.transitTime) {\n setCapacityBreachPopupMsg(getCapacityBreachPopupMsg(capacityBreach));\n setOpenCapacityBreachConfirmDialog(true);\n } else {\n createRoute();\n }\n };\n\n const updateDialogActionHandler = (type: string) => {\n if (type === \"update\") {\n handleCreateRoute();\n }\n handleUpdateDialogClose();\n };\n\n const getUpdateDialogActions = () => {\n return (\n \n {\n updateDialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n updateDialogActionHandler(\"update\");\n }}\n >\n {AppConstants.BUTTONS.PROCEED}\n \n \n );\n };\n\n const handleDiscardChanges = () => {\n setOpenDiscardConfirmDialog(true);\n };\n\n const handleUpdateRoute = () => {\n setIsPlannedRoute(false);\n setOpenUpdateConfirmDialog(true);\n };\n\n const handleUpdatePlannedRoute = () => {\n setIsPlannedRoute(true);\n setOpenUpdateConfirmDialog(true);\n };\n\n const getDriverMarker = async () => {\n const driverDetails = { name: \"\", location: { lat: 0, lng: 0 }, icon: TrcukFilledIcon, stopover: true };\n let driverId: string = \"\";\n if (location?.state?.route?.assignee?.id) {\n driverId = location?.state?.route?.assignee?.id;\n } else if (draftRoute?.route?.assignee?.id) {\n driverId = draftRoute?.route?.assignee?.id;\n }\n if (!isNull(driverId)) {\n const params: any = { driverIds: [driverId] };\n const { payload } = await dispatch(getDriverMarkerApi({ params: params }));\n if (payload && payload[driverId] && payload[driverId]?.latitude && payload[driverId]?.latitude !== 0) {\n driverDetails.name = driverId;\n driverDetails.location.lat = Number(payload[driverId]?.latitude);\n driverDetails.location.lng = Number(payload[driverId]?.longitude);\n }\n const driverMarker = [driverDetails];\n return driverMarker;\n }\n return [];\n };\n\n const getDocAddressMarkerDetails = () => {\n if (draftRoute?.route?.dockAddress?.latitude && draftRoute?.route?.dockAddress?.longitude) {\n return {\n name: draftRoute?.route?.dockAddress?.dockId || \"\",\n icon: transferPointIcon,\n location: { lat: parseFloat(draftRoute?.route?.dockAddress?.latitude || 0), lng: parseFloat(draftRoute?.route?.dockAddress?.longitude || 0) },\n };\n }\n if (location?.state?.route?.dockAddress?.latitude && location?.state?.route?.dockAddress?.longitude) {\n return {\n name: location?.state?.route?.dockAddress?.dockId || \"\",\n icon: transferPointIcon,\n location: { lat: parseFloat(location?.state?.route?.dockAddress?.latitude || 0), lng: parseFloat(location?.state?.route?.dockAddress?.longitude || 0) },\n };\n }\n return {};\n };\n\n const getAllSelectedConsignmentsMarkers = () => {\n const countryCodeValue = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n let selectedHub: any = hubData[countryCodeValue] ? hubData[countryCodeValue].filter((hub: any) => hub.code === location.state.hubCode) : [];\n selectedHub = selectedHub?.length > 0 ? selectedHub[0] : { code: location.state.hubCode, latitude: 0, longitude: 0 };\n const hubDetails = { name: selectedHub?.code || \"\", icon: mapHubIcon, location: { lat: parseFloat(selectedHub?.latitude || 0), lng: parseFloat(selectedHub?.longitude || 0) } };\n const markers = [hubDetails];\n\n const selectedSeqConsignments = getSeqSortedSelectedConsignments();\n const wayPoints = selectedSeqConsignments.map((consignmentItem: any) => {\n const location = consignmentItem?.data?.deliveryInformation\n ? {\n lat: parseFloat(consignmentItem?.data?.deliveryInformation?.customerContactInfo?.address?.latitude) || 0,\n lng: parseFloat(consignmentItem?.data?.deliveryInformation?.customerContactInfo?.address?.longitude) || 0,\n }\n : { lat: 0, lng: 0 };\n const label = consignmentsSequence[consignmentItem.code] ? `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, \"0\") : \"\";\n return { name: consignmentItem.code, location: location, icon: mapItemIcon, label: { text: label, fontSize: \"10px\", fontWeight: \"600\", color: COLORS.WHITE } };\n });\n const dockAddressDetails = getDocAddressMarkerDetails();\n if (dockAddressDetails?.name) {\n const dockAddressMarker = [dockAddressDetails];\n return [...markers, ...dockAddressMarker, ...wayPoints];\n }\n return [...markers, ...wayPoints];\n };\n\n const handleRefreshMap = async () => {\n const markers: any[] = getAllSelectedConsignmentsMarkers();\n const center = { lat: 0, lng: 0 };\n const latLngIndex = markers.findIndex((marker: any) => marker && marker.location && marker.location.lat !== 0);\n if (latLngIndex !== -1) {\n center.lat = markers[latLngIndex].location.lat;\n center.lng = markers[latLngIndex].location.lng;\n }\n let fetchDriverLocation: boolean = false;\n if (isRouteStatusOutForDelivery(location?.state?.route?.status)) {\n fetchDriverLocation = true;\n } else if (isRouteStatusOutForDelivery(draftRoute?.route?.status)) {\n fetchDriverLocation = true;\n }\n if (fetchDriverLocation) {\n const driverMarker = await getDriverMarker();\n setMapMarkers([...markers, ...driverMarker]);\n setMapCenterState(center);\n setCreateRouteState({ ...createRouteState, refreshInterval: AppConstants.PLANNING_CONSTANTS.DRIVER_LOCATION_REFRESH_INTERVAL });\n } else {\n setMapMarkers(markers);\n setMapCenterState(center);\n }\n };\n\n const millisToMinutesAndSeconds = (millis: number) => {\n const minutes: number = Math.floor(millis / 60000);\n const seconds: any = ((millis % 60000) / 1000).toFixed(0);\n let secondsValue: string = \"\";\n if (Number(seconds) < 10) {\n secondsValue = \"0\" + seconds.toString();\n } else {\n secondsValue = seconds.toString();\n }\n const obj = { minutes: minutes, seconds: secondsValue };\n return obj;\n };\n\n const refereshTimer = () => {\n let milliSecond = createRouteState.countDownInterval - AppConstants.PLANNING_CONSTANTS.REDUCE_DRIVER_LOCATION_COUNT_DOWN_INTERVAL;\n const timeValue = millisToMinutesAndSeconds(milliSecond);\n setCreateRouteState({ ...createRouteState, countDownInterval: milliSecond, minutes: timeValue.minutes, seconds: timeValue.seconds });\n };\n\n const refereshScreen = async () => {\n setCreateRouteState({ ...createRouteState, countDownInterval: AppConstants.PLANNING_CONSTANTS.DRIVER_LOCATION_REFRESH_INTERVAL });\n const driverMarker = await getDriverMarker();\n let driverId: string = \"\";\n if (location?.state?.route?.assignee?.id) {\n driverId = location?.state?.route?.assignee?.id;\n } else if (draftRoute?.route?.assignee?.id) {\n driverId = draftRoute?.route?.assignee?.id;\n }\n if (!isNull(driverId)) {\n let markersRecord: any[] = [...mapMarkers];\n let driverMarkerIndex = markersRecord.findIndex((marker: any) => marker?.name === driverId);\n if (driverMarkerIndex !== -1) {\n markersRecord.splice(driverMarkerIndex, 1);\n markersRecord[driverMarkerIndex] = driverMarker;\n setMapMarkers([...markersRecord, ...driverMarker]);\n setCreateRouteState({ ...createRouteState, refreshInterval: AppConstants.PLANNING_CONSTANTS.DRIVER_LOCATION_REFRESH_INTERVAL });\n }\n }\n };\n\n const handleOptimizeMapRoute = () => {\n setOptimizeMapRoute(true);\n handleRefreshMap();\n };\n\n const disableOptimizeMapRoute = () => {\n if (!isUndefined(draftRoute?.route?.automatedRoute) && !draftRoute?.route?.automatedRoute) {\n return getAllSelectedConsignmentsMarkers()?.length <= 1;\n }\n return true;\n };\n\n const changeDialogActionHandler = useCallback(\n (type: string) => {\n if (type === \"proceed\") {\n handleChangeRoute({ date: currentDate, statusValue: statusValue, slotValue: slotValue });\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n handleChangeDialogClose();\n },\n [handleChangeDialogClose, handleChangeRoute, currentDate, statusValue, slotValue]\n );\n\n const handleSnackbarExited = useCallback(() => {\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n if (error) {\n dispatch(resetPlanningError());\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(clearUpdatedRoute());\n }\n if (isAddressUpdated) {\n dispatch(resetAddressupdateStatus());\n }\n }, [dispatch, error, errorCode, updatedRoute, isAddressUpdated]);\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n };\n\n const handleReleaseSnackbarClose = () => {\n setOpenReleaseSnackbar(false);\n };\n\n const getSelectedAreas = useCallback(\n (forTooltip?: boolean) => {\n const selectedAreas: string[] = getUniqueValues(getAllSelectedConsignments(), \"area\");\n let returnValue: any = selectedAreas?.length > 0 ? selectedAreas.slice() : [];\n if (!forTooltip) {\n returnValue = selectedAreas?.length > 0 ? (selectedAreas.length > 1 ? `Multiple(${selectedAreas.length})` : selectedAreas[0]) : \"\";\n }\n return returnValue;\n },\n [getAllSelectedConsignments]\n );\n\n const getSelectedAreasTooltip = useCallback(() => {\n const selectedAreas: any = getSelectedAreas(true);\n return (\n selectedAreas?.length > 0 &&\n selectedAreas.map((area: string, index: number) => (\n \n {area}\n \n ))\n );\n }, [getSelectedAreas]);\n\n /** https://mafretail.atlassian.net/browse/MILE-3314 */\n const getDraftSelectedAreas = (forTooltip?: boolean) => {\n const selectedAreas: string[] = draftRoute?.route?.deliveryArea;\n let returnValue: any = selectedAreas?.length > 0 ? selectedAreas.slice() : [];\n if (!forTooltip) {\n returnValue = selectedAreas?.length > 0 ? (selectedAreas.length > 1 ? `Multiple(${selectedAreas.length})` : selectedAreas[0]) : \"\";\n }\n return returnValue;\n };\n\n /** https://mafretail.atlassian.net/browse/MILE-3314 */\n const getDraftSelectedAreasTooltip = () => {\n const selectedAreas: any = getDraftSelectedAreas(true);\n return (\n selectedAreas.length &&\n selectedAreas?.map((area: string, index: number) => (\n \n {area}\n \n ))\n );\n };\n\n const getSelectedDeliverySlots = useCallback(\n (forTooltip?: boolean) => {\n const selectedSlots: string[] = getUniqueValues(getAllSelectedConsignments(), \"slot\");\n let returnValue: any = selectedSlots?.length > 0 ? selectedSlots.slice() : [];\n if (!forTooltip) {\n if (selectedSlots?.length > 0) {\n const firstDelSlot: any = selectedSlots?.length && selectedSlots[0].split(\"-\");\n const slotValue = getSlotUIValue(firstDelSlot);\n returnValue = selectedSlots?.length > 1 ? `Multiple(${selectedSlots.length})` : `${slotValue.startTime} - ${slotValue.endTime}`;\n } else {\n returnValue = \"\";\n }\n }\n return returnValue;\n },\n [getAllSelectedConsignments]\n );\n\n const getSelectedSlotsTooltip = useCallback(() => {\n const selectedSlots: any = getSelectedDeliverySlots(true);\n return (\n selectedSlots.length &&\n selectedSlots.map((slot: string, index: number) => {\n const delSlot = slot.split(\"-\");\n const slotValue = getSlotUIValue(delSlot);\n return {`${slotValue.startTime} - ${slotValue.endTime}`};\n })\n );\n }, [getSelectedDeliverySlots]);\n\n /** https://mafretail.atlassian.net/browse/MILE-3314 */\n const getDraftSelectedDeliverySlots = (forTooltip?: boolean) => {\n const selectedSlots: string[] = draftRoute?.route?.deliverySlot;\n let returnValue: any = selectedSlots?.length > 0 ? selectedSlots.slice() : [];\n if (!forTooltip) {\n if (selectedSlots?.length) {\n const firstDelSlot: any = selectedSlots?.length > 0 && selectedSlots[0].split(\"-\");\n const slotValue = getSlotUIValue(firstDelSlot);\n returnValue = selectedSlots.length > 1 ? `Multiple(${selectedSlots.length})` : `${slotValue.startTime} - ${slotValue.endTime}`;\n } else {\n returnValue = \"\";\n }\n }\n return returnValue;\n };\n\n /** https://mafretail.atlassian.net/browse/MILE-3314 */\n const getDraftSelectedSlotsTooltip = () => {\n const selectedSlots: any = getDraftSelectedDeliverySlots(true);\n return (\n selectedSlots.length > 0 &&\n selectedSlots.map((slot: string, index: number) => {\n const delSlot = slot.split(\"-\");\n const slotValue = getSlotUIValue(delSlot);\n return {`${slotValue.startTime} - ${slotValue.endTime}`};\n })\n );\n };\n\n const getCurrentSelectedDate = () => {\n return moment(currentDate.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT);\n };\n\n const checkEditRouteExtraConsignments = () => {\n let isEqual = false;\n if (draftRoute.route) {\n isEqual = isEqualArrays(\n draftRoute.route.consignmentsIds,\n getAllSelectedConsignments().map((item: any) => item.code)\n );\n }\n return isEqual;\n };\n\n const disableCreateRt = () => {\n if (draftRoute?.route?.routeType === ROUTE_TYPE.PARENT_ROUTE || draftRoute?.route?.routeType === ROUTE_TYPE.SUB_ROUTE) {\n return draftRoute?.route?.consignmentsIds?.length === 0;\n }\n return !getAllSelectedConsignments().length;\n };\n\n const disableEditRt = () => {\n let disable = true;\n if (draftRoute.route) {\n const currentHelper = draftRoute.route.helper ? draftRoute.route.helper.id : AppConstants.SELECT_NONE.value;\n const currentDriver = draftRoute.route.assignee ? draftRoute.route.assignee.id : AppConstants.SELECT_NONE.value;\n const currentVehicle = draftRoute.route.assignedVehicle ? draftRoute.route.assignedVehicle.id : AppConstants.SELECT_NONE.value;\n if (draftRoute?.route?.routeType === ROUTE_TYPE.PARENT_ROUTE || draftRoute?.route?.routeType === ROUTE_TYPE.SUB_ROUTE) {\n if (helperValue !== currentHelper || driverValue !== currentDriver || vehicleValue !== currentVehicle) {\n disable = false;\n }\n } else if (!checkEditRouteExtraConsignments() || helperValue !== currentHelper || driverValue !== currentDriver || vehicleValue !== currentVehicle) {\n disable = false;\n }\n return disable;\n }\n return true;\n };\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n (e || window.event).returnValue = \"\";\n if (editMode) {\n handleDiscardRoute(true);\n }\n return \"\";\n };\n\n const handleOrderStatusOnUnload = (status: string, reset?: boolean) => {\n let consignments: any = sessionStorage.getItem(\"extraConsignments\");\n consignments = consignments ? JSON.parse(consignments) : [];\n if (consignments.length) {\n updateOrderStatus({\n consignments: consignments,\n status: status,\n routeId: sessionStorage.getItem(\"routeId\"),\n });\n }\n if (reset) {\n sessionStorage.setItem(\"routeId\", \"\");\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n }\n };\n\n const onConsignmentsDragStart = () => {\n setDraggingItem(true);\n };\n\n const onConsignmentsDragEnd = useCallback(\n (result: any) => {\n setDraggingItem(false);\n const { destination, source } = result;\n if (!destination) {\n return;\n }\n if (destination.droppableId === source.droppableId && destination.index === source.index) {\n return;\n }\n let updatedConsignments = getSeqSortedSelectedConsignments();\n const [deletedItem] = updatedConsignments.splice(source.index, 1);\n updatedConsignments.splice(destination.index, 0, deletedItem);\n updatedConsignments = updatedConsignments.map((item: any) => item.code);\n const seqParams = addSequence(updatedConsignments, \"PLANNED\", {\n allSequencedCons: {},\n lastSeqNo: 0,\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setUpdateMap(false);\n setOptimizeMapRoute(false);\n },\n [addSequence, getSeqSortedSelectedConsignments]\n );\n\n const getCenterOfMarkers = (markers: any[]) => {\n const latLngIndex = markers.findIndex((marker: any) => marker && marker.location && marker.location.lat !== 0);\n if (latLngIndex !== -1) {\n return { lat: markers[latLngIndex].location.lat, lng: markers[latLngIndex].location.lng };\n }\n return { lat: 0, lng: 0 };\n };\n\n const getMapCenter = () => {\n const markers: any[] = getAllSelectedConsignmentsMarkers();\n if (markers?.length > 0) {\n const center = getCenterOfMarkers(markers);\n return center;\n }\n return { lat: 0, lng: 0 };\n };\n\n const toggleAllDropdowns = useCallback(() => {\n const isExpanded = !toggleAllDropdownExpanded;\n const allAreasAndSlots: string[] = getAllAreasAndSlots(areawiseConsignments);\n if (isExpanded) {\n setExpandedConsignments(allAreasAndSlots, consignmentSearchValue ? true : false);\n } else {\n setExpandedConsignments([], consignmentSearchValue ? true : false);\n }\n setToggleAllDropdownExpanded(isExpanded);\n }, [toggleAllDropdownExpanded, areawiseConsignments, consignmentSearchValue, setExpandedConsignments]);\n\n const getCurrentAreaConsignments = useCallback(\n (areaCode: string) => {\n return allConsignments.filter((item: any) => item.area === areaCode);\n },\n [allConsignments]\n );\n\n const getAreaTotalCrates = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${getTotalCrates(allAreaConsignments)}`;\n },\n [getCurrentAreaConsignments]\n );\n\n const getAreaTotalConsignments = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${allAreaConsignments.length}`;\n },\n [getCurrentAreaConsignments]\n );\n\n const getTransitTime = useCallback(() => {\n let transitTimeSecs = calculateTransitTime(mapRouteDirections);\n return convertTime(transitTimeSecs);\n }, [mapRouteDirections]);\n\n const getUpdatedDdnList = useCallback(\n (type: string, route: any) => {\n let updatedList: SelectItemProps[] = [];\n switch (type) {\n case \"driver\":\n updatedList = [...driversList];\n if (route && route.assignee) {\n updatedList = [...updatedList, { name: route.assignee.name, value: route.assignee.id }];\n }\n break;\n case \"helper\":\n updatedList = [...helpersList];\n if (route && route.helper) {\n updatedList = [...updatedList, { name: route.helper.name, value: route.helper.id }];\n }\n break;\n case \"vehicle\":\n updatedList = [...vehiclesList];\n if (updatedList.length === 1 && !singleEntryVehical) {\n singleEntryVehical = true;\n setVehicleValue(updatedList[0]?.value);\n }\n if (route && route.assignedVehicle && updatedList.findIndex((vehicle: SelectItemProps) => vehicle.value === route.assignedVehicle.id) === -1) {\n updatedList = [...updatedList, { name: route.assignedVehicle.name, value: route.assignedVehicle.id }];\n }\n break;\n default:\n break;\n }\n return updatedList;\n },\n [driversList, helpersList, vehiclesList]\n );\n\n const handleClearCurrentSlot = () => {\n dispatch(clearCurrentSlot());\n };\n\n const handleEditRoute = () => {\n handleClearCurrentSlot();\n setEditRoute(location.state.route || null);\n };\n\n const checkUnselectVisibility = () => {\n return editMode ? (draftRoute.route ? (draftRoute.route.displayRouteStatus !== \"PLANNED\" ? false : true) : true) : true;\n };\n\n const getStepperTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n {(provided) => (\n \n {`${index + 1}`.padStart(2, \"0\")}\n \n )}\n \n \n ));\n };\n\n const getListViewTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n \n \n {`${index + 1}`.padStart(2, \"0\")}\n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n {consignmentItem.code}\n \n \n \n \n \n \n \n \n {`${consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.totalCratesCount}`.padStart(2, \"0\")}\n \n \n \n \n \n \n {consignmentItem.data && consignmentItem.data.metadata && consignmentItem.data.metadata.paymentType}\n \n \n \n \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.customerContactInfo\n ? consignmentItem.data.deliveryInformation.customerContactInfo.phone\n : \"\"}\n \n \n \n \n \n \n {consignmentItem.slotValue}\n \n \n \n \n \n \n {getAddressInfo(consignmentItem.data && consignmentItem.data.deliveryInformation ? consignmentItem.data.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n \n ));\n };\n\n const getListViewSubRoute = (data: any) => {\n return data.map((consignmentItem: any, index: number) => (\n \n \n \n \n {`${index + 1}`.padStart(2, \"0\")}\n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem)} item>\n {consignmentItem?.consignmentCode}\n \n \n \n \n \n \n \n {consignmentItem?.deliveryInformation?.totalCratesCount}\n \n \n \n \n \n {consignmentItem?.metadata?.paymentType}\n \n \n \n \n \n {consignmentItem?.deliveryInformation?.customerContactInfo?.phone}\n \n \n \n \n \n {consignmentItem?.slotValue}\n \n \n \n \n \n {consignmentItem?.deliveryInformation?.customerContactInfo?.address}\n \n \n \n \n \n \n \n ));\n };\n\n const getListViewSubRouteTimelineItems = () => {\n return (\n subRoutes.length > 0 &&\n subRoutes.map((consignmentItem: any) => (\n \n \n \n \n \n \n \n \n \n {consignmentItem.routeId}\n \n \n {consignmentItem?.orders?.length > 0 && getListViewSubRoute(consignmentItem.orders)}\n \n ))\n );\n };\n\n const getCustomSubRouteTimelineItems = () => {\n return routeConsignments?.length > 0 ? (\n \n {routeConsignments.map((consignmentItem: any, index: number) => (\n \n \n \n \n {`${index + 1}`.padStart(2, \"0\")}\n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem)} item>\n {consignmentItem?.consignmentCode}\n \n \n \n \n \n \n \n {consignmentItem?.deliveryInformation?.totalCratesCount}\n \n \n \n \n \n {consignmentItem?.metadata?.paymentType}\n \n \n \n \n \n {consignmentItem?.deliveryInformation?.customerContactInfo?.phone}\n \n \n \n \n \n {consignmentItem?.slotValue}\n \n \n \n \n \n \n {consignmentItem?.deliveryInformation?.customerContactInfo?.address ? getAddressInfo(consignmentItem?.deliveryInformation?.customerContactInfo?.address) : \"\"}\n \n \n \n \n \n \n \n \n ))}\n \n ) : (\n <>\n );\n };\n\n const handleChange = (code: any) => {\n setSelectedCode(code);\n setAddressVerified(true);\n setOpenAddressPopup(true);\n };\n\n const handleAddressDialogClose = () => {\n setOpenAddressPopup(false);\n };\n\n const getAddressDialogTitleContent = () => {\n return ;\n };\n\n const getAddressDialogDetailsContent = () => {\n return (\n \n \n Do you want to mark this address unverified?\n \n \n );\n };\n\n const handleMarkAddressVerified = (consignment: any, address: boolean) => {\n const input = { consignmentCode: consignment };\n const payload = createPayloadToMarkAddressUnverified(input, address);\n dispatch(getAddressStatus({ params: payload }));\n setOpenAddressPopup(false);\n };\n\n const updateAddressDialogActionHandler = (type: string, order?: string, address?: any) => {\n if (type === \"yes\") {\n setAddressVerified(true);\n handleMarkAddressVerified(order, true);\n } else {\n setOpenAddressPopup(false);\n setAddressVerified(false);\n }\n };\n\n const getAddressDialogActions = () => {\n return (\n \n {\n updateAddressDialogActionHandler(\"no\");\n }}\n >\n {AppConstants.BUTTONS.NO}\n \n {\n updateAddressDialogActionHandler(\"yes\", selectedCode, addressVerified);\n }}\n >\n {AppConstants.BUTTONS.YES}\n \n \n );\n };\n\n const handleRouteAccordianToggle = (event: React.ChangeEvent, routeName: string) => {\n event.stopPropagation();\n setSelectedRoute({});\n if (routeName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRouteAccordianClickedUtils(allRouteState, routeName, vehiclesList);\n const routeSelected = newAllRouteState.selectedRoute;\n if (isNonEmptyObject(routeSelected)) {\n const obj = { code: routeSelected.id, value: routeSelected.routeId, data: routeSelected };\n handleRouteSelection(obj);\n }\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRoutAreaAccordianToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, subRouteAreaName?: string) => {\n event.stopPropagation();\n setSelectedRoute({});\n if (routeName && routeDataName && subRouteAreaName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRoutAreaSubareaAccordianToggleUtils(allRouteState, routeName, routeDataName, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRoutAreaAccordianToggleUtils(allRouteState, routeName, routeDataName, vehiclesList);\n const subRouteSelected = newAllRouteState.selectedSubRoute;\n if (isNonEmptyObject(subRouteSelected)) {\n const obj = { code: subRouteSelected.id, value: subRouteSelected.routeId, data: subRouteSelected };\n handleRouteSelection(obj);\n } else {\n const route = newAllRouteState.selectedRoute;\n if (isNonEmptyObject(route)) {\n const obj = { code: route.id, value: route.routeId, data: route };\n handleRouteSelection(obj);\n }\n }\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRouteSlotAccordianToggle = (event: React.ChangeEvent, routeName: string, routeDataName: string, slotName: string, subRouteAreaName?: string) => {\n event.stopPropagation();\n if (routeName && routeDataName && slotName && subRouteAreaName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleSubRouteSlotAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName && slotName) {\n setAllRouteState({ ...allRouteState, loading: true });\n let newAllRouteState = handleRouteSlotAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const handleRouteOrderAccordianToggle = (\n event: React.ChangeEvent,\n routeName: string,\n routeDataName: string,\n slotName: string,\n orderObjIndex: number,\n subRouteAreaName?: string\n ) => {\n event.stopPropagation();\n if (routeName && routeDataName && subRouteAreaName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleSubrouteOrderAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex, subRouteAreaName);\n setAllRouteState(newAllRouteState);\n } else if (routeName && routeDataName && slotName && !isUndefined(orderObjIndex) && Number(orderObjIndex) >= 0) {\n let newAllRouteState = handleOrderAccordianToggleUtils(allRouteState, routeName, routeDataName, slotName, orderObjIndex);\n setAllRouteState(newAllRouteState);\n }\n };\n\n const plannedConsignmentPresent = () => {\n if (\n countObjectProperties(plannedRoutesNew) > 0 &&\n allRouteState &&\n allRouteState.plannedConsignmentsData &&\n isObject(allRouteState.plannedConsignmentsData) &&\n isNonEmptyObject(allRouteState.plannedConsignmentsData)\n ) {\n return true;\n }\n return false;\n };\n\n const getPllanedAreawiseConsignments = () => {\n return plannedConsignmentPresent() ? (\n <>\n {Object.keys(allRouteState.plannedConsignmentsData).map((routeName: any) => (\n \n ))}\n \n ) : (\n No Items to display\n );\n };\n\n /**\n *\n * Dock Address\n *\n */\n\n const isRouteTypeMatches = (routeType: string) => {\n let currectRouteType: string = \"\";\n if (draftRoute?.route?.routeType) {\n currectRouteType = draftRoute?.route?.routeType;\n } else if (location?.state?.parentRoute) {\n currectRouteType = location.state.parentRoute;\n }\n return currectRouteType === routeType;\n };\n\n const getDockAddressObject = () => {\n let dockAddressObject = {};\n if (draftRoute?.route?.dockAddress?.dockId) {\n dockAddressObject = draftRoute?.route?.dockAddress;\n } else if (location?.state?.route?.dockAddress?.dockId) {\n dockAddressObject = location.state.route.dockAddress;\n }\n return dockAddressObject;\n };\n\n const generateDocaddress = () => {\n let docAddress = \"\";\n let dockAddressObject: any = getDockAddressObject();\n\n if (dockAddressObject && isNonEmptyObject(dockAddressObject)) {\n if (dockAddressObject?.dockId) {\n docAddress = ` ${dockAddressObject.dockId} -`;\n }\n if (dockAddressObject?.dockName) {\n docAddress = docAddress + ` ${dockAddressObject.dockName} -`;\n }\n if (dockAddressObject?.streetName) {\n docAddress = docAddress + ` ${dockAddressObject.streetName}`;\n }\n if (dockAddressObject?.building) {\n docAddress = docAddress + ` ${dockAddressObject.building}`;\n }\n }\n return docAddress;\n };\n\n const showDockAddressTimeLine = () => {\n return (\n \n \n \n \n {``}\n \n \n \n \n \n \n \n \n \n {`Transfer Point`}\n \n \n \n \n \n \n \n {`${generateDocaddress() || \"\"}`}\n \n \n \n \n \n \n \n );\n };\n\n /**\n *\n * Use Effect\n *\n */\n\n useEffect(() => {\n if (countObjectProperties(plannedRoutesNew) > 0) {\n plannedRoutesNew && designAllRoutesStateObject();\n }\n }, [plannedRoutesNew]);\n\n useEffect(() => {\n if (createRouteState.refreshInterval > 0) {\n setCreateRouteState({ ...createRouteState, countDownInterval: createRouteState.refreshInterval });\n const timeInterval = setInterval(refereshScreen, createRouteState.refreshInterval);\n return () => clearInterval(timeInterval);\n } else {\n setCreateRouteState({ ...createRouteState, countDownInterval: 0 });\n }\n }, [createRouteState.refreshInterval]);\n\n useEffect(() => {\n if (createRouteState.countDownInterval > 0) {\n const screenTimerInterval = setInterval(refereshTimer, 1000);\n return () => clearInterval(screenTimerInterval);\n }\n }, [createRouteState.countDownInterval]);\n\n useEffect(() => {\n setConsignmentData(order);\n }, [order]);\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(clearUpdatedRoute());\n } else {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n isExpress: isExpressFlow,\n redirect: {\n route: `${AppConstants.ROUTES.VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute,\n parentRoute: editRoute?.routeType,\n },\n },\n });\n }\n }\n }, [editRoute, isExpressFlow]);\n\n useEffect(() => {\n if (mapMarkers.length) {\n setUpdateMap(true);\n } else {\n setUpdateMap(false);\n }\n }, [mapMarkers]);\n\n useEffect(() => {\n if (optimizeMapRoute && mapRouteDirections) {\n const wayPointsOrder = mapRouteDirections.waypoint_order;\n const selectedWaypoints = getSeqSortedSelectedConsignments();\n if (wayPointsOrder && wayPointsOrder.length && selectedWaypoints.length) {\n let newSequence = _.cloneDeep(consignmentsSequence);\n selectedWaypoints.forEach((wp: any, index: number) => {\n newSequence[wp.code].seq = wayPointsOrder[index] + 1;\n });\n setConsignmentsSequence(newSequence);\n }\n }\n }, [mapRouteDirections]);\n\n useEffect(() => {\n if (autoRefreshMap) {\n handleRefreshMap();\n }\n }, [autoRefreshMap]);\n\n useEffect(() => {\n if (autoRefreshMapRef.current) {\n setAutoRefreshMap(true);\n }\n }, [selectedConsignments]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n shouldBlockNavigationRef.current = false;\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n setShouldBlockNavigation(false);\n }\n }\n }, [error, errorCode]);\n\n useEffect(() => {\n if (allConsignments.length) {\n let newChecked: any = {};\n let newSelected: any = {};\n let extraConsignments: any = [];\n let checkedConsForSeq: string[] = [];\n let expandedConsignments = [...consignmentExpanded];\n allConsignments.forEach((item: any) => {\n if (newChecked[item.area]) {\n if (!newChecked[item.area][item.slot]) {\n newChecked[item.area][item.slot] = [];\n }\n } else {\n newChecked[item.area] = { [item.slot]: [] };\n }\n if (newSelected[item.area]) {\n if (!newSelected[item.area][item.slot]) {\n newSelected[item.area][item.slot] = [];\n }\n } else {\n newSelected[item.area] = { [item.slot]: [] };\n }\n if (item.status === \"PLANNED\") {\n newChecked[item.area][item.slot].push(item.code);\n checkedConsForSeq.push(item.code);\n newSelected[item.area][item.slot].push(item);\n if (!(editMode || viewMode)) {\n extraConsignments.push(item.code);\n }\n expandedConsignments.push(item.area);\n expandedConsignments.push(`${item.area}-${item.slot}`);\n }\n });\n const seqParams: any = addSequence(checkedConsForSeq, \"PLANNED\", { allSequencedCons: _.cloneDeep(consignmentsSequence), lastSeqNo: lastSequenceNumber });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments(newChecked);\n setSelectedConsignments(newSelected);\n setUnplannedConsignmentsData({ ...unplannedConsignmentsData, selectedConsignments: newSelected });\n setExpandedConsignments(expandedConsignments);\n if (editMode && draftRoute.route) {\n if (draftRoute.route.assignee) {\n setDriverValue(draftRoute.route.assignee.id);\n } else {\n setDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.helper) {\n setHelperValue(draftRoute.route.helper.id);\n } else {\n setHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.assignedVehicle) {\n setVehicleValue(draftRoute.route.assignedVehicle.id);\n } else {\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n }\n sessionStorage.setItem(\"extraConsignments\", JSON.stringify(extraConsignments));\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n } else {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n setCheckedConsignments({});\n setSelectedConsignments({});\n setExpandedConsignments([], true);\n }\n }, [allConsignments]);\n\n useEffect(() => {\n if (editMode) {\n if (checkEditRouteExtraConsignments()) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n } else {\n if (getAllSelectedConsignments().length) {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n } else {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n }\n }, [checkedConsignments]);\n\n useEffect(() => {\n let newConsignments = _.cloneDeep(slotwiseConsignments);\n Object.keys(newConsignments).forEach((areaKey: string) => {\n Object.keys(newConsignments[areaKey]).forEach((slotKey: string) => {\n if (newConsignments[areaKey]) {\n newConsignments[areaKey][slotKey] = [AppConstants.SELECT_ALL, ...newConsignments[areaKey][slotKey]];\n }\n });\n });\n setSelectableConsignments(newConsignments);\n }, [slotwiseConsignments]);\n\n useEffect(() => {\n if (currentSlot) {\n let currentSlotValue: any = slotValue;\n if (editMode) {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n }\n handleCreateDraftRoute({ slots: currentSlotValue, statusValue: statusValue });\n } else {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n handleCreateDraftRoute({ slots: currentSlotValue, statusValue: statusValue });\n } else {\n currentSlotValue = [AppConstants.SELECT_NONE.value];\n handleOrderStatusOnUnload(\"UNPLANNED\", true);\n }\n }\n setSlotValue(currentSlotValue);\n }\n }, [currentSlot]);\n\n useEffect(() => {\n if (draftRoute.route) {\n updateConsignments();\n } else {\n updateAllConsignments({ areaWiseConsignments: [], slotwiseConsignments: {}, allConsignments: [], loading: loading });\n }\n }, [draftRoute]);\n\n useEffect(() => {\n if (routeCreateSuccess) {\n openSnackbarPopup(`${draftRoute.route && draftRoute.route.routeId} ${AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CREATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n }, [routeCreateSuccess]);\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n if (!isPlannedRoute) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n }\n if (isPlannedRoute) {\n handleRefreshPlannedRoutes();\n }\n }\n if (routeDiscardSuccess) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n if (!updatedRoute && !routeDiscardSuccess) {\n if (editRoute) {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute,\n isExpress: isExpressFlow,\n redirect: {\n route: `${AppConstants.ROUTES.VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute,\n parentRoute: editRoute?.routeType,\n },\n },\n });\n }\n }\n }, [updatedRoute, routeDiscardSuccess, isExpressFlow]);\n\n useEffect(() => {\n if (routeConsignments) {\n const transformedConsignments: any = transformRouteConsignments(routeConsignments);\n const seqParams: any = addSequence(transformedConsignments.seqConsignments, \"PLANNED\", { allSequencedCons: {}, lastSeqNo: 0 });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setSelectedConsignments(transformedConsignments.routeConsignments);\n }\n }, [routeConsignments]);\n\n useEffect(() => {\n if (shouldBlockNavigation) {\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n } else {\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n if (routeCreateSuccess) {\n initializeRoute({ date: currentDate, slotValue: slotValue, statusValue: statusValue, zoneValue: zoneValue });\n }\n if ((updatedRoute && !isPlannedRoute) || (routeDiscardSuccess && !noRedirect)) {\n let route: any = AppConstants.ROUTES.PLANNING;\n let state: any = {\n tabValue: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES,\n };\n if (location.state && location.state.redirect) {\n route = location.state.redirect.route;\n state = updatedRoute ? { ...location.state.redirect.state, route: updatedRoute.route } : location.state.redirect.state;\n onLoadRef.current = true;\n filterChangeRef.current = false;\n setEditRoute(null);\n }\n handleClearCurrentSlot();\n history.push(route, state);\n }\n if (errorCode && errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n initializeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: statusValue,\n zoneValue: zoneValue,\n });\n }\n }\n return () => {\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [shouldBlockNavigation, routeDiscardSuccess, updatedRoute, noRedirect]);\n\n useEffect(() => {\n if (consignmentDataAfterAddressUpdate) {\n const deliveryInformationAfterAddressUpdate = consignmentDataAfterAddressUpdate.deliveryInformation;\n const custInfoAfterAddressUpdate = deliveryInformationAfterAddressUpdate && deliveryInformationAfterAddressUpdate.customerContactInfo;\n const addressStatusAfterUpdate = custInfoAfterAddressUpdate?.address?.status;\n if (addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED) {\n setAddressAfterUnverrified({ ...addressAfterUnverrified, [selectedCode]: ADDRESS_STATUS.UNVERIFIED });\n }\n }\n }, [consignmentDataAfterAddressUpdate]);\n\n useEffect(() => {\n if (isAddressUpdated) {\n openSnackbarPopup(AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.ADDRESS_MARKED_UNVERIFIED, AppConstants.SNACKBAR.TYPES.SUCCESS);\n }\n }, [isAddressUpdated]);\n\n useEffect(() => {\n if (onLoadRef.current) {\n initialSteps();\n }\n }, [viewMode, editMode]);\n\n useEffect(() => {\n initialSteps();\n return () => {\n dispatch(resetRouteConsignmentsState());\n dispatch(resetSubrouteState());\n dispatch(updateAllConsignmentsState({ consignments: { areaWiseConsignments: [], slotwiseConsignments: {}, allConsignments: [], loading: false } }));\n sessionStorage.setItem(\"extraConsignments\", \"[]\");\n if (editMode && sessionStorage.getItem(\"routeId\")) {\n shouldBlockNavigationRef.current && handleDiscardRoute();\n } else {\n if (!viewMode) {\n handleOrderStatusOnUnload(\"UNPLANNED\", true);\n }\n }\n };\n }, []);\n\n return (\n
\n {loading && }\n CreateRouteConstant.ON_EXIT_SCREEN_MESSAGE} />\n \n \n \n \n \n {editMode ? `Edit ${draftRoute?.route ? draftRoute?.route?.routeId || \"Route\" : \"\"}` : viewMode ? location?.state?.route?.routeId : \"Create Route\"}\n \n {viewMode && (\n \n \n {location.state ? location.state.route.status : \"\"}\n {location.state.parentRoute === ROUTE_TYPE.PARENT_ROUTE && {ALL_ROUTES_TEXT_CONTANT.PARENT_ROUTE}}\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && location.state.route.displayRouteStatus !== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP && (\n \n )}\n \n \n )}\n \n \n {viewMode && location.state.route.displayRouteStatus === AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP && (\n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n {viewMode ? \"Consignments\" : tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? `Consignments(${allConsignments.length})` : \"Routes\"}\n \n {!viewMode && tabValue !== AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? (\n \n ) : null}\n \n \n {!viewMode && (\n \n {tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED && (\n \n \n \n \n \n }\n >\n )}\n \n )}\n \n \n {!viewMode && (\n \n \n \n Status\n \n \n \n Slot\n \n \n \n Zone\n \n \n {!editMode && (\n \n Date\n \n \n )}\n \n \n )}\n \n \n \n {viewMode ? (\n <>\n {getViewModeConsignments()}\n \n ) : (\n /** When Edit Route is clicked */\n \n \n \n \n \n \n \n \n {areawiseConsignments?.length > 0 ? getAreawiseConsignments() : {getViewModeConsignments()}}\n \n \n \n \n {getPllanedAreawiseConsignments()}\n \n \n \n \n \n \n Hub:\n {location.state.hubName || \"\"}\n \n \n \n {tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED && areawiseConsignments?.length > 0 && (\n \n \n \n All\n \n \n \n \n \n \n )}\n \n )}\n \n \n \n \n \n {viewMode ? (\n \n \n {location?.state?.route && (\n \n {location.state.route && location.state.route.routeId}\n {/* {createRouteState?.refreshInterval > 0 && (\n {`Driver location refresh in ${createRouteState.minutes || \"\"} Min : ${createRouteState.seconds || \"\"} Sec`}\n )} */}\n \n )}\n {location?.state?.route ? (\n \n \n \n \n \n \n \n Driver\n \n \n {location.state.route && location.state.route.assignee ? location.state.route.assignee.name : \"Not Assigned\"}\n \n \n \n \n \n \n Helper\n \n \n {location.state.route && location.state.route.helper ? location.state.route.helper.name : \"Not Assigned\"}\n \n \n \n \n \n \n Vehicle\n \n \n {location.state.route && location.state.route.assignedVehicle ? location.state.route.assignedVehicle.name : \"Not Assigned\"}\n \n \n \n \n \n \n Hub\n \n \n {location.state.route && location.state.route.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n \n \n \n Consignments\n \n \n {location.state.route && `${location.state.route.totalConsignment}`.padStart(2, \"0\")}\n \n \n \n \n \n \n Crates\n \n \n {location.state.route && `${location.state.route.totalCrates}`.padStart(2, \"0\")}\n \n \n \n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n {`${ALL_ROUTES_TEXT_CONTANT.ACTUAL_DISTANCE}`}\n \n \n {location?.state?.route?.actualTransitDistance?.formattedDistance || \"\"}\n \n \n \n \n \n \n \n ) : (\n \n Route Details will appear here\n \n )}\n \n \n ) : tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? (\n \n \n \n \n \n {draftRoute.route && draftRoute.route.routeId}\n \n {getAllSelectedConsignments().length || draftRoute?.route ? (\n \n \n \n \n \n ) : null}\n \n \n {getAllSelectedConsignments().length || draftRoute?.route?.id ? (\n \n \n \n \n \n \n \n Delivery Area\n \n \n {getAllSelectedConsignments().length ? (\n \n {getSelectedAreas()}\n \n ) : (\n \n {getDraftSelectedAreas()}\n \n )}\n \n \n \n \n \n \n Consignments\n \n \n \n {getAllSelectedConsignments().length ? (\n {`${getAllSelectedConsignments().length}`.padStart(2, \"0\")}\n ) : (\n {`${draftRoute?.route?.consignmentsIds?.length}`.padStart(2, \"0\")}\n )}\n {calculateCapacityBreach(\"consignments\") && (\n \n \n \n )}\n \n \n \n \n \n \n \n Crates\n \n \n \n {getAllSelectedConsignments().length ? (\n {`${getTotalCrates(getAllSelectedConsignments())}`.padStart(2, \"0\")}\n ) : (\n {`${draftRoute?.route?.totalCrates}`.padStart(2, \"0\")}\n )}\n {calculateCapacityBreach(\"crates\") && (\n \n \n \n )}\n \n \n \n \n \n \n \n Delivery Slot\n \n \n {getAllSelectedConsignments().length ? (\n \n {getSelectedDeliverySlots()}\n \n ) : (\n \n {getDraftSelectedDeliverySlots()}\n \n )}\n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n {`${ALL_ROUTES_TEXT_CONTANT.ACTUAL_DISTANCE}`}\n \n \n {`${draftRoute?.route?.actualTransitDistance?.formattedDistance || \"\"}`}\n \n \n \n \n \n \n \n ) : (\n \n Selected Consignments will appear here\n \n )}\n {getAllSelectedConsignments().length > 0 && draftRoute?.route?.routeType !== ROUTE_TYPE.PARENT_ROUTE && draftRoute?.route?.routeType !== ROUTE_TYPE.SUB_ROUTE && (\n <>\n \n \n \n \n \n \n You can also drag and reorder the consigments to change their sequence.\n \n \n \n \n \n \n \n {(provided) => (\n \n \n \n \n \n )}\n \n \n ) : (\n \n \n {selectedRoute?.code && selectedRoute?.value && (\n \n {selectedRoute && selectedRoute.value}\n \n )}\n {selectedRoute.code ? (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Hub\n \n \n {selectedRoute.data && selectedRoute.data.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n \n \n \n Consignments\n \n \n {selectedRoute.data && `${selectedRoute.data.totalConsignment}`.padStart(2, \"0\")}\n \n \n \n \n \n \n Crates\n \n \n {selectedRoute.data && `${selectedRoute.data.totalCrates}`.padStart(2, \"0\")}\n \n \n \n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n {`${ALL_ROUTES_TEXT_CONTANT.ACTUAL_DISTANCE}`}\n \n \n {selectedRoute?.data?.actualTransitDistance?.formattedDistance || \"\"}\n \n \n \n \n \n \n \n ) : (\n \n Selected Route Details will appear here\n \n )}\n \n \n )}\n \n {tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && !selectedRoute.code ? null : isListView ? (\n \n \n \n \n \n \n \n \n \n \n {tabValue !== AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && (\n {viewMode ? location.state.route && location.state.route.hubName : draftRoute.route && draftRoute.route.hubName}\n )}\n {tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && {selectedRoute?.value}}\n \n \n {isNonEmptyObject(getDockAddressObject()) && showDockAddressTimeLine()}\n {editMode && subRoutes?.length > 0 ? (\n <>\n {routeConsignments?.length > 0 && getCustomSubRouteTimelineItems()}\n {getListViewSubRouteTimelineItems()}\n \n ) : getAllSelectedConsignments().length ? (\n <>\n {getListViewTimelineItems()}\n {getListViewSubRouteTimelineItems()}\n \n ) : subRoutes?.length > 0 ? (\n getListViewSubRouteTimelineItems()\n ) : (\n routeConsignments?.length > 0 && getCustomSubRouteTimelineItems()\n )}\n \n \n ) : (\n \n )}\n \n toggleListView(\"map\")} item>\n \n \n Map\n \n \n \n toggleListView(\"list\")} item>\n \n \n List\n \n \n \n \n {!viewMode ? (\n \n \n {!isListView && (\n <>\n \n \n \n )}\n {tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? (\n editMode ? (\n <>\n \n \n \n ) : (\n \n )\n ) : (\n \n )}\n \n \n ) : null}\n \n \n \n \n \n {openConsignmentDetailsPopup && (\n \n )}\n {openDiscardConfirmDialog && (\n \n )}\n {openDateChangeConfirmDialog && (\n \n )}\n {openUpdateConfirmDialog && (\n \n )}\n {openCapacityBreachConfirmDialog && (\n \n )}\n {openReleaseDialog && (\n \n )}\n {openAddressPopup && (\n \n )}\n {openSnackbar && (\n \n )}\n {openReleaseSnackbar && isReleaseAssignee && (\n \n )}\n
\n );\n};\n\nexport default CreateRoute;\n","import { createStyles, makeStyles, StepConnector, Theme, withStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const StepperTimelineConnector = withStyles({\n alternativeLabel: {\n top: 28,\n left: 'calc(-50% + 9px)',\n right: 'calc(50% + 9px)'\n },\n active: {\n '& $line': {\n borderColor: COLORS.SECONDARY_DARK,\n },\n },\n line: {\n borderColor: COLORS.SECONDARY_DARK,\n borderTopWidth: 4,\n borderRadius: 100,\n },\n})(StepConnector);\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n '& .padding-2': {\n padding: theme.spacing(2)\n }\n },\n statusHeaderContainer: {\n alignItems: \"center\",\n paddingLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"10px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 8,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n }\n },\n container: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"100%\",\n '& .createRtItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(3),\n '& .headingContainer': {\n alignItems: \"center\"\n },\n '& .editIcon': {\n width: 22,\n height: 22,\n marginLeft: theme.spacing(1),\n cursor: \"pointer\"\n },\n '& .headingTitle': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n '&.content': {\n height: \"calc(100vh - 176px)\"\n }\n }\n },\n createRtContentContainer: {\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n boxShadow: `0px 1px 4px ${COLORS.LIGHT_BLACK_SHADOW}`,\n borderRadius: theme.spacing(1),\n height: \"100%\",\n '&.left': {\n width: 500,\n minWidth: 500,\n marginRight: theme.spacing(3),\n '& .consignmentsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentItem': {\n '& .headerSectionContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(2, 2, 1, 2),\n '&.viewMode': {\n borderBottom: `1px solid ${theme.palette.secondary.dark}`\n },\n '& .searchTextBox': {\n '& .MuiOutlinedInput-root': {\n width: 210,\n }\n },\n '& .MuiOutlinedInput-root': {\n width: 145,\n minWidth: 145,\n height: 24,\n borderRadius: theme.spacing(.5)\n },\n '& .MuiOutlinedInput-input': {\n fontSize: 10,\n padding: 0,\n paddingLeft: theme.spacing(.5)\n },\n '& .MuiSelect-iconOutlined': {\n right: 0\n },\n '& .MuiSelect-root': {\n '& .MuiChip-root': {\n fontSize: 10,\n height: 15\n }\n },\n '& .headerContainer': {\n alignItems: \"center\",\n paddingBottom: theme.spacing(1.5),\n '& .headerItem': {\n '&.heading': {\n flexGrow: 1,\n '& .refreshIcon': {\n width: 16,\n height: 16,\n cursor: \"pointer\",\n marginLeft: theme.spacing(0.5)\n },\n '& p': {\n fontSize: 16,\n fontWeight: 600\n }\n },\n '&.icons': {\n display: \"flex\",\n alignItems: \"center\",\n '& .MuiOutlinedInput-adornedEnd': {\n paddingRight: 0,\n '& .MuiSvgIcon-root': {\n padding: theme.spacing(.25)\n }\n },\n '& .MuiInputAdornment-positionEnd': {\n marginLeft: 0\n },\n '& .MuiIconButton-sizeSmall': {\n padding: 0,\n '&.MuiIconButton-edgeEnd': {\n marginRight: 0\n }\n },\n '& .MuiSvgIcon-root': {\n width: 19,\n height: 19\n },\n '& .icon': {\n padding: theme.spacing(0.5)\n }\n }\n }\n },\n '& .filtersContainer': {\n '& .filterItem': {\n paddingRight: theme.spacing(1),\n '&:last-child': {\n paddingRight: 0\n },\n '&.slot': {\n flexGrow: 1\n }\n }\n }\n },\n '&.content': {\n height: \"calc(100% - 80px)\",\n '& .contentContainer': {\n position: \"relative\",\n height: \"100%\"\n },\n '& .hubLabel': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(8.5),\n '&.isRoute': {\n right: theme.spacing(2)\n },\n '& .hubLabelContainer': {\n alignItems: \"center\",\n height: 21,\n '& .hubLabelText': {\n fontSize: 12,\n fontWeight: 600,\n maxWidth: 200,\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n '& .label': {\n fontWeight: 500,\n paddingRight: theme.spacing(0.5)\n }\n }\n }\n },\n '& .toggleAll': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(2.25),\n cursor: \"pointer\",\n userSelect: \"none\",\n '& .toggleAllContainer': {\n alignItems: \"center\",\n '& .toggleItem': {\n paddingLeft: theme.spacing(0.5),\n '&.iconItem': {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.expanded': {\n transform: \"rotate(180deg)\"\n }\n },\n '& .toggleText': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .toggleIcon': {\n width: 21,\n height: 21,\n verticalAlign: \"bottom\"\n }\n }\n }\n },\n '& .slotContentContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.viewMode': {\n overflow: \"auto\",\n paddingBottom: theme.spacing(2),\n '& .slotItemContainer': {\n paddingLeft: theme.spacing(2)\n }\n },\n '& .slotItemContainer': {\n height: 80,\n alignItems: \"flex-start\",\n padding: theme.spacing(1, 2, 1, 6),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n flexWrap: \"nowrap\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n '&.drafted': {\n color: COLORS.GRAY_DARK,\n paddingLeft: theme.spacing(3.5)\n },\n '&.terminal': {\n color: COLORS.GRAY_DARK,\n borderColor: COLORS.GRAY_DARK\n },\n '& .slotContentItem': {\n '&.checkbox': {\n '& .checkboxContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .lockIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n paddingRight: theme.spacing(1.5)\n },\n '&.consignmentDetails': {\n flexGrow: 1,\n height: \"100%\",\n '& .consignmentDetailsContainer': {\n justifyContent: \"space-between\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailsItem': {\n '& .consignmentHeader': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentHeaderItem': {\n '&.details': {\n flexGrow: 1,\n paddingTop: theme.spacing(0.5)\n },\n '& .headerDetailsContainer': {\n flexWrap: \"nowrap\",\n '& .itemContainer': {\n flexWrap: \"nowrap\"\n }\n }\n }\n },\n '& .headingContainer': {\n alignItems: \"center\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .heading': {\n fontSize: 12,\n fontWeight: 600,\n cursor: \"pointer\"\n },\n },\n '& .seqNoContainer': {\n backgroundColor: COLORS.ALERT_ORANGE,\n borderRadius: 2,\n '& .seqNo': {\n fontSize: 10,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n lineHeight: '16px',\n padding: theme.spacing(0, 1)\n }\n },\n '& .count': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n padding: theme.spacing(0, 0.75)\n },\n '& .icon': {\n width: 16,\n height: 16\n },\n '&.desc': {\n paddingTop: theme.spacing(1)\n },\n '& .descContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .location': {\n width: 356\n },\n '& .itemContainer': {\n alignItems: \"center\",\n paddingRight: theme.spacing(2.5),\n flexWrap: \"nowrap\",\n '& .locDesc': {\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n }\n },\n }\n }\n }\n },\n '& .MuiTabs-root': {\n padding: theme.spacing(0, 2),\n minHeight: 42,\n borderBottom: `1px solid ${theme.palette.secondary.main}`\n },\n '& .tabPanel': {\n padding: 0,\n height: 'calc(100% - 42px)',\n overflow: \"auto\",\n '& .tabPanelContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .delSlotContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n },\n '& .highlightText': {\n backgroundColor: COLORS.SUCCESS_GREEN\n },\n '& .accordionRoot': {\n boxShadow: \"none\",\n margin: 0,\n '&::before': {\n opacity: 0\n }\n },\n '& .accordianSummary': {\n border: \"none\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '&.delArea': {\n minHeight: 46,\n height: 46,\n '& .areaHeaderContainer': {\n alignItems: \"center\",\n '& .areaHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT\n }\n }\n }\n }\n },\n '&.delSlot': {\n minHeight: 32,\n height: 32,\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n '& .slotHeaderContainer': {\n alignItems: \"center\",\n '& .slotHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 12,\n fontWeight: 500,\n paddingLeft: theme.spacing(1.5)\n }\n }\n }\n }\n }\n },\n '& .accordianDetails': {\n padding: 0,\n '&.routes': {\n '& .slotItemContainer': {\n height: 56\n }\n }\n },\n '&.planned': {\n paddingTop: theme.spacing(1.5),\n '& .heading': {\n paddingLeft: '0px !important'\n },\n '& .accordianDetails': {\n '& .slotItemContainer': {\n padding: '10px 8px 10px 16px !important',\n cursor: 'pointer'\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.right': {\n flexGrow: 1\n },\n '& .detailsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailItem': {\n '&.routeDetails': {\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n padding: theme.spacing(2),\n '&.viewMode': {\n '& .routeDetailsContainer .routeDetailsItem.basicDesc': {\n paddingBottom: 0\n }\n },\n '& .routeDetailsContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .routeDetailsItem': {\n '&.header': {\n '& .routeIdHeaderContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .ddnsItem': {\n '& .MuiFormControl-root': {\n paddingRight: theme.spacing(1.5),\n '&:last-child': {\n paddingRight: 0\n }\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n }\n }\n },\n paddingBottom: theme.spacing(2)\n },\n '& .heading': {\n fontSize: 16,\n fontWeight: 600,\n color: COLORS.BLACK\n },\n '&.basicDesc': {\n paddingBottom: theme.spacing(3.75)\n },\n '&.noSelectedArea': {\n padding: theme.spacing(3),\n backgroundColor: COLORS.WHITE,\n border: `1px dashed ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n '& p': {\n textAlign: \"center\",\n fontSize: 14,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '&.timeline': {\n alignSelf: \"flex-start\",\n height: 55\n },\n '&.timelineWarning': {\n paddingTop: theme.spacing(1.5),\n '& .warningContainer': {\n alignItems: \"center\",\n '& .warningItem': {\n paddingRight: theme.spacing(1),\n '& p': {\n fontSize: 11,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '& .warningIcon': {\n width: 20,\n height: 20,\n verticalAlign: \"middle\",\n\n }\n },\n\n },\n '& .basicDescContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .basicItem': {\n paddingBottom: theme.spacing(2),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.driver': {\n paddingRight: theme.spacing(2)\n },\n '&.descriptions': {\n flexGrow: 1\n },\n '& .descCommonContainer': {\n '& .commonItem': {\n flex: \"1 0 0\",\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n },\n '&:last-child': {\n flex: \"0.5 0 0\"\n },\n '& .descContainer': {\n flexDirection: \"column\",\n '& .capacityBreachContainer': {\n alignItems: \"center\",\n '& .infoErrorIcon': {\n width: 16,\n height: 16,\n marginLeft: theme.spacing(1)\n }\n },\n '& p': {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"18px\"\n },\n '& .value': {\n alignSelf: \"flex-start\",\n '& p': {\n fontWeight: 600\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.mapZone': {\n flexGrow: 1,\n backgroundColor: theme.palette.secondary.dark,\n position: \"relative\",\n overflow: \"auto\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '& .listViewTimelineContent': {\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(2, 3),\n height: \"100%\",\n overflow: \"auto\"\n },\n '& .mapSwitchBtnContainer': {\n position: \"absolute\",\n alignItems: \"center\",\n width: 110,\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n backgroundColor: COLORS.WHITE,\n top: theme.spacing(1),\n right: theme.spacing(6.5),\n flexWrap: \"nowrap\",\n '& .switchBtnItem': {\n cursor: \"pointer\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n '&.mapView': {\n borderTopLeftRadius: theme.spacing(1),\n borderBottomLeftRadius: theme.spacing(1),\n '& path': {\n stroke: theme.palette.primary.main\n }\n },\n '&.listView': {\n borderTopRightRadius: theme.spacing(1),\n borderBottomRightRadius: theme.spacing(1),\n '& path': {\n fill: theme.palette.primary.main\n }\n },\n '& .title': {\n color: theme.palette.primary.main,\n fontWeight: 600\n }\n },\n '& .switchBtnItemContainer': {\n flexDirection: \"column\",\n alignItems: \"center\",\n '& .title': {\n fontSize: 12,\n fontWeight: 500,\n paddingBottom: theme.spacing(0.5)\n }\n },\n '& .switchBtnIcon': {\n width: 54,\n height: 40,\n verticalAlign: \"middle\",\n padding: theme.spacing(0, 2),\n backgroundColor: \"transparent\"\n },\n }\n\n }\n },\n '&.buttons': {\n '& .buttonsContainer': {\n padding: theme.spacing(2),\n justifyContent: \"flex-end\",\n '& .btn': {\n marginRight: theme.spacing(1.5),\n '&:last-child': {\n marginRight: 0\n }\n },\n '& .refreshMapBtn': {\n marginRight: \"auto\"\n },\n '& .saveBtn': {\n padding: theme.spacing(1, 5.5)\n }\n }\n },\n '&.planned': {\n '& .routeDetailsItem': {\n '&.basicDesc': {\n paddingBottom: '0 !important'\n }\n }\n },\n }\n }\n }\n },\n timelineStepper: {\n padding: 0,\n alignItems: \"center\",\n backgroundColor: 'transparent',\n '& .timelineStep': {\n paddingLeft: 16,\n paddingRight: 16,\n '&.isDragging': {\n '& .MuiStepConnector-alternativeLabel': {\n display: \"none\"\n }\n },\n '&.first': {\n paddingLeft: 0\n }\n },\n '& .MuiStepLabel-root': {\n flexDirection: 'column-reverse',\n '& .MuiStepLabel-labelContainer': {\n '& .MuiStepLabel-alternativeLabel': {\n whiteSpace: \"nowrap\",\n width: 32,\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n }\n },\n '&.MuiStepLabel-alternativeLabel': {\n flexDirection: 'column-reverse'\n }\n },\n '& .MuiStepLabel-iconContainer': {\n paddingRight: 0\n },\n '& .MuiStepLabel-label.MuiStepLabel-alternativeLabel': {\n marginTop: 0\n },\n '& .MuiStepLabel-label': {\n fontSize: 10,\n color: '#252525',\n paddingBottom: 6,\n textAlign: \"center\"\n }\n },\n listViewTimeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 64,\n '&.first': {\n minHeight: 62,\n '& .MuiTimelineSeparator-root': {\n padding: 0\n }\n },\n '& .MuiTimelineSeparator-root': {\n paddingLeft: 3\n },\n '&:last-child': {\n minHeight: \"auto\",\n '& .primaryConnector': {\n display: \"none\"\n },\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '&.listItem': {\n paddingTop: 9\n },\n '& .timelineIcon': {\n padding: 0,\n },\n '& .countIcon': {\n width: 24,\n height: 24,\n borderRadius: \"50%\",\n backgroundColor: COLORS.MAROON,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n '& .count': {\n fontSize: 10,\n fontWeight: 600,\n lineHeight: \"12px\",\n color: COLORS.WHITE\n }\n },\n '& .areaIcon': {\n width: 32,\n height: 32\n }\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1.5),\n '& .contentContainer': {\n alignItems: \"center\",\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n flexWrap: \"nowrap\",\n marginBottom: theme.spacing(2),\n '& .listViewContentItem': {\n '&.itemHeading': {\n padding: theme.spacing(0, 2),\n cursor: \"pointer\"\n },\n '& .id': {\n fontSize: 12,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n whiteSpace: \"nowrap\"\n },\n '&.itemDetails': {\n flexGrow: 1,\n padding: theme.spacing(1, 1.5, 1)\n },\n '& .itemDetailsContainer': {\n flexWrap: \"nowrap\",\n alignItems: \"center\",\n '& .detailsItem': {\n paddingRight: theme.spacing(1.5)\n },\n '& .itemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\",\n whiteSpace: \"nowrap\",\n '&.address': {\n whiteSpace: \"normal\",\n }\n }\n }\n }\n }\n },\n '& .titleHeading': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.BLACK,\n paddingTop: theme.spacing(1)\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2,\n '&.alignLeft': {\n textAlign: \"left\",\n }\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n capacityBreachDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: theme.spacing(2.5)\n },\n capacityBreachDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(3.75),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmWithTitleDialogPaperPropsRoot: {\n width: 600,\n height: 240,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n confirmDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n selectMenuPropsList: {\n '& .MuiListItem-root': {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n whiteSpace: \"normal\",\n '& .MuiListItemText-primary': {\n fontSize: 10\n }\n },\n '& .MuiCheckbox-root': {\n backgroundSize: \"16px 16px\",\n marginRight: theme.spacing(0.75)\n }\n },\n selectMenuPaperProps: {\n maxHeight: 200,\n width: 145,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\"\n }\n })\n);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.99989 1.33643C10.0701 1.33643 11.7484 3.44602 11.7484 6.04824C11.8084 7.69419 11.0472 9.26251 9.71687 10.2336C9.76187 10.2721 9.8088 10.3083 9.85749 10.342C10.5661 10.6414 11.3142 10.837 12.0786 10.9229C12.5219 11.0117 12.9397 11.1986 13.3015 11.4698C13.7693 11.8085 14.1341 12.2701 14.3556 12.8034C14.5259 13.2144 14.6276 13.6506 14.6566 14.0945C14.6589 14.1253 14.6666 14.6698 14.6666 14.6698H1.34411C1.33134 14.4782 1.33142 14.286 1.34437 14.0945C1.37343 13.6506 1.47512 13.2144 1.6454 12.8034C1.86689 12.2701 2.23174 11.8085 2.69951 11.4698C3.06126 11.1986 3.4791 11.0117 3.92242 10.9229C4.68685 10.837 5.43491 10.6413 6.14352 10.342C6.19204 10.3084 6.2388 10.2724 6.28363 10.234C4.95293 9.26301 4.1914 7.69447 4.25143 6.04824C4.25143 3.44602 5.92969 1.33643 7.99989 1.33643ZM7.99895 2.15087C6.39166 2.15087 5.08405 3.89918 5.08405 6.04824C5.03151 7.41829 5.6512 8.72768 6.74399 9.55569C6.96122 9.69388 7.09908 9.92781 7.11471 10.1848C7.13035 10.4418 7.02187 10.6907 6.82299 10.8542C6.75604 10.9109 6.68623 10.9642 6.61384 11.0138C5.83393 11.3972 4.99056 11.6349 4.12523 11.7152L4.06184 11.7257C3.74533 11.7934 3.44779 11.9306 3.19069 12.1272C2.84594 12.3783 2.57742 12.72 2.41487 13.1143C2.3157 13.3519 2.24628 13.6007 2.20821 13.8553H13.7917C13.7531 13.6008 13.6835 13.352 13.5843 13.1145C13.4218 12.7201 13.1532 12.3784 12.8084 12.1272C12.5512 11.9305 12.2536 11.7934 11.937 11.7257L11.874 11.7152C11.0088 11.6349 10.1655 11.3973 9.38562 11.0141C9.31272 10.9641 9.24241 10.9104 9.17495 10.8533C8.97638 10.6897 8.86817 10.4409 8.88389 10.1841C8.89962 9.92729 9.03737 9.69354 9.25442 9.55538C10.3469 8.72729 10.9663 7.41808 10.9139 6.04824C10.9139 3.89918 9.60623 2.15087 7.99895 2.15087Z\",\n fill: \"#666666\"\n});\n\nvar SvgUserIcon = function SvgUserIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUserIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/user-icon.1dc9d87e.svg\";\nexport { ForwardRef as ReactComponent };","import moment from \"moment\";\nimport { RowData } from \"../../common/GridWrapper/DataTable\";\nimport AppConstants from \"../../constants\";\nimport { enumerateDaysBetweenDates, fixDecimals, getUniqueValues, localTimeString } from \"../../utils/helpers.utils\";\n\nexport interface MetaData {\n paymentType: string;\n totalAmount: string;\n transactionDate: Date;\n amountToCollect: string;\n collectedAmount: string;\n currency: string;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n routeId: string;\n routeName: string;\n routeStatus: string;\n numberOfItems: number;\n lastStatusUpdatedTime: string;\n}\n\nexport interface Name {\n ar: string;\n en: string;\n}\n\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: Name;\n quantity: string;\n acceptedQty: string\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: string;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n}\n\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\n\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n driver: Driver;\n helper: Driver;\n vehicle: Vehicle;\n transitTime: string;\n actualTransitTime: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n}\n\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface PickUpInformation {\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface Order {\n id: string;\n orderCode: string,\n consignmentCode: string,\n hasRejectedProducts: boolean,\n retryCount: number,\n metadata: MetaData;\n products: Product[];\n reason: Reason;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n pickUpInformation: PickUpInformation;\n statuses: Statuses[];\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface AssignedStatus {\n vehicleAssigned: boolean;\n helperAssigned: boolean;\n driverAssigned: boolean;\n consignmentsAvailable: boolean;\n}\n\nexport interface Vehicle {\n brand: string;\n country: string;\n crateCapacity: number;\n fleetId: string;\n id: string;\n orderCapacity: number;\n type: string;\n name: string;\n}\n\nexport interface Driver {\n countryIsoCode: string;\n countryName: string;\n licenseNumber: number;\n id: string;\n name: string;\n type: string;\n}\n\nexport interface Route {\n id: string;\n routeId: string;\n creationTime: string;\n plannedDate: string;\n createdBy: string;\n carrier: string;\n deliveryProposition: string;\n deliveryArea: string[];\n deliverySlot: string[];\n countryDetails: CountryDetails;\n totalConsignment: number;\n transitTime: number;\n displayRouteStatus: string;\n hubCode: string;\n hubName: string;\n status: string;\n assignedStatus: AssignedStatus;\n assignedVehicle: Vehicle;\n assignee: Driver;\n helper: Driver;\n actualTransitTime: string;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface PlanningOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Order[];\n}\n\nexport interface PlanningRoutesDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Route[];\n}\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport const lastMileVTOrdersDataTransform = (response: PlanningOrdersDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Order) => {\n const {\n id,\n metadata,\n posInformation: { store, storeName },\n deliveryInformation,\n orderCode,\n products,\n reason,\n consignmentCode,\n statuses,\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n const customerContactInfo = deliveryInformation.customerContactInfo || {\n address: {}\n };\n const transactionDate = moment(metadata.transactionDate, AppConstants.DATE_FORMAT_BACKEND);\n const statusDate = metadata.lastStatusUpdatedTime ? moment(metadata.lastStatusUpdatedTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : statuses && statuses.length ? moment(statuses[0].statusDate, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : \"\";\n\n transformedArray.push({\n id: id,\n hubCode: store,\n hubName: storeName,\n deliveryArea: customerContactInfo.address ? customerContactInfo.address.area : \"\",\n consignmentId: consignmentCode,\n type: metadata.category,\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n startEndTime: `${localTimeString(startTime)} - ${localTimeString(endTime)}`,\n deliveryStatus: metadata.deliveryStatus,\n statusDate: statusDate,\n products: products && products.length ? products.length : 0,\n numberOfItems: metadata.numberOfItems && metadata.numberOfItems > 0 ? metadata.numberOfItems : products && products.length ? products.length : 0,\n orderId: orderCode,\n transactionDate: transactionDate.format(AppConstants.DATE_FORMAT),\n customerName: customerContactInfo.name,\n customerEmail: customerContactInfo.email,\n customerMobileNumber: customerContactInfo.phone,\n deliveryStreetAddress: getAddressInfo(customerContactInfo.address),\n landmark: customerContactInfo.address.landmark,\n paymentType: metadata.paymentType,\n totalAmount: fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\"),\n codAmount: fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"),\n collectedAmount: fixDecimals(2, metadata.collectedAmount ? metadata.collectedAmount.toString() : \"\"),\n carrier: deliveryInformation.carrier,\n deliveryProposition: metadata.deliveryType,\n routeId: metadata.routeName,\n routeStatus: metadata.routeStatus,\n driver: deliveryInformation.driver ? deliveryInformation.driver.name : \"\",\n helper: deliveryInformation.helper ? deliveryInformation.helper.name : \"\",\n vehicle: deliveryInformation.vehicle ? deliveryInformation.vehicle.name : \"\",\n plannedDuration: deliveryInformation.dynamicTransitTime ? deliveryInformation.dynamicTransitTime : deliveryInformation.estimatedTransitTime,\n actualDuration: deliveryInformation.actualTransitTime ? deliveryInformation.actualTransitTime : \"\",\n deliveryFailedReason: reason ? reason.reasonDescription : statuses && statuses.length && statuses[0].reason ? statuses[0].reason.reasonDescription : \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const lastMileVTRoutesDataTransform = (response: PlanningRoutesDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Route) => {\n const {\n id,\n routeId,\n hubCode,\n hubName,\n carrier,\n deliveryProposition,\n transitTime,\n deliveryArea,\n deliverySlot,\n plannedDate,\n status,\n totalConsignment,\n assignedVehicle,\n assignee,\n helper,\n createdBy,\n actualTransitTime\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(plannedDate, AppConstants.DATE_FORMAT_BACKEND);\n transformedArray.push({\n id: id,\n hubCode: hubCode,\n hubName: hubName,\n deliveryArea: deliveryArea && deliveryArea.length ? deliveryArea : [],\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n deliverySlot: deliverySlot && deliverySlot.length ? deliverySlot : [],\n consignments: totalConsignment,\n carrier: carrier,\n deliveryProposition: deliveryProposition,\n routeId: routeId,\n routeStatus: status,\n driver: assignee ? assignee.name : \"\",\n vehicle: assignedVehicle ? assignedVehicle.name : \"\",\n helper: helper ? helper.name : \"\",\n createdBy: createdBy,\n plannedDuration: transitTime,\n actualDuration: actualTransitTime,\n actions: order\n });\n });\n return [...transformedArray];\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const getRouteStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const sortedCountryData = (\n columnName: string,\n isDescending: boolean\n) => (a: any, b: any) => {\n const aVal = isDescending ? a : b;\n const bVal = isDescending ? b : a;\n if (\n aVal[columnName].match(/^[0-9]+$/) &&\n bVal[columnName].match(/^[0-9]+$/)\n ) {\n return parseFloat(aVal[columnName]) - parseFloat(bVal[columnName]);\n } else {\n if (aVal[columnName] < bVal[columnName]) {\n return -1;\n } else if (aVal[columnName] > bVal[columnName]) {\n return 1;\n } else {\n return 0;\n }\n }\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n}\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n payload.attributes = [];\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue)\n })\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: []\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.deliveryArea) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryArea.fieldName,\n value: attrValue\n })\n delete payload.deliveryArea;\n }\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue\n })\n delete payload.orderType;\n }\n if (payload.deliveryStatus) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue\n })\n delete payload.deliveryStatus;\n }\n if (payload.paymentType) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.paymentType.fieldName,\n value: attrValue\n })\n delete payload.paymentType;\n }\n if (payload.carrier) {\n let attrValue = [];\n if (payload.carrier.value) {\n attrValue = getFilterAttributeValue(payload.carrier.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.carrier.fieldName,\n value: attrValue\n })\n delete payload.carrier;\n }\n if (payload.deliveryProposition) {\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"SVT\"]\n })\n delete payload.deliveryProposition;\n }\n if (payload.routeId) {\n let attrValue = [];\n if (payload.routeId.value) {\n attrValue = getFilterAttributeValue(payload.routeId.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeId.fieldName,\n value: attrValue\n })\n delete payload.routeId;\n }\n if (payload.routeStatus) {\n let attrValue = [];\n if (payload.routeStatus.value) {\n attrValue = getFilterAttributeValue(payload.routeStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeStatus.fieldName,\n value: attrValue\n })\n delete payload.routeStatus;\n }\n if (payload.driver) {\n let attrValue = [];\n if (payload.driver.value) {\n attrValue = getFilterAttributeValue(payload.driver.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.driver.fieldName,\n value: attrValue\n })\n delete payload.driver;\n }\n if (payload.vehicle) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vehicle.fieldName,\n value: attrValue\n })\n delete payload.vehicle;\n }\n if (payload.helper) {\n let attrValue = [];\n if (payload.helper.value) {\n attrValue = getFilterAttributeValue(payload.helper.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.helper.fieldName,\n value: attrValue\n })\n delete payload.helper;\n }\n if (payload.deliveryFailedReason) {\n let attrValue = [];\n if (payload.deliveryFailedReason.value) {\n attrValue = getFilterAttributeValue(payload.deliveryFailedReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryFailedReason.fieldName,\n value: attrValue\n })\n delete payload.deliveryFailedReason;\n }\n if (payload.createdBy) {\n let attrValue = [];\n if (payload.createdBy.value) {\n attrValue = getFilterAttributeValue(payload.createdBy.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.createdBy.fieldName,\n value: attrValue\n })\n delete payload.createdBy;\n }\n if (payload.displayRouteStatus) {\n payload.attributes.push({\n key: payload.displayRouteStatus.fieldName,\n value: payload.displayRouteStatus.value || []\n })\n delete payload.displayRouteStatus;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n })\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken\n }\n payload.isSVT = true;\n return payload;\n};\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isRoute);\n var orderFilterRequestDto = { orderFilterRequestDto: newPayload };\n return orderFilterRequestDto;\n};\n\nexport const createRoutesPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isRoute);\n var routeFilterRequestDto = { routeFilterRequestDto: newPayload };\n return routeFilterRequestDto;\n};\n\n/* export const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store\n };\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode\n }\n }\n return consignmentCodePosCodeMap;\n }\n} */\n\nexport const createDraftRoutePayload = (payload: any,) => {\n const routeId = sessionStorage.getItem('routeId');\n const consignments = JSON.parse(sessionStorage.getItem('extraConsignments') || '[]');\n let responsePayload: any;\n responsePayload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n hubName: payload.hubName,\n isSVT: true\n }\n if (payload.slotValue) {\n let dateRange = [];\n const selectAllIdx = payload.slotValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = payload.slotValue.indexOf(AppConstants.SELECT_NONE.value);\n if (payload.date) {\n const allDates = enumerateDaysBetweenDates(payload.date.startDate, payload.date.endDate);\n if (selectAllIdx > -1 || selectNoneIdx > -1 || !payload.slotValue.length) {\n responsePayload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n } else {\n responsePayload.isDateRange = false;\n payload.slotValue.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n })\n }\n }\n responsePayload.timeSlot = dateRange;\n }\n if (payload.editMode) {\n responsePayload.editMode = true;\n }\n if (payload.statusValue) {\n responsePayload.deliveryStatuses = getFilterAttributeValue(payload.statusValue, true);\n }\n if (routeId) {\n if (!payload.editMode) {\n if (consignments.length) {\n responsePayload.route = {\n id: routeId\n }\n }\n } else {\n responsePayload.route = {\n id: routeId\n }\n }\n if (consignments.length) {\n responsePayload.consignmentIds = consignments;\n }\n }\n return responsePayload;\n}\n\nexport const getDiscardRoutePayload = (params: any) => {\n const routeId = sessionStorage.getItem('routeId');\n const consignments = JSON.parse(sessionStorage.getItem('extraConsignments') || '[]');\n const previousConsignments = params.previousCons;\n let responsePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n routeId: routeId || \"\",\n previousConsignments: previousConsignments\n }\n if (consignments.length) {\n responsePayload.consignmentsAdded = consignments\n }\n return responsePayload;\n}\n\nexport const createPublishRoutesPayload = (routes: RowData[]) => {\n return routes.length ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n ids: routes.map((route: RowData) => route.id)\n } : null;\n}\n\nexport const createConsignmentReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id\n };\n if (params.selection === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n payload.reScheduled = true;\n const splitSlot = params.slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n payload.timeSlot = {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT_UI).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT_UI).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n }\n } else {\n payload.reScheduled = false;\n payload.comments = params.commentsValue;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n }\n return payload;\n}\n\nexport const createDeleteRoutePayload = (id: string) => {\n return id ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n id: id\n } : null;\n}\n\nexport const createRouteCreationPayload = (payload: any) => {\n let transitTime: any = calculateTransitTimeForConsignments(payload.mapRouteDirections, payload.consignments);\n let routePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: payload.route.id,\n creationTime: payload.route.creationTime,\n createdBy: payload.route.createdBy,\n countryDetails: payload.route.countryDetails,\n hubCode: payload.route.hubCode,\n hubName: payload.route.hubName,\n deliveryArea: getUniqueValues(payload.consignments, 'area'),\n deliverySlot: getUniqueValues(payload.consignments, 'slot'),\n totalConsignment: payload.consignments.length,\n deliveryDate: moment(payload.date, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n plannedDate: payload.route.plannedDate,\n transitTime: payload.transitTime,\n consignmentsIds: payload.consignments.map((item: any) => item.code)\n },\n consignmentTransitTime: transitTime\n }\n if (payload.selectedDriver !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignee = {\n id: payload.selectedDriver\n }\n }\n if (payload.selectedHelper !== AppConstants.SELECT_NONE.value) {\n routePayload.route.helper = {\n id: payload.selectedHelper\n }\n }\n if (payload.selectedVehicle !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignedVehicle = {\n id: payload.selectedVehicle\n }\n }\n return routePayload;\n}\n\nexport const createGetAllDropdownsPayload = (params: any) => {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n },\n hubCode: params.hubCode,\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE)\n }\n}\n\nexport const createGetAllPlannedRoutesPayload = (params: any) => {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: params.hubCode,\n isSVT: true\n }\n}\n\nexport const createUpdateOrderStatusPayload = (params: any) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: params.consignments,\n displayRouteStatus: params.status,\n routeId: params.routeId\n }\n}\n\nexport const getPlannedRoutesData = (routeData: any) => {\n let plannedSlots = [];\n if (routeData.PLANNED) {\n const plannedValue: any = routeData.PLANNED;\n for (let slotKey in plannedValue) {\n const slotValue: any = plannedValue[slotKey];\n let slot: any = {\n code: slotKey,\n value: slotValue.slotValue,\n data: []\n };\n let totalConsignments = 0;\n const elements: any = slotValue.elements.map((route: any) => {\n totalConsignments += route.totalConsignment;\n return {\n code: route.id,\n value: route.routeId,\n data: route,\n slot: slotKey,\n slotValue: slotValue.slotValue\n };\n });\n slot.data = elements;\n slot.totalConsignments = totalConsignments;\n plannedSlots.push(slot);\n }\n }\n return plannedSlots;\n}\n\n\nexport const createVTOrderReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id\n };\n if (params.status === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n payload.reScheduled = true;\n const splitSlot = params.slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n payload.timeSlot = {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT_UI).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT_UI).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n }\n } else {\n payload.reScheduled = false;\n payload.status = params.selection;\n payload.comments = params.commentsValue;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n }\n return payload;\n}\n\nexport const getConsignmentData = async (draftRouteData: any) => {\n let areas: any[] = [];\n let consignments: any[] = [];\n let slots: any = {};\n if (draftRouteData) {\n Object.keys(draftRouteData).forEach((statusKey: string) => {\n const statusValue: any = draftRouteData[statusKey]\n Object.keys(statusValue).forEach((areaKey: string) => {\n const areaIndex: number = areas.findIndex((area: any) => area.code === areaKey);\n let area: any = areaIndex === -1 ? {\n code: areaKey,\n value: areaKey,\n data: []\n } : { ...areas[areaIndex] };\n const areaValue: any = statusValue[areaKey];\n Object.keys(areaValue).forEach((slotKey: string) => {\n const slotValue: any = areaValue[slotKey];\n const slotIndex: number = areaIndex !== -1 ? area.data.findIndex((slot: any) => slot.code === slotKey) : -1;\n let slot: any = slotIndex === -1 ? {\n code: slotKey,\n value: slotValue.slotValue,\n area: areaKey,\n data: []\n } : { ...area.data[slotIndex] };\n const elements: any = slotValue.elements.map((consignment: any) => {\n return {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n slot: slotKey,\n slotValue: slotValue.slotValue,\n area: areaKey,\n status: statusKey\n };\n });\n if (slotIndex !== -1) {\n slot.data = [...slot.data, ...elements];\n area.data[slotIndex] = slot;\n } else {\n slot.data = elements;\n area.data.push(slot);\n }\n if (slots[area.code]) {\n slots[area.code][slot.code] = slot.data;\n } else {\n slots[area.code] = {\n [slot.code]: slot.data\n }\n }\n consignments = [...consignments, ...elements];\n })\n if (areaIndex !== -1) {\n areas[areaIndex] = area;\n } else {\n areas.push(area);\n }\n })\n })\n }\n return {\n areaWiseConsignments: areas,\n allConsignments: consignments,\n slotwiseConsignments: slots\n };\n}\n\nexport const createPayloadForUpdatingCustAddress = (params: any, consignmentCode: any) => {\n return {\n consignmentCode: consignmentCode,\n address: params\n }\n}\n\nexport const transformRouteConsignments = (consignments: any[]) => {\n let routeConsignments: any = {};\n let seqConsignments: any = [];\n consignments.forEach((consignment: any) => {\n let newConsignment: any = {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n area: consignment.deliveryInformation && consignment.deliveryInformation.customerContactInfo && consignment.deliveryInformation.customerContactInfo.address.area,\n slot: consignment.deliveryInformation && consignment.deliveryInformation.deliverySlot.deliverySlotTime\n };\n seqConsignments.push(consignment.id);\n if (routeConsignments[newConsignment.area]) {\n if (routeConsignments[newConsignment.area][newConsignment.slot]) {\n routeConsignments[newConsignment.area][newConsignment.slot].push(newConsignment);\n } else {\n routeConsignments[newConsignment.area][newConsignment.slot] = [newConsignment];\n }\n } else {\n routeConsignments[newConsignment.area] = {\n [newConsignment.slot]: [newConsignment]\n };\n }\n });\n return {\n routeConsignments: routeConsignments,\n seqConsignments: seqConsignments\n };\n}\n\nexport const getAllAreasAndSlots = (areas: any[]) => {\n let allAreas: string[] = [];\n areas.forEach((area: any) => {\n const slots = area.data;\n slots.forEach((slot: any) => {\n allAreas.push(`${area.code}-${slot.code}`);\n });\n allAreas.push(area.code);\n });\n return allAreas;\n}\n\nexport const getDropdownsData = (payload: any, codeKey?: string, valueKey?: string) => {\n return payload.length ? payload.map((item: any) => {\n return {\n code: codeKey ? item[codeKey] : item.id,\n value: valueKey ? item[valueKey] : item.name\n }\n }) : [];\n}\n\nexport const getTotalCrates = (consignments: any[]) => {\n let totalCrates = 0;\n if (consignments.length) {\n consignments.forEach((item: any) => {\n if (item.data && item.data.deliveryInformation) {\n totalCrates += parseInt(item.data.deliveryInformation.totalCratesCount);\n }\n });\n }\n return totalCrates;\n}\n\nexport const calculateTransitTime = (directions: any) => {\n let transitTime = 0;\n if (directions.legs && directions.legs.length) {\n directions.legs.forEach((leg: any) => {\n transitTime += leg.duration ? leg.duration.value : 0;\n });\n transitTime += (AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.DRIVER_SERVICE_TIME * directions.legs.length);\n }\n return transitTime;\n}\n\nexport const calculateTransitTimeForConsignments = (directions: any, consignments: any) => {\n let consignmentIdsTransitTime: any = {};\n if (directions.legs && directions.legs.length) {\n for (var i = 0; i < consignments.length; i++) {\n if (directions.legs[i]) {\n consignmentIdsTransitTime[consignments[i].code] = directions.legs[i].duration.value\n }\n else {\n consignmentIdsTransitTime[consignments[i].code] = 0\n }\n }\n }\n return consignmentIdsTransitTime;\n}\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj ? `${addressObj.building ? addressObj.building + ', ' : \"\"}${addressObj.apartment ? addressObj.apartment + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + ', ' : \"\"}${addressObj.makani ? addressObj.makani + ', ' : \"\"}${addressObj.streetNumber ? addressObj.streetNumber + ', ' : \"\"}${addressObj.streetName ? addressObj.streetName + ', ' : \"\"}${addressObj.area ? addressObj.area + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + ', ' : \"\"}${addressObj.postalCode ? addressObj.postalCode + ', ' : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}` : \"\";\n}\n\nexport const getLatLong = (addressObj: Address) => {\n return addressObj ? `${addressObj.latitude ? parseFloat(addressObj.latitude).toFixed(5) + ', ' : \"\"}${addressObj.longitude ? parseFloat(addressObj.longitude).toFixed(5) : \"\"}` : \"\";\n}\n\nexport const checkTerminalStatus = (deliveryStatus: string) => {\n return AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.TERMINAL_STATUSES.indexOf(deliveryStatus) > -1;\n}\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport moment from \"moment\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { ValetTrolleyState } from \"./valetTrolleySlice.types\";\nimport AppConstants from \"../../constants\";\nimport { transformSelectValues, saveFile } from \"../../utils/helpers.utils\";\nimport { getDropdownsData, getPlannedRoutesData } from \"../../mocks/valetTrolley/response.transforms\";\n\nexport const fetchPlanningList = createAsyncThunk(\n \"ValetTrolley/FetchByCountry\",\n async (\n {\n requestContinuationToken,\n searchBy,\n searchValue,\n }: {\n requestContinuationToken?: string;\n searchBy: string;\n searchValue: string;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/${searchBy}/${searchValue}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n\n if (requestContinuationToken) {\n request.headers = {\n \"x-requestcontinuation-token\": requestContinuationToken,\n };\n }\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"ValetTrolleyFetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersRoutesDropdownValues = createAsyncThunk(\n \"ValetTrolley/FetchDynamicFiltersRoutesDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasons = createAsyncThunk(\n \"ValetTrolley/FetchDeliveryReasons\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `order/get-delivery-reasons/Default`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"ValetTrolley/FetchOrdersByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningRouteListByFilter = createAsyncThunk(\n \"ValetTrolley/FetchRoutesByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllDrivers = createAsyncThunk(\n \"ValetTrolley/FetchAllDrivers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/drivers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllHelpers = createAsyncThunk(\n \"ValetTrolley/FetchAllHelpers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/helpers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllVehicles = createAsyncThunk(\n \"ValetTrolley/FetchAllVehicles\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'vehicle/load',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createDraftRoute = createAsyncThunk(\n \"ValetTrolley/CreateDraftRoute\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/create',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const loadAllSlots = createAsyncThunk(\n \"ValetTrolley/LoadAllSlots\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/load/slots',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const vtOrderReplanning = createAsyncThunk(\n \"ValetTrolley/VtOrderReplanning\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/replanning',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\n\nexport const fetchAllPlannedRoutes = createAsyncThunk(\n \"ValetTrolley/FetchAllPlannedRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/view',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createAndEditRoute = createAsyncThunk(\n \"ValetTrolley/CreateAndEditRoute\",\n async (\n {\n payload,\n editMode\n }: {\n payload: any,\n editMode: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/edit',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const discardRouteChanges = createAsyncThunk(\n \"ValetTrolley/DiscardRouteChanges\",\n async (\n {\n params,\n redirect\n }: {\n params: any,\n redirect?: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/discard',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const publishRoutes = createAsyncThunk(\n \"ValetTrolley/PublishRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/publish',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const deleteRoute = createAsyncThunk(\n \"ValetTrolley/DeleteRoute\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/delete',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateConsignmentStatus = createAsyncThunk(\n \"ValetTrolley/UpdateOrderStatus\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/updateRouteStatus',\n method: EApiMiddlewareMethods.PUT,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"ValetTrolley/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRoutesFilterChipsDisplayCount = createAsyncThunk(\n \"ValetTrolley/FetchRoutesFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteConsignments = createAsyncThunk(\n \"ValetTrolley/FetchRouteConsignments\",\n async ({\n id\n }: {\n id: string\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `route/get-consignments-by-route/${id}`,\n method: EApiMiddlewareMethods.POST,\n data: {}\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"ValetTrolley/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/order',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportRoutesToExcel = createAsyncThunk(\n \"ValetTrolley/ExportRoutesToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/route',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportInvoicePdf = createAsyncThunk(\n \"ValetTrolley/ExportInvoicePdf\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/view-invoice',\n method: EApiMiddlewareMethods.POST,\n data: params,\n responseType: \"bytes\"\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchVTSlotDropdownValues = createAsyncThunk(\n \"ValetTrolley/FetchVTSlotDropdownValues\",\n async (\n {\n countryCode\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `filter/all/${params}/SVT`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateAllConsignmentsState = createAsyncThunk(\"ValetTrolley/UpdateAllConsignmentsState\", ({\n consignments\n}: {\n consignments: any\n}) => {\n return consignments;\n});\n\nexport const clearPublishedRoutesErrors = createAsyncThunk(\"ValetTrolley/ClearPublishedRoutesErrors\", () => {\n return [];\n});\n\nexport const clearPublishedRoutes = createAsyncThunk(\"ValetTrolley/ClearPublishedRoutes\", () => {\n return [];\n});\n\nexport const resetPlanningError = createAsyncThunk(\"ValetTrolley/ResetPlanningError\", () => {\n return \"\";\n});\n\nexport const clearUpdatedRoute = createAsyncThunk(\"ValetTrolley/ClearUpdatedRoute\", () => {\n return null;\n});\n\nexport const clearDeletedRoute = createAsyncThunk(\"ValetTrolley/ClearDeletedRoute\", () => {\n return null;\n});\n\nexport const resetCreateRouteSuccess = createAsyncThunk(\"ValetTrolley/ResetCreateRouteSuccess\", () => {\n return false;\n});\n\nexport const resetDraftRoute = createAsyncThunk(\"ValetTrolley/ResetDraftRoute\", () => {\n return {};\n});\n\nexport const resetConsignmentReplanningSuccess = createAsyncThunk(\"ValetTrolley/ResetConsignmentReplanningSuccess\", () => {\n return false;\n});\n\nexport const clearCurrentSlot = createAsyncThunk(\"ValetTrolley/ClearCurrentSlot\", () => {\n return null;\n});\n\nexport const fetchConsignmentHistoryAndProducts = createAsyncThunk(\n \"ValetTrolleyConsignmentDetails/FetchConsignmentHistoryAndProducts\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statusHistoryProducts/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getCratesInfo = createAsyncThunk(\n \"ValetTrolleyConsignmentDetails/getCratesInfo\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/updateCratesAlectoApi`,\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchVTStatuses = createAsyncThunk(\n \"ValetTrolley/FetchVTStatuses\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statuses/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateCustomerAddress = createAsyncThunk(\n \"ValetTrolley/UpdateCustomerAddress\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/update-delivery-address',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"ValetTrolley/CloseDialog\", () => {\n return false;\n});\n\nexport const resetReplanningSuccess = createAsyncThunk(\"ValetTrolley/ResetReplanningSuccess\", () => {\n return false;\n});\n\nexport const updateAddressSuccess = createAsyncThunk(\"VTAddressUpdate/AddressUpdateSuccess\", () => {\n return false;\n});\n\nconst initialState: ValetTrolleyState = {\n loading: false,\n tableLoading: false,\n invoiceData: \"\",\n displayInvoice: false,\n invoiceMessage: \"\",\n invoiceConsignment: \"\",\n exportError: \"\",\n cratesFromAlecto: \"\",\n productsListFromAlecto: [],\n vtOrdersFilterChipsDisplayCount: {\n consignmentCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n routesFilterChipsDisplayCount: {\n routCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n ordersFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n deliveryAreaList: [],\n typeList: [],\n deliverySlotList: [],\n statusList: [],\n paymentTypeList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeIdList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n undeliveredReasonList: []\n },\n routesFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n routeIdList: [],\n deliveryAreaList: [],\n deliverySlotList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n createdByList: []\n },\n reasonsDropdownList: [],\n deliveryReasons: {},\n ordersData: {\n elements: [],\n pageNumber: 0\n },\n routesData: {\n elements: [],\n pageNumber: 0\n },\n vtStatuses: [],\n error: \"\",\n errorCode: \"\",\n draftRoute: {},\n plannedRoutes: {},\n slotwisePlannedRoutes: [],\n areawiseConsignments: [],\n slotwiseConsignments: {},\n allConsignments: [],\n routeConsignments: [],\n driversList: [],\n helpersList: [],\n vehiclesList: [],\n slotsList: [],\n consignmentStatusList: [],\n currentSlot: null,\n routeCreateSuccess: false,\n updatedRoute: null,\n routeDiscardSuccess: false,\n publishedRoutesErrors: [],\n publishedRoutes: [],\n vtReplanningConsignmentSuccess: false,\n deletedRoute: null,\n excelLoading: false,\n consignmentStatuses: [],\n productsList: [],\n consignmentDataAfterReplanning: {},\n isUpdateAddress: false,\n deliverySlotListVT: [],\n updatedCustomerAddress: {}\n};\n\nconst valetTrolleySlice = createSlice({\n name: \"ValetTrolley\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchPlanningList.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningList.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersData = payload;\n })\n .addCase(fetchPlanningList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.vtReplanningConsignmentSuccess = false;\n state.ordersFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n typeList: transformSelectValues(payload.types || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n statusList: transformSelectValues(payload.statuses || []),\n paymentTypeList: transformSelectValues(payload.paymentTypes || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n undeliveredReasonList: transformSelectValues(payload.undeliveredReasons || [])\n };\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n createdByList: transformSelectValues(payload.createdBy || [])\n };\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDeliveryReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n if (payload.reasons) {\n deliveryReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.reasons;\n })\n .addCase(fetchDeliveryReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vtReplanningConsignmentSuccess = false;\n state.vtOrdersFilterChipsDisplayCount = payload;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFilterChipsDisplayCount = payload;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllDrivers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllDrivers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversData = payload;\n const drivers = getDropdownsData(payload);\n state.driversList = transformSelectValues(drivers);\n })\n .addCase(fetchAllDrivers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllHelpers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllHelpers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.helpersData = payload;\n const helpers = getDropdownsData(payload);\n state.helpersList = transformSelectValues(helpers);\n })\n .addCase(fetchAllHelpers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllVehicles.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllVehicles.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vehiclesData = payload;\n const vehicles = getDropdownsData(payload);\n state.vehiclesList = transformSelectValues(vehicles);\n })\n .addCase(fetchAllVehicles.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(loadAllSlots.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(loadAllSlots.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.slotwisePlannedRoutes = [];\n state.slotsData = payload;\n state.currentSlot = payload.currentSlot && payload.currentSlot.length ? payload.currentSlot[0] : {};\n state.slotsList = transformSelectValues(payload.allSlots);\n })\n .addCase(loadAllSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.currentSlot = null;\n state.slotsList = [];\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllPlannedRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllPlannedRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.plannedRoutes = payload;\n state.slotwisePlannedRoutes = getPlannedRoutesData(payload.allRoutes);\n })\n .addCase(fetchAllPlannedRoutes.rejected, (state, action) => {\n state.loading = false;\n state.plannedRoutes = {};\n state.slotwisePlannedRoutes = [];\n })\n .addCase(createDraftRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.draftRoute = {};\n })\n .addCase(createDraftRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.slotwisePlannedRoutes = [];\n state.draftRoute = payload;\n state.consignmentStatusList = transformSelectValues(payload.deliveryStatuses || []);\n sessionStorage.setItem('routeId', payload.route && payload.route.id);\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createDraftRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n if (!params.editMode) {\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n }\n })\n .addCase(vtOrderReplanning.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(vtOrderReplanning.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vtReplanningConsignmentSuccess = true;\n state.consignmentDataAfterReplanning = payload;\n })\n .addCase(vtOrderReplanning.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.vtReplanningConsignmentSuccess = false;\n })\n .addCase(createAndEditRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createAndEditRoute.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n state.loading = false;\n if (editMode) {\n state.updatedRoute = payload;\n } else {\n state.routeCreateSuccess = true;\n }\n state.currentSlot = null;\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createAndEditRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (editMode) {\n state.updatedRoute = null;\n } else {\n state.routeCreateSuccess = false;\n }\n })\n .addCase(discardRouteChanges.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(discardRouteChanges.fulfilled, (state, action) => {\n const {\n meta: {\n arg: { redirect }\n }\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeDiscardSuccess = true;\n state.draftRoute = {};\n state.currentSlot = null;\n if (!redirect) {\n sessionStorage.setItem('routeId', '');\n }\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(discardRouteChanges.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeDiscardSuccess = false;\n })\n .addCase(publishRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = [];\n })\n .addCase(publishRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.publishErrorDto && payload.publishErrorDto.length) {\n state.publishedRoutesErrors = payload.publishErrorDto;\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n } else {\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n }\n })\n .addCase(publishRoutes.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.publishedRoutes = [];\n state.publishedRoutesErrors = [];\n })\n .addCase(deleteRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(deleteRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.deletedRoute = payload;\n })\n .addCase(deleteRoute.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.deletedRoute = null;\n })\n .addCase(updateConsignmentStatus.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.fulfilled, (state, action) => {\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vtReplanningConsignmentSuccess = false;\n state.ordersData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.ordersData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningRouteListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningRouteListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.routesData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningRouteListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteConsignments.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRouteConsignments.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeConsignments = payload;\n })\n .addCase(fetchRouteConsignments.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateAllConsignmentsState.fulfilled, (state, action) => {\n const { payload } = action;\n state.areawiseConsignments = payload.areaWiseConsignments;\n state.slotwiseConsignments = payload.slotwiseConsignments;\n state.allConsignments = payload.allConsignments;\n state.loading = payload.loading;\n state.error = \"\";\n })\n .addCase(clearPublishedRoutesErrors.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = payload;\n })\n .addCase(clearPublishedRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutes = payload;\n })\n .addCase(resetPlanningError.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = payload;\n state.error = payload;\n })\n .addCase(clearUpdatedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.updatedRoute = payload;\n state.routeDiscardSuccess = false;\n })\n .addCase(clearDeletedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.deletedRoute = payload;\n })\n .addCase(clearCurrentSlot.fulfilled, (state, action) => {\n const { payload } = action;\n state.currentSlot = payload;\n })\n .addCase(resetCreateRouteSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.routeCreateSuccess = payload;\n })\n .addCase(resetDraftRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.draftRoute = payload;\n })\n .addCase(resetConsignmentReplanningSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.vtReplanningConsignmentSuccess = payload;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Consignments_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportRoutesToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportRoutesToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Routes_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportRoutesToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.exportError = errorPayload.status;\n })\n .addCase(exportInvoicePdf.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(exportInvoicePdf.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n const data = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].FileDataBytes : [];\n state.invoiceConsignment = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].ConsignmentNo : \"\";\n state.displayInvoice = payload.Invoices && payload.Invoices.length;\n const pdfData = `data:application/pdf;base64,${data}`;\n state.invoiceData = payload.Invoices && payload.Invoices.length ? pdfData : [];\n state.invoiceMessage = payload.Message;\n })\n .addCase(exportInvoicePdf.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistoryAndProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistoryAndProducts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.consignmentStatuses = payload.statuses && payload.statuses.length ? payload.statuses : [];\n state.productsList = payload.products && payload.products.length ? payload.products : [];\n })\n .addCase(fetchConsignmentHistoryAndProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchVTStatuses.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchVTStatuses.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vtStatuses = transformSelectValues(payload.statuses && payload.statuses.length ? payload.statuses : []);\n })\n .addCase(fetchVTStatuses.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getCratesInfo.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getCratesInfo.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cratesFromAlecto = payload;\n state.productsListFromAlecto = payload && payload.crateAvailableOrders && payload.crateAvailableOrders.length > 0 && payload.crateAvailableOrders[0].products && payload.crateAvailableOrders[0].products.length > 0 ? payload.crateAvailableOrders[0].products : null;\n })\n .addCase(getCratesInfo.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchVTSlotDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchVTSlotDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n let deliverySlotListVT: any = {};\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotListVT[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n state.deliverySlotListVT = deliverySlotListVT;\n })\n .addCase(fetchVTSlotDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.consignmentDataAfterReplanning = {};\n })\n .addCase(resetReplanningSuccess.fulfilled, (state, action) => {\n state.vtReplanningConsignmentSuccess = false\n })\n .addCase(updateAddressSuccess.fulfilled, (state, action) => {\n state.isUpdateAddress = false\n })\n .addCase(updateCustomerAddress.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateCustomerAddress.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isUpdateAddress = true;\n state.updatedCustomerAddress = payload;\n })\n .addCase(updateCustomerAddress.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.vtReplanningConsignmentSuccess = false;\n })\n\n },\n});\n\nexport default valetTrolleySlice.reducer;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.88206 18.1909C2.93264 18.1909 2.98304 18.184 3.03167 18.1706L8.18669 16.7492C8.28943 16.7208 8.38917 16.6831 8.48486 16.6368C8.62971 16.6102 8.75818 16.5273 8.84206 16.4059C8.88347 16.3715 8.92418 16.3356 8.96242 16.2975L15.4007 9.85945C15.6092 9.81134 15.772 9.64869 15.8199 9.44021L17.4323 7.82761C17.641 7.77968 17.8035 7.61685 17.8516 7.40838L18.9577 6.30223C20.1092 5.14833 20.1092 3.28038 18.9577 2.12648L18.4669 1.63553C17.3137 0.482331 15.4444 0.482331 14.2912 1.63553L4.28743 11.6391C4.24549 11.6814 4.20566 11.7258 4.1683 11.7722C4.15015 11.7863 4.13253 11.8016 4.11614 11.8178C4.04548 11.8885 3.99525 11.9766 3.97023 12.0731C3.9186 12.1725 3.87666 12.2767 3.84476 12.3838L2.34282 17.4691C2.2926 17.6391 2.32555 17.8231 2.43164 17.9651C2.53808 18.1072 2.70496 18.1909 2.88224 18.1909H2.88206ZM8.38141 15.2876L5.30564 12.2118L11.3414 6.17641L14.417 9.25219L8.38141 15.2876ZM13.3729 4.14457L16.4487 7.22035L15.2125 8.45654L12.1367 5.38077L13.3729 4.14457ZM15.0867 2.43099C15.8004 1.71729 16.9576 1.71729 17.6713 2.43099L18.1623 2.92177C18.8749 3.63617 18.8749 4.79254 18.1623 5.50659L17.2443 6.42471L14.1684 3.34893L15.0867 2.43099ZM4.75988 13.2572L7.3232 15.8201L3.70854 16.817L4.75988 13.2572Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.8766 22.1453H2.93738C2.6267 22.1453 2.37488 22.3971 2.37488 22.7078C2.37488 23.0184 2.6267 23.2703 2.93738 23.2703H20.8766C21.1873 23.2703 21.4391 23.0184 21.4391 22.7078C21.4391 22.3971 21.1873 22.1453 20.8766 22.1453Z\",\n fill: \"#0E5AA7\"\n});\n\nvar SvgEditIcon = function SvgEditIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEditIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/editIcon.1c8bcaf3.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .detailsHeader': {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: \"18px 16px\",\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(2),\n '& .title': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600\n },\n '& .editIcon': {\n display: \"flex\",\n justifyContent: \"flex-end\"\n },\n '& .subSection': {\n paddingTop: \"16px\",\n display: \"flex\"\n },\n '& .subSectionTitle': {\n fontSize: \"14px\",\n fontWeight: 600\n },\n '& .subSectionContent': {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .editAddress': {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\"\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: \"6px\",\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .contentHubAddress': {\n display: \"flex\",\n flexDirection: \"column\",\n '& .main': {\n display: \"flex\",\n flexDirection: \"column\"\n },\n '& .title': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600\n },\n '& .content': {\n paddingTop: \"16px\",\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"20px\"\n },\n '& .subSection': {\n paddingTop: \"16px\",\n display: \"flex\"\n },\n '& .subSectionTitle': {\n fontSize: \"14px\",\n fontWeight: 600\n },\n '& .subSectionContent': {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\"\n },\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(2),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .editAddress': {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\"\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: \"6px\",\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '&.hubDetails': {\n paddingBottom: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n },\n '& .columnDetails': {\n alignContent: \"flex-end\"\n },\n '& .endColumnDetails': {\n display: \"flex\",\n justifyContent: \"flex-end\"\n },\n }\n },\n '& .sellerDetails': {\n paddingTop: theme.spacing(1.75),\n '& .detailsHeader': {\n backgroundColor: theme.palette.secondary.main\n }\n },\n '& .deliveryProofSection': {\n paddingBottom: theme.spacing(1),\n '& .content': {\n width: \"100%\",\n '& .deliveryProofContainer': {\n flexDirection: \"column\",\n '& .deliveryProofItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .imagesContainer': {\n flexWrap: \"nowrap\",\n '& .imagesItem': {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n '&:last-child': {\n marginRight: 0\n },\n '& .imageItemContainer': {\n flexDirection: \"column\",\n '& .imageItem': {\n paddingBottom: theme.spacing(2),\n '& .heading': {\n fontSize: 14,\n fontWeight: 500\n },\n '& .allImagesContainer': {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n '& .viewerContainer': {\n display: \"flex\"\n },\n '&.sign': {\n justifyContent: \"space-around\",\n },\n '& img': {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0\n }\n }\n }\n }\n }\n }\n },\n '& .commentsContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n '& .commentsItem': {\n paddingBottom: theme.spacing(0.75),\n '& p': {\n fontWeight: 500,\n fontSize: 12\n },\n '& .heading': {\n fontSize: 14\n }\n }\n }\n }\n }\n }\n },\n '& .consignmentHistory': {\n paddingBottom: theme.spacing(1)\n },\n '& .tabularSection': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.crates': {\n '& .itemsContainer .item .itemContainer .itemColumn.item1 p': {\n fontWeight: 600,\n },\n '& .itemsContainer .item .itemContainer .itemColumn.item1 .header p': {\n fontWeight: 500,\n },\n '& .crateBarcode': {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3)\n },\n '& .crateStageLocationIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n '& .itemDiv': {\n padding: theme.spacing(0),\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n }\n }\n },\n '& .paymentContainer': {\n padding: 16,\n paddingTop: 13,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontWeight: 600\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .vat': {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25)\n },\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .smallHeading': {\n fontSize: 12\n }\n },\n '& .content': {\n flexGrow: 1\n }\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '&.error': {\n color: COLORS.DARK_RED,\n '&.active': {\n paddingBottom: 17\n }\n },\n '&.active': {\n // paddingBottom: 17\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n }\n }\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\"\n },\n horizontalDiv: {\n borderBottom: \"1px solid #E6E6E6\",\n marginBottom: \"16px\"\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\"\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\"\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\"\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\"\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\"\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n '& .react-pdf__Page': {\n marginTop: \"56px\",\n '& .react-pdf__Page__canvas': {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\"\n },\n },\n '& .react-pdf__Page__annotations.annotationLayer': {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\"\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeNoPdfModalIcon: {\n position: 'absolute',\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: \"8px\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useEffect } from 'react';\nimport * as yup from 'yup';\nimport { useFormik } from 'formik';\n\n//Common Components\nimport CustomDialog from '../common/Dialog';\nimport TextBox from '../common/TextBox';\n\n//Material UI Components\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\n\n//Styles\nimport { useStyles } from './UpdateCustomerAddress.styles';\n\n//Constants\nimport AppConstants from '../constants';\n\ninterface UpdateCustomerAddressProps {\n open: boolean;\n custInfo: any;\n consignment: any;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst UpdateCustomerAddress = (props: UpdateCustomerAddressProps) => {\n\n const classes = useStyles();\n const { open, custInfo, consignment, closePopup, handleDialogAction } = props;\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const inputValidationSchema = yup.object({\n area: yup\n .string().min(5, \"Please enter valid details\")\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.AREA.REQUIRED.msg),\n city: yup\n .string().min(5, \"Please enter valid details\")\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.CITY.REQUIRED.msg),\n streetNumber: yup\n .string()\n .test(\n 'oneOfRequired',\n 'One of street number, street name must be entered',\n function (item) {\n return (this.parent.streetNumber || this.parent.streetName)\n }\n ),\n streetName: yup\n .string()\n .test(\n 'oneOfRequired',\n 'One of street number, street name must be entered',\n function (item) {\n return (this.parent.streetNumber || this.parent.streetName)\n }\n ),\n building: yup\n .string()\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.BUILDING.REQUIRED.msg),\n apartment: yup\n .string()\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.APARTMENT.REQUIRED.msg),\n });\n\n\n const getInitialValues = () => {\n return {\n name: custInfo && custInfo.name ? custInfo.name : '',\n area: custInfo && custInfo.address && custInfo.address.area ? custInfo.address.area : '',\n city: custInfo && custInfo.address && custInfo.address.city ? custInfo.address.city : '',\n streetNumber: custInfo && custInfo.address && custInfo.address.streetNumber ? custInfo.address.streetNumber : '',\n streetName: custInfo && custInfo.address && custInfo.address.streetName ? custInfo.address.streetName : '',\n building: custInfo && custInfo.address && custInfo.address.building ? custInfo.address.building : '',\n apartment: custInfo && custInfo.address && custInfo.address.apartment ? custInfo.address.apartment : '',\n landmark: custInfo && custInfo.address && custInfo.address.landmark ? custInfo.address.landmark : '',\n }\n }\n\n const inputFormik = useFormik({\n initialValues: getInitialValues(),\n validationSchema: inputValidationSchema,\n onSubmit: (values) => {\n dialogActionHandler('submit', values, consignment);\n }\n });\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any, consignment?: any) => {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values,\n consignmentId: consignment\n });\n },\n [handleDialogAction],\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n Update Customer Address\n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n
\n \n\n \n \n \n \n \n Customer Name\n \n \n \n \n \n \n \n \n \n Area\n \n \n \n \n \n \n \n \n \n City\n \n \n \n \n \n \n \n \n \n Street Number\n \n \n \n \n \n \n \n \n \n Street Name\n \n \n \n \n \n \n \n \n \n Building Name/ Villa No.\n \n \n \n \n \n \n \n \n \n Floor No./ Apartment No.\n \n \n \n \n \n \n \n \n \n Landmark\n \n \n \n \n \n \n \n \n \n
\n )\n }\n\n const getDialogActions = () => {\n return (\n
\n \n \n \n \n
\n );\n };\n\n useEffect(() => {\n if (open) {\n inputFormik.setValues(getInitialValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open])\n\n return (\n \n )\n}\n\nexport default UpdateCustomerAddress;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from '../config/redux/reducers';\nimport { fetchVTStatuses, vtOrderReplanning, fetchDeliveryReasons } from './redux/valetTrolleySlice';\nimport { createVTOrderReplanningPayload } from '../mocks/valetTrolley/response.transforms';\n\n//common components\nimport CustomDialog from '../common/Dialog';\nimport SelectBox from '../common/SelectBox';\nimport TextBox from '../common/TextBox';\nimport DateRangePickerComponent from '../common/DateRangeComponent';\n\n//Material UI Components\nimport { useStyles } from './ValetTrolleyOrderDetailsEdit.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Button } from '@material-ui/core';\n\n//constants\nimport AppConstants from \"../constants\";\n\n//Assets\nimport warning from \"../assets/icons/warning.svg\";\nimport { transformSlotValue } from '../utils/helpers.utils';\n\n\ninterface ValetTrolleyOrderDetailsEditProps {\n open: boolean;\n consignment: any;\n isExpress?: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ValetTrolleyOrderDetailsEdit = (props: ValetTrolleyOrderDetailsEditProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, consignment, closePopup } = props;\n\n const { vtStatuses, deliveryReasons, reasonsDropdownList, vtReplanningConsignmentSuccess, consignmentDataAfterReplanning, deliverySlotListVT } = useSelector(\n (state: AppState) => state.valetTrolley\n );\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const [selectedStatus, setSelectedStatus] = useState(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n const [selectedSlot, setSelectedSlot] = useState(AppConstants.SELECT_NONE.value);\n const [selectedReason, setSelectedReason] = useState(AppConstants.SELECT_NONE.value);\n const [selectedDate, setSelectedDate] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment().hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n });\n const [showReason, setShowReason] = useState(false);\n const [commentsValue, setCommentsValue] = useState('');\n const [errors, setErrors] = useState({\n reason: \"\",\n });\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let deliveryDate = \"\";\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const validateForm = useCallback(() => {\n let newErrors = {};\n if (selectedReason === AppConstants.SELECT_NONE.value) {\n newErrors = { ...newErrors, reason: \"Please select reason\" };\n }\n setErrors({ ...errors, ...newErrors });\n\n return Object.keys(newErrors).length;\n }, [errors, selectedReason]);\n\n const handleSlotChange = useCallback(\n (value: any) => {\n setSelectedSlot(value);\n },\n [],\n );\n\n const handleReasonChange = useCallback(\n (value: any) => {\n setSelectedReason(value);\n if (value) {\n setErrors({ ...errors, reason: \"\" });\n }\n },\n [errors],\n );\n\n const handleCommentsTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setCommentsValue(event.target.value);\n },\n []\n );\n\n const handleDateChange = useCallback(\n (value: any) => {\n setSelectedDate(value);\n },\n [],\n );\n\n const handleVTOrderReplanning = useCallback(\n () => {\n if (selectedStatus !== AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n if (selectedStatus === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n if (validateForm() === 0) {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n selection: selectedStatus,\n reason: selectedReason,\n commentsValue: commentsValue\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n const deliveryReason = deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n payload.reason = deliveryReason[0]\n }\n }\n dispatch(\n vtOrderReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus\n });\n dispatch(\n vtOrderReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n status: selectedStatus,\n slot: selectedSlot,\n date: selectedDate\n });\n dispatch(\n vtOrderReplanning(\n {\n params: payload\n }\n )\n )\n }\n },\n [consignment, selectedStatus, selectedDate, selectedSlot, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch],\n )\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n handleVTOrderReplanning();\n } else {\n closePopup();\n }\n },\n [closePopup, handleVTOrderReplanning],\n );\n\n const handleStatusChange = useCallback(\n (value: any) => {\n setSelectedStatus(value);\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n setShowReason(true);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n } else {\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n }\n }, []\n );\n\n\n\n const fetchAllDeliveryReasons = useCallback(\n () => {\n dispatch(\n fetchDeliveryReasons()\n );\n }, [dispatch]\n );\n\n\n const handleVTStatuses = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchVTStatuses({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (vtReplanningConsignmentSuccess) {\n closePopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [vtReplanningConsignmentSuccess])\n\n /*\n * Called on page load, to set the value in the delivery slot from the constants which is amongst the delivery slot list.\n * If the order contains a delivery slot value which matches the value from the deliverySlotListCHD, sets that as a preselected \n * value\n */\n useEffect(() => {\n if (deliveryInformation && deliverySlotListVT) {\n setSelectedSlot(deliverySlotListVT[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode][0].value);\n deliverySlotListVT[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode].forEach((slot: any) => {\n if (transformSlotValue(deliveryInformation.deliverySlot.deliverySlotTime) === transformSlotValue(slot.value)) {\n setSelectedSlot(deliveryInformation && deliveryInformation.deliverySlot.deliverySlotTime);\n }\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment, countryCode])\n\n useEffect(() => {\n if (consignment) {\n setSelectedDate({\n startDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n });\n setCommentsValue(\"\");\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n setSelectedStatus(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment]);\n\n useEffect(() => {\n if (consignment != null) {\n fetchAllDeliveryReasons();\n handleVTStatuses(consignment);\n }\n }, [consignment, fetchAllDeliveryReasons, handleVTStatuses]);\n\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n EDIT CONSIGNMENT : \n {consignment.consignmentCode} \n \n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n Update Status\n \n \n \n \n \n \n \n \n \n {\n selectedStatus === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION ?\n \n \n \n \n Delivery Date\n \n \n \n \n \n \n \n \n \n Slot\n \n \n \n \n \n \n \n :\n \n {showReason ? (\n \n \n \n Reason\n \n \n \n \n \n \n ) : null}\n \n \n \n Comments\n \n \n \n \n \n \n {showReason ? (\n \n \n \"warning\"\n This consignment will no longer be delivered.\n \n ) : null}\n \n }\n \n \n )\n }\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n return (\n \n )\n}\n\nexport default ValetTrolleyOrderDetailsEdit;","import React, { useCallback, forwardRef, ReactElement, Ref, useRef, useState, useEffect } from 'react';\nimport { useDispatch, useSelector, shallowEqual } from \"react-redux\";\nimport { fetchConsignmentHistoryAndProducts, closeDialog, resetReplanningSuccess, updateAddressSuccess, fetchVTSlotDropdownValues, updateCustomerAddress } from \"./redux/valetTrolleySlice\";\nimport RcViewer from '@hanyk/rc-viewer';\nimport { getAddressInfo, getLatLong, createPayloadForUpdatingCustAddress } from 'mocks/valetTrolley/response.transforms';\nimport moment from 'moment';\nimport clsx from \"clsx\";\nimport { pdfjs } from 'react-pdf';\n\n//Common Components\nimport CustomDialog from '../common/Dialog';\nimport { AppState } from \"../config/redux/reducers\";\nimport MapContainer from '../common/GoogleMapContainer';\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { COLORS } from '../config/theme/baseTheme';\n\n//Assets\nimport mobileLogoIcon from './../assets/icons/mobileLogo.svg';\nimport emailLogoIcon from './../assets/icons/emailLogo.svg';\nimport { ReactComponent as editIcon } from './../assets/icons/editIcon.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as errorTimelineDot } from './../assets/icons/timeline-dot-error.svg';\nimport { ReactComponent as timelineDot } from './../assets/icons/timeline-dot.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow.svg';\n\n//Styles\nimport { useStyles } from './ValetTrolleyOrderDetails.styles';\n\n//Material UI Components\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Accordion, AccordionSummary, AccordionDetails, SvgIcon, Collapse, Link, Divider } from '@material-ui/core';\nimport { Timeline, TimelineItem, TimelineSeparator, TimelineDot, TimelineConnector, TimelineContent } from '@material-ui/lab';\nimport KeyboardArrowDownRoundedIcon from \"@material-ui/icons/KeyboardArrowDownRounded\";\n\n//constants, utils\nimport AppConstants from \"../constants\";\nimport { fixDecimals, localTimeString, transformSlotValue, isDisplayStatusEditable, isCardOnDelivery } from 'utils/helpers.utils';\n\n//Components\nimport UpdateCustomerAddress from './UpdateCustomerAddress';\nimport ValetTrolleyOrderDetailsEdit from \"./ValetTrolleyOrderDetailsEdit\";\nimport { decodeHtmlEntities } from 'utils/textUtils';\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ninterface ValetTrolleyOrderDetailsProps {\n open: boolean;\n consignment: any;\n isFromViewRoute?: any;\n isEditIcon?: any\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ValetTrolleyOrderDetails = (props: ValetTrolleyOrderDetailsProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const { consignmentStatuses, productsList, consignmentDataAfterReplanning, updatedCustomerAddress, isUpdateAddress } = useSelector(\n ((state: AppState) => state.valetTrolley), shallowEqual\n );\n const { countryCode } = useSelector(\n ((state: AppState) => state.common), shallowEqual\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n ((state: AppState) => state.userLogin)\n );\n const { open, consignment, isFromViewRoute, isEditIcon, closePopup } = props;\n const [toggleCustMap, setToggleCustMap] = useState(false);\n const [toggleSellerMap, setToggleSellerMap] = useState(false);\n const [openConsignmentEditPopup, setOpenConsignmentEditPopup] = useState(false);\n const [openCustomerAddressPopup, setOpenCustomerAddressPopup] = useState(false);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const [openInfoSnackbar, setOpenInfoSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const infoSnackbarType = useRef(AppConstants.SNACKBAR.TYPES.ERROR);\n const snackbarMessage = useRef(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.ADDRESS_UPDATE_SUCCESS_MSG);\n const infoSnackbarMessage = useRef(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.UNPLAN_CONSIGNMENT_WARNING_MSG);\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let custInfo: any = {\n address: {}\n };\n let updatedAddress: any = {\n address: {}\n };\n let custGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let sellerGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let posInfo: any = {\n address: {}\n };\n let items: any = [];\n let historyItems: any = [];\n\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n let hubName = \"\";\n\n const handleStatusHistoryAndProducts = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n custGeoLocation.location.lat = parseFloat(custInfo.address.latitude) || 0;\n custGeoLocation.location.lng = parseFloat(custInfo.address.longitude) || 0;\n }\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`\n }\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n sellerGeoLocation.location.lat = parseFloat(posInfo.address.latitude) || 0;\n sellerGeoLocation.location.lng = parseFloat(posInfo.address.longitude) || 0;\n }\n items = productsList;\n if (consignmentStatuses) {\n let statuses = consignmentStatuses.slice();\n historyItems = statuses;\n }\n }\n if (updatedCustomerAddress) {\n if (updatedCustomerAddress && updatedCustomerAddress.deliveryInformation && updatedCustomerAddress.deliveryInformation.customerContactInfo && updatedCustomerAddress.deliveryInformation.customerContactInfo.address) {\n updatedAddress = updatedCustomerAddress.deliveryInformation.customerContactInfo\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleTrackingLink = () => {\n window.open(deliveryInformation.carrierTrackingUrl, '_blank');\n }\n\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const checkEditable = () => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0) {\n return AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus) === -1;\n } else {\n return AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(metadata && metadata.deliveryStatus) === -1;\n }\n }\n\n const getItems = () => {\n return items && items.length ? items.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n {\n item.reason ? (\n {`Rejection Reason - ${item.reason.reasonDescription}`}) :\n item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason ? (\n {`Rejection Reason - ${item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason && item.substitutedProducts[0].reason.reasonDescription}`}\n ) : (\n {\"\"}\n )\n }\n {\n item.substitutedProducts &&\n
\n View Original\n handleOriginalName()} />\n
\n }\n
\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].rejectedQty : item.rejectedQty || \"-\"}\n\n \n\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].shippedQty : item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n
\n\n {\n showOriginalName && item.substitutedProducts &&\n \n \n {item.name.en.toLowerCase()}\n \n \n {item.rejectedQty || \"-\"}\n\n \n\n \n {item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n \n }\n
\n )) : (No Items to display)\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n dispatch(\n closeDialog()\n );\n },\n [closePopup, dispatch],\n );\n\n const getCustomerImages = useCallback(\n () => {\n return deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.imageURLs ? deliveryInformation.deliveryProof.imageURLs.map((image: any, index: number) => (\n \"customer-delivery-proofs\"\n )) : null;\n },\n [deliveryInformation],\n );\n\n const closeUpdateAddressPopup = useCallback(\n () => {\n setOpenCustomerAddressPopup(false);\n },\n [],\n );\n\n const closeConsignmentEditPopup = useCallback(\n () => {\n setOpenConsignmentEditPopup(false);\n },\n [],\n );\n\n const handleUpdateAddress = (params: any) => {\n if (params === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n setOpenCustomerAddressPopup(true);\n } else {\n setOpenInfoSnackbar(true);\n }\n }\n\n const handleEditPopup = useCallback(\n () => {\n dispatch(\n resetReplanningSuccess()\n )\n setOpenConsignmentEditPopup(true);\n },\n [dispatch],\n );\n\n const updateNewAddress = useCallback(\n (params: any, consignmentId) => {\n const payload = createPayloadForUpdatingCustAddress(params, consignmentId.id);\n dispatch(\n updateCustomerAddress({\n params: payload\n })\n );\n closeUpdateAddressPopup();\n },\n [dispatch, closeUpdateAddressPopup]\n )\n\n const handleUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'submit') {\n updateNewAddress(params.values, params.consignmentId);\n } else {\n if (params.type === 'cancel') {\n closeUpdateAddressPopup();\n }\n }\n },\n [updateNewAddress, closeUpdateAddressPopup]\n )\n\n const handleSnackbarClose = useCallback(\n () => {\n dispatch(\n updateAddressSuccess()\n );\n },\n [dispatch],\n );\n\n const handleInfoSnackbarClose = () => {\n setOpenInfoSnackbar(false);\n }\n\n const handleDeliverySlotsForVT = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchVTSlotDropdownValues({\n countryCode: countryCode\n })\n );\n },\n [dispatch]\n );\n\n const getHistoryTimelineItems = () => {\n return historyItems && historyItems.length ? historyItems.map((item: any, index: number) => (\n < TimelineItem key={`${item.statusCode} - ${index}`} className=\"timelineItem\" >\n \n {index === 0 ?\n \n \n \n :\n \n \n \n }\n {index !== historyItems.length - 1 && }\n \n \n {item.statusName}{`(${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n {\n item.reason ? (\n \n {item.reason ? item.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n ) :\n consignment.reason && consignment.reason.deliveryStatus === item.statusCode ? (\n \n {consignment.reason ? consignment.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n ) : \"\"\n }\n \n \n )) : (No Items to display)\n }\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {isFromViewRoute\n ? checkEditable() &&\n !isEditIcon && (\n \n \n \n )\n : checkEditable() &&\n isDisplayStatusEditable(metadata) && (\n \n \n \n )}\n \n )}\n \n \n {\n (deliveryInformation && deliveryInformation.carrierTrackingId) || consignment.orderReference ? (\n \n \n {\n deliveryInformation && deliveryInformation.carrierTrackingUrl ?\n
\n {`Live Tracking (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n
\n :\n {`Track Consignment (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n }\n
\n\n
\n ) : \"\"\n }\n
\n
\n
\n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n Customer Details\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {checkEditable() && (\n \n handleUpdateAddress(metadata && metadata.displayRouteStatus)}\n component={editIcon}\n />\n \n )}\n \n )}\n \n
\n \n {custInfo && custInfo.name}\n {Object.keys(updatedAddress.address).length !== 0 ? (\n {getAddressInfo(updatedAddress.address || \"\")} \n ) : (\n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")} )}\n
\n Lat/Long :\n {getLatLong(custInfo && custInfo.address ? custInfo.address : \"\")}\n
\n
\n Landmark :\n {Object.keys(updatedAddress.address).length !== 0 ? (\n {updatedAddress.address ? updatedAddress.address.landmark : \"\"}\n ) : (\n {custInfo && custInfo.address ? custInfo.address.landmark : \"\"}\n )}\n
\n
\n Delivery Instructions :\n {deliveryInformation ? deliveryInformation.deliveryInstructions : \"\"}\n
\n
\n \n \n \n setToggleCustMap(!toggleCustMap)}>\n View Geocoded Address\n \n \n \n \n \n {\n custGeoLocation ? (\n \n ) : \"\"\n }\n \n \n \n \n \n \n \n \n \"Mobile\"\n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n \n \n \n \n }\n aria-controls=\"hub-address-header\"\n id=\"hub-address-header\"\n className={classes.accordionSummary}\n >\n Hub Address\n \n\n \n \n \n {hubName}\n {getAddressInfo(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n Lat/Long:\n {getLatLong(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n \n \n setToggleSellerMap(!toggleSellerMap)}>\n View Geocoded Address\n \n \n \n \n \n {\n custGeoLocation ? (\n \n ) : \"\"\n }\n \n \n \n \n \n \n \n \n \"Mobile\"\n {posInfo ? {posInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {posInfo ? {posInfo.email || \"\"} : \"\"}\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode}\n \n \n \n \n \n \n Delivery Date\n \n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.deliveryInformation ?\n {moment(consignmentDataAfterReplanning.deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT)}\n :\n {deliveryDate}\n }\n \n \n \n \n \n \n Delivery Slot\n \n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.deliveryInformation ?\n {transformSlotValue(consignmentDataAfterReplanning.deliveryInformation.deliverySlot.deliverySlotTime)}\n :\n {deliverySlot}\n }\n \n \n \n \n \n \n \n \n \n \n Delivery Proposition\n \n \n {metadata ? metadata.deliveryType : \"\"}\n \n \n \n \n \n \n Payment Mode\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Area\n \n \n {Object.keys(updatedAddress.address).length !== 0 ? (\n {updatedAddress.address ? updatedAddress.address.area : \"\"}\n ) : (\n {custInfo && custInfo.address ? custInfo.address.area : \"\"}\n )}\n \n \n \n \n \n {\n metadata && metadata.routeName &&\n \n \n \n \n \n Route No.\n \n \n {metadata.routeName}\n \n \n \n \n \n \n Driver\n \n \n {deliveryInformation && deliveryInformation.driver && deliveryInformation.driver.name}\n \n \n \n \n \n \n Vehicle Type\n \n \n {deliveryInformation && deliveryInformation.vehicle && deliveryInformation.vehicle.name}\n \n \n \n \n \n }\n \n \n \n \n }\n aria-controls=\"delivery-proof-content\"\n id=\"delivery-proof-header\"\n className={classes.accordionSummary}\n >\n Proof of Delivery\n \n \n \n \n \n \n \n \n \n Images\n \n \n \n \n {getCustomerImages()}\n \n \n \n \n \n \n \n \n Customer's Signature\n \n \n \n {\n deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.signURL &&\n \n \"customer-signature\"\n \n }\n \n \n \n \n \n \n \n \n \n Comments:\n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.deliveryInformation && consignmentDataAfterReplanning.deliveryInformation.deliveryProof ?\n (\n \n {consignmentDataAfterReplanning.deliveryInformation.deliveryProof ? consignmentDataAfterReplanning.deliveryInformation.deliveryProof.comments : \"\"}\n \n ) : (\n \n {deliveryInformation && deliveryInformation.deliveryProof ? deliveryInformation.deliveryProof.comments : \"\"}\n \n )\n }\n \n \n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Consignment History\n \n \n \n \n {getHistoryTimelineItems()}\n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Items Summary ({items && items.length})\n \n \n \n \n \n \n \n Product Name\n \n \n Rejected Qty\n \n \n Shipped/Ordered Qty\n \n \n Unit Price\n \n \n \n {getItems()}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n {deliveryInformation && metadata ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n {metadata && \n (metadata.paymentType === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ? (\n <>\n \n \n \n \n \n Amount to be Collected\n \n \n {metadata ? `${fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Collected Amount\n \n \n {metadata ? `${fixDecimals(2, metadata.collectedAmount ? metadata.collectedAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n ): null}\n \n \n \n \n \n );\n }\n\n useEffect(() => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0) {\n let consignmentCode = consignmentDataAfterReplanning && consignmentDataAfterReplanning.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n }, [consignmentDataAfterReplanning, dispatch])\n\n useEffect(() => {\n if (consignment != null) {\n handleStatusHistoryAndProducts(consignment);\n handleDeliverySlotsForVT(countryCode);\n }\n }, [handleStatusHistoryAndProducts, handleDeliverySlotsForVT, consignment, countryCode]);\n\n\n return (\n <>\n \n \n \n \n \n \n )\n}\n\nexport default ValetTrolleyOrderDetails;","import { Accordion, AccordionDetails, AccordionSummary, Button, Checkbox, Divider, Grid, IconButton, InputAdornment, Step, StepLabel, Stepper, SvgIcon, Tab, Tabs, Typography } from '@material-ui/core';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Loader from '../common/Loader';\nimport { AppState } from '../config/redux/reducers';\nimport { StepperTimelineConnector, useStyles } from './CreateRoute.styles';\nimport { ReactComponent as searchIcon } from './../assets/icons/search-icon-small.svg';\nimport { ReactComponent as refreshIcon } from './../assets/icons/refresh-icon.svg';\nimport { ReactComponent as consignmentsIcon } from './../assets/icons/consignments-icon.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as mapViewIcon } from './../assets/icons/map-view-icon.svg';\nimport { ReactComponent as listViewIcon } from './../assets/icons/list-view-icon.svg';\nimport { ReactComponent as areaTimelineIcon } from './../assets/icons/timeline-area-icon.svg';\nimport { ReactComponent as infoWarningIcon } from './../assets/icons/info-warning-icon.svg';\nimport mapHubIcon from './../assets/icons/timeline-area-icon.svg';\nimport mapItemIcon from './../assets/icons/map-item-icon.svg';\nimport { ReactComponent as lockIcon } from './../assets/icons/lock-icon.svg';\nimport { ReactComponent as walletIcon } from './../assets/icons/wallet-icon.svg';\nimport { ReactComponent as mobileIcon } from './../assets/icons/mobile-icon.svg';\nimport { ReactComponent as locationIcon } from './../assets/icons/location-icon.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow-icon.svg';\nimport { ReactComponent as infoErrorIcon } from './../assets/icons/info-error-icon.svg';\nimport { ReactComponent as timeSlotIcon } from './../assets/icons/time-slot-icon.svg';\nimport { ReactComponent as userIcon } from './../assets/icons/user-icon.svg';\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport calendarIcon from './../assets/icons/calendar-icon.svg';\nimport { TabContext, TabPanel, Timeline, TimelineConnector, TimelineContent, TimelineDot, TimelineItem, TimelineSeparator } from '@material-ui/lab';\nimport AppConstants from '../constants';\nimport SelectBox, { SelectItemProps } from '../common/SelectBox';\nimport { calculateTransitTime, createDraftRoutePayload, createGetAllDropdownsPayload, createGetAllPlannedRoutesPayload, createRouteCreationPayload, createUpdateOrderStatusPayload, getAllAreasAndSlots, getConsignmentData, getDiscardRoutePayload, getTotalCrates, transformRouteConsignments, getAddressInfo, getRouteStatusField, getConsignmentStatusField, checkTerminalStatus } from '../mocks/valetTrolley/response.transforms';\nimport { createDraftRoute, createAndEditRoute, fetchAllDrivers, fetchAllHelpers, fetchAllVehicles, fetchAllPlannedRoutes, updateConsignmentStatus, discardRouteChanges, resetPlanningError, updateAllConsignmentsState, loadAllSlots, clearCurrentSlot, fetchRouteConsignments, clearUpdatedRoute } from './redux/valetTrolleySlice';\nimport DateRangePickerComponent from '../common/DateRangeComponent';\nimport moment from 'moment';\nimport CustomSnackbar from '../common/CustomSnackbar';\nimport { userLogout } from '../Login/redux/loginSlice';\nimport { getMatchingValues, getSlotUIValue, getUniqueValues, highlightTextWithClass, isEqualArrays, convertTime, getDifferenceValues } from '../utils/helpers.utils';\nimport { Prompt, useHistory } from 'react-router';\nimport TextBox from '../common/TextBox';\nimport _ from 'lodash';\nimport CustomDialog from '../common/Dialog';\nimport ValetTrolleyOrderDetails from \"./ValetTrolleyOrderDetails\";\nimport MapContainer from 'common/GoogleMapContainer';\nimport CustomTooltip from 'common/Tooltip';\nimport { COLORS } from 'config/theme/baseTheme';\n\ninterface CreateRouteProps {\n location?: any;\n match?: any;\n editMode?: boolean;\n viewMode?: boolean;\n}\n\nconst CreateRoute = (props: CreateRouteProps) => {\n const classes = useStyles();\n\n const dispatch = useDispatch();\n\n const { editMode, viewMode, match, location } = props;\n\n const history = useHistory();\n const { loading, draftRoute, areawiseConsignments, slotwiseConsignments, allConsignments, routeConsignments, slotwisePlannedRoutes, driversList, helpersList, vehiclesList, vehiclesData, routeCreateSuccess, updatedRoute, routeDiscardSuccess, currentSlot, slotsList, consignmentStatusList, error, errorCode } = useSelector(\n (state: AppState) => state.valetTrolley\n );\n\n const { mapRouteDirections, countryCode, hubData } = useSelector(\n (state: AppState) => state.common\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n const [tabValue, setTabValue] = useState(location.state && location.state.tabValue ? location.state.tabValue : AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED);\n const shouldBlockNavigationRef = useRef(false);\n const autoRefreshMapRef = useRef(false);\n const hubNameRef = useRef(location.state && location.state.hubName);\n const onLoadRef = useRef(false);\n const filterChangeRef = useRef(false);\n const [autoRefreshMap, setAutoRefreshMap] = useState(false);\n const [optimizeMapRoute, setOptimizeMapRoute] = useState(false);\n const [updateMap, setUpdateMap] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [noRedirect, setNoRedirect] = useState(false);\n const [shouldBlockNavigation, setShouldBlockNavigation] = useState(false);\n const [isListView, setIsListView] = useState(true);\n const [draggingItem, setDraggingItem] = useState(false);\n const [toggleAllDropdownExpanded, setToggleAllDropdownExpanded] = useState(false);\n const [mapMarkers, setMapMarkers] = useState([]);\n const [consignmentsSequence, setConsignmentsSequence] = useState({});\n const [lastSequenceNumber, setLastSequenceNumber] = useState(0);\n const [openDiscardConfirmDialog, setOpenDiscardConfirmDialog] = useState(false);\n const [openDateChangeConfirmDialog, setOpenDateChangeConfirmDialog] = useState(false);\n const [openUpdateConfirmDialog, setOpenUpdateConfirmDialog] = useState(false);\n const [openCapacityBreachConfirmDialog, setOpenCapacityBreachConfirmDialog] = useState(false);\n const [capacityBreachPopupMsg, setCapacityBreachPopupMsg] = useState('');\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [consignmentExpanded, setConsignmentExpanded] = useState([]);\n const [searchedConsignmentExpanded, setSearchedConsignmentExpanded] = useState([]);\n const [consignmentSearchValue, setConsignmentSearchValue] = useState('');\n const [statusValue, setStatusValue] = useState([]);\n const [slotValue, setSlotValue] = useState([]);\n const [driverValue, setDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [helperValue, setHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [vehicleValue, setVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeDriverValue, setRouteDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeHelperValue, setRouteHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeVehicleValue, setRouteVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [isPlannedRoute, setIsPlannedRoute] = useState(false);\n const [selectableConsignments, setSelectableConsignments] = useState({ ...slotwiseConsignments });\n const [checkedConsignments, setCheckedConsignments] = useState({} as any);\n const [selectedRoute, setSelectedRoute] = useState({} as any);\n const [selectedConsignments, setSelectedConsignments] = useState({} as any);\n const [unplannedConsignmentsData, setUnplannedConsignmentsData] = useState({\n selectedConsignments: {},\n consignmentsSequence: {}\n } as any);\n const [plannedConsignmentsData, setPlannedConsignmentsData] = useState({\n selectedConsignments: {},\n consignmentsSequence: {}\n } as any);\n const [currentDate, setCurrentDate] = useState({\n startDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT)\n });\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const isEditIcon = (location.state && location.state.route && location.state.route.displayRouteStatus && location.state.route.displayRouteStatus !== AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP);\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const confirmWithTitleDialogProps = {\n classes: {\n root: classes.confirmWithTitleDialogPaperPropsRoot\n }\n };\n\n const getAllPlannedRoutes = useCallback(\n (params: any) => {\n const payload = createGetAllPlannedRoutesPayload(params);\n dispatch(\n fetchAllPlannedRoutes({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const handleRefreshPlannedRoutes = useCallback(\n () => {\n getAllPlannedRoutes({\n date: currentDate,\n hubCode: location.state.hubCode,\n });\n },\n [currentDate, location.state.hubCode, getAllPlannedRoutes],\n );\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n setAutoRefreshMap(true);\n if (value === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED) {\n setPlannedConsignmentsData({\n selectedConsignments: { ...selectedConsignments },\n consignmentsSequence: { ...consignmentsSequence }\n });\n setSelectedConsignments(unplannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(unplannedConsignmentsData.consignmentsSequence);\n } else {\n setUnplannedConsignmentsData({\n selectedConsignments: { ...selectedConsignments },\n consignmentsSequence: { ...consignmentsSequence }\n });\n setSelectedConsignments(plannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(plannedConsignmentsData.consignmentsSequence);\n handleRefreshPlannedRoutes();\n }\n },\n [consignmentsSequence, selectedConsignments, unplannedConsignmentsData, plannedConsignmentsData, handleRefreshPlannedRoutes],\n );\n\n const toggleListView = useCallback(\n (type: string) => {\n setIsListView(type === 'map' ? false : true);\n if (type === 'map') {\n setAutoRefreshMap(true);\n }\n },\n [],\n );\n\n const setExpandedConsignments = useCallback(\n (consignments: string[], isSearch?: boolean) => {\n const expandedConsignments = getUniqueValues(consignments);\n isSearch ? setSearchedConsignmentExpanded(expandedConsignments) : setConsignmentExpanded(expandedConsignments);\n },\n [],\n )\n\n const handleSearchedAccordionChange = useCallback(\n (searchValue: string) => {\n if (searchValue) {\n let expandedConsignments: string[] = [];\n let searchedConsignments = allConsignments.filter((item: any) => {\n const consignmentValue = highlightTextWithClass(searchValue, item.code);\n const address = getAddressInfo(item.data && item.data.deliveryInformation ? item.data.deliveryInformation.customerContactInfo.address : \"\");\n const addressValue = highlightTextWithClass(searchValue, address);\n const areaValue = highlightTextWithClass(searchValue, item.area);\n return consignmentValue.indexOf('highlightText') > -1 || addressValue.indexOf('highlightText') > -1 || areaValue.indexOf('highlightText') > -1;\n });\n if (searchedConsignments.length) {\n searchedConsignments.forEach((consignment: any) => {\n const slotIndex = expandedConsignments.indexOf(consignment.slot);\n const areaIndex = expandedConsignments.indexOf(consignment.area);\n if (slotIndex === -1) {\n expandedConsignments.push(`${consignment.area}-${consignment.slot}`);\n }\n if (areaIndex === -1) {\n expandedConsignments.push(consignment.area);\n }\n });\n } else {\n expandedConsignments = [];\n }\n setExpandedConsignments(expandedConsignments, true);\n }\n },\n [allConsignments, setExpandedConsignments],\n );\n\n const debounceConsignmentSearch = _.debounce((searchValue: string) => {\n handleSearchedAccordionChange(searchValue);\n }, 500);\n\n const handleSearch = useCallback(\n (event: React.ChangeEvent) => {\n const searchValue = event.target.value;\n setConsignmentSearchValue(searchValue);\n debounceConsignmentSearch(searchValue);\n },\n [debounceConsignmentSearch],\n );\n\n const handleConsignmentAccordionChange = useCallback(\n (itemObj: any, isSlot?: boolean) => (event: any, isExpanded: boolean) => {\n let expandedConsignments = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n const id = isSlot ? `${itemObj.area}-${itemObj.code}` : itemObj.code;\n const idIndex = expandedConsignments.indexOf(id);\n const allSlotItems = !isSlot ? Object.keys(slotwiseConsignments[itemObj.code]) : [];\n if (isExpanded) {\n expandedConsignments.push(id);\n if (allSlotItems.length) {\n expandedConsignments = [...expandedConsignments, ...allSlotItems.map(item => `${itemObj.code}-${item}`)];\n }\n } else {\n if (idIndex > -1) {\n expandedConsignments.splice(idIndex, 1);\n }\n }\n\n consignmentSearchValue ? setExpandedConsignments(expandedConsignments, true) : setExpandedConsignments(expandedConsignments);\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded, slotwiseConsignments, setExpandedConsignments],\n );\n\n const checkExpanded = useCallback(\n (item: any, isSlot?: boolean) => {\n const idsToCheck = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n let expanded = false;\n const itemId = isSlot ? `${item.area}-${item.code}` : item.code;\n if (item) {\n if (idsToCheck.length) {\n expanded = idsToCheck.indexOf(itemId) > -1;\n } else {\n expanded = false;\n }\n }\n return expanded;\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded],\n )\n\n const getAllSelectedConsignments = useCallback(\n () => {\n let consignments: any[] = [];\n if (selectedConsignments) {\n Object.keys(selectedConsignments).forEach((areaKey: string) => {\n const slots = selectedConsignments[areaKey];\n Object.keys(slots).forEach((slotKey: string) => {\n consignments = [...consignments, ...slots[slotKey].filter((item: any) => item.value !== AppConstants.SELECT_ALL.value)];\n });\n });\n }\n return consignments;\n },\n [selectedConsignments],\n );\n\n const calculateCapacityBreach = useCallback(\n (type: string) => {\n let capacityBreach = false;\n if (vehiclesData && vehicleValue !== AppConstants.SELECT_NONE.value) {\n let selectedVehicle = vehiclesData.filter((vehicle: any) => vehicle.id === vehicleValue);\n if (selectedVehicle.length) {\n selectedVehicle = selectedVehicle[0];\n const allSelectedConsignments = getAllSelectedConsignments();\n switch (type) {\n case 'consignments':\n capacityBreach = allSelectedConsignments.length > selectedVehicle.orderCapacity;\n break;\n case 'crates':\n capacityBreach = getTotalCrates(allSelectedConsignments) > selectedVehicle.crateCapacity;\n break;\n case 'transitTime':\n capacityBreach = false;\n break\n default:\n break;\n }\n }\n }\n return capacityBreach;\n },\n [getAllSelectedConsignments, vehicleValue, vehiclesData],\n )\n\n const updateHighlightSearch = useCallback(\n (item: any) => {\n let returnValue = item.code;\n if (consignmentSearchValue) {\n returnValue = highlightTextWithClass(consignmentSearchValue, item.code);\n }\n return returnValue;\n },\n [consignmentSearchValue],\n );\n\n const handleConSelectChange = useCallback(\n (newValues: any, slot: string, area: string) => {\n let selected: any[] = [];\n const selectedValues = newValues[area][slot];\n const previous = selectedConsignments[area][slot].map((item: any) => item.value);\n const selectable = selectableConsignments[area][slot].filter((item: any) => item.status !== 'DRAFTED');\n if (selectedValues.length) {\n selectable.forEach((selItem: any) => {\n selectedValues.forEach((item: any) => {\n if (selItem.value === item) {\n selected.push(selItem);\n }\n })\n })\n }\n const selectAllIdx = selectedValues.indexOf(AppConstants.SELECT_ALL.value);\n const selectAllPreviousIdx = previous.indexOf(AppConstants.SELECT_ALL.value);\n if (selectAllIdx > -1) {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = selected.filter((item: any) => (item.value !== AppConstants.SELECT_ALL.value && item.status !== 'DRAFTED'));\n } else {\n selected = selectable.slice().filter((item: any) => item.status !== 'DRAFTED');\n }\n }\n } else {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = [];\n } else if (selected.length === selectable.length - 1) {\n selected = selectable.slice().filter((item: any) => item.status !== 'DRAFTED');\n }\n }\n }\n if (!selected.length) {\n selected = [];\n }\n setSelectedConsignments({ ...selectedConsignments, [area]: { ...selectedConsignments[area], [slot]: selected } });\n setCheckedConsignments({ ...checkedConsignments, [area]: { ...checkedConsignments[area], [slot]: selected.map((item: any) => item.value) } })\n let defaultConsignments = [AppConstants.SELECT_ALL];\n if (editMode) {\n defaultConsignments = draftRoute.route && draftRoute.route.consignmentsIds ? [AppConstants.SELECT_ALL, ...draftRoute.route.consignmentsIds.map((item: string) => {\n return {\n value: item\n }\n })] : [AppConstants.SELECT_ALL]\n }\n let allPreviousSelectedConsignments = getAllSelectedConsignments();\n const currentSlotPreviousConsignments = allPreviousSelectedConsignments.filter((con: any) => con.area === area && con.slot === slot);\n allPreviousSelectedConsignments = _.difference(allPreviousSelectedConsignments, currentSlotPreviousConsignments);\n const allSelectedConsignments = [...allPreviousSelectedConsignments, ...selected];\n sessionStorage.setItem('extraConsignments', JSON.stringify(getDifferenceValues(allSelectedConsignments, defaultConsignments).map((item: any) => item.value)));\n },\n [selectableConsignments, selectedConsignments, checkedConsignments, draftRoute, editMode, getAllSelectedConsignments],\n );\n\n const updateOrderStatus = useCallback(\n (params: any) => {\n if (params.consignments.length) {\n const payload = createUpdateOrderStatusPayload(params);\n dispatch(\n updateConsignmentStatus({\n payload: payload\n })\n );\n }\n },\n [dispatch],\n );\n\n const handleConsignmentSequense = useCallback(\n (consignment: any, isNew: boolean, seqParams: any) => {\n if (consignment) {\n let lastSeqNo: number = seqParams.lastSeqNo;\n let newSequencedCons = { ...seqParams.allSequencedCons };\n if (isNew) {\n newSequencedCons[consignment.id] = {\n id: consignment.id,\n seq: ++lastSeqNo\n }\n } else {\n delete newSequencedCons[consignment.id];\n --lastSeqNo;\n Object.keys(newSequencedCons).forEach((id: string) => {\n const cons = newSequencedCons[id];\n if (id !== consignment.id && cons.seq >= consignment.seq) {\n newSequencedCons[id].seq -= 1;\n }\n });\n }\n seqParams.lastSeqNo = lastSeqNo;\n seqParams.allSequencedCons = newSequencedCons;\n }\n return seqParams;\n },\n [],\n );\n\n const addSequence = useCallback(\n (consignments: any[], status: string, params: any) => {\n let seqParams = _.cloneDeep(params);\n if (consignments.length) {\n let sequencedCons = seqParams.allSequencedCons;\n consignments.forEach((id: any) => {\n let isNew = status === 'PLANNED';\n let consignment = isNew ? {\n id: id\n } : sequencedCons[id];\n seqParams = handleConsignmentSequense(consignment, isNew, seqParams);\n });\n }\n return seqParams;\n },\n [handleConsignmentSequense],\n )\n\n const handleCheckboxToggle = useCallback(\n (event: React.MouseEvent, value: any, isSlot: boolean) => {\n event.stopPropagation();\n const currentSlot = isSlot ? value.code : value.slot;\n const currentArea = value.area;\n const currentValue = isSlot ? AppConstants.SELECT_ALL.value : value.code;\n const currentIndex = checkedConsignments[currentArea][currentSlot].indexOf(currentValue);\n const newCheckedConsignments = [...checkedConsignments[currentArea][currentSlot]];\n let consignments = [];\n let status = '';\n if (currentIndex === -1) {\n status = 'PLANNED';\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot].slice().filter((item: any) => item.status !== 'DRAFTED').map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.push(currentValue);\n } else {\n status = 'UNPLANNED';\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot].slice().filter((item: any) => item.status !== 'DRAFTED').map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.splice(currentIndex, 1);\n }\n updateOrderStatus({\n consignments: consignments,\n status: status,\n routeId: draftRoute.route.id\n });\n let seqParams: any = {\n allSequencedCons: _.cloneDeep(consignmentsSequence),\n lastSeqNo: lastSequenceNumber\n };\n if (isSlot && status === 'PLANNED') {\n const alreadySelectedCons = getMatchingValues(checkedConsignments[currentArea][currentSlot], consignments);\n seqParams = addSequence(alreadySelectedCons, 'UNPLANNED', seqParams);\n }\n seqParams = addSequence(consignments, status, seqParams);\n autoRefreshMapRef.current = false;\n setOptimizeMapRoute(false);\n setAutoRefreshMap(false);\n setUpdateMap(false);\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } });\n handleConSelectChange({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } }, currentSlot, currentArea);\n },\n [checkedConsignments, draftRoute, slotwiseConsignments, consignmentsSequence, lastSequenceNumber, addSequence, handleConSelectChange, updateOrderStatus],\n );\n\n const getRouteConsignments = useCallback(\n (id: string) => {\n dispatch(\n fetchRouteConsignments({\n id: id\n })\n );\n },\n [dispatch],\n );\n\n const handleRouteSelection = useCallback(\n (route: any) => {\n setSelectedRoute(route);\n if (route.data.assignee) {\n setRouteDriverValue(route.data.assignee.id);\n } else {\n setRouteDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (route.data.helper) {\n setRouteHelperValue(route.data.helper.id);\n } else {\n setRouteHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (route.data.assignedVehicle) {\n setRouteVehicleValue(route.data.assignedVehicle.id);\n } else {\n setRouteVehicleValue(AppConstants.SELECT_NONE.value);\n }\n getRouteConsignments(route.code);\n },\n [getRouteConsignments],\n )\n\n const handleDriverChange = useCallback(\n (value: any) => {\n setDriverValue(value);\n },\n [],\n );\n\n const handleRouteDriverChange = useCallback(\n (value: any) => {\n setRouteDriverValue(value);\n },\n [],\n );\n\n const handleHelperChange = useCallback(\n (value: any) => {\n setHelperValue(value);\n },\n [],\n );\n\n const handleRouteHelperChange = useCallback(\n (value: any) => {\n setRouteHelperValue(value);\n },\n [],\n );\n\n const handleVehicleChange = useCallback(\n (value: any) => {\n setVehicleValue(value);\n },\n [],\n );\n\n const handleRouteVehicleChange = useCallback(\n (value: any) => {\n setRouteVehicleValue(value);\n },\n [],\n );\n\n const getAllSlots = useCallback(\n (params: any) => {\n const payload = createDraftRoutePayload(params);\n dispatch(\n loadAllSlots({\n params: payload\n })\n );\n },\n [dispatch],\n );\n\n const handleCreateDraftRoute = useCallback(\n (params: any) => {\n const payload = createDraftRoutePayload({\n date: currentDate,\n slotValue: params.slots,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue\n });\n dispatch(\n createDraftRoute({\n params: payload\n })\n );\n },\n [editMode, currentDate, location.state.hubCode, dispatch],\n );\n\n const initializeRoute = useCallback(\n (params: any) => {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n if (!viewMode) {\n if (filterChangeRef.current) {\n handleCreateDraftRoute({\n slots: params.slotValue,\n statusValue: params.statusValue\n });\n } else {\n getAllSlots({\n date: params.date,\n slotValue: params.slotValue,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue,\n });\n }\n if (!editMode) {\n setDriverValue(AppConstants.SELECT_NONE.value);\n setHelperValue(AppConstants.SELECT_NONE.value);\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n } else {\n //call route api and set selected cons\n getRouteConsignments(match.params.id);\n }\n },\n [editMode, viewMode, match, location.state.hubCode, getRouteConsignments, handleCreateDraftRoute, getAllSlots],\n );\n\n const handleChangeRoute = useCallback(\n (params: any) => {\n if (!filterChangeRef.current) {\n onLoadRef.current = true;\n setSlotValue([AppConstants.SELECT_NONE.value]);\n }\n initializeRoute({\n date: params.date,\n slotValue: params.slotValue,\n statusValue: params.statusValue\n });\n setSelectedConsignments({});\n setSelectedRoute({});\n setUnplannedConsignmentsData({\n selectedConsignments: {},\n consignmentsSequence: {}\n });\n setPlannedConsignmentsData({\n selectedConsignments: {},\n consignmentsSequence: {}\n });\n setConsignmentSearchValue('');\n setExpandedConsignments([], true);\n setExpandedConsignments([]);\n setToggleAllDropdownExpanded(false);\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n history.replace({ ...location, state: { ...location.state, plannedDate: moment(params.date.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_BACKEND) } })\n },\n [history, location, initializeRoute, setExpandedConsignments],\n );\n\n const handleStatusChange = useCallback(\n (value: any) => {\n filterChangeRef.current = true;\n setStatusValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: value\n });\n }\n },\n [currentDate, slotValue, shouldBlockNavigation, handleChangeRoute],\n );\n\n const handleSlotChange = useCallback(\n (value: any) => {\n onLoadRef.current = false;\n filterChangeRef.current = true;\n setSlotValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: currentDate,\n statusValue: statusValue,\n slotValue: value\n });\n }\n },\n [currentDate, statusValue, shouldBlockNavigation, handleChangeRoute],\n )\n\n const getSelectedValue = useCallback(\n (item: any, isSlot: boolean) => {\n const slot = isSlot ? item.code : item.slot;\n const area = item.area;\n let selectedValues = [];\n if (selectedConsignments[area] && selectedConsignments[area][slot] && selectedConsignments[area][slot].length) {\n selectedValues = selectedConsignments[area][slot].map((con: any) => con.value);\n }\n return selectedValues.indexOf(isSlot ? AppConstants.SELECT_ALL.value : item.value) > -1;\n },\n [selectedConsignments],\n );\n\n const getChangeDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getDiscardDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to discard changes?\n \n \n )\n };\n\n const getChangeDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to continue?\n \n \n )\n };\n\n const handleDiscardDialogClose = useCallback(\n () => {\n setOpenDiscardConfirmDialog(false);\n },\n [],\n );\n\n const handleChangeDialogClose = useCallback(\n () => {\n setOpenDateChangeConfirmDialog(false);\n },\n [],\n );\n\n const handleDiscardRoute = useCallback(\n (redirect?: boolean) => {\n const payload = getDiscardRoutePayload({\n previousCons: draftRoute.route ? draftRoute.route.consignmentsIds : []\n });\n dispatch(\n discardRouteChanges({\n params: payload,\n redirect: redirect\n })\n )\n },\n [dispatch, draftRoute],\n )\n\n const discardDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'discard') {\n setNoRedirect(false);\n handleDiscardRoute();\n }\n handleDiscardDialogClose();\n },\n [handleDiscardDialogClose, handleDiscardRoute],\n )\n\n const getDiscardDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getChangeDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getUpdateDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getCapacityBreachDialogTitleContent = () => {\n return (\n Capacity Breach\n )\n };\n\n const getCapacityBreachDialogDetailsContent = () => {\n return (\n \n \n {capacityBreachPopupMsg}\n \n \n )\n };\n\n const handleCapacityBreachDialogClose = useCallback(\n () => {\n setOpenCapacityBreachConfirmDialog(false);\n },\n [],\n )\n\n const handleConsignmentDetailsClick = useCallback(\n (data: any) => {\n setConsignmentData(data);\n setOpenConsignmentDetailsPopup(true);\n },\n [],\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n const getSeqSortedSelectedConsignments = useCallback(\n () => {\n let seqSelectedConsignments = getAllSelectedConsignments().map((consignment: any) => {\n return { ...consignment, seq: consignmentsSequence[consignment.code] ? consignmentsSequence[consignment.code].seq : lastSequenceNumber };\n });\n return _.sortBy(seqSelectedConsignments, 'seq');\n },\n [consignmentsSequence, lastSequenceNumber, getAllSelectedConsignments],\n );\n\n const createRoute = useCallback(\n () => {\n const payload = createRouteCreationPayload({\n consignments: getSeqSortedSelectedConsignments(),\n route: isPlannedRoute ? selectedRoute.data : draftRoute.route,\n selectedDriver: isPlannedRoute ? routeDriverValue : driverValue,\n selectedHelper: isPlannedRoute ? routeHelperValue : helperValue,\n selectedVehicle: isPlannedRoute ? routeVehicleValue : vehicleValue,\n date: currentDate.startDate,\n transitTime: calculateTransitTime(mapRouteDirections),\n mapRouteDirections: mapRouteDirections,\n });\n dispatch(\n createAndEditRoute({\n payload: payload,\n editMode: isPlannedRoute || editMode || false\n })\n );\n },\n [isPlannedRoute, routeDriverValue, routeHelperValue, routeVehicleValue, selectedRoute, currentDate, draftRoute, driverValue, editMode, helperValue, vehicleValue, mapRouteDirections, dispatch, getSeqSortedSelectedConsignments],\n );\n\n const capacityBreachDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'continue') {\n createRoute();\n }\n handleCapacityBreachDialogClose();\n },\n [createRoute, handleCapacityBreachDialogClose],\n )\n\n const getCapacityBreachDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getUpdateDialogDetailsContent = () => {\n return (\n \n \n {`Are you sure you want to update ${draftRoute.route && draftRoute.route.routeId}?`}\n \n \n The changes made here will affect existing routes and cannot be undone.\n \n \n )\n };\n\n const handleUpdateDialogClose = useCallback(\n () => {\n setOpenUpdateConfirmDialog(false);\n },\n [],\n );\n\n const getCapacityBreachPopupMsg = useCallback(\n (capacityBreach: any) => {\n let msg = ''\n if (capacityBreach.consignments) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS;\n if (capacityBreach.crates) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.ALL_VALUES;\n }\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_TRANSIT_TIME;\n }\n }\n } else if (capacityBreach.crates) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES_AND_TRANSIT_TIME;\n }\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.TRANSIT_TIME;\n }\n }\n return msg;\n },\n [],\n )\n\n const handleCreateRoute = useCallback(\n (isCreateClicked?: boolean) => {\n if (isCreateClicked) {\n setIsPlannedRoute(false);\n }\n const capacityBreach = {\n consignments: calculateCapacityBreach('consignments'),\n crates: calculateCapacityBreach('crates'),\n transitTime: calculateCapacityBreach('transitTime')\n }\n if (capacityBreach.consignments || capacityBreach.crates || capacityBreach.transitTime) {\n setCapacityBreachPopupMsg(getCapacityBreachPopupMsg(capacityBreach));\n setOpenCapacityBreachConfirmDialog(true);\n } else {\n createRoute();\n }\n },\n [calculateCapacityBreach, createRoute, getCapacityBreachPopupMsg],\n )\n\n const updateDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n handleCreateRoute();\n }\n handleUpdateDialogClose();\n },\n [handleUpdateDialogClose, handleCreateRoute],\n )\n\n const getUpdateDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handleDiscardChanges = useCallback(\n () => {\n setOpenDiscardConfirmDialog(true);\n },\n [],\n )\n\n const handleUpdateRoute = useCallback(\n () => {\n setIsPlannedRoute(false);\n setOpenUpdateConfirmDialog(true);\n },\n [],\n );\n\n const handleUpdatePlannedRoute = useCallback(\n () => {\n setIsPlannedRoute(true);\n setOpenUpdateConfirmDialog(true);\n },\n [],\n )\n\n const getAllDrivers = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllDrivers({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllHelpers = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllHelpers({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllVehicles = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllVehicles({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllSelectedConsignmentsMarkers = useCallback(\n () => {\n const selectedSeqConsignments = getSeqSortedSelectedConsignments();\n let selectedHub: any = hubData[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode] ? hubData[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode].filter((hub: any) => hub.code === location.state.hubCode) : [];\n selectedHub = selectedHub.length ? selectedHub[0] : {\n code: location.state.hubCode,\n latitude: 0,\n longitude: 0\n };\n const hubDetails = {\n name: selectedHub.code,\n icon: mapHubIcon,\n location: {\n lat: parseFloat(selectedHub.latitude || 0),\n lng: parseFloat(selectedHub.longitude || 0)\n }\n };\n const markers = [hubDetails];\n const wayPoints = selectedSeqConsignments.map((consignmentItem: any) => {\n const location = consignmentItem.data && consignmentItem.data.deliveryInformation ? {\n lat: parseFloat(consignmentItem.data.deliveryInformation.customerContactInfo.address.latitude) || 0,\n lng: parseFloat(consignmentItem.data.deliveryInformation.customerContactInfo.address.longitude) || 0\n } : {\n lat: 0,\n lng: 0\n };\n const label = consignmentsSequence[consignmentItem.code] ? `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, '0') : \"\";\n return {\n name: consignmentItem.code,\n location: location,\n icon: mapItemIcon,\n label: {\n text: label,\n fontSize: \"10px\",\n fontWeight: \"600\",\n color: COLORS.WHITE\n }\n };\n });\n return [...markers, ...wayPoints];\n },\n [getSeqSortedSelectedConsignments, consignmentsSequence, countryCode, hubData, location.state.hubCode],\n );\n\n const handleRefreshMap = useCallback(\n () => {\n const markers: any[] = getAllSelectedConsignmentsMarkers();\n setMapMarkers(markers);\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const handleOptimizeMapRoute = useCallback(\n () => {\n setOptimizeMapRoute(true);\n handleRefreshMap();\n },\n [handleRefreshMap],\n );\n\n const disableOptimizeMapRoute = useCallback(\n () => {\n return getAllSelectedConsignmentsMarkers().length <= 1;\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const changeDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'proceed') {\n handleChangeRoute({\n date: currentDate,\n statusValue: statusValue,\n slotValue: slotValue\n });\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n handleChangeDialogClose();\n },\n [handleChangeDialogClose, handleChangeRoute, currentDate, statusValue, slotValue],\n );\n\n const handleDateChange = useCallback(\n (dateRange: any) => {\n filterChangeRef.current = false;\n setCurrentDate(dateRange);\n setSlotValue([AppConstants.SELECT_NONE.value]);\n setStatusValue([AppConstants.SELECT_NONE.value]);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: dateRange,\n statusValue: [],\n slotValue: []\n });\n }\n },\n [shouldBlockNavigation, handleChangeRoute],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n if (error) {\n dispatch(\n resetPlanningError()\n )\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(\n clearUpdatedRoute()\n )\n }\n },\n [dispatch, error, errorCode, updatedRoute]\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const getSelectedAreas = useCallback(\n (forTooltip?: boolean) => {\n const selectedAreas: string[] = getUniqueValues(getAllSelectedConsignments(), 'area');\n let returnValue: any = selectedAreas.slice();\n if (!forTooltip) {\n returnValue = selectedAreas.length ? selectedAreas.length > 1 ? `Multiple(${selectedAreas.length})` : selectedAreas[0] : \"\";\n }\n return returnValue;\n },\n [getAllSelectedConsignments],\n )\n\n const getSelectedAreasTooltip = useCallback(\n () => {\n const selectedAreas: any = getSelectedAreas(true);\n return selectedAreas.length && selectedAreas.map((area: string, index: number) => (\n {area}\n ));\n },\n [getSelectedAreas],\n );\n\n const getSelectedDeliverySlots = useCallback(\n (forTooltip?: boolean) => {\n const selectedSlots: string[] = getUniqueValues(getAllSelectedConsignments(), 'slot');\n let returnValue: any = selectedSlots.slice();\n if (!forTooltip) {\n if (selectedSlots.length) {\n const firstDelSlot: any = selectedSlots.length && selectedSlots[0].split('-');\n const slotValue = getSlotUIValue(firstDelSlot);\n returnValue = selectedSlots.length > 1 ? `Multiple(${selectedSlots.length})` : `${slotValue.startTime} - ${slotValue.endTime}`;\n } else {\n returnValue = \"\";\n }\n }\n return returnValue;\n },\n [getAllSelectedConsignments],\n );\n\n const getSelectedSlotsTooltip = useCallback(\n () => {\n const selectedSlots: any = getSelectedDeliverySlots(true);\n return selectedSlots.length && selectedSlots.map((slot: string, index: number) => {\n const delSlot = slot.split('-');\n const slotValue = getSlotUIValue(delSlot);\n return (\n {`${slotValue.startTime} - ${slotValue.endTime}`}\n )\n });\n },\n [getSelectedDeliverySlots],\n );\n\n const getCurrentSelectedDate = () => {\n return moment(currentDate.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT);\n };\n\n const checkEditRouteExtraConsignments = () => {\n let isEqual = false;\n if (draftRoute.route) {\n isEqual = isEqualArrays(draftRoute.route.consignmentsIds, getAllSelectedConsignments().map((item: any) => item.code));\n }\n return isEqual;\n }\n\n const disableCreateRt = () => {\n return !getAllSelectedConsignments().length;\n }\n\n const disableEditRt = () => {\n let disable = true;\n if (draftRoute.route) {\n const currentHelper = draftRoute.route.helper ? draftRoute.route.helper.id : AppConstants.SELECT_NONE.value;\n const currentDriver = draftRoute.route.assignee ? draftRoute.route.assignee.id : AppConstants.SELECT_NONE.value;\n const currentVehicle = draftRoute.route.assignedVehicle ? draftRoute.route.assignedVehicle.id : AppConstants.SELECT_NONE.value;\n if (!checkEditRouteExtraConsignments() || helperValue !== currentHelper || driverValue !== currentDriver || vehicleValue !== currentVehicle) {\n disable = false;\n }\n return disable;\n }\n\n return true;\n }\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n (e || window.event).returnValue = '';\n if (editMode) {\n handleDiscardRoute(true);\n }\n return '';\n }\n\n const handleOrderStatusOnUnload = (status: string, reset?: boolean) => {\n let consignments: any = sessionStorage.getItem('extraConsignments');\n consignments = consignments ? JSON.parse(consignments) : [];\n if (consignments.length) {\n updateOrderStatus({\n consignments: consignments,\n status: status,\n routeId: sessionStorage.getItem('routeId')\n });\n }\n if (reset) {\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n }\n };\n\n const onConsignmentsDragStart = useCallback(\n () => {\n setDraggingItem(true);\n },\n [],\n )\n\n const onConsignmentsDragEnd = useCallback(\n (result: any) => {\n setDraggingItem(false);\n const { destination, source } = result;\n if (!destination) {\n return;\n }\n if (destination.droppableId === source.droppableId && destination.index === source.index) {\n return;\n }\n let updatedConsignments = getSeqSortedSelectedConsignments();\n const [deletedItem] = updatedConsignments.splice(source.index, 1);\n updatedConsignments.splice(destination.index, 0, deletedItem);\n updatedConsignments = updatedConsignments.map((item: any) => item.code);\n const seqParams = addSequence(updatedConsignments, 'PLANNED', {\n allSequencedCons: {},\n lastSeqNo: 0\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setUpdateMap(false);\n setOptimizeMapRoute(false);\n },\n [addSequence, getSeqSortedSelectedConsignments],\n );\n\n const getMapCenter = useCallback(\n () => {\n return getAllSelectedConsignmentsMarkers().length ? getAllSelectedConsignmentsMarkers()[0].location : {\n lat: 0,\n lng: 0\n };\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const toggleAllDropdowns = useCallback(\n () => {\n const isExpanded = !toggleAllDropdownExpanded;\n const allAreasAndSlots: string[] = getAllAreasAndSlots(areawiseConsignments);\n if (isExpanded) {\n setExpandedConsignments(allAreasAndSlots, consignmentSearchValue ? true : false);\n } else {\n setExpandedConsignments([], consignmentSearchValue ? true : false);\n }\n setToggleAllDropdownExpanded(isExpanded);\n },\n [toggleAllDropdownExpanded, areawiseConsignments, consignmentSearchValue, setExpandedConsignments],\n );\n\n const updateAllConsignments = useCallback(\n (consignments: any) => {\n dispatch(\n updateAllConsignmentsState({\n consignments: consignments\n })\n );\n },\n [dispatch],\n )\n\n const updateConsignments = useCallback(\n async () => {\n const consignments = await getConsignmentData(draftRoute.statusOrders);\n updateAllConsignments({ ...consignments, loading: false });\n getAllDrivers({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n getAllHelpers({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n getAllVehicles({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n },\n [getAllDrivers, getAllHelpers, getAllVehicles, updateAllConsignments, draftRoute, currentDate],\n )\n\n const getCurrentAreaConsignments = useCallback(\n (areaCode: string) => {\n return allConsignments.filter((item: any) => item.area === areaCode);\n },\n [allConsignments],\n );\n\n /* const getAreaTotalCrates = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${getTotalCrates(allAreaConsignments)}`;\n },\n [getCurrentAreaConsignments],\n ); */\n\n const getAreaTotalConsignments = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${allAreaConsignments.length}`;\n },\n [getCurrentAreaConsignments],\n );\n\n const getTransitTime = useCallback(\n () => {\n let transitTimeSecs = calculateTransitTime(mapRouteDirections);\n return convertTime(transitTimeSecs);\n },\n [mapRouteDirections],\n )\n\n const getUpdatedDdnList = useCallback(\n (type: string, route: any) => {\n let updatedList: SelectItemProps[] = [];\n switch (type) {\n case 'driver':\n updatedList = [...driversList];\n if (route && route.assignee) {\n updatedList = [...updatedList, {\n name: route.assignee.name,\n value: route.assignee.id\n }];\n }\n break;\n case 'helper':\n updatedList = [...helpersList];\n if (route && route.helper) {\n updatedList = [...updatedList, {\n name: route.helper.name,\n value: route.helper.id\n }];\n }\n break;\n case 'vehicle':\n updatedList = [...vehiclesList];\n if (route && route.assignedVehicle && updatedList.findIndex((vehicle: SelectItemProps) => vehicle.value === route.assignedVehicle.id) === -1) {\n updatedList = [...updatedList, {\n name: route.assignedVehicle.name,\n value: route.assignedVehicle.id\n }];\n }\n break;\n default:\n break;\n }\n return updatedList;\n },\n [driversList, helpersList, vehiclesList],\n );\n\n const handleClearCurrentSlot = useCallback(\n () => {\n dispatch(\n clearCurrentSlot()\n );\n },\n [dispatch],\n );\n\n const handleEditRoute = useCallback(\n () => {\n handleClearCurrentSlot();\n setEditRoute(location.state.route || null);\n },\n [location.state.route, handleClearCurrentSlot],\n );\n\n const checkUnselectVisibility = useCallback(\n () => {\n return editMode ? draftRoute.route ? draftRoute.route.displayRouteStatus !== 'PLANNED' ? false : true : true : true;\n },\n [editMode, draftRoute],\n )\n\n const initialSteps = useCallback(\n () => {\n if (viewMode || editMode) {\n sessionStorage.setItem('routeId', match.params.id);\n }\n if (editMode) {\n setNoRedirect(true);\n setSlotValue(location.state.slots);\n }\n onLoadRef.current = true;\n filterChangeRef.current = false;\n initializeRoute({\n date: currentDate,\n slotValue: editMode ? location.state.slots : slotValue,\n statusValue: statusValue\n });\n },\n [viewMode, editMode, currentDate, statusValue, location.state, match.params.id, slotValue, initializeRoute],\n );\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: `${AppConstants.ROUTES.VALET_TROLLEY_VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute\n }\n }\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editRoute]);\n\n useEffect(() => {\n if (mapMarkers.length) {\n setUpdateMap(true);\n } else {\n setUpdateMap(false);\n }\n }, [mapMarkers]);\n\n useEffect(() => {\n if (optimizeMapRoute && mapRouteDirections) {\n const wayPointsOrder = mapRouteDirections.waypoint_order;\n const selectedWaypoints = getSeqSortedSelectedConsignments();\n if (wayPointsOrder && wayPointsOrder.length && selectedWaypoints.length) {\n let newSequence = _.cloneDeep(consignmentsSequence);\n selectedWaypoints.forEach((wp: any, index: number) => {\n newSequence[wp.code].seq = wayPointsOrder[index] + 1;\n });\n setConsignmentsSequence(newSequence);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapRouteDirections]);\n\n useEffect(() => {\n if (autoRefreshMap) {\n handleRefreshMap();\n }\n }, [autoRefreshMap, handleRefreshMap]);\n\n useEffect(() => {\n if (autoRefreshMapRef.current) {\n setAutoRefreshMap(true);\n }\n }, [selectedConsignments]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n shouldBlockNavigationRef.current = false;\n sessionStorage.setItem('extraConsignments', '[]');\n setShouldBlockNavigation(false);\n }\n }\n }, [error, errorCode]);\n\n useEffect(() => {\n if (allConsignments.length) {\n let newChecked: any = {};\n let newSelected: any = {};\n let extraConsignments: any = [];\n let checkedConsForSeq: string[] = [];\n let expandedConsignments = [...consignmentExpanded];\n allConsignments.forEach((item: any) => {\n if (newChecked[item.area]) {\n if (!newChecked[item.area][item.slot]) {\n newChecked[item.area][item.slot] = [];\n }\n } else {\n newChecked[item.area] = {\n [item.slot]: []\n };\n }\n if (newSelected[item.area]) {\n if (!newSelected[item.area][item.slot]) {\n newSelected[item.area][item.slot] = [];\n }\n } else {\n newSelected[item.area] = {\n [item.slot]: []\n };\n }\n if (item.status === 'PLANNED') {\n newChecked[item.area][item.slot].push(item.code);\n checkedConsForSeq.push(item.code);\n newSelected[item.area][item.slot].push(item);\n if (!(editMode || viewMode)) {\n extraConsignments.push(item.code);\n }\n expandedConsignments.push(item.area);\n expandedConsignments.push(`${item.area}-${item.slot}`);\n }\n });\n const seqParams: any = addSequence(checkedConsForSeq, 'PLANNED', {\n allSequencedCons: _.cloneDeep(consignmentsSequence),\n lastSeqNo: lastSequenceNumber\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments(newChecked);\n setSelectedConsignments(newSelected);\n setUnplannedConsignmentsData({ ...unplannedConsignmentsData, selectedConsignments: newSelected });\n setExpandedConsignments(expandedConsignments);\n if (editMode && draftRoute.route) {\n if (draftRoute.route.assignee) {\n setDriverValue(draftRoute.route.assignee.id)\n } else {\n setDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.helper) {\n setHelperValue(draftRoute.route.helper.id)\n } else {\n setHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.assignedVehicle) {\n setVehicleValue(draftRoute.route.assignedVehicle.id);\n } else {\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n }\n sessionStorage.setItem('extraConsignments', JSON.stringify(extraConsignments));\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n } else {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n setCheckedConsignments({});\n setSelectedConsignments({});\n setExpandedConsignments([]);\n setExpandedConsignments([], true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allConsignments])\n\n useEffect(() => {\n if (editMode) {\n if (checkEditRouteExtraConsignments()) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n } else {\n if (getAllSelectedConsignments().length) {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n } else {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkedConsignments])\n\n useEffect(() => {\n let newConsignments = _.cloneDeep(slotwiseConsignments);\n Object.keys(newConsignments).forEach((areaKey: string) => {\n Object.keys(newConsignments[areaKey]).forEach((slotKey: string) => {\n if (newConsignments[areaKey]) {\n newConsignments[areaKey][slotKey] = [AppConstants.SELECT_ALL, ...newConsignments[areaKey][slotKey]]\n }\n })\n })\n setSelectableConsignments(newConsignments);\n }, [slotwiseConsignments])\n\n useEffect(() => {\n if (currentSlot) {\n let currentSlotValue: any = slotValue;\n if (editMode) {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n }\n handleCreateDraftRoute({\n slots: currentSlotValue,\n statusValue: statusValue\n });\n } else {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n handleCreateDraftRoute({\n slots: currentSlotValue,\n statusValue: statusValue\n });\n } else {\n currentSlotValue = [AppConstants.SELECT_NONE.value];\n handleOrderStatusOnUnload('UNPLANNED', true);\n }\n }\n setSlotValue(currentSlotValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlot])\n\n useEffect(() => {\n if (draftRoute.route) {\n updateConsignments();\n } else {\n updateAllConsignments({\n areaWiseConsignments: [],\n slotwiseConsignments: {},\n allConsignments: [],\n loading: loading\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [draftRoute]);\n\n useEffect(() => {\n if (routeCreateSuccess) {\n openSnackbarPopup(`${draftRoute.route && draftRoute.route.routeId} ${AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.CREATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routeCreateSuccess])\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n if (!isPlannedRoute) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n }\n }\n if (routeDiscardSuccess) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n if (!updatedRoute && !routeDiscardSuccess) {\n if (editRoute) {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute,\n redirect: {\n route: `${AppConstants.ROUTES.VALET_TROLLEY_VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute\n }\n }\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updatedRoute, routeDiscardSuccess]);\n\n useEffect(() => {\n if (routeConsignments) {\n const transformedConsignments: any = transformRouteConsignments(routeConsignments);\n const seqParams: any = addSequence(transformedConsignments.seqConsignments, 'PLANNED', {\n allSequencedCons: {},\n lastSeqNo: 0\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setSelectedConsignments(transformedConsignments.routeConsignments);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routeConsignments]);\n\n useEffect(() => {\n if (shouldBlockNavigation) {\n window.addEventListener('beforeunload', handleBeforeUnload);\n } else {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n if (routeCreateSuccess) {\n initializeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: statusValue\n });\n }\n if ((updatedRoute && !isPlannedRoute) || (routeDiscardSuccess && !noRedirect)) {\n let route: any = AppConstants.ROUTES.PLANNING;\n let state: any = {\n tabValue: AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n if (location.state && location.state.redirect) {\n route = location.state.redirect.route;\n state = updatedRoute ? { ...location.state.redirect.state, route: updatedRoute.route } : location.state.redirect.state;\n onLoadRef.current = true;\n filterChangeRef.current = false;\n setEditRoute(null);\n }\n handleClearCurrentSlot();\n history.push(route, state);\n }\n if (errorCode && errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n initializeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: statusValue\n });\n }\n }\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [shouldBlockNavigation, routeDiscardSuccess, updatedRoute, noRedirect])\n\n useEffect(() => {\n if (onLoadRef.current) {\n initialSteps();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [viewMode, editMode])\n\n useEffect(() => {\n initialSteps();\n return () => {\n if (editMode && sessionStorage.getItem('routeId')) {\n shouldBlockNavigationRef.current && handleDiscardRoute();\n } else {\n if (!viewMode) {\n handleOrderStatusOnUnload('UNPLANNED', true);\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getStepperTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n {(provided) => (\n {`${index + 1}`.padStart(2, '0')}\n )\n }\n \n \n ))\n }\n\n const getListViewTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n \n \n {`${index + 1}`.padStart(2, '0')}\n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n {consignmentItem.code}\n \n \n \n \n {/* \n \n \n {`${consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.totalCratesCount}`.padStart(2, '0')}\n \n */}\n \n \n \n {consignmentItem.data && consignmentItem.data.metadata && consignmentItem.data.metadata.paymentType}\n \n \n \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.customerContactInfo ? consignmentItem.data.deliveryInformation.customerContactInfo.phone : \"\"}\n \n \n \n \n \n {consignmentItem.slotValue}\n \n \n \n \n \n {getAddressInfo(consignmentItem.data && consignmentItem.data.deliveryInformation ? consignmentItem.data.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n ))\n }\n\n const getSlotwisePlannedRoutes = () => {\n return slotwisePlannedRoutes.length ? slotwisePlannedRoutes.map((slotItem: any) => (\n \n }\n aria-controls=\"delivery-slot-content\"\n className=\"accordianSummary delSlot\"\n >\n \n \n \n {slotItem.value}\n \n \n \n \n \n {`${slotItem.totalConsignments}`.padStart(2, '0')}\n \n \n {/* \n \n \n {`${slotItem.totalCrates}`.padStart(2, '0')}\n \n */}\n \n \n \n \n {\n slotItem.data && slotItem.data.length && slotItem.data.map((routeItem: any) => (\n handleRouteSelection(routeItem)}>\n \n \n \n {routeItem.value}\n \n \n \n \n \n \n {routeItem.data && routeItem.data.totalConsignment}\n \n \n {/* \n \n \n {routeItem.data && routeItem.data.totalCrates}\n \n */}\n \n \n \n {routeItem.data && routeItem.data.transitTime}\n \n \n \n \n \n {routeItem.data && routeItem.data.assignee ? routeItem.data.assignee.name : 'Not Assigned'}\n \n \n \n \n \n \n \n ))\n }\n \n \n \n )) : (No Items to display)\n }\n\n const getViewModeConsignments = useCallback(\n () => {\n return routeConsignments.length ? routeConsignments.map((consignmentItem: any) => (\n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem)} item>\n {consignmentItem.consignmentCode}\n \n \n \n {consignmentItem ? consignmentItem.metadata.deliveryStatus : \"\"}\n \n \n \n \n \n \n {/* \n \n \n {consignmentItem && consignmentItem.deliveryInformation.totalCratesCount}\n \n */}\n \n \n \n {getAddressInfo(consignmentItem && consignmentItem.deliveryInformation ? consignmentItem.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n \n \n ))\n : (No Items to display)\n },\n [classes.statusHeaderContainer, routeConsignments, handleConsignmentDetailsClick],\n )\n\n const getAreawiseConsignments = useCallback(\n () => {\n return areawiseConsignments.length ? areawiseConsignments.map((areaItem: any) => (\n \n }\n aria-controls=\"delivery-area-content\"\n className=\"accordianSummary delArea\"\n >\n \n \n \n \n \n \n \n \n \n {getAreaTotalConsignments(areaItem).padStart(2, '0')}\n \n \n {/* \n \n \n {getAreaTotalCrates(areaItem).padStart(2, '0')}\n \n */}\n \n \n \n \n {\n areaItem.data && areaItem.data.length && areaItem.data.map((slotItem: any) => (\n \n }\n aria-controls=\"delivery-slot-content\"\n className=\"accordianSummary delSlot\"\n >\n \n \n \n handleCheckboxToggle(e, slotItem, true)} />\n {slotItem.value}\n \n \n \n \n \n {`${slotItem.data.length}`.padStart(2, '0')}\n \n \n {/* \n \n \n {`${getTotalCrates(slotItem.data)}`.padStart(2, '0')}\n \n */}\n \n \n \n \n {\n slotItem.data && slotItem.data.length && slotItem.data.map((consignmentItem: any) => (\n \n \n \n {\n consignmentItem.status === 'DRAFTED' &&\n \n \n \n }\n handleCheckboxToggle(e, consignmentItem, false)} color=\"primary\" />\n \n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n \n \n \n \n {consignmentItem.data ? consignmentItem.data.metadata.deliveryStatus : \"\"}\n \n \n \n \n \n \n {/* \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation.totalCratesCount}\n \n */}\n \n \n \n \n \n \n \n \n \n \n \n {\n getSelectedValue(consignmentItem, false) &&\n \n {consignmentsSequence[consignmentItem.code] && `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, '0')}\n \n }\n \n \n \n \n ))\n }\n \n \n \n ))\n }\n \n \n \n )) : (No Items to display)\n },\n [areawiseConsignments, consignmentsSequence, classes.statusHeaderContainer, checkExpanded, getAreaTotalConsignments, getSelectedValue, handleCheckboxToggle, handleConsignmentAccordionChange, handleConsignmentDetailsClick, updateHighlightSearch],\n );\n\n return (\n
\n {loading && }\n {!viewMode &&\n 'All changes will be discarded. Are you sure you want to leave this page?'}\n />\n }\n \n \n \n {editMode ? `Edit ${draftRoute.route ? draftRoute.route.routeId : \"\"}` : viewMode ? location.state.route.routeId : 'Create Route'}\n {\n viewMode && location.state.route.displayRouteStatus !== AppConstants.PLANNING_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP &&\n <>\n \n \n {location.state ? location.state.route.status : \"\"}\n {!(isLastMileViewer || isOnlyStdLastMileViewer) &&\n \n }\n \n \n \n }\n \n \n \n \n \n \n \n \n \n \n \n \n {viewMode ? 'Consignments' : tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? `Consignments(${allConsignments.length})` : 'Routes'}\n {\n !viewMode && tabValue !== AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n \n : null\n }\n \n \n {\n !viewMode &&\n \n {\n tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED &&\n \n \n \n \n \n )}\n >\n }\n \n }\n \n \n {\n !viewMode &&\n \n \n \n \n \n \n \n \n {\n !editMode &&\n \n \n \n }\n \n \n }\n \n \n \n {\n viewMode ?\n \n {getViewModeConsignments()}\n \n :\n \n \n \n \n \n \n \n \n {getAreawiseConsignments()}\n \n \n \n \n {getSlotwisePlannedRoutes()}\n \n \n \n \n \n Hub:{location.state.hubName || \"\"}\n \n \n {\n tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED &&\n \n \n \n All\n \n \n \n \n \n \n }\n \n }\n \n \n \n \n \n {\n viewMode ?\n \n \n {\n location.state.route ?\n \n {location.state.route && location.state.route.routeId}\n \n : null\n }\n {\n location.state.route ?\n \n \n \n \n \n \n \n Driver\n \n \n {location.state.route && location.state.route.assignee ? location.state.route.assignee.name : 'Not Assigned'}\n \n \n \n \n \n \n Helper\n \n \n {location.state.route && location.state.route.helper ? location.state.route.helper.name : 'Not Assigned'}\n \n \n \n \n \n \n Vehicle\n \n \n {location.state.route && location.state.route.assignedVehicle ? location.state.route.assignedVehicle.name : 'Not Assigned'}\n \n \n \n \n \n \n Hub\n \n \n {location.state.route && location.state.route.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n\n \n \n \n Consignments\n \n \n {location.state.route && `${location.state.route.totalConsignment}`.padStart(2, '0')}\n \n \n \n {/* \n \n \n Crates\n \n \n {location.state.route && `${location.state.route.totalCrates}`.padStart(2, '0')}\n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Route Details will appear here\n \n }\n \n \n :\n tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n \n \n \n \n \n {draftRoute.route && draftRoute.route.routeId}\n \n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n : null\n }\n \n \n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n Consignments\n \n \n \n {`${getAllSelectedConsignments().length}`.padStart(2, '0')}\n {\n calculateCapacityBreach('consignments') &&\n \n \n \n }\n \n \n \n \n {/* \n \n \n Crates\n \n \n \n {`${getTotalCrates(getAllSelectedConsignments())}`.padStart(2, '0')}\n {\n calculateCapacityBreach('crates') &&\n \n \n \n }\n \n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Selected Consignments will appear here\n \n }\n {\n getAllSelectedConsignments().length ?\n \n \n \n \n {(provided) => (\n \n )}\n \n \n \n \n : null\n }\n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n \n You can also drag and reorder the consigments to change their sequence.\n \n \n \n : null\n }\n \n \n :\n \n \n {\n selectedRoute.code ?\n \n {selectedRoute && selectedRoute.value}\n \n : null\n }\n {\n selectedRoute.code ?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Hub\n \n \n {selectedRoute.data && selectedRoute.data.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n\n \n \n \n Consignments\n \n \n {selectedRoute.data && `${selectedRoute.data.totalConsignment}`.padStart(2, '0')}\n \n \n \n {/* \n \n \n Crates\n \n \n {selectedRoute.data && `${selectedRoute.data.totalCrates}`.padStart(2, '0')}\n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Selected Route Details will appear here\n \n }\n \n \n }\n \n {\n tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && !selectedRoute.code ? null : isListView ? getAllSelectedConsignments().length ?\n \n \n \n \n \n \n \n \n \n \n {viewMode ? location.state.route && location.state.route.hubName : draftRoute.route && draftRoute.route.hubName}\n \n \n {getListViewTimelineItems()}\n \n \n : null :\n \n }\n \n toggleListView('map')} item>\n \n \n Map\n \n \n \n toggleListView('list')} item>\n \n \n List\n \n \n \n \n {\n !viewMode ?\n \n \n {\n !isListView &&\n <>\n \n \n \n }\n {\n tabValue === AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n editMode ?\n <>\n \n \n \n :\n \n :\n \n }\n \n \n : null\n }\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default CreateRoute;","import { createStyles, makeStyles, StepConnector, Theme, withStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const StepperTimelineConnector = withStyles({\n alternativeLabel: {\n top: 28,\n left: 'calc(-50% + 9px)',\n right: 'calc(50% + 9px)'\n },\n active: {\n '& $line': {\n borderColor: COLORS.SECONDARY_DARK,\n },\n },\n line: {\n borderColor: COLORS.SECONDARY_DARK,\n borderTopWidth: 4,\n borderRadius: 100,\n },\n})(StepConnector);\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n '& .padding-2': {\n padding: theme.spacing(2)\n }\n },\n statusHeaderContainer: {\n alignItems: \"center\",\n paddingLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"10px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 8,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n }\n },\n container: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"100%\",\n '& .createRtItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(3),\n '& .headingContainer': {\n alignItems: \"center\"\n },\n '& .editIcon': {\n width: 22,\n height: 22,\n marginLeft: theme.spacing(1),\n cursor: \"pointer\"\n },\n '& .headingTitle': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n '&.content': {\n height: \"calc(100vh - 176px)\"\n }\n }\n },\n createRtContentContainer: {\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n boxShadow: `0px 1px 4px ${COLORS.LIGHT_BLACK_SHADOW}`,\n borderRadius: theme.spacing(1),\n height: \"100%\",\n '&.left': {\n width: 500,\n minWidth: 500,\n marginRight: theme.spacing(3),\n '& .consignmentsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentItem': {\n '& .headerSectionContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(2, 2, 1, 2),\n '&.viewMode': {\n borderBottom: `1px solid ${theme.palette.secondary.dark}`\n },\n '& .searchTextBox': {\n '& .MuiOutlinedInput-root': {\n width: 210,\n }\n },\n '& .MuiOutlinedInput-root': {\n width: 145,\n minWidth: 145,\n height: 24,\n borderRadius: theme.spacing(.5)\n },\n '& .MuiOutlinedInput-input': {\n fontSize: 10,\n padding: 0,\n paddingLeft: theme.spacing(.5)\n },\n '& .MuiSelect-iconOutlined': {\n right: 0\n },\n '& .MuiSelect-root': {\n '& .MuiChip-root': {\n fontSize: 10,\n height: 15\n }\n },\n '& .headerContainer': {\n alignItems: \"center\",\n paddingBottom: theme.spacing(1.5),\n '& .headerItem': {\n '&.heading': {\n flexGrow: 1,\n '& .refreshIcon': {\n width: 16,\n height: 16,\n cursor: \"pointer\",\n marginLeft: theme.spacing(0.5)\n },\n '& p': {\n fontSize: 16,\n fontWeight: 600\n }\n },\n '&.icons': {\n display: \"flex\",\n alignItems: \"center\",\n '& .MuiOutlinedInput-adornedEnd': {\n paddingRight: 0,\n '& .MuiSvgIcon-root': {\n padding: theme.spacing(.25)\n }\n },\n '& .MuiInputAdornment-positionEnd': {\n marginLeft: 0\n },\n '& .MuiIconButton-sizeSmall': {\n padding: 0,\n '&.MuiIconButton-edgeEnd': {\n marginRight: 0\n }\n },\n '& .MuiSvgIcon-root': {\n width: 19,\n height: 19\n },\n '& .icon': {\n padding: theme.spacing(0.5)\n }\n }\n }\n },\n '& .filtersContainer': {\n '& .filterItem': {\n paddingRight: theme.spacing(1),\n '&:last-child': {\n paddingRight: 0\n },\n '&.slot': {\n flexGrow: 1\n }\n }\n }\n },\n '&.content': {\n height: \"calc(100% - 80px)\",\n '& .contentContainer': {\n position: \"relative\",\n height: \"100%\"\n },\n '& .hubLabel': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(8.5),\n '&.isRoute': {\n right: theme.spacing(2)\n },\n '& .hubLabelContainer': {\n alignItems: \"center\",\n height: 21,\n '& .hubLabelText': {\n fontSize: 12,\n fontWeight: 600,\n maxWidth: 200,\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n '& .label': {\n fontWeight: 500,\n paddingRight: theme.spacing(0.5)\n }\n }\n }\n },\n '& .toggleAll': {\n position: \"absolute\",\n top: theme.spacing(1),\n right: theme.spacing(2.25),\n cursor: \"pointer\",\n userSelect: \"none\",\n '& .toggleAllContainer': {\n alignItems: \"center\",\n '& .toggleItem': {\n paddingLeft: theme.spacing(0.5),\n '&.iconItem': {\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.expanded': {\n transform: \"rotate(180deg)\"\n }\n },\n '& .toggleText': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .toggleIcon': {\n width: 21,\n height: 21,\n verticalAlign: \"bottom\"\n }\n }\n }\n },\n '& .slotContentContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.viewMode': {\n overflow: \"auto\",\n paddingBottom: theme.spacing(2),\n '& .slotItemContainer': {\n paddingLeft: theme.spacing(2)\n }\n },\n '& .slotItemContainer': {\n height: 80,\n alignItems: \"flex-start\",\n padding: theme.spacing(1, 2, 1, 6),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n flexWrap: \"nowrap\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n '&.drafted': {\n color: COLORS.GRAY_DARK,\n paddingLeft: theme.spacing(3.5)\n },\n '&.terminal': {\n color: COLORS.GRAY_DARK,\n borderColor: COLORS.GRAY_DARK\n },\n '& .slotContentItem': {\n '&.checkbox': {\n '& .checkboxContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .lockIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n paddingRight: theme.spacing(1.5)\n },\n '&.consignmentDetails': {\n flexGrow: 1,\n height: \"100%\",\n '& .consignmentDetailsContainer': {\n justifyContent: \"space-between\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailsItem': {\n '& .consignmentHeader': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n overflow: \"hidden\",\n '& .consignmentHeaderItem': {\n '&.details': {\n flexGrow: 1,\n paddingTop: theme.spacing(0.5)\n },\n '& .headerDetailsContainer': {\n flexWrap: \"nowrap\",\n '& .itemContainer': {\n flexWrap: \"nowrap\"\n }\n }\n }\n },\n '& .headingContainer': {\n alignItems: \"center\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .heading': {\n fontSize: 12,\n fontWeight: 600,\n cursor: \"pointer\"\n },\n },\n '& .seqNoContainer': {\n backgroundColor: COLORS.ALERT_ORANGE,\n borderRadius: 2,\n '& .seqNo': {\n fontSize: 10,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n lineHeight: '16px',\n padding: theme.spacing(0, 1)\n }\n },\n '& .count': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n padding: theme.spacing(0, 0.75)\n },\n '& .icon': {\n width: 16,\n height: 16\n },\n '&.desc': {\n paddingTop: theme.spacing(1)\n },\n '& .descContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .location': {\n width: 356\n },\n '& .itemContainer': {\n alignItems: \"center\",\n paddingRight: theme.spacing(2.5),\n flexWrap: \"nowrap\",\n '& .locDesc': {\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n }\n },\n }\n }\n }\n },\n '& .MuiTabs-root': {\n padding: theme.spacing(0, 2),\n minHeight: 42,\n borderBottom: `1px solid ${theme.palette.secondary.main}`\n },\n '& .tabPanel': {\n padding: 0,\n height: 'calc(100% - 42px)',\n overflow: \"auto\",\n '& .tabPanelContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .delSlotContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n },\n '& .highlightText': {\n backgroundColor: COLORS.SUCCESS_GREEN\n },\n '& .accordionRoot': {\n boxShadow: \"none\",\n margin: 0,\n '&::before': {\n opacity: 0\n }\n },\n '& .accordianSummary': {\n border: \"none\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '&.delArea': {\n minHeight: 46,\n height: 46,\n '& .areaHeaderContainer': {\n alignItems: \"center\",\n '& .areaHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT\n }\n }\n }\n }\n },\n '&.delSlot': {\n minHeight: 32,\n height: 32,\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n '& .slotHeaderContainer': {\n alignItems: \"center\",\n '& .slotHeaderItem': {\n paddingRight: theme.spacing(1),\n '& .itemContainer': {\n alignItems: \"center\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\"\n },\n '& .heading': {\n fontSize: 12,\n fontWeight: 500,\n paddingLeft: theme.spacing(1.5)\n }\n }\n }\n }\n }\n },\n '& .accordianDetails': {\n padding: 0,\n '&.routes': {\n '& .slotItemContainer': {\n height: 56\n }\n }\n },\n '&.planned': {\n paddingTop: theme.spacing(1.5),\n '& .heading': {\n paddingLeft: '0px !important'\n },\n '& .accordianDetails': {\n '& .slotItemContainer': {\n padding: '10px 8px 10px 16px !important',\n cursor: 'pointer'\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.right': {\n flexGrow: 1\n },\n '& .detailsContainer': {\n flexDirection: \"column\",\n height: \"100%\",\n flexWrap: \"nowrap\",\n '& .detailItem': {\n '&.routeDetails': {\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n padding: theme.spacing(2),\n '&.viewMode': {\n '& .routeDetailsContainer .routeDetailsItem.basicDesc': {\n paddingBottom: 0\n }\n },\n '& .routeDetailsContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .routeDetailsItem': {\n '&.header': {\n '& .routeIdHeaderContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .ddnsItem': {\n '& .MuiFormControl-root': {\n paddingRight: theme.spacing(1.5),\n '&:last-child': {\n paddingRight: 0\n }\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n }\n }\n },\n paddingBottom: theme.spacing(2)\n },\n '& .heading': {\n fontSize: 16,\n fontWeight: 600,\n color: COLORS.BLACK\n },\n '&.basicDesc': {\n paddingBottom: theme.spacing(3.75)\n },\n '&.noSelectedArea': {\n padding: theme.spacing(3),\n backgroundColor: COLORS.WHITE,\n border: `1px dashed ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n '& p': {\n textAlign: \"center\",\n fontSize: 14,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '&.timeline': {\n alignSelf: \"flex-start\",\n height: 55\n },\n '&.timelineWarning': {\n paddingTop: theme.spacing(1.5),\n '& .warningContainer': {\n alignItems: \"center\",\n '& .warningItem': {\n paddingRight: theme.spacing(1),\n '& p': {\n fontSize: 11,\n fontWeight: 500,\n color: COLORS.DOVE_GRAY\n }\n },\n '& .warningIcon': {\n width: 20,\n height: 20,\n verticalAlign: \"middle\",\n\n }\n },\n\n },\n '& .basicDescContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .basicItem': {\n paddingBottom: theme.spacing(2),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.driver': {\n paddingRight: theme.spacing(2)\n },\n '&.descriptions': {\n flexGrow: 1\n },\n '& .descCommonContainer': {\n '& .commonItem': {\n flex: \"1 0 0\",\n '& .MuiOutlinedInput-root': {\n backgroundColor: COLORS.WHITE\n },\n '&:last-child': {\n flex: \"0.5 0 0\"\n },\n '& .descContainer': {\n flexDirection: \"column\",\n '& .capacityBreachContainer': {\n alignItems: \"center\",\n '& .infoErrorIcon': {\n width: 16,\n height: 16,\n marginLeft: theme.spacing(1)\n }\n },\n '& p': {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"18px\"\n },\n '& .value': {\n alignSelf: \"flex-start\",\n '& p': {\n fontWeight: 600\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n '&.mapZone': {\n flexGrow: 1,\n backgroundColor: theme.palette.secondary.dark,\n position: \"relative\",\n overflow: \"auto\",\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n '& .listViewTimelineContent': {\n backgroundColor: COLORS.WHITE,\n padding: theme.spacing(2, 3),\n height: \"100%\",\n overflow: \"auto\"\n },\n '& .mapSwitchBtnContainer': {\n position: \"absolute\",\n alignItems: \"center\",\n width: 110,\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n backgroundColor: COLORS.WHITE,\n top: theme.spacing(1),\n right: theme.spacing(6.5),\n flexWrap: \"nowrap\",\n '& .switchBtnItem': {\n cursor: \"pointer\",\n '&.selected': {\n backgroundColor: COLORS.MADISON_LIGHT,\n '&.mapView': {\n borderTopLeftRadius: theme.spacing(1),\n borderBottomLeftRadius: theme.spacing(1),\n '& path': {\n stroke: theme.palette.primary.main\n }\n },\n '&.listView': {\n borderTopRightRadius: theme.spacing(1),\n borderBottomRightRadius: theme.spacing(1),\n '& path': {\n fill: theme.palette.primary.main\n }\n },\n '& .title': {\n color: theme.palette.primary.main,\n fontWeight: 600\n }\n },\n '& .switchBtnItemContainer': {\n flexDirection: \"column\",\n alignItems: \"center\",\n '& .title': {\n fontSize: 12,\n fontWeight: 500,\n paddingBottom: theme.spacing(0.5)\n }\n },\n '& .switchBtnIcon': {\n width: 54,\n height: 40,\n verticalAlign: \"middle\",\n padding: theme.spacing(0, 2),\n backgroundColor: \"transparent\"\n },\n }\n\n }\n },\n '&.buttons': {\n '& .buttonsContainer': {\n padding: theme.spacing(2),\n justifyContent: \"flex-end\",\n '& .btn': {\n marginRight: theme.spacing(1.5),\n '&:last-child': {\n marginRight: 0\n }\n },\n '& .refreshMapBtn': {\n marginRight: \"auto\"\n },\n '& .saveBtn': {\n padding: theme.spacing(1, 5.5)\n }\n }\n },\n '&.planned': {\n '& .routeDetailsItem': {\n '&.basicDesc': {\n paddingBottom: '0 !important'\n }\n }\n },\n }\n }\n }\n },\n timelineStepper: {\n padding: 0,\n alignItems: \"center\",\n backgroundColor: 'transparent',\n '& .timelineStep': {\n paddingLeft: 16,\n paddingRight: 16,\n '&.isDragging': {\n '& .MuiStepConnector-alternativeLabel': {\n display: \"none\"\n }\n },\n '&.first': {\n paddingLeft: 0\n }\n },\n '& .MuiStepLabel-root': {\n flexDirection: 'column-reverse',\n '& .MuiStepLabel-labelContainer': {\n '& .MuiStepLabel-alternativeLabel': {\n whiteSpace: \"nowrap\",\n width: 32,\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n }\n },\n '&.MuiStepLabel-alternativeLabel': {\n flexDirection: 'column-reverse'\n }\n },\n '& .MuiStepLabel-iconContainer': {\n paddingRight: 0\n },\n '& .MuiStepLabel-label.MuiStepLabel-alternativeLabel': {\n marginTop: 0\n },\n '& .MuiStepLabel-label': {\n fontSize: 10,\n color: '#252525',\n paddingBottom: 6,\n textAlign: \"center\"\n }\n },\n listViewTimeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 64,\n '&.first': {\n minHeight: 62,\n '& .MuiTimelineSeparator-root': {\n padding: 0\n }\n },\n '& .MuiTimelineSeparator-root': {\n paddingLeft: 3\n },\n '&:last-child': {\n minHeight: \"auto\",\n '& .primaryConnector': {\n display: \"none\"\n },\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '&.listItem': {\n paddingTop: 9\n },\n '& .timelineIcon': {\n padding: 0,\n },\n '& .countIcon': {\n width: 24,\n height: 24,\n borderRadius: \"50%\",\n backgroundColor: COLORS.MAROON,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n '& .count': {\n fontSize: 10,\n fontWeight: 600,\n lineHeight: \"12px\",\n color: COLORS.WHITE\n }\n },\n '& .areaIcon': {\n width: 32,\n height: 32\n }\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1.5),\n '& .contentContainer': {\n alignItems: \"center\",\n border: `1px solid ${theme.palette.secondary.dark}`,\n borderRadius: theme.spacing(1),\n flexWrap: \"nowrap\",\n marginBottom: theme.spacing(2),\n '& .listViewContentItem': {\n '&.itemHeading': {\n padding: theme.spacing(0, 2),\n cursor: \"pointer\"\n },\n '& .id': {\n fontSize: 12,\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n whiteSpace: \"nowrap\"\n },\n '&.itemDetails': {\n flexGrow: 1,\n padding: theme.spacing(1, 1.5, 1)\n },\n '& .itemDetailsContainer': {\n flexWrap: \"nowrap\",\n alignItems: \"center\",\n '& .detailsItem': {\n paddingRight: theme.spacing(1.5)\n },\n '& .itemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n '& .icon': {\n padding: theme.spacing(0.5)\n },\n '& .count': {\n fontSize: 10,\n fontWeight: 500,\n lineHeight: \"15px\",\n whiteSpace: \"nowrap\",\n '&.address': {\n whiteSpace: \"normal\",\n }\n }\n }\n }\n }\n },\n '& .titleHeading': {\n fontSize: 10,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.BLACK,\n paddingTop: theme.spacing(1)\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2,\n '&.alignLeft': {\n textAlign: \"left\",\n }\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n capacityBreachDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: theme.spacing(2.5)\n },\n capacityBreachDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(3.75),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmWithTitleDialogPaperPropsRoot: {\n width: 600,\n height: 240,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n confirmDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n selectMenuPropsList: {\n '& .MuiListItem-root': {\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n whiteSpace: \"normal\",\n '& .MuiListItemText-primary': {\n fontSize: 10\n }\n },\n '& .MuiCheckbox-root': {\n backgroundSize: \"16px 16px\",\n marginRight: theme.spacing(0.75)\n }\n },\n selectMenuPaperProps: {\n maxHeight: 200,\n width: 145,\n border: `1px solid ${COLORS.BLACK_INPUT_BORDER}`,\n borderRadius: theme.spacing(1),\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"none\"\n }\n })\n);\n","import moment from \"moment\";\nimport { RowData } from \"../../common/GridWrapper/DataTable\";\nimport AppConstants from \"../../constants\";\nimport { enumerateDaysBetweenDates, fixDecimals, getUniqueValues, getValueFromArray, localTimeString } from \"../../utils/helpers.utils\";\nimport { isNumeric, transformIntoObj, transformIntoObjArrays } from \"../../utils/helpers.utils\";\n\nexport interface MetaData {\n paymentType: string;\n totalAmount: string;\n transactionDate: Date;\n amountToCollect: string;\n collectedAmount: string;\n currency: string;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n routeId: string;\n routeName: string;\n routeStatus: string;\n numberOfItems: number;\n lastStatusUpdatedTime: string;\n}\n\nexport interface Name {\n ar: string;\n en: string;\n}\n\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: Name;\n quantity: string;\n acceptedQty: string\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: string;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n}\n\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\n\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n totalCratesCount: number;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n driver: Driver;\n helper: Driver;\n vehicle: Vehicle;\n transitTime: string;\n actualTransitTime: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n}\n\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface PickUpInformation {\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface Order {\n id: string;\n orderCode: string,\n consignmentCode: string,\n hasRejectedProducts: boolean,\n retryCount: number,\n metadata: MetaData;\n products: Product[];\n reason: Reason;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n pickUpInformation: PickUpInformation;\n statuses: Statuses[];\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface AssignedStatus {\n vehicleAssigned: boolean;\n helperAssigned: boolean;\n driverAssigned: boolean;\n consignmentsAvailable: boolean;\n}\n\nexport interface Vehicle {\n brand: string;\n country: string;\n crateCapacity: number;\n fleetId: string;\n id: string;\n orderCapacity: number;\n type: string;\n name: string;\n}\n\nexport interface Driver {\n countryIsoCode: string;\n countryName: string;\n licenseNumber: number;\n id: string;\n name: string;\n type: string;\n}\n\nexport interface Route {\n id: string;\n routeId: string;\n creationTime: string;\n plannedDate: string;\n createdBy: string;\n carrier: string;\n deliveryProposition: string;\n deliveryArea: string[];\n deliverySlot: string[];\n countryDetails: CountryDetails;\n totalConsignment: number;\n totalCrates: number;\n transitTime: number;\n displayRouteStatus: string;\n hubCode: string;\n hubName: string;\n status: string;\n assignedStatus: AssignedStatus;\n assignedVehicle: Vehicle;\n assignee: Driver;\n helper: Driver;\n actualTransitTime: string;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface CarrefourDeliveryOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Order[];\n}\n\nexport interface CarrefourDeliveryRoutesDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Route[];\n}\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport interface SubsProducts {\n sku: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n}\nexport interface ProductsDataTransform {\n sku: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n substitution: boolean;\n substitutedProducts: SubsProducts[];\n}\n\nexport interface CarrefourProducts {\n consignmentCode: string;\n products: ProductsDataTransform[]\n}\n\n\nexport const CarrefourDeliveryOrdersDataTransform = (response: CarrefourDeliveryOrdersDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Order) => {\n const {\n id,\n metadata,\n posInformation: { store, storeName },\n deliveryInformation,\n orderCode,\n products,\n reason,\n consignmentCode,\n statuses,\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n const customerContactInfo = deliveryInformation.customerContactInfo || {\n address: {}\n };\n const transactionDate = moment(metadata.transactionDate, AppConstants.DATE_FORMAT_BACKEND);\n const statusDate = metadata.lastStatusUpdatedTime ? moment(metadata.lastStatusUpdatedTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : statuses && statuses.length ? moment(statuses[0].statusDate, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : \"\";\n\n transformedArray.push({\n id: id,\n hubCode: store,\n hubName: storeName,\n deliveryArea: customerContactInfo.address ? customerContactInfo.address.area : \"\",\n consignmentId: consignmentCode,\n type: metadata.category,\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n startEndTime: `${localTimeString(startTime)} - ${localTimeString(endTime)}`,\n deliveryStatus: metadata.deliveryStatus,\n statusDate: statusDate,\n products: products && products.length ? products.length : 0,\n numberOfItems: metadata.numberOfItems && metadata.numberOfItems > 0 ? metadata.numberOfItems : products && products.length ? products.length : 0,\n crates: deliveryInformation.totalCratesCount,\n orderId: orderCode,\n transactionDate: transactionDate.format(AppConstants.DATE_FORMAT),\n customerName: customerContactInfo.name,\n customerEmail: customerContactInfo.email,\n customerMobileNumber: customerContactInfo.phone,\n deliveryStreetAddress: getAddressInfo(customerContactInfo.address),\n landmark: customerContactInfo.address.landmark,\n paymentType: metadata.paymentType,\n totalAmount: fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\"),\n codAmount: fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"),\n collectedAmount: metadata.collectedAmount ? parseFloat(metadata.collectedAmount.toString()).toFixed(2) : \"0.00\",\n carrier: deliveryInformation.carrier,\n deliveryProposition: metadata.deliveryType,\n routeId: metadata.routeName,\n routeStatus: metadata.routeStatus,\n driver: deliveryInformation.driver ? deliveryInformation.driver.name : \"\",\n helper: deliveryInformation.helper ? deliveryInformation.helper.name : \"\",\n vehicle: deliveryInformation.vehicle ? deliveryInformation.vehicle.name : \"\",\n plannedDuration: deliveryInformation.dynamicTransitTime ? deliveryInformation.dynamicTransitTime : deliveryInformation.estimatedTransitTime,\n actualDuration: deliveryInformation.actualTransitTime ? deliveryInformation.actualTransitTime : \"\",\n deliveryFailedReason: reason ? reason.reasonDescription : statuses && statuses.length && statuses[0].reason ? statuses[0].reason.reasonDescription : \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const CarrefourDeliveryRoutesDataTransform = (response: CarrefourDeliveryRoutesDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Route) => {\n const {\n id,\n routeId,\n hubCode,\n hubName,\n carrier,\n deliveryProposition,\n transitTime,\n deliveryArea,\n deliverySlot,\n plannedDate,\n status,\n totalConsignment,\n assignedVehicle,\n assignee,\n helper,\n createdBy,\n totalCrates,\n actualTransitTime\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const deliveryDate = moment(plannedDate, AppConstants.DATE_FORMAT_BACKEND);\n transformedArray.push({\n id: id,\n hubCode: hubCode,\n hubName: hubName,\n deliveryArea: deliveryArea && deliveryArea.length ? deliveryArea : [],\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n deliverySlot: deliverySlot && deliverySlot.length ? deliverySlot : [],\n consignments: totalConsignment,\n crates: totalCrates,\n carrier: carrier,\n deliveryProposition: deliveryProposition,\n routeId: routeId,\n routeStatus: status,\n driver: assignee ? assignee.name : \"\",\n vehicle: assignedVehicle ? assignedVehicle.name : \"\",\n helper: helper ? helper.name : \"\",\n createdBy: createdBy,\n plannedDuration: transitTime,\n actualDuration: actualTransitTime,\n actions: order\n });\n });\n return [...transformedArray];\n};\n\nexport const rejectionDataTransform = (response: CarrefourProducts): any[] => {\n const transformedArray: any[] = [];\n response && response.products && response.products.forEach((product: ProductsDataTransform) => {\n const {\n sku,\n shippedQty,\n rejectedQty,\n name,\n unitPrice,\n } = product;\n let qty = isNumeric(product.shippedQty) ? product.shippedQty : product.quantity;\n let isSubstitution = product.hasOwnProperty('substitutedProducts');\n let isScalable = product.uom?.toLowerCase() === 'grams';\n let totalQty = isScalable ? 1 : isSubstitution ? product.substitutedProducts[0].shippedQty : +qty;\n const rejectedItems = isSubstitution\n ? +product.substitutedProducts[0].rejectedQty || 0\n : +product.rejectedQty || 0;\n const initialQty = isScalable ? rejectedItems > 0 ? 1 : 0 : rejectedItems;\n\n let newObj: any = [];\n let selectRejected = [];\n for (let i = 0; i <= totalQty; i++) {\n newObj = transformIntoObjArrays(i, totalQty);\n }\n if (initialQty === 0) {\n selectRejected = transformIntoObj(initialQty);\n } else {\n selectRejected = transformIntoObj(initialQty);\n }\n let deliveryReason = [];\n if (product.reason) {\n deliveryReason.push({\n name: product.reason.reasonDescription,\n value: product.reason.reasonCode\n });\n } else {\n if (product.substitutedProducts) {\n product.substitutedProducts.forEach((subProd: any) => {\n if (subProd.reason) {\n deliveryReason.push({\n name: subProd.reason.reasonDescription,\n value: subProd.reason.reasonCode\n });\n }\n });\n }\n }\n\n transformedArray.push({\n id: sku,\n name: name,\n shippedQty: shippedQty || 0,\n rejectedQty: rejectedQty || 0,\n unitPrice: unitPrice,\n totalQty: totalQty,\n rejectedQtyList: newObj,\n selectedRejectedQty: selectRejected,\n itemDeliveryReason: deliveryReason,\n substitutedProducts: product.substitutedProducts\n });\n });\n return [...transformedArray];\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const getRouteStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const sortedCountryData = (\n columnName: string,\n isDescending: boolean\n) => (a: any, b: any) => {\n const aVal = isDescending ? a : b;\n const bVal = isDescending ? b : a;\n if (\n aVal[columnName].match(/^[0-9]+$/) &&\n bVal[columnName].match(/^[0-9]+$/)\n ) {\n return parseFloat(aVal[columnName]) - parseFloat(bVal[columnName]);\n } else {\n if (aVal[columnName] < bVal[columnName]) {\n return -1;\n } else if (aVal[columnName] > bVal[columnName]) {\n return 1;\n } else {\n return 0;\n }\n }\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n}\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n payload.attributes = [];\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue)\n })\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: []\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.deliveryArea) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryArea.fieldName,\n value: attrValue\n })\n delete payload.deliveryArea;\n }\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue\n })\n delete payload.orderType;\n }\n if (payload.deliveryStatus) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue\n })\n delete payload.deliveryStatus;\n }\n if (payload.paymentType) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.paymentType.fieldName,\n value: attrValue\n })\n delete payload.paymentType;\n }\n if (payload.carrier) {\n let attrValue = [];\n if (payload.carrier.value) {\n attrValue = getFilterAttributeValue(payload.carrier.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.carrier.fieldName,\n value: attrValue\n })\n delete payload.carrier;\n }\n\n if (payload.deliveryProposition) {\n payload.attributes.push({\n key: payload.deliveryProposition.fieldName,\n value: [\"CHD\"]\n })\n delete payload.deliveryProposition;\n }\n\n if (payload.routeId) {\n let attrValue = [];\n if (payload.routeId.value) {\n attrValue = getFilterAttributeValue(payload.routeId.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeId.fieldName,\n value: attrValue\n })\n delete payload.routeId;\n }\n if (payload.routeStatus) {\n let attrValue = [];\n if (payload.routeStatus.value) {\n attrValue = getFilterAttributeValue(payload.routeStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.routeStatus.fieldName,\n value: attrValue\n })\n delete payload.routeStatus;\n }\n if (payload.driver) {\n let attrValue = [];\n if (payload.driver.value) {\n attrValue = getFilterAttributeValue(payload.driver.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.driver.fieldName,\n value: attrValue\n })\n delete payload.driver;\n }\n if (payload.vehicle) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.vehicle.fieldName,\n value: attrValue\n })\n delete payload.vehicle;\n }\n if (payload.helper) {\n let attrValue = [];\n if (payload.helper.value) {\n attrValue = getFilterAttributeValue(payload.helper.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.helper.fieldName,\n value: attrValue\n })\n delete payload.helper;\n }\n if (payload.deliveryFailedReason) {\n let attrValue = [];\n if (payload.deliveryFailedReason.value) {\n attrValue = getFilterAttributeValue(payload.deliveryFailedReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryFailedReason.fieldName,\n value: attrValue\n })\n delete payload.deliveryFailedReason;\n }\n if (payload.createdBy) {\n let attrValue = [];\n if (payload.createdBy.value) {\n attrValue = getFilterAttributeValue(payload.createdBy.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.createdBy.fieldName,\n value: attrValue\n })\n delete payload.createdBy;\n }\n if (payload.displayRouteStatus) {\n payload.attributes.push({\n key: payload.displayRouteStatus.fieldName,\n value: payload.displayRouteStatus.value || []\n })\n delete payload.displayRouteStatus;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n })\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken\n }\n payload.isCHD = true;\n return payload;\n};\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isRoute);\n var orderFilterRequestDto = { orderFilterRequestDto: newPayload };\n return orderFilterRequestDto;\n};\n\nexport const createRoutesPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isRoute);\n var routeFilterRequestDto = { routeFilterRequestDto: newPayload };\n return routeFilterRequestDto;\n};\n\nexport const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store\n };\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode\n }\n }\n return consignmentCodePosCodeMap;\n }\n}\n\nexport const createDraftRoutePayload = (payload: any,) => {\n const routeId = sessionStorage.getItem('routeId');\n const consignments = JSON.parse(sessionStorage.getItem('extraConsignments') || '[]');\n let responsePayload: any;\n\n responsePayload = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n hubName: payload.hubName,\n isCHD: true\n }\n\n if (payload.slotValue) {\n let dateRange = [];\n const selectAllIdx = payload.slotValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = payload.slotValue.indexOf(AppConstants.SELECT_NONE.value);\n if (payload.date) {\n const allDates = enumerateDaysBetweenDates(payload.date.startDate, payload.date.endDate);\n if (selectAllIdx > -1 || selectNoneIdx > -1 || !payload.slotValue.length) {\n responsePayload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n } else {\n responsePayload.isDateRange = false;\n payload.slotValue.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n })\n }\n }\n responsePayload.timeSlot = dateRange;\n }\n if (payload.editMode) {\n responsePayload.editMode = true;\n }\n if (payload.statusValue) {\n responsePayload.deliveryStatuses = getFilterAttributeValue(payload.statusValue, true);\n }\n if (routeId) {\n if (!payload.editMode) {\n if (consignments.length) {\n responsePayload.route = {\n id: routeId\n }\n }\n } else {\n responsePayload.route = {\n id: routeId\n }\n }\n if (consignments.length) {\n responsePayload.consignmentIds = consignments;\n }\n }\n return responsePayload;\n}\n\nexport const getDiscardRoutePayload = (params: any) => {\n const routeId = sessionStorage.getItem('routeId');\n const consignments = JSON.parse(sessionStorage.getItem('extraConsignments') || '[]');\n const previousConsignments = params.previousCons;\n let responsePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n routeId: routeId || \"\",\n previousConsignments: previousConsignments\n }\n if (consignments.length) {\n responsePayload.consignmentsAdded = consignments\n }\n return responsePayload;\n}\n\nexport const createPublishRoutesPayload = (routes: RowData[]) => {\n return routes.length ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n ids: routes.map((route: RowData) => route.id)\n } : null;\n}\n\nexport const createConsignmentReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id\n };\n if (params.selection === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n payload.reScheduled = true;\n const splitSlot = params.slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n payload.timeSlot = {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT_UI).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT_UI).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n }\n } else {\n payload.reScheduled = false;\n payload.comments = params.commentsValue;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n }\n return payload;\n}\n\nexport const createDeleteRoutePayload = (id: string) => {\n return id ? {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n id: id\n } : null;\n}\n\nexport const createRouteCreationPayload = (payload: any) => {\n let transitTime: any = calculateTransitTimeForConsignments(payload.mapRouteDirections, payload.consignments);\n let routePayload: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n route: {\n id: payload.route.id,\n creationTime: payload.route.creationTime,\n createdBy: payload.route.createdBy,\n countryDetails: payload.route.countryDetails,\n hubCode: payload.route.hubCode,\n hubName: payload.route.hubName,\n deliveryArea: getUniqueValues(payload.consignments, 'area'),\n deliverySlot: getUniqueValues(payload.consignments, 'slot'),\n totalConsignment: payload.consignments.length,\n totalCrates: getTotalCrates(payload.consignments),\n deliveryDate: moment(payload.date, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n plannedDate: payload.route.plannedDate,\n transitTime: payload.transitTime,\n consignmentsIds: payload.consignments.map((item: any) => item.code)\n },\n consignmentTransitTime: transitTime\n }\n if (payload.selectedDriver !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignee = {\n id: payload.selectedDriver\n }\n }\n if (payload.selectedHelper !== AppConstants.SELECT_NONE.value) {\n routePayload.route.helper = {\n id: payload.selectedHelper\n }\n }\n if (payload.selectedVehicle !== AppConstants.SELECT_NONE.value) {\n routePayload.route.assignedVehicle = {\n id: payload.selectedVehicle\n }\n }\n return routePayload;\n}\n\nexport const createGetAllDropdownsPayload = (params: any) => {\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n },\n hubCode: params.hubCode,\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE)\n }\n}\n\nexport const createGetAllPlannedRoutesPayload = (params: any) => {\n\n return {\n timeSlot: {\n startTime: moment(params.date.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(params.date.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n },\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: params.hubCode,\n isCHD: true\n }\n}\n\nexport const createUpdateOrderStatusPayload = (params: any) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n consignmentIds: params.consignments,\n displayRouteStatus: params.status,\n routeId: params.routeId\n }\n}\n\nexport const createPayloadForUpdatingCustAddress = (params: any, consignmentId: any) => {\n return {\n consignmentCode: consignmentId,\n address: params\n }\n}\n\nexport const getPlannedRoutesData = (routeData: any) => {\n let plannedSlots = [];\n if (routeData.PLANNED) {\n const plannedValue: any = routeData.PLANNED;\n for (let slotKey in plannedValue) {\n const slotValue: any = plannedValue[slotKey];\n let slot: any = {\n code: slotKey,\n value: slotValue.slotValue,\n data: []\n };\n let totalConsignments = 0;\n let totalCrates = 0;\n const elements: any = slotValue.elements.map((route: any) => {\n totalConsignments += route.totalConsignment;\n totalCrates += route.totalCrates;\n return {\n code: route.id,\n value: route.routeId,\n data: route,\n slot: slotKey,\n slotValue: slotValue.slotValue\n };\n });\n slot.data = elements;\n slot.totalConsignments = totalConsignments;\n slot.totalCrates = totalCrates;\n plannedSlots.push(slot);\n }\n }\n return plannedSlots;\n}\n\nexport const getConsignmentData = async (draftRouteData: any) => {\n let areas: any[] = [];\n let consignments: any[] = [];\n let slots: any = {};\n if (draftRouteData) {\n Object.keys(draftRouteData).forEach((statusKey: string) => {\n const statusValue: any = draftRouteData[statusKey]\n Object.keys(statusValue).forEach((areaKey: string) => {\n const areaIndex: number = areas.findIndex((area: any) => area.code === areaKey);\n let area: any = areaIndex === -1 ? {\n code: areaKey,\n value: areaKey,\n data: []\n } : { ...areas[areaIndex] };\n const areaValue: any = statusValue[areaKey];\n Object.keys(areaValue).forEach((slotKey: string) => {\n const slotValue: any = areaValue[slotKey];\n const slotIndex: number = areaIndex !== -1 ? area.data.findIndex((slot: any) => slot.code === slotKey) : -1;\n let slot: any = slotIndex === -1 ? {\n code: slotKey,\n value: slotValue.slotValue,\n area: areaKey,\n data: []\n } : { ...area.data[slotIndex] };\n const elements: any = slotValue.elements.map((consignment: any) => {\n return {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n slot: slotKey,\n slotValue: slotValue.slotValue,\n area: areaKey,\n status: statusKey\n };\n });\n if (slotIndex !== -1) {\n slot.data = [...slot.data, ...elements];\n area.data[slotIndex] = slot;\n } else {\n slot.data = elements;\n area.data.push(slot);\n }\n if (slots[area.code]) {\n slots[area.code][slot.code] = slot.data;\n } else {\n slots[area.code] = {\n [slot.code]: slot.data\n }\n }\n consignments = [...consignments, ...elements];\n })\n if (areaIndex !== -1) {\n areas[areaIndex] = area;\n } else {\n areas.push(area);\n }\n })\n })\n }\n return {\n areaWiseConsignments: areas,\n allConsignments: consignments,\n slotwiseConsignments: slots\n };\n}\n\nexport const transformRouteConsignments = (consignments: any[]) => {\n let routeConsignments: any = {};\n let seqConsignments: any = [];\n consignments.forEach((consignment: any) => {\n let newConsignment: any = {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n area: consignment.deliveryInformation && consignment.deliveryInformation.customerContactInfo && consignment.deliveryInformation.customerContactInfo.address.area,\n slot: consignment.deliveryInformation && consignment.deliveryInformation.deliverySlot.deliverySlotTime\n };\n seqConsignments.push(consignment.id);\n if (routeConsignments[newConsignment.area]) {\n if (routeConsignments[newConsignment.area][newConsignment.slot]) {\n routeConsignments[newConsignment.area][newConsignment.slot].push(newConsignment);\n } else {\n routeConsignments[newConsignment.area][newConsignment.slot] = [newConsignment];\n }\n } else {\n routeConsignments[newConsignment.area] = {\n [newConsignment.slot]: [newConsignment]\n };\n }\n });\n return {\n routeConsignments: routeConsignments,\n seqConsignments: seqConsignments\n };\n}\n\nexport const getAllAreasAndSlots = (areas: any[]) => {\n let allAreas: string[] = [];\n areas.forEach((area: any) => {\n const slots = area.data;\n slots.forEach((slot: any) => {\n allAreas.push(`${area.code}-${slot.code}`);\n });\n allAreas.push(area.code);\n });\n return allAreas;\n}\n\nexport const getDropdownsData = (payload: any, codeKey?: string, valueKey?: string) => {\n return payload.length ? payload.map((item: any) => {\n return {\n code: codeKey ? item[codeKey] : item.id,\n value: valueKey ? item[valueKey] : item.name\n }\n }) : [];\n}\n\nexport const getTotalCrates = (consignments: any[]) => {\n let totalCrates = 0;\n if (consignments.length) {\n consignments.forEach((item: any) => {\n if (item.data && item.data.deliveryInformation) {\n totalCrates += parseInt(item.data.deliveryInformation.totalCratesCount);\n }\n });\n }\n return totalCrates;\n}\n\nexport const calculateTransitTime = (directions: any) => {\n let transitTime = 0;\n if (directions.legs && directions.legs.length) {\n directions.legs.forEach((leg: any) => {\n transitTime += leg.duration ? leg.duration.value : 0;\n });\n transitTime += (AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.DRIVER_SERVICE_TIME * directions.legs.length);\n }\n return transitTime;\n}\n\nexport const calculateTransitTimeForConsignments = (directions: any, consignments: any) => {\n let consignmentIdsTransitTime: any = {};\n if (directions.legs && directions.legs.length) {\n for (var i = 0; i < consignments.length; i++) {\n if (directions.legs[i]) {\n consignmentIdsTransitTime[consignments[i].code] = directions.legs[i].duration.value\n }\n else {\n consignmentIdsTransitTime[consignments[i].code] = 0\n }\n }\n }\n return consignmentIdsTransitTime;\n}\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj ? `${addressObj.building ? addressObj.building + ', ' : \"\"}${addressObj.apartment ? addressObj.apartment + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + ', ' : \"\"}${addressObj.makani ? addressObj.makani + ', ' : \"\"}${addressObj.streetNumber ? addressObj.streetNumber + ', ' : \"\"}${addressObj.streetName ? addressObj.streetName + ', ' : \"\"}${addressObj.area ? addressObj.area + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + ', ' : \"\"}${addressObj.postalCode ? addressObj.postalCode + ', ' : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}` : \"\";\n}\n\nexport const getCratesFromProducts = (items: any) => {\n let crates: any = [];\n items && items.filter(({ shippedQty }: any) => { return +shippedQty > 0 }).forEach((item: any) => {\n if (item.substitutedProducts && item.substitutedProducts.length) {\n item.substitutedProducts && item.substitutedProducts.forEach((element: any) => {\n if (element.associatedCrates) {\n let productCrates = element.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n })\n }\n });\n } else {\n if (item.associatedCrates) {\n let productCrates = item.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n })\n }\n }\n });\n return crates;\n}\n\nexport const checkTerminalStatus = (deliveryStatus: string) => {\n return AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.TERMINAL_STATUSES.indexOf(deliveryStatus) > -1;\n}\n\nexport const getLatLong = (addressObj: Address) => {\n return addressObj ? `${addressObj.latitude ? parseFloat(addressObj.latitude).toFixed(5) + ', ' : \"\"}${addressObj.longitude ? parseFloat(addressObj.longitude).toFixed(5) : \"\"}` : \"\";\n}\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport moment from \"moment\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { CarrefourDeliveryState } from \"./carrefourDeliverySlice.types\";\nimport AppConstants from \"../../constants\";\nimport { transformSelectValues, saveFile, transformProductsResponse } from \"../../utils/helpers.utils\";\nimport { getDropdownsData, getPlannedRoutesData } from \"../../mocks/carrefourHomeDelivery/response.transforms\";\n\nexport const fetchPlanningList = createAsyncThunk(\n \"CarrefourDelivery/FetchByCountry\",\n async (\n {\n requestContinuationToken,\n searchBy,\n searchValue,\n }: {\n requestContinuationToken?: string;\n searchBy: string;\n searchValue: string;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/${searchBy}/${searchValue}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n\n if (requestContinuationToken) {\n request.headers = {\n \"x-requestcontinuation-token\": requestContinuationToken,\n };\n }\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"CarrefourDelivery/FetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDynamicFiltersRoutesDropdownValues = createAsyncThunk(\n \"CarrefourDelivery/FetchDynamicFiltersRoutesDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasons = createAsyncThunk(\n \"CarrefourDelivery/FetchDeliveryReasons\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `order/get-delivery-reasons/Default`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"CarrefourDelivery/FetchOrdersByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningRouteListByFilter = createAsyncThunk(\n \"CarrefourDelivery/FetchRoutesByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllDrivers = createAsyncThunk(\n \"CarrefourDelivery/FetchAllDrivers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/drivers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllHelpers = createAsyncThunk(\n \"CarrefourDelivery/FetchAllHelpers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/helpers',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllVehicles = createAsyncThunk(\n \"CarrefourDelivery/FetchAllVehicles\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'vehicle/load',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createDraftRoute = createAsyncThunk(\n \"CarrefourDelivery/CreateDraftRoute\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/create',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const loadAllSlots = createAsyncThunk(\n \"CarrefourDelivery/LoadAllSlots\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/draft/load/slots',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const consignmentReplanning = createAsyncThunk(\n \"CarrefourDelivery/ConsignmentReplanning\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/replanning',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAllPlannedRoutes = createAsyncThunk(\n \"CarrefourDelivery/FetchAllPlannedRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/view',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createAndEditRoute = createAsyncThunk(\n \"CarrefourDelivery/CreateAndEditRoute\",\n async (\n {\n payload,\n editMode\n }: {\n payload: any,\n editMode: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/edit',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const discardRouteChanges = createAsyncThunk(\n \"CarrefourDelivery/DiscardRouteChanges\",\n async (\n {\n params,\n redirect\n }: {\n params: any,\n redirect?: boolean\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/discard',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const publishRoutes = createAsyncThunk(\n \"CarrefourDelivery/PublishRoutes\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/publish',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const deleteRoute = createAsyncThunk(\n \"CarrefourDelivery/DeleteRoute\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/delete',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateConsignmentStatus = createAsyncThunk(\n \"CarrefourDelivery/UpdateOrderStatus\",\n async (\n {\n payload\n }: {\n payload: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/updateRouteStatus',\n method: EApiMiddlewareMethods.PUT,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"CarrefourDelivery/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRoutesFilterChipsDisplayCount = createAsyncThunk(\n \"CarrefourDelivery/FetchRoutesFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'route/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteConsignments = createAsyncThunk(\n \"CarrefourDelivery/FetchRouteConsignments\",\n async ({\n id\n }: {\n id: string\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `route/get-consignments-by-route/${id}`,\n method: EApiMiddlewareMethods.POST,\n data: {}\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"CarrefourDelivery/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/order',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportRoutesToExcel = createAsyncThunk(\n \"CarrefourDelivery/ExportRoutesToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/route',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportInvoicePdf = createAsyncThunk(\n \"CarrefourDelivery/ExportInvoicePdf\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/view-invoice',\n method: EApiMiddlewareMethods.POST,\n data: params,\n responseType: \"bytes\"\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRejectionReasons = createAsyncThunk(\n \"CarrefourDelivery/FetchRejectionReasons\",\n async (\n {\n countryCode\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `order/get-lineitem-rejection-reasons/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateCustomerAddress = createAsyncThunk(\n \"CarrefourDelivery/UpdateCustomerAddress\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/update-delivery-address',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateAllConsignmentsState = createAsyncThunk(\"CarrefourDelivery/UpdateAllConsignmentsState\", ({\n consignments\n}: {\n consignments: any\n}) => {\n return consignments;\n});\n\nexport const clearPublishedRoutesErrors = createAsyncThunk(\"CarrefourDelivery/ClearPublishedRoutesErrors\", () => {\n return [];\n});\n\nexport const clearPublishedRoutes = createAsyncThunk(\"CarrefourDelivery/ClearPublishedRoutes\", () => {\n return [];\n});\n\nexport const resetPlanningError = createAsyncThunk(\"CarrefourDelivery/ResetPlanningError\", () => {\n return \"\";\n});\n\nexport const clearUpdatedRoute = createAsyncThunk(\"CarrefourDelivery/ClearUpdatedRoute\", () => {\n return null;\n});\n\nexport const clearDeletedRoute = createAsyncThunk(\"CarrefourDelivery/ClearDeletedRoute\", () => {\n return null;\n});\n\nexport const resetCreateRouteSuccess = createAsyncThunk(\"CarrefourDelivery/ResetCreateRouteSuccess\", () => {\n return false;\n});\n\nexport const resetDraftRoute = createAsyncThunk(\"CarrefourDelivery/ResetDraftRoute\", () => {\n return {};\n});\n\nexport const resetConsignmentReplanningSuccess = createAsyncThunk(\"CarrefourDelivery/ResetConsignmentReplanningSuccess\", () => {\n return false;\n});\n\nexport const clearCurrentSlot = createAsyncThunk(\"CarrefourDelivery/ClearCurrentSlot\", () => {\n return null;\n});\n\nexport const fetchConsignmentHistoryAndProducts = createAsyncThunk(\n \"CarrefourDeliveryConsignmentDetails/FetchConsignmentHistoryAndProducts\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statusHistoryProducts/${params} `,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getCratesInfo = createAsyncThunk(\n \"CarrefourDeliveryConsignmentDetails/getCratesInfo\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order / updateCratesAlectoApi`,\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchCarrefourDeliveryStatuses = createAsyncThunk(\n \"CarrefourDelivery/fetchCarrefourDeliveryStatuses\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statuses/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchCHDSlotDropdownValues = createAsyncThunk(\n \"CarrefourDelivery/FetchCHDSlotDropdownValues\",\n async (\n {\n countryCode\n }: {\n countryCode: any;\n },\n { rejectWithValue }\n ) => {\n let params = countryCode ? countryCode : sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n try {\n const request = {\n url: `filter/all/${params}/CHD`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"CarrefourDelivery/CloseDialog\", () => {\n return false;\n});\n\nexport const resetReplanningSuccess = createAsyncThunk(\"CarrefourDelivery/ResetReplanningSuccess\", () => {\n return false;\n});\n\nexport const updateAddressSuccess = createAsyncThunk(\"VTAddressUpdate/AddressUpdateSuccess\", () => {\n return false;\n});\n\nconst initialState: CarrefourDeliveryState = {\n loading: false,\n tableLoading: false,\n invoiceData: \"\",\n displayInvoice: false,\n invoiceMessage: \"\",\n invoiceConsignment: \"\",\n exportError: \"\",\n cratesFromAlecto: \"\",\n productsListFromAlecto: [],\n vtOrdersFilterChipsDisplayCount: {\n consignmentCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n routesFilterChipsDisplayCount: {\n routCount: {\n UNPLANNED: 0,\n PLANNED: 0,\n PUBLISHED: 0,\n PREPARING: 0,\n PREPARED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n ordersFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n deliveryAreaList: [],\n typeList: [],\n deliverySlotList: [],\n statusList: [],\n paymentTypeList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeIdList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n undeliveredReasonList: []\n },\n routesFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n routeIdList: [],\n deliveryAreaList: [],\n deliverySlotList: [],\n carrierList: [],\n deliveryPropositionList: [],\n routeStatusList: [],\n driverList: [],\n helperList: [],\n vehicleList: [],\n createdByList: []\n },\n reasonsDropdownList: [],\n deliveryReasons: {},\n ordersData: {\n elements: [],\n pageNumber: 0\n },\n routesData: {\n elements: [],\n pageNumber: 0\n },\n historyAndProducts: {},\n error: \"\",\n errorCode: \"\",\n draftRoute: {},\n plannedRoutes: {},\n slotwisePlannedRoutes: [],\n areawiseConsignments: [],\n slotwiseConsignments: {},\n allConsignments: [],\n routeConsignments: [],\n driversList: [],\n helpersList: [],\n vehiclesList: [],\n slotsList: [],\n consignmentStatusList: [],\n currentSlot: null,\n routeCreateSuccess: false,\n updatedRoute: null,\n routeDiscardSuccess: false,\n publishedRoutesErrors: [],\n publishedRoutes: [],\n chdReplanningConsignmentSuccess: false,\n deletedRoute: null,\n excelLoading: false,\n consignmentStatuses: [],\n productsList: [],\n consignmentDataAfterReplanning: {},\n carrefourDeliveryStatuses: [],\n isUpdateAddress: false,\n rejectionReasonList: [],\n rejectionReasons: {},\n deliverySlotListCHD: [],\n updatedCustomerAddress: {}\n};\n\nconst carrefourDeliverySlice = createSlice({\n name: \"CarrefourDelivery\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchPlanningList.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningList.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersData = payload;\n })\n .addCase(fetchPlanningList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.chdReplanningConsignmentSuccess = false;\n state.ordersFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n typeList: transformSelectValues(payload.types || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n statusList: transformSelectValues(payload.statuses || []),\n paymentTypeList: transformSelectValues(payload.paymentTypes || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n undeliveredReasonList: transformSelectValues(payload.undeliveredReasons || [])\n };\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n routeIdList: transformSelectValues(payload.routeIds || []),\n deliveryAreaList: transformSelectValues(payload.areas || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n carrierList: transformSelectValues(payload.carriers || []),\n deliveryPropositionList: transformSelectValues(payload.deliveryPropositions || []),\n routeStatusList: transformSelectValues(payload.routeStatuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n helperList: transformSelectValues(payload.helpers || []),\n vehicleList: transformSelectValues(payload.vehicles || []),\n createdByList: transformSelectValues(payload.createdBy || [])\n };\n })\n .addCase(fetchDynamicFiltersRoutesDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDeliveryReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n if (payload.reasons) {\n deliveryReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.reasons;\n })\n .addCase(fetchDeliveryReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.chdReplanningConsignmentSuccess = false;\n state.vtOrdersFilterChipsDisplayCount = payload;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesFilterChipsDisplayCount = payload;\n })\n .addCase(fetchRoutesFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllDrivers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllDrivers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversData = payload;\n const drivers = getDropdownsData(payload);\n state.driversList = transformSelectValues(drivers);\n })\n .addCase(fetchAllDrivers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllHelpers.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllHelpers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.helpersData = payload;\n const helpers = getDropdownsData(payload);\n state.helpersList = transformSelectValues(helpers);\n })\n .addCase(fetchAllHelpers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllVehicles.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllVehicles.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.vehiclesData = payload;\n const vehicles = getDropdownsData(payload);\n state.vehiclesList = transformSelectValues(vehicles);\n })\n .addCase(fetchAllVehicles.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(loadAllSlots.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(loadAllSlots.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.slotwisePlannedRoutes = [];\n state.slotsData = payload;\n state.currentSlot = payload.currentSlot && payload.currentSlot.length ? payload.currentSlot[0] : {};\n state.slotsList = transformSelectValues(payload.allSlots);\n })\n .addCase(loadAllSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.currentSlot = null;\n state.slotsList = [];\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAllPlannedRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAllPlannedRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.plannedRoutes = payload;\n state.slotwisePlannedRoutes = getPlannedRoutesData(payload.allRoutes);\n })\n .addCase(fetchAllPlannedRoutes.rejected, (state, action) => {\n state.loading = false;\n state.plannedRoutes = {};\n state.slotwisePlannedRoutes = [];\n })\n .addCase(createDraftRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.draftRoute = {};\n })\n .addCase(createDraftRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.slotwisePlannedRoutes = [];\n state.draftRoute = payload;\n state.consignmentStatusList = transformSelectValues(payload.deliveryStatuses || []);\n sessionStorage.setItem('routeId', payload.route && payload.route.id);\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createDraftRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeCreateSuccess = false;\n state.updatedRoute = null;\n state.routeDiscardSuccess = false;\n state.currentSlot = null;\n state.draftRoute = {};\n state.slotwisePlannedRoutes = [];\n if (!params.editMode) {\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n }\n })\n .addCase(consignmentReplanning.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(consignmentReplanning.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.chdReplanningConsignmentSuccess = true;\n state.consignmentDataAfterReplanning = payload;\n })\n .addCase(consignmentReplanning.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.chdReplanningConsignmentSuccess = false;\n })\n .addCase(createAndEditRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createAndEditRoute.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n state.loading = false;\n if (editMode) {\n state.updatedRoute = payload;\n } else {\n state.routeCreateSuccess = true;\n }\n state.currentSlot = null;\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(createAndEditRoute.rejected, (state, action) => {\n const {\n payload,\n meta: {\n arg: { editMode }\n }\n } = action;\n const errorPayload: any = payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if (editMode) {\n state.updatedRoute = null;\n } else {\n state.routeCreateSuccess = false;\n }\n })\n .addCase(discardRouteChanges.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(discardRouteChanges.fulfilled, (state, action) => {\n const {\n meta: {\n arg: { redirect }\n }\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeDiscardSuccess = true;\n state.draftRoute = {};\n state.currentSlot = null;\n if (!redirect) {\n sessionStorage.setItem('routeId', '');\n }\n sessionStorage.setItem('extraConsignments', '[]');\n })\n .addCase(discardRouteChanges.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.routeDiscardSuccess = false;\n })\n .addCase(publishRoutes.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = [];\n })\n .addCase(publishRoutes.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.publishErrorDto && payload.publishErrorDto.length) {\n state.publishedRoutesErrors = payload.publishErrorDto;\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n } else {\n state.publishedRoutes = payload.publishedRoutes && payload.publishedRoutes.length ? payload.publishedRoutes : [];\n }\n })\n .addCase(publishRoutes.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.publishedRoutes = [];\n state.publishedRoutesErrors = [];\n })\n .addCase(deleteRoute.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(deleteRoute.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.deletedRoute = payload;\n })\n .addCase(deleteRoute.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.deletedRoute = null;\n })\n .addCase(updateConsignmentStatus.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.fulfilled, (state, action) => {\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateConsignmentStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.chdReplanningConsignmentSuccess = false;\n state.ordersData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.ordersData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningRouteListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningRouteListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routesData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.routesData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningRouteListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteConsignments.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRouteConsignments.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeConsignments = payload;\n })\n .addCase(fetchRouteConsignments.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateAllConsignmentsState.fulfilled, (state, action) => {\n const { payload } = action;\n state.areawiseConsignments = payload.areaWiseConsignments;\n state.slotwiseConsignments = payload.slotwiseConsignments;\n state.allConsignments = payload.allConsignments;\n state.loading = payload.loading;\n state.error = \"\";\n })\n .addCase(clearPublishedRoutesErrors.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutesErrors = payload;\n })\n .addCase(clearPublishedRoutes.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.publishedRoutes = payload;\n })\n .addCase(resetPlanningError.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = payload;\n state.error = payload;\n })\n .addCase(clearUpdatedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.updatedRoute = payload;\n state.routeDiscardSuccess = false;\n })\n .addCase(clearDeletedRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.deletedRoute = payload;\n })\n .addCase(clearCurrentSlot.fulfilled, (state, action) => {\n const { payload } = action;\n state.currentSlot = payload;\n })\n .addCase(resetCreateRouteSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.routeCreateSuccess = payload;\n })\n .addCase(resetDraftRoute.fulfilled, (state, action) => {\n const { payload } = action;\n state.draftRoute = payload;\n })\n .addCase(resetConsignmentReplanningSuccess.fulfilled, (state, action) => {\n const { payload } = action;\n state.chdReplanningConsignmentSuccess = payload;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Consignments_${currentDate} _${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportRoutesToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportRoutesToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Routes_${currentDate} _${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportRoutesToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.exportError = errorPayload.status;\n })\n .addCase(exportInvoicePdf.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(exportInvoicePdf.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n const data = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].FileDataBytes : [];\n state.invoiceConsignment = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].ConsignmentNo : \"\";\n state.displayInvoice = payload.Invoices && payload.Invoices.length;\n const pdfData = `data: application / pdf; base64, ${data} `;\n state.invoiceData = payload.Invoices && payload.Invoices.length ? pdfData : [];\n state.invoiceMessage = payload.Message;\n })\n .addCase(exportInvoicePdf.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistoryAndProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistoryAndProducts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.updatedCustomerAddress = {};\n state.historyAndProducts = payload;\n state.consignmentStatuses = payload.statuses && payload.statuses.length ? payload.statuses : [];\n let prodRes: any = transformProductsResponse(payload.products && payload.products.length ? payload.products : []);\n state.productsList = prodRes || [];\n })\n .addCase(fetchConsignmentHistoryAndProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getCratesInfo.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getCratesInfo.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cratesFromAlecto = payload;\n state.productsListFromAlecto = payload && payload.crateAvailableOrders && payload.crateAvailableOrders.length > 0 && payload.crateAvailableOrders[0].products && payload.crateAvailableOrders[0].products.length > 0 ? payload.crateAvailableOrders[0].products : null;\n })\n .addCase(getCratesInfo.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.consignmentDataAfterReplanning = {};\n state.updatedCustomerAddress = {};\n })\n .addCase(resetReplanningSuccess.fulfilled, (state, action) => {\n state.chdReplanningConsignmentSuccess = false\n })\n .addCase(fetchCarrefourDeliveryStatuses.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchCarrefourDeliveryStatuses.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.carrefourDeliveryStatuses = transformSelectValues(payload.statuses && payload.statuses.length ? payload.statuses : []);\n })\n .addCase(fetchCarrefourDeliveryStatuses.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateAddressSuccess.fulfilled, (state, action) => {\n state.isUpdateAddress = false\n })\n .addCase(fetchRejectionReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRejectionReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let rejectionReasonsList: any = [];\n if (payload.reasons) {\n rejectionReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.rejectionReasonList = transformSelectValues(rejectionReasonsList);\n state.rejectionReasons = payload.reasons;\n })\n .addCase(fetchRejectionReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchCHDSlotDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchCHDSlotDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n let deliverySlotListCHD: any = {};\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotListCHD[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n state.deliverySlotListCHD = deliverySlotListCHD;\n })\n .addCase(fetchCHDSlotDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateCustomerAddress.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateCustomerAddress.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isUpdateAddress = true;\n state.updatedCustomerAddress = payload;\n })\n .addCase(updateCustomerAddress.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.chdReplanningConsignmentSuccess = false;\n })\n },\n});\n\nexport default carrefourDeliverySlice.reducer;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .detailsHeader': {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: \"18px 16px\",\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(2),\n '& .title': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600\n },\n '& .editIcon': {\n display: \"flex\",\n justifyContent: \"flex-end\"\n },\n '& .subSection': {\n paddingTop: \"16px\",\n display: \"flex\"\n },\n '& .subSectionTitle': {\n fontSize: \"14px\",\n fontWeight: 600\n },\n '& .subSectionContent': {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .editAddress': {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\"\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: \"6px\",\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .contentHubAddress': {\n display: \"flex\",\n flexDirection: \"column\",\n '& .main': {\n display: \"flex\",\n flexDirection: \"column\"\n },\n '& .title': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600\n },\n '& .content': {\n paddingTop: \"16px\",\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"20px\"\n },\n '& .subSection': {\n paddingTop: \"16px\",\n display: \"flex\"\n },\n '& .subSectionTitle': {\n fontSize: \"14px\",\n fontWeight: 600\n },\n '& .subSectionContent': {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\"\n },\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(2),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .editAddress': {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\"\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: \"6px\",\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '&.hubDetails': {\n paddingBottom: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n }\n }\n },\n '& .sellerDetails': {\n paddingTop: theme.spacing(1.75),\n '& .detailsHeader': {\n backgroundColor: theme.palette.secondary.main\n }\n },\n '& .deliveryProofSection': {\n paddingBottom: theme.spacing(1),\n '& .content': {\n width: \"100%\",\n '& .deliveryProofContainer': {\n flexDirection: \"column\",\n '& .deliveryProofItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .imagesContainer': {\n flexWrap: \"nowrap\",\n '& .imagesItem': {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n '&:last-child': {\n marginRight: 0\n },\n '& .imageItemContainer': {\n flexDirection: \"column\",\n '& .imageItem': {\n paddingBottom: theme.spacing(2),\n '& .heading': {\n fontSize: 14,\n fontWeight: 500\n },\n '& .allImagesContainer': {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n '& .viewerContainer': {\n display: \"flex\"\n },\n '&.sign': {\n justifyContent: \"space-around\",\n },\n '& img': {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0\n }\n }\n }\n }\n }\n }\n },\n '& .commentsContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n '& .commentsItem': {\n paddingBottom: theme.spacing(0.75),\n '& p': {\n fontWeight: 500,\n fontSize: 12\n },\n '& .heading': {\n fontSize: 14\n }\n }\n }\n }\n }\n }\n },\n '& .consignmentHistory': {\n paddingBottom: theme.spacing(1)\n },\n '& .tabularSection': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.crates': {\n '& .itemsContainer .item .itemContainer .itemColumn.item1 p': {\n fontWeight: 600,\n },\n '& .itemsContainer .item .itemContainer .itemColumn.item1 .header p': {\n fontWeight: 500,\n },\n '& .crateBarcode': {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3)\n },\n '& .crateStageLocationIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n '& .itemDiv': {\n padding: theme.spacing(0),\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n }\n }\n },\n '& .paymentContainer': {\n padding: 16,\n paddingTop: 13,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontWeight: 600\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .vat': {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25)\n },\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .smallHeading': {\n fontSize: 12\n }\n },\n '& .content': {\n flexGrow: 1\n }\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '&.error': {\n color: COLORS.DARK_RED,\n '&.active': {\n paddingBottom: 17\n }\n },\n '&.active': {\n // paddingBottom: 17\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n }\n }\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\"\n },\n horizontalDiv: {\n borderBottom: \"1px solid #E6E6E6\",\n marginBottom: \"16px\"\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\"\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\"\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\"\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\"\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\"\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n '& .react-pdf__Page': {\n marginTop: \"56px\",\n '& .react-pdf__Page__canvas': {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\"\n },\n },\n '& .react-pdf__Page__annotations.annotationLayer': {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\"\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeNoPdfModalIcon: {\n position: 'absolute',\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: \"8px\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport * as yup from 'yup';\nimport { useStyles } from './UpdateCustomerAddress.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\nimport AppConstants from '../constants';\nimport { useFormik } from 'formik';\nimport TextBox from '../common/TextBox';\n\ninterface UpdateCustomerAddressProps {\n open: boolean;\n custInfo: any;\n consignment: any;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst UpdateCustomerAddress = (props: UpdateCustomerAddressProps) => {\n\n const classes = useStyles();\n const { open, custInfo, consignment, closePopup, handleDialogAction } = props;\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const inputValidationSchema = yup.object({\n area: yup\n .string().min(5, \"Please enter valid details\")\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.AREA.REQUIRED.msg),\n city: yup\n .string().min(5, \"Please enter valid details\")\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.CITY.REQUIRED.msg),\n streetNumber: yup\n .string()\n .test(\n 'oneOfRequired',\n 'One of street number, street name must be entered',\n function (item) {\n return (this.parent.streetNumber || this.parent.streetName)\n }\n ),\n streetName: yup\n .string()\n .test(\n 'oneOfRequired',\n 'One of street number, street name must be entered',\n function (item) {\n return (this.parent.streetNumber || this.parent.streetName)\n }\n ),\n building: yup\n .string()\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.BUILDING.REQUIRED.msg),\n apartment: yup\n .string()\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.APARTMENT.REQUIRED.msg),\n phone: yup\n .string()\n .required(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.PHONE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.PHONE.VALIDITY.value), AppConstants.VALET_TROLLEY_CONSTANTS.VALIDATIONS.PHONE.VALIDITY.msg),\n });\n\n const getInitialValues = () => {\n return {\n name: custInfo && custInfo.name ? custInfo.name : '',\n area: custInfo && custInfo.address && custInfo.address.area ? custInfo.address.area : '',\n city: custInfo && custInfo.address && custInfo.address.city ? custInfo.address.city : '',\n streetNumber: custInfo && custInfo.address && custInfo.address.streetNumber ? custInfo.address.streetNumber : '',\n streetName: custInfo && custInfo.address && custInfo.address.streetName ? custInfo.address.streetName : '',\n building: custInfo && custInfo.address && custInfo.address.building ? custInfo.address.building : '',\n apartment: custInfo && custInfo.address && custInfo.address.apartment ? custInfo.address.apartment : '',\n landmark: custInfo && custInfo.address && custInfo.address.landmark ? custInfo.address.landmark : '',\n phone: custInfo && custInfo.phone ? custInfo.phone : '',\n }\n }\n const inputFormik = useFormik({\n initialValues: getInitialValues(),\n validationSchema: inputValidationSchema,\n onSubmit: (values) => {\n dialogActionHandler('submit', values, consignment);\n }\n });\n\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any, consignment?: any) => {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values,\n consignmentId: consignment\n });\n },\n [handleDialogAction],\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n Update Customer Address\n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n
\n \n\n \n \n \n \n \n Customer Name\n \n \n \n \n \n \n \n \n \n Area\n \n \n \n \n \n \n \n \n \n City\n \n \n \n \n \n \n \n \n \n Street Number\n \n \n \n \n \n \n \n \n \n Street Name\n \n \n \n \n \n \n \n \n \n Building Name/ Villa No.\n \n \n \n \n \n \n \n \n \n Floor No./ Apartment No.\n \n \n \n \n \n \n \n \n \n Landmark\n \n \n \n \n \n \n \n \n \n
\n )\n }\n\n const getDialogActions = () => {\n return (\n
\n \n \n \n \n
\n );\n };\n\n useEffect(() => {\n if (open) {\n inputFormik.resetForm();\n inputFormik.setValues(getInitialValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open])\n\n return (\n \n )\n}\n\nexport default UpdateCustomerAddress;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n lineHeight: 1.2,\n },\n '&.heading': {\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n '& .dialogBtn': {\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from '../config/redux/reducers';\nimport { fetchCarrefourDeliveryStatuses, consignmentReplanning, fetchDeliveryReasons } from './redux/carrefourDeliverySlice';\nimport { createVTOrderReplanningPayload } from '../mocks/valetTrolley/response.transforms';\n\n//common components\nimport CustomDialog from '../common/Dialog';\nimport SelectBox from '../common/SelectBox';\nimport TextBox from '../common/TextBox';\nimport DateRangePickerComponent from '../common/DateRangeComponent';\n\n//Material UI Components\nimport { useStyles } from './CarrefourDeliveryOrderDetailsEdit.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Button } from '@material-ui/core';\n\n//constants\nimport AppConstants from \"../constants\";\n\n//Assets\nimport warning from \"../assets/icons/warning.svg\";\nimport { transformSlotValue } from \"../utils/helpers.utils\";\n//Commenting Partial rejection functionality for now,To be included later\n//import UpdatePartialRejection from './UpdatePartialRejection';\n//import warningIcon from \"./../assets/icons/warningOctagon.svg\";\n\n\ninterface CarrefourDeliveryOrderDetailsEditProps {\n open: boolean;\n consignment: any;\n isExpress?: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst CarrefourDeliveryOrderDetailsEdit = (props: CarrefourDeliveryOrderDetailsEditProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, consignment, closePopup } = props;\n\n const { carrefourDeliveryStatuses, deliveryReasons, reasonsDropdownList, chdReplanningConsignmentSuccess, consignmentDataAfterReplanning, deliverySlotListCHD } = useSelector(\n (state: AppState) => state.carrefourDelivery\n )\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const [selectedStatus, setSelectedStatus] = useState(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n const [selectedSlot, setSelectedSlot] = useState(AppConstants.SELECT_NONE.value);\n const [selectedReason, setSelectedReason] = useState(AppConstants.SELECT_NONE.value);\n const [selectedDate, setSelectedDate] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment().hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n });\n const [showReason, setShowReason] = useState(false);\n const [commentsValue, setCommentsValue] = useState('');\n const [errors, setErrors] = useState({\n reason: \"\",\n });\n //Commenting Partial rejection functionality for now,To be included later\n /* const [isStatusDelivered, setIsStatusDelivered] = useState(false); \n const [openUpdateRejectedDialog, setOpenUpdateRejectedDialog] = useState(false);\n const [openPartialRejectionPopup, setOpenPartailRejectionPopup] = useState(false); */\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let deliveryDate = \"\";\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n //Commenting Partial rejection functionality for now, To be included later\n /* const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n }; */\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const validateForm = useCallback(() => {\n let newErrors = {};\n if (selectedReason === AppConstants.SELECT_NONE.value) {\n newErrors = { ...newErrors, reason: \"Please select reason\" };\n }\n setErrors({ ...errors, ...newErrors });\n\n return Object.keys(newErrors).length;\n }, [errors, selectedReason]);\n\n const handleSlotChange = useCallback(\n (value: any) => {\n setSelectedSlot(value);\n },\n [],\n );\n\n const handleReasonChange = useCallback(\n (value: any) => {\n setSelectedReason(value);\n if (value) {\n setErrors({ ...errors, reason: \"\" });\n }\n },\n [errors],\n );\n\n const handleCommentsTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setCommentsValue(event.target.value);\n },\n []\n );\n\n const handleDateChange = useCallback(\n (value: any) => {\n setSelectedDate(value);\n },\n [],\n );\n //Commenting Partial rejection functionality for now, To be included later\n /* const handlePartialRejectionUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'sumbit') {\n }\n }, []\n ) \n\n const closePartialRejectionPopup = useCallback(\n () => {\n setOpenPartailRejectionPopup(false);\n },\n [],\n );\n\n /* const handleReplanningForDelivered = useCallback(\n () => {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n closePartialRejectionPopup();\n }, [consignment, selectedStatus, commentsValue, closePartialRejectionPopup, dispatch]\n )\n \n const handleCHDOrderReplanning = useCallback(\n () => {\n if (selectedStatus === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n if (validateForm() === 0) {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n selection: selectedStatus,\n reason: selectedReason,\n commentsValue: commentsValue\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n const deliveryReason = deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n payload.reason = deliveryReason[0]\n }\n }\n dispatch(\n consignmentReplanning({\n params: payload\n })\n )\n }\n } else {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n status: selectedStatus,\n slot: selectedSlot,\n date: selectedDate\n });\n dispatch(\n consignmentReplanning({\n params: payload\n })\n )\n }\n },\n [consignment, selectedStatus, selectedDate, selectedSlot, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch],\n ) */\n\n\n const handleCHDOrderReplanning = useCallback(\n () => {\n if (selectedStatus !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION) {\n if (selectedStatus === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n if (validateForm() === 0) {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n selection: selectedStatus,\n reason: selectedReason,\n commentsValue: commentsValue\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n const deliveryReason = deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n payload.reason = deliveryReason[0]\n }\n }\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createVTOrderReplanningPayload({\n id: consignment.consignmentCode,\n status: selectedStatus,\n slot: selectedSlot,\n date: selectedDate\n });\n dispatch(\n consignmentReplanning(\n {\n params: payload\n }\n )\n )\n }\n },\n [consignment, selectedStatus, selectedDate, selectedSlot, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch],\n )\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n //Commenting Partial rejection functionality for now, To be included later\n /* \n if (isStatusDelivered) {\n setOpenUpdateRejectedDialog(true);\n } else { */\n handleCHDOrderReplanning();\n\n } else {\n closePopup();\n }\n },\n [closePopup, handleCHDOrderReplanning],\n );\n\n //Commenting Partial rejection functionality for now, to be included later\n /* const handleRejectedDialogClose = useCallback(\n () => {\n setOpenUpdateRejectedDialog(false);\n },\n [],\n );\n\n const updateRejectedDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'save') {\n handleReplanningForDelivered();\n } else {\n setOpenPartailRejectionPopup(true);\n }\n handleRejectedDialogClose();\n },\n [handleRejectedDialogClose, handleReplanningForDelivered],\n ) */\n\n const handleStatusChange = useCallback(\n (value: any) => {\n setSelectedStatus(value);\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.UNDELIVERED) {\n setShowReason(true);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n //Commenting Partial rejection functionality for now,To be included later\n //setIsStatusDelivered(false);\n } else {\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DELIVERED) {\n //Commenting Partial rejection functionality for now,To be included later\n //setIsStatusDelivered(true);\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n } else {\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n //Commenting Partial rejection functionality for now,To be included later\n //setIsStatusDelivered(false);\n }\n }\n }, []\n );\n\n\n\n const fetchAllDeliveryReasons = useCallback(\n () => {\n dispatch(\n fetchDeliveryReasons()\n );\n }, [dispatch]\n );\n\n\n const handleCHDStatuses = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchCarrefourDeliveryStatuses({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (chdReplanningConsignmentSuccess) {\n closePopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [chdReplanningConsignmentSuccess])\n\n /*\n * Called on page load, to set the value in the delivery slot from the constants which is amongst the delivery slot list.\n * If the order contains a delivery slot value which matches the value from the deliverySlotListCHD, sets that as a preselected \n * value\n */\n useEffect(() => {\n if (deliveryInformation && deliverySlotListCHD) {\n setSelectedSlot(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DELIVERY_SLOT[0].value);\n deliverySlotListCHD[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode].forEach((slot: any) => {\n if (transformSlotValue(deliveryInformation.deliverySlot.deliverySlotTime) === transformSlotValue(slot.value)) {\n setSelectedSlot(deliveryInformation && deliveryInformation.deliverySlot.deliverySlotTime);\n }\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment, countryCode])\n\n useEffect(() => {\n if (consignment) {\n setSelectedDate({\n startDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_UI),\n endDate: moment(deliveryDate ? deliveryDate : new Date(), AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_UI)\n });\n setCommentsValue(\"\");\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n setSelectedStatus(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment]);\n\n useEffect(() => {\n if (consignment != null) {\n fetchAllDeliveryReasons();\n handleCHDStatuses(consignment);\n }\n }, [consignment, fetchAllDeliveryReasons, handleCHDStatuses]);\n\n //Commenting Partial rejection functionality for now, To be included later\n /* const getRejectedDialogTitleContent = () => {\n return (\n \n \n \"warning\"\n \n Edit Rejected Items \n \n \n )\n };\n\n const getRejectedDialogDetailsContent = () => {\n return (\n \n \n \n You will not be able to edit the order details after this status change.\n \n Please go ahead and make changes to the item summary if you have any\n \n \n )\n };\n\n const getRejectedDialogActions = () => {\n return (\n \n \n \n \n )\n } */\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n EDIT CONSIGNMENT : \n {consignment.consignmentCode} \n \n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n Update Status\n \n \n \n \n \n \n \n \n \n {\n selectedStatus === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_REPLANNING_SELECTION ?\n \n \n \n \n Delivery Date\n \n \n \n \n \n \n \n \n \n Slot\n \n \n \n \n \n \n \n :\n \n {showReason ? (\n \n \n \n Reason\n \n \n \n \n \n \n ) : null}\n \n \n \n Comments\n \n \n \n \n \n \n {showReason ? (\n \n \n \"warning\"\n This consignment will no longer be delivered.\n \n ) : null}\n \n }\n \n \n )\n }\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n return (\n <>\n \n {/*Commenting Partial rejection functionality for now, To be included later*/}\n {/* \n */}\n \n )\n}\n\nexport default CarrefourDeliveryOrderDetailsEdit;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 24,\n fontWeight: 600,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n borderTop: \"1px solid #E6E6E5\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"58px\",\n '& .content': {\n padding: \"12px\",\n /* '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n } */\n },\n '& .itemContainer': {\n borderBottom: \"1px solid #E6E6E6\",\n padding: \"14px\",\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n },\n '& .itemsContent': {\n fontSize: 14,\n fontWeight: 500,\n color: \"#252525\",\n lineHeight: \"17px\",\n '& p': {\n textAlign: \"center\",\n },\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n },\n '& .new': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n '& .MuiSelect': {\n select: {\n fontSize: \"10px\",\n fontWeight: 500\n }\n }\n },\n '& .select': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n width: \"62px\"\n },\n '& .MuiOutlinedInput': {\n root: {\n borderRadius: \"4px\",\n minWidth: \"0px\"\n }\n }\n },\n '& .paymentContainer': {\n padding: 12,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:first-child p': {\n fontSize: 16,\n fontWeight: 600\n },\n '& .vat': {\n fontWeight: 600,\n fontSize: 16,\n marginLeft: \"4px\"\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n },\n selectRoot: {\n color: \"#2D2D2D\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n icon: {\n color: \"#000000\"\n },\n generalReasonRoot: {\n fontSize: \"12px\",\n fontWeight: 600,\n color: \"#0E5AA7\"\n },\n generalReasonIcon: {\n color: \"#000000\"\n },\n menuPropsList: {\n '& .MuiListItem-root': {\n fontSize: 20,\n whiteSpace: \"normal\",\n height: \"55px\"\n },\n },\n menuPropsPaper: {\n maxHeight: 200,\n minWidth: 200,\n border: `1px solid ${COLORS.WHITE}`,\n background: \"#FFFFFF\",\n borderRadius: \"0px\",\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"0px 4px 20px rgba(0, 0, 0, 0.1)\",\n '& .MuiList-padding': {\n paddingTop: \"0px\",\n paddingBottom: \"0px\"\n }\n },\n title: {\n fontSize: \"14px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#505050\"\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 636,\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { useStyles } from './UpdatePartialRejection.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\nimport AppConstants from '../constants';\nimport { fixDecimals } from 'utils/helpers.utils';\nimport SelectBox from '../common/SelectBox';\nimport { fetchRejectionReasons } from './redux/carrefourDeliverySlice';\nimport { rejectionDataTransform } from './../mocks/carrefourHomeDelivery/response.transforms';\nimport { decodeHtmlEntities } from 'utils/textUtils';\ninterface UpdatePartialRejectionProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst UpdatePartialRejection = (props: UpdatePartialRejectionProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { rejectionReasonList, historyAndProducts } = useSelector(\n (state: AppState) => state.carrefourDelivery\n );\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { open, consignment, closePopup, handleDialogAction } = props;\n const generalReason = AppConstants.SELECT_NONE.value;\n const [rejections, setRejections] = useState([] as any);\n const [products, setProducts] = useState([] as any);\n let metadata: any = {};\n let deliveryInformation: any = {};\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any) => {\n if (type === 'save') {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values\n });\n } else {\n closePopup();\n }\n },\n [closePopup, handleDialogAction],\n );\n\n const handleCommonReasonChange = ((event: any) => {\n let commonReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopy: any = [...products];\n if (reason.value === event) {\n commonReason.push(reason);\n productsCopy.forEach((prod: any) => {\n if (prod.itemDeliveryReason.length) {\n prod.itemDeliveryReason = commonReason\n }\n });\n }\n setProducts([...productsCopy]);\n return productsCopy;\n })\n setRejections(commonReason);\n });\n\n const handleItemReasonChange = ((event: any, fieldName: any) => {\n let itemReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopyNew: any = [...products];\n if (reason.value === event) {\n itemReason.push(reason);\n productsCopyNew.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.itemDeliveryReason = itemReason\n }\n });\n }\n setProducts([...productsCopyNew]);\n return productsCopyNew;\n })\n setRejections(itemReason);\n });\n\n const handleUpdatedRejectedQty = ((event: any, fieldName: any) => {\n let updateProducts: any = [...products];\n updateProducts.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.rejectedQty = event\n }\n setProducts([...updateProducts]);\n });\n });\n\n const getItems = () => {\n return products && products.length ? products.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n \n \n \n handleUpdatedRejectedQty(e, item.id)}\n >\n \n \n \n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].shippedQty : item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n {item.itemDeliveryReason && item.itemDeliveryReason.length ?\n (\n \n \n \n Rejection Reason : \n \n \n handleItemReasonChange(e, item.id)}\n >\n \n \n \n ) : null}\n \n \n )) : (\n No Items to display\n )\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n Update Rejected Items\n \n \n \n \n \n Common Rejection Reason : \n \n \n handleCommonReasonChange(e)}\n >\n \n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n Product Name\n \n \n Rejected\n Qty\n \n \n Shipped/\n Ordered Qty\n \n \n Unit Price\n \n \n \n {getItems()}\n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Amount to be refunded\n \n \n {deliveryInformation && metadata ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Revised Total\n \n \n {deliveryInformation && metadata ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n\n )\n }\n\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const fetchAllRejectionReasons = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchRejectionReasons({\n countryCode: countryCode\n })\n );\n }, [dispatch]\n );\n\n useEffect(() => {\n if (consignment != null) {\n fetchAllRejectionReasons(countryCode);\n }\n }, [consignment, countryCode, fetchAllRejectionReasons]);\n\n useEffect(() => {\n setProducts(rejectionDataTransform(historyAndProducts) as any);\n }, [historyAndProducts])\n\n return (\n \n )\n}\n\nexport default UpdatePartialRejection;","import React, { useCallback, forwardRef, ReactElement, Ref, useRef, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useDispatch, useSelector, shallowEqual } from \"react-redux\";\nimport { fetchConsignmentHistoryAndProducts, closeDialog, resetReplanningSuccess, updateAddressSuccess, fetchCHDSlotDropdownValues, updateCustomerAddress } from \"./redux/carrefourDeliverySlice\";\nimport mobileLogoIcon from './../assets/icons/mobileLogo.svg';\nimport emailLogoIcon from './../assets/icons/emailLogo.svg';\nimport RcViewer from '@hanyk/rc-viewer';\nimport { AppState } from \"../config/redux/reducers\";\nimport { ReactComponent as editIcon } from './../assets/icons/editIcon.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as errorTimelineDot } from './../assets/icons/timeline-dot-error.svg';\nimport { ReactComponent as timelineDot } from './../assets/icons/timeline-dot.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow.svg';\nimport { useStyles } from './CarrefourDeliveryOrderDetails.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Accordion, AccordionSummary, AccordionDetails, SvgIcon, Collapse, Link, Divider } from '@material-ui/core';\nimport { Timeline, TimelineItem, TimelineSeparator, TimelineDot, TimelineConnector, TimelineContent } from '@material-ui/lab';\nimport { COLORS } from '../config/theme/baseTheme';\nimport MapContainer from '../common/GoogleMapContainer';\nimport AppConstants from \"../constants\";\nimport { getAddressInfo, getLatLong, createPayloadForUpdatingCustAddress } from 'mocks/carrefourHomeDelivery/response.transforms';\nimport { fixDecimals, localTimeString, transformSlotValue, isDisplayStatusEditable, isCardOnDelivery } from 'utils/helpers.utils';\nimport moment from 'moment';\nimport UpdateCustomerAddress from './UpdateCustomerAddress';\nimport KeyboardArrowDownRoundedIcon from \"@material-ui/icons/KeyboardArrowDownRounded\";\nimport clsx from \"clsx\";\nimport { pdfjs } from 'react-pdf';\nimport CarrefourDeliveryOrderDetailsEdit from \"./CarrefourDeliveryOrderDetailsEdit\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport UpdatePartialRejection from './UpdatePartialRejection';\nimport { decodeHtmlEntities } from 'utils/textUtils';\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ninterface CarrefourDeliveryOrderDetailsProps {\n open: boolean;\n consignment: any;\n isFromViewRoute?: any;\n isEditIcon?: any\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst CarrefourDeliveryOrderDetails = (props: CarrefourDeliveryOrderDetailsProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const { consignmentStatuses, productsList, consignmentDataAfterReplanning, isUpdateAddress, updatedCustomerAddress } = useSelector(\n ((state: AppState) => state.carrefourDelivery), shallowEqual\n );\n const { countryCode } = useSelector(\n ((state: AppState) => state.common), shallowEqual\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n ((state: AppState) => state.userLogin)\n );\n const { open, consignment, isFromViewRoute, isEditIcon, closePopup } = props;\n const [toggleCustMap, setToggleCustMap] = useState(false);\n const [toggleSellerMap, setToggleSellerMap] = useState(false);\n const [openConsignmentEditPopup, setOpenConsignmentEditPopup] = useState(false);\n const [openCustomerAddressPopup, setOpenCustomerAddressPopup] = useState(false);\n const [openPartialRejectionPopup, setOpenPartailRejectionPopup] = useState(false);\n const [openInfoSnackbar, setOpenInfoSnackbar] = useState(false);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const infoSnackbarType = useRef(AppConstants.SNACKBAR.TYPES.ERROR);\n const snackbarMessage = useRef(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.ADDRESS_UPDATE_SUCCESS_MSG);\n const infoSnackbarMessage = useRef(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.UNPLAN_CONSIGNMENT_WARNING_MSG);\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let custInfo: any = {\n address: {}\n };\n let updatedAddress: any = {\n address: {}\n };\n let custGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let sellerGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let posInfo: any = {\n address: {}\n };\n let items: any = [];\n let historyItems: any = [];\n\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n let hubName = \"\";\n\n\n const handleStatusHistoryAndProducts = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n custGeoLocation.location.lat = parseFloat(custInfo.address.latitude) || 0;\n custGeoLocation.location.lng = parseFloat(custInfo.address.longitude) || 0;\n }\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`\n }\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n sellerGeoLocation.location.lat = parseFloat(posInfo.address.latitude) || 0;\n sellerGeoLocation.location.lng = parseFloat(posInfo.address.longitude) || 0;\n }\n items = productsList;\n if (consignmentStatuses) {\n let statuses = consignmentStatuses.slice();\n historyItems = statuses;\n }\n }\n if (updatedCustomerAddress) {\n if (updatedCustomerAddress && updatedCustomerAddress.deliveryInformation && updatedCustomerAddress.deliveryInformation.customerContactInfo && updatedCustomerAddress.deliveryInformation.customerContactInfo.address) {\n updatedAddress = updatedCustomerAddress.deliveryInformation.customerContactInfo\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleTrackingLink = () => {\n window.open(deliveryInformation.carrierTrackingUrl, '_blank');\n }\n\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const checkEditable = () => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0) {\n return AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus) === -1;\n } else {\n return AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(metadata && metadata.deliveryStatus) === -1;\n }\n }\n\n const getItems = () => {\n return items && items.length ? items.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n {\n item.reason ? (\n {`Rejection Reason - ${item.reason.reasonDescription}`}) :\n item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason ? (\n {`Rejection Reason - ${item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason && item.substitutedProducts[0].reason.reasonDescription}`}\n ) : (\n {\"\"}\n )\n }\n {\n item.substitutedProducts &&\n
\n View Original\n handleOriginalName()} />\n
\n }\n
\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].rejectedQty : item.rejectedQty || \"-\"}\n\n \n\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].shippedQty : item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n
\n\n {\n showOriginalName && item.substitutedProducts &&\n \n \n {item.name.en.toLowerCase()}\n \n \n {item.rejectedQty || \"-\"}\n\n \n\n \n {item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n \n }\n
\n )) : (No Items to display)\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n dispatch(\n closeDialog()\n );\n },\n [closePopup, dispatch],\n );\n\n const getCustomerImages = useCallback(\n () => {\n return deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.imageURLs ? deliveryInformation.deliveryProof.imageURLs.map((image: any, index: number) => (\n \"customer-delivery-proofs\"\n )) : null;\n },\n [deliveryInformation],\n );\n\n const closeUpdateAddressPopup = useCallback(\n () => {\n setOpenCustomerAddressPopup(false);\n },\n [],\n );\n\n const closeConsignmentEditPopup = useCallback(\n () => {\n setOpenConsignmentEditPopup(false);\n },\n [],\n );\n\n const closePartialRejectionPopup = useCallback(\n () => {\n setOpenPartailRejectionPopup(false);\n },\n [],\n );\n\n const handleEditAddress = (params: any) => {\n if (params === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n setOpenCustomerAddressPopup(true);\n } else {\n setOpenInfoSnackbar(true);\n }\n }\n\n const handleEditPopup = useCallback(\n () => {\n dispatch(\n resetReplanningSuccess()\n )\n setOpenConsignmentEditPopup(true);\n },\n [dispatch],\n );\n\n const updateNewAddress = useCallback(\n (params: any, consignmentId) => {\n const payload = createPayloadForUpdatingCustAddress(params, consignmentId.id);\n dispatch(\n updateCustomerAddress({\n params: payload\n })\n );\n closeUpdateAddressPopup();\n },\n [dispatch, closeUpdateAddressPopup]\n )\n\n const handleUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'submit') {\n updateNewAddress(params.values, params.consignmentId);\n } else {\n if (params.type === 'cancel') {\n closeUpdateAddressPopup();\n }\n }\n },\n [updateNewAddress, closeUpdateAddressPopup]\n )\n\n const handlePartialRejectionUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'sumbit') {\n console.log(\"sumit\");\n }\n }, []\n )\n\n const handleSnackbarClose = useCallback(\n () => {\n dispatch(\n updateAddressSuccess()\n );\n },\n [dispatch],\n );\n\n const handleInfoSnackbarClose = () => {\n setOpenInfoSnackbar(false);\n }\n\n const handleDeliverySlotsForCHD = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchCHDSlotDropdownValues({\n countryCode: countryCode\n })\n );\n },\n [dispatch]\n );\n\n const getHistoryTimelineItems = () => {\n return historyItems && historyItems.length ? historyItems.map((item: any, index: number) => (\n < TimelineItem key={`${item.statusCode} - ${index}`} className=\"timelineItem\" >\n \n {index === 0 ?\n \n \n \n :\n \n \n \n }\n {index !== historyItems.length - 1 && }\n \n \n {item.statusName}{`(${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n {\n item.reason ? (\n \n {item.reason ? item.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n ) :\n consignment.reason && consignment.reason.deliveryStatus === item.statusCode ? (\n \n {consignment.reason ? consignment.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n ) : \"\"\n }\n \n \n )) : (No Items to display)\n }\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {\n consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata ?\n (\n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata && consignmentDataAfterReplanning.metadata.deliveryStatus ? consignmentDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {isFromViewRoute\n ? checkEditable() &&\n !isEditIcon && (\n \n \n \n )\n : checkEditable() &&\n isDisplayStatusEditable(metadata) && (\n \n \n \n )}\n \n )}\n \n \n {\n (deliveryInformation && deliveryInformation.carrierTrackingId) || consignment.orderReference ? (\n \n \n {\n deliveryInformation && deliveryInformation.carrierTrackingUrl ?\n
\n {`Live Tracking (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n
\n :\n {`Track Consignment (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n }\n
\n\n
\n ) : \"\"\n }\n
\n
\n
\n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n Customer Details\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {checkEditable() && (\n \n handleEditAddress(metadata && metadata.displayRouteStatus)}\n component={editIcon}\n />\n \n )}\n \n )}\n \n
\n \n {custInfo && custInfo.name}\n {Object.keys(updatedAddress.address).length !== 0 ? (\n {getAddressInfo(updatedAddress.address || \"\")} \n ) : (\n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")} )}\n
\n Lat/Long :\n {getLatLong(custInfo && custInfo.address ? custInfo.address : \"\")}\n
\n
\n Landmark :\n {Object.keys(updatedAddress.address).length !== 0 ? (\n {updatedAddress.address ? updatedAddress.address.landmark : \"\"}\n ) : (\n {custInfo && custInfo.address ? custInfo.address.landmark : \"\"}\n )}\n
\n
\n Delivery Instructions :\n {deliveryInformation ? deliveryInformation.deliveryInstructions : \"\"}\n
\n
\n \n \n \n setToggleCustMap(!toggleCustMap)}>\n View Geocoded Address\n \n \n \n \n \n {\n custGeoLocation ? (\n \n ) : \"\"\n }\n \n \n \n \n \n \n \n \n \"Mobile\"\n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n \n \n \n \n }\n aria-controls=\"hub-address-header\"\n id=\"hub-address-header\"\n className={classes.accordionSummary}\n >\n Hub Address\n \n\n \n \n \n {hubName}\n {getAddressInfo(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n Lat/Long:\n {getLatLong(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n \n \n setToggleSellerMap(!toggleSellerMap)}>\n View Geocoded Address\n \n \n \n \n \n {\n custGeoLocation ? (\n \n ) : \"\"\n }\n \n \n \n \n \n \n \n \n \"Mobile\"\n {posInfo ? {posInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {posInfo ? {posInfo.email || \"\"} : \"\"}\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode}\n \n \n \n \n \n \n Delivery Date\n \n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.deliveryInformation ?\n {moment(consignmentDataAfterReplanning.deliveryInformation.deliverySlot.deliveryDate, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT)}\n :\n {deliveryDate}\n }\n \n \n \n \n \n \n Delivery Slot\n \n \n {consignmentDataAfterReplanning && consignmentDataAfterReplanning.deliveryInformation ?\n {transformSlotValue(consignmentDataAfterReplanning.deliveryInformation.deliverySlot.deliverySlotTime)}\n :\n {deliverySlot}\n }\n \n \n \n \n \n \n \n \n \n \n Delivery Proposition\n \n \n {metadata ? metadata.deliveryType : \"\"}\n \n \n \n \n \n \n Payment Mode\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Area\n \n \n {Object.keys(updatedAddress.address).length !== 0 ? (\n {updatedAddress.address ? updatedAddress.address.area : \"\"}\n ) : (\n {custInfo && custInfo.address ? custInfo.address.area : \"\"}\n )}\n \n \n \n \n \n {\n metadata && metadata.routeName &&\n \n \n \n \n \n Route No.\n \n \n {metadata.routeName}\n \n \n \n \n \n \n Driver\n \n \n {deliveryInformation && deliveryInformation.driver && deliveryInformation.driver.name}\n \n \n \n \n \n \n Vehicle Type\n \n \n {deliveryInformation && deliveryInformation.vehicle && deliveryInformation.vehicle.name}\n \n \n \n \n \n }\n \n \n \n \n }\n aria-controls=\"delivery-proof-content\"\n id=\"delivery-proof-header\"\n className={classes.accordionSummary}\n >\n Proof of Delivery\n \n \n \n \n \n \n \n \n \n Images\n \n \n \n \n {getCustomerImages()}\n \n \n \n \n \n \n \n \n Customer's Signature\n \n \n \n {\n deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.signURL &&\n \n \"customer-signature\"\n \n }\n \n \n \n \n \n \n \n \n \n Comments:\n \n \n {deliveryInformation && deliveryInformation.deliveryProof ? deliveryInformation.deliveryProof.comments : \"\"}\n \n \n \n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Consignment History\n \n \n \n \n {getHistoryTimelineItems()}\n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Items Summary ({items && items.length})\n \n \n \n \n \n \n \n Product Name\n \n \n Rejected Qty\n \n \n Shipped/Ordered Qty\n \n \n Unit Price\n \n \n \n {getItems()}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n {deliveryInformation && metadata ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n {\n metadata && (metadata.paymentType === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ?\n <>\n \n \n \n \n \n Amount to be Collected\n \n \n {metadata ? `${fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Collected Amount\n \n \n {metadata ? `${fixDecimals(2, metadata.collectedAmount ? metadata.collectedAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n : null}\n \n \n \n \n \n )\n }\n\n useEffect(() => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0) {\n let consignmentCode = consignmentDataAfterReplanning && consignmentDataAfterReplanning.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n }, [consignmentDataAfterReplanning, dispatch])\n\n useEffect(() => {\n if (consignment != null) {\n handleStatusHistoryAndProducts(consignment);\n handleDeliverySlotsForCHD(countryCode);\n }\n }, [handleStatusHistoryAndProducts, handleDeliverySlotsForCHD, consignment, countryCode]);\n\n\n return (\n <>\n \n \n \n \n \n \n \n )\n}\n\nexport default CarrefourDeliveryOrderDetails;","import { Accordion, AccordionDetails, AccordionSummary, Button, Checkbox, Divider, Grid, IconButton, InputAdornment, Step, StepLabel, Stepper, SvgIcon, Tab, Tabs, Typography } from '@material-ui/core';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Loader from '../common/Loader';\nimport { AppState } from '../config/redux/reducers';\nimport { StepperTimelineConnector, useStyles } from './CarrefourDeliveryCreateRoute.styles';\nimport { ReactComponent as searchIcon } from './../assets/icons/search-icon-small.svg';\nimport { ReactComponent as refreshIcon } from './../assets/icons/refresh-icon.svg';\nimport { ReactComponent as consignmentsIcon } from './../assets/icons/consignments-icon.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as mapViewIcon } from './../assets/icons/map-view-icon.svg';\nimport { ReactComponent as listViewIcon } from './../assets/icons/list-view-icon.svg';\nimport { ReactComponent as areaTimelineIcon } from './../assets/icons/timeline-area-icon.svg';\nimport { ReactComponent as infoWarningIcon } from './../assets/icons/info-warning-icon.svg';\nimport mapHubIcon from './../assets/icons/timeline-area-icon.svg';\nimport mapItemIcon from './../assets/icons/map-item-icon.svg';\n//import { ReactComponent as cratesIcon } from './../assets/icons/crates-icon.svg';\nimport { ReactComponent as lockIcon } from './../assets/icons/lock-icon.svg';\nimport { ReactComponent as walletIcon } from './../assets/icons/wallet-icon.svg';\nimport { ReactComponent as mobileIcon } from './../assets/icons/mobile-icon.svg';\nimport { ReactComponent as locationIcon } from './../assets/icons/location-icon.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow-icon.svg';\nimport { ReactComponent as infoErrorIcon } from './../assets/icons/info-error-icon.svg';\nimport { ReactComponent as timeSlotIcon } from './../assets/icons/time-slot-icon.svg';\nimport { ReactComponent as userIcon } from './../assets/icons/user-icon.svg';\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport calendarIcon from './../assets/icons/calendar-icon.svg';\nimport { TabContext, TabPanel, Timeline, TimelineConnector, TimelineContent, TimelineDot, TimelineItem, TimelineSeparator } from '@material-ui/lab';\nimport AppConstants from '../constants';\nimport SelectBox, { SelectItemProps } from '../common/SelectBox';\nimport { calculateTransitTime, createDraftRoutePayload, createGetAllDropdownsPayload, createGetAllPlannedRoutesPayload, createRouteCreationPayload, createUpdateOrderStatusPayload, getAllAreasAndSlots, getConsignmentData, getDiscardRoutePayload, getTotalCrates, transformRouteConsignments, getAddressInfo, getRouteStatusField, getConsignmentStatusField, checkTerminalStatus } from '../mocks/carrefourHomeDelivery/response.transforms';\nimport { createDraftRoute, createAndEditRoute, fetchAllDrivers, fetchAllHelpers, fetchAllVehicles, fetchAllPlannedRoutes, updateConsignmentStatus, discardRouteChanges, resetPlanningError, updateAllConsignmentsState, loadAllSlots, clearCurrentSlot, fetchRouteConsignments, clearUpdatedRoute } from './redux/carrefourDeliverySlice';\nimport DateRangePickerComponent from '../common/DateRangeComponent';\nimport moment from 'moment';\nimport CustomSnackbar from '../common/CustomSnackbar';\nimport { userLogout } from '../Login/redux/loginSlice';\nimport { getMatchingValues, getSlotUIValue, getUniqueValues, highlightTextWithClass, isEqualArrays, convertTime, getDifferenceValues } from '../utils/helpers.utils';\nimport { Prompt, useHistory } from 'react-router';\nimport TextBox from '../common/TextBox';\nimport _ from 'lodash';\nimport CustomDialog from '../common/Dialog';\nimport MapContainer from 'common/GoogleMapContainer';\nimport CustomTooltip from 'common/Tooltip';\nimport { COLORS } from 'config/theme/baseTheme';\nimport CarrefourDeliveryOrderDetails from \"./CarrefourDeliveryOrderDetails\";\n\ninterface CreateRouteProps {\n location?: any;\n match?: any;\n editMode?: boolean;\n viewMode?: boolean;\n}\n\nconst CreateRoute = (props: CreateRouteProps) => {\n const classes = useStyles();\n\n const dispatch = useDispatch();\n\n const { editMode, viewMode, match, location } = props;\n\n const history = useHistory();\n const { loading, draftRoute, areawiseConsignments, slotwiseConsignments, allConsignments, routeConsignments, slotwisePlannedRoutes, driversList, helpersList, vehiclesList, vehiclesData, routeCreateSuccess, updatedRoute, routeDiscardSuccess, currentSlot, slotsList, consignmentStatusList, error, errorCode } = useSelector(\n (state: AppState) => state.carrefourDelivery\n );\n\n const { mapRouteDirections, countryCode, hubData } = useSelector(\n (state: AppState) => state.common\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n const [tabValue, setTabValue] = useState(location.state && location.state.tabValue ? location.state.tabValue : AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED);\n const shouldBlockNavigationRef = useRef(false);\n const autoRefreshMapRef = useRef(false);\n const hubNameRef = useRef(location.state && location.state.hubName);\n const onLoadRef = useRef(false);\n const filterChangeRef = useRef(false);\n const [autoRefreshMap, setAutoRefreshMap] = useState(false);\n const [optimizeMapRoute, setOptimizeMapRoute] = useState(false);\n const [updateMap, setUpdateMap] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [noRedirect, setNoRedirect] = useState(false);\n const [shouldBlockNavigation, setShouldBlockNavigation] = useState(false);\n const [isListView, setIsListView] = useState(true);\n const [draggingItem, setDraggingItem] = useState(false);\n const [toggleAllDropdownExpanded, setToggleAllDropdownExpanded] = useState(false);\n const [mapMarkers, setMapMarkers] = useState([]);\n const [consignmentsSequence, setConsignmentsSequence] = useState({});\n const [lastSequenceNumber, setLastSequenceNumber] = useState(0);\n const [openDiscardConfirmDialog, setOpenDiscardConfirmDialog] = useState(false);\n const [openDateChangeConfirmDialog, setOpenDateChangeConfirmDialog] = useState(false);\n const [openUpdateConfirmDialog, setOpenUpdateConfirmDialog] = useState(false);\n const [openCapacityBreachConfirmDialog, setOpenCapacityBreachConfirmDialog] = useState(false);\n const [capacityBreachPopupMsg, setCapacityBreachPopupMsg] = useState('');\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [consignmentExpanded, setConsignmentExpanded] = useState([]);\n const [searchedConsignmentExpanded, setSearchedConsignmentExpanded] = useState([]);\n const [consignmentSearchValue, setConsignmentSearchValue] = useState('');\n const [statusValue, setStatusValue] = useState([]);\n const [slotValue, setSlotValue] = useState([]);\n const [driverValue, setDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [helperValue, setHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [vehicleValue, setVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeDriverValue, setRouteDriverValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeHelperValue, setRouteHelperValue] = useState(AppConstants.SELECT_NONE.value);\n const [routeVehicleValue, setRouteVehicleValue] = useState(AppConstants.SELECT_NONE.value);\n const [isPlannedRoute, setIsPlannedRoute] = useState(false);\n const [selectableConsignments, setSelectableConsignments] = useState({ ...slotwiseConsignments });\n const [checkedConsignments, setCheckedConsignments] = useState({} as any);\n const [selectedRoute, setSelectedRoute] = useState({} as any);\n const [selectedConsignments, setSelectedConsignments] = useState({} as any);\n const [unplannedConsignmentsData, setUnplannedConsignmentsData] = useState({\n selectedConsignments: {},\n consignmentsSequence: {}\n } as any);\n const [plannedConsignmentsData, setPlannedConsignmentsData] = useState({\n selectedConsignments: {},\n consignmentsSequence: {}\n } as any);\n const [currentDate, setCurrentDate] = useState({\n startDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment(location.state && location.state.plannedDate ? location.state.plannedDate : new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT)\n });\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const isEditIcon = (location.state && location.state.route && location.state.route.displayRouteStatus && location.state.route.displayRouteStatus !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP);\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const confirmWithTitleDialogProps = {\n classes: {\n root: classes.confirmWithTitleDialogPaperPropsRoot\n }\n };\n\n const getAllPlannedRoutes = useCallback(\n (params: any) => {\n const payload = createGetAllPlannedRoutesPayload(params);\n dispatch(\n fetchAllPlannedRoutes({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const handleRefreshPlannedRoutes = useCallback(\n () => {\n getAllPlannedRoutes({\n date: currentDate,\n hubCode: location.state.hubCode,\n });\n },\n [currentDate, location.state.hubCode, getAllPlannedRoutes],\n );\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n setAutoRefreshMap(true);\n if (value === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED) {\n setPlannedConsignmentsData({\n selectedConsignments: { ...selectedConsignments },\n consignmentsSequence: { ...consignmentsSequence }\n });\n setSelectedConsignments(unplannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(unplannedConsignmentsData.consignmentsSequence);\n } else {\n setUnplannedConsignmentsData({\n selectedConsignments: { ...selectedConsignments },\n consignmentsSequence: { ...consignmentsSequence }\n });\n setSelectedConsignments(plannedConsignmentsData.selectedConsignments);\n setConsignmentsSequence(plannedConsignmentsData.consignmentsSequence);\n handleRefreshPlannedRoutes();\n }\n },\n [consignmentsSequence, selectedConsignments, unplannedConsignmentsData, plannedConsignmentsData, handleRefreshPlannedRoutes],\n );\n\n const toggleListView = useCallback(\n (type: string) => {\n setIsListView(type === 'map' ? false : true);\n if (type === 'map') {\n setAutoRefreshMap(true);\n }\n },\n [],\n );\n\n const setExpandedConsignments = useCallback(\n (consignments: string[], isSearch?: boolean) => {\n const expandedConsignments = getUniqueValues(consignments);\n isSearch ? setSearchedConsignmentExpanded(expandedConsignments) : setConsignmentExpanded(expandedConsignments);\n },\n [],\n )\n\n const handleSearchedAccordionChange = useCallback(\n (searchValue: string) => {\n if (searchValue) {\n let expandedConsignments: string[] = [];\n let searchedConsignments = allConsignments.filter((item: any) => {\n const consignmentValue = highlightTextWithClass(searchValue, item.code);\n const address = getAddressInfo(item.data && item.data.deliveryInformation ? item.data.deliveryInformation.customerContactInfo.address : \"\");\n const addressValue = highlightTextWithClass(searchValue, address);\n const areaValue = highlightTextWithClass(searchValue, item.area);\n return consignmentValue.indexOf('highlightText') > -1 || addressValue.indexOf('highlightText') > -1 || areaValue.indexOf('highlightText') > -1;\n });\n if (searchedConsignments.length) {\n searchedConsignments.forEach((consignment: any) => {\n const slotIndex = expandedConsignments.indexOf(consignment.slot);\n const areaIndex = expandedConsignments.indexOf(consignment.area);\n if (slotIndex === -1) {\n expandedConsignments.push(`${consignment.area}-${consignment.slot}`);\n }\n if (areaIndex === -1) {\n expandedConsignments.push(consignment.area);\n }\n });\n } else {\n expandedConsignments = [];\n }\n setExpandedConsignments(expandedConsignments, true);\n }\n },\n [allConsignments, setExpandedConsignments],\n );\n\n const debounceConsignmentSearch = _.debounce((searchValue: string) => {\n handleSearchedAccordionChange(searchValue);\n }, 500);\n\n const handleSearch = useCallback(\n (event: React.ChangeEvent) => {\n const searchValue = event.target.value;\n setConsignmentSearchValue(searchValue);\n debounceConsignmentSearch(searchValue);\n },\n [debounceConsignmentSearch],\n );\n\n const handleConsignmentAccordionChange = useCallback(\n (itemObj: any, isSlot?: boolean) => (event: any, isExpanded: boolean) => {\n let expandedConsignments = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n const id = isSlot ? `${itemObj.area}-${itemObj.code}` : itemObj.code;\n const idIndex = expandedConsignments.indexOf(id);\n const allSlotItems = !isSlot ? Object.keys(slotwiseConsignments[itemObj.code]) : [];\n if (isExpanded) {\n expandedConsignments.push(id);\n if (allSlotItems.length) {\n expandedConsignments = [...expandedConsignments, ...allSlotItems.map(item => `${itemObj.code}-${item}`)];\n }\n } else {\n if (idIndex > -1) {\n expandedConsignments.splice(idIndex, 1);\n }\n }\n\n consignmentSearchValue ? setExpandedConsignments(expandedConsignments, true) : setExpandedConsignments(expandedConsignments);\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded, slotwiseConsignments, setExpandedConsignments],\n );\n\n const checkExpanded = useCallback(\n (item: any, isSlot?: boolean) => {\n const idsToCheck = consignmentSearchValue ? [...searchedConsignmentExpanded] : [...consignmentExpanded];\n let expanded = false;\n const itemId = isSlot ? `${item.area}-${item.code}` : item.code;\n if (item) {\n if (idsToCheck.length) {\n expanded = idsToCheck.indexOf(itemId) > -1;\n } else {\n expanded = false;\n }\n }\n return expanded;\n },\n [consignmentExpanded, consignmentSearchValue, searchedConsignmentExpanded],\n )\n\n const getAllSelectedConsignments = useCallback(\n () => {\n let consignments: any[] = [];\n if (selectedConsignments) {\n Object.keys(selectedConsignments).forEach((areaKey: string) => {\n const slots = selectedConsignments[areaKey];\n Object.keys(slots).forEach((slotKey: string) => {\n consignments = [...consignments, ...slots[slotKey].filter((item: any) => item.value !== AppConstants.SELECT_ALL.value)];\n });\n });\n }\n return consignments;\n },\n [selectedConsignments],\n );\n\n const calculateCapacityBreach = useCallback(\n (type: string) => {\n let capacityBreach = false;\n if (vehiclesData && vehicleValue !== AppConstants.SELECT_NONE.value) {\n let selectedVehicle = vehiclesData.filter((vehicle: any) => vehicle.id === vehicleValue);\n if (selectedVehicle.length) {\n selectedVehicle = selectedVehicle[0];\n const allSelectedConsignments = getAllSelectedConsignments();\n switch (type) {\n case 'consignments':\n capacityBreach = allSelectedConsignments.length > selectedVehicle.orderCapacity;\n break;\n case 'crates':\n capacityBreach = getTotalCrates(allSelectedConsignments) > selectedVehicle.crateCapacity;\n break;\n case 'transitTime':\n capacityBreach = false;\n break\n default:\n break;\n }\n }\n }\n return capacityBreach;\n },\n [getAllSelectedConsignments, vehicleValue, vehiclesData],\n )\n\n const updateHighlightSearch = useCallback(\n (item: any) => {\n let returnValue = item.code;\n if (consignmentSearchValue) {\n returnValue = highlightTextWithClass(consignmentSearchValue, item.code);\n }\n return returnValue;\n },\n [consignmentSearchValue],\n );\n\n const handleConSelectChange = useCallback(\n (newValues: any, slot: string, area: string) => {\n let selected: any[] = [];\n const selectedValues = newValues[area][slot];\n const previous = selectedConsignments[area][slot].map((item: any) => item.value);\n const selectable = selectableConsignments[area][slot].filter((item: any) => item.status !== 'DRAFTED');\n if (selectedValues.length) {\n selectable.forEach((selItem: any) => {\n selectedValues.forEach((item: any) => {\n if (selItem.value === item) {\n selected.push(selItem);\n }\n })\n })\n }\n const selectAllIdx = selectedValues.indexOf(AppConstants.SELECT_ALL.value);\n const selectAllPreviousIdx = previous.indexOf(AppConstants.SELECT_ALL.value);\n if (selectAllIdx > -1) {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = selected.filter((item: any) => (item.value !== AppConstants.SELECT_ALL.value && item.status !== 'DRAFTED'));\n } else {\n selected = selectable.slice().filter((item: any) => item.status !== 'DRAFTED');\n }\n }\n } else {\n if (selected.length < selectable.length) {\n if (selectAllPreviousIdx > -1) {\n selected = [];\n } else if (selected.length === selectable.length - 1) {\n selected = selectable.slice().filter((item: any) => item.status !== 'DRAFTED');\n }\n }\n }\n if (!selected.length) {\n selected = [];\n }\n setSelectedConsignments({ ...selectedConsignments, [area]: { ...selectedConsignments[area], [slot]: selected } });\n setCheckedConsignments({ ...checkedConsignments, [area]: { ...checkedConsignments[area], [slot]: selected.map((item: any) => item.value) } })\n let defaultConsignments = [AppConstants.SELECT_ALL];\n if (editMode) {\n defaultConsignments = draftRoute.route && draftRoute.route.consignmentsIds ? [AppConstants.SELECT_ALL, ...draftRoute.route.consignmentsIds.map((item: string) => {\n return {\n value: item\n }\n })] : [AppConstants.SELECT_ALL]\n }\n let allPreviousSelectedConsignments = getAllSelectedConsignments();\n const currentSlotPreviousConsignments = allPreviousSelectedConsignments.filter((con: any) => con.area === area && con.slot === slot);\n allPreviousSelectedConsignments = _.difference(allPreviousSelectedConsignments, currentSlotPreviousConsignments);\n const allSelectedConsignments = [...allPreviousSelectedConsignments, ...selected];\n sessionStorage.setItem('extraConsignments', JSON.stringify(getDifferenceValues(allSelectedConsignments, defaultConsignments).map((item: any) => item.value)));\n },\n [selectableConsignments, selectedConsignments, checkedConsignments, draftRoute, editMode, getAllSelectedConsignments],\n );\n\n const updateOrderStatus = useCallback(\n (params: any) => {\n if (params.consignments.length) {\n const payload = createUpdateOrderStatusPayload(params);\n dispatch(\n updateConsignmentStatus({\n payload: payload\n })\n );\n }\n },\n [dispatch],\n );\n\n const handleConsignmentSequense = useCallback(\n (consignment: any, isNew: boolean, seqParams: any) => {\n if (consignment) {\n let lastSeqNo: number = seqParams.lastSeqNo;\n let newSequencedCons = { ...seqParams.allSequencedCons };\n if (isNew) {\n newSequencedCons[consignment.id] = {\n id: consignment.id,\n seq: ++lastSeqNo\n }\n } else {\n delete newSequencedCons[consignment.id];\n --lastSeqNo;\n Object.keys(newSequencedCons).forEach((id: string) => {\n const cons = newSequencedCons[id];\n if (id !== consignment.id && cons.seq >= consignment.seq) {\n newSequencedCons[id].seq -= 1;\n }\n });\n }\n seqParams.lastSeqNo = lastSeqNo;\n seqParams.allSequencedCons = newSequencedCons;\n }\n return seqParams;\n },\n [],\n );\n\n const addSequence = useCallback(\n (consignments: any[], status: string, params: any) => {\n let seqParams = _.cloneDeep(params);\n if (consignments.length) {\n let sequencedCons = seqParams.allSequencedCons;\n consignments.forEach((id: any) => {\n let isNew = status === 'PLANNED';\n let consignment = isNew ? {\n id: id\n } : sequencedCons[id];\n seqParams = handleConsignmentSequense(consignment, isNew, seqParams);\n });\n }\n return seqParams;\n },\n [handleConsignmentSequense],\n )\n\n const handleCheckboxToggle = useCallback(\n (event: React.MouseEvent, value: any, isSlot: boolean) => {\n event.stopPropagation();\n const currentSlot = isSlot ? value.code : value.slot;\n const currentArea = value.area;\n const currentValue = isSlot ? AppConstants.SELECT_ALL.value : value.code;\n const currentIndex = checkedConsignments[currentArea][currentSlot].indexOf(currentValue);\n const newCheckedConsignments = [...checkedConsignments[currentArea][currentSlot]];\n let consignments = [];\n let status = '';\n if (currentIndex === -1) {\n status = 'PLANNED';\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot].slice().filter((item: any) => item.status !== 'DRAFTED').map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.push(currentValue);\n } else {\n status = 'UNPLANNED';\n if (isSlot) {\n consignments = slotwiseConsignments[currentArea][currentSlot].slice().filter((item: any) => item.status !== 'DRAFTED').map((item: any) => item.code);\n } else {\n consignments = [currentValue];\n }\n newCheckedConsignments.splice(currentIndex, 1);\n }\n updateOrderStatus({\n consignments: consignments,\n status: status,\n routeId: draftRoute.route.id\n });\n let seqParams: any = {\n allSequencedCons: _.cloneDeep(consignmentsSequence),\n lastSeqNo: lastSequenceNumber\n };\n if (isSlot && status === 'PLANNED') {\n const alreadySelectedCons = getMatchingValues(checkedConsignments[currentArea][currentSlot], consignments);\n seqParams = addSequence(alreadySelectedCons, 'UNPLANNED', seqParams);\n }\n seqParams = addSequence(consignments, status, seqParams);\n autoRefreshMapRef.current = false;\n setOptimizeMapRoute(false);\n setAutoRefreshMap(false);\n setUpdateMap(false);\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } });\n handleConSelectChange({ ...checkedConsignments, [currentArea]: { ...checkedConsignments[currentArea], [currentSlot]: newCheckedConsignments } }, currentSlot, currentArea);\n },\n [checkedConsignments, draftRoute, slotwiseConsignments, consignmentsSequence, lastSequenceNumber, addSequence, handleConSelectChange, updateOrderStatus],\n );\n\n const getRouteConsignments = useCallback(\n (id: string) => {\n dispatch(\n fetchRouteConsignments({\n id: id\n })\n );\n },\n [dispatch],\n );\n\n const handleRouteSelection = useCallback(\n (route: any) => {\n setSelectedRoute(route);\n if (route.data.assignee) {\n setRouteDriverValue(route.data.assignee.id);\n } else {\n setRouteDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (route.data.helper) {\n setRouteHelperValue(route.data.helper.id);\n } else {\n setRouteHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (route.data.assignedVehicle) {\n setRouteVehicleValue(route.data.assignedVehicle.id);\n } else {\n setRouteVehicleValue(AppConstants.SELECT_NONE.value);\n }\n getRouteConsignments(route.code);\n },\n [getRouteConsignments],\n )\n\n const handleDriverChange = useCallback(\n (value: any) => {\n setDriverValue(value);\n },\n [],\n );\n\n const handleRouteDriverChange = useCallback(\n (value: any) => {\n setRouteDriverValue(value);\n },\n [],\n );\n\n const handleHelperChange = useCallback(\n (value: any) => {\n setHelperValue(value);\n },\n [],\n );\n\n const handleRouteHelperChange = useCallback(\n (value: any) => {\n setRouteHelperValue(value);\n },\n [],\n );\n\n const handleVehicleChange = useCallback(\n (value: any) => {\n setVehicleValue(value);\n },\n [],\n );\n\n const handleRouteVehicleChange = useCallback(\n (value: any) => {\n setRouteVehicleValue(value);\n },\n [],\n );\n\n const getAllSlots = useCallback(\n (params: any) => {\n const payload = createDraftRoutePayload(params);\n dispatch(\n loadAllSlots({\n params: payload\n })\n );\n },\n [dispatch],\n );\n\n const handleCreateDraftRoute = useCallback(\n (params: any) => {\n const payload = createDraftRoutePayload({\n date: currentDate,\n slotValue: params.slots,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue\n });\n dispatch(\n createDraftRoute({\n params: payload\n })\n );\n },\n [editMode, currentDate, location.state.hubCode, dispatch],\n );\n\n const initializeRoute = useCallback(\n (params: any) => {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n if (!viewMode) {\n if (filterChangeRef.current) {\n handleCreateDraftRoute({\n slots: params.slotValue,\n statusValue: params.statusValue\n });\n } else {\n getAllSlots({\n date: params.date,\n slotValue: params.slotValue,\n editMode: editMode,\n hubCode: location.state.hubCode,\n hubName: hubNameRef.current,\n statusValue: params.statusValue,\n });\n }\n if (!editMode) {\n setDriverValue(AppConstants.SELECT_NONE.value);\n setHelperValue(AppConstants.SELECT_NONE.value);\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n } else {\n //call route api and set selected cons\n getRouteConsignments(match.params.id);\n }\n },\n [editMode, viewMode, match, location.state.hubCode, getRouteConsignments, handleCreateDraftRoute, getAllSlots],\n );\n\n const handleChangeRoute = useCallback(\n (params: any) => {\n if (!filterChangeRef.current) {\n onLoadRef.current = true;\n setSlotValue([AppConstants.SELECT_NONE.value]);\n }\n initializeRoute({\n date: params.date,\n slotValue: params.slotValue,\n statusValue: params.statusValue\n });\n setSelectedConsignments({});\n setSelectedRoute({});\n setUnplannedConsignmentsData({\n selectedConsignments: {},\n consignmentsSequence: {}\n });\n setPlannedConsignmentsData({\n selectedConsignments: {},\n consignmentsSequence: {}\n });\n setConsignmentSearchValue('');\n setExpandedConsignments([], true);\n setExpandedConsignments([]);\n setToggleAllDropdownExpanded(false);\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n history.replace({ ...location, state: { ...location.state, plannedDate: moment(params.date.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_BACKEND) } })\n },\n [history, location, initializeRoute, setExpandedConsignments],\n );\n\n const handleStatusChange = useCallback(\n (value: any) => {\n filterChangeRef.current = true;\n setStatusValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: value\n });\n }\n },\n [currentDate, slotValue, shouldBlockNavigation, handleChangeRoute],\n );\n\n const handleSlotChange = useCallback(\n (value: any) => {\n onLoadRef.current = false;\n filterChangeRef.current = true;\n setSlotValue(value);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: currentDate,\n statusValue: statusValue,\n slotValue: value\n });\n }\n },\n [currentDate, statusValue, shouldBlockNavigation, handleChangeRoute],\n )\n\n const getSelectedValue = useCallback(\n (item: any, isSlot: boolean) => {\n const slot = isSlot ? item.code : item.slot;\n const area = item.area;\n let selectedValues = [];\n if (selectedConsignments[area] && selectedConsignments[area][slot] && selectedConsignments[area][slot].length) {\n selectedValues = selectedConsignments[area][slot].map((con: any) => con.value);\n }\n return selectedValues.indexOf(isSlot ? AppConstants.SELECT_ALL.value : item.value) > -1;\n },\n [selectedConsignments],\n );\n\n const getChangeDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getDiscardDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to discard changes?\n \n \n )\n };\n\n const getChangeDialogDetailsContent = () => {\n return (\n \n \n All Changes will be lost. Are you sure you want to continue?\n \n \n )\n };\n\n const handleDiscardDialogClose = useCallback(\n () => {\n setOpenDiscardConfirmDialog(false);\n },\n [],\n );\n\n const handleChangeDialogClose = useCallback(\n () => {\n setOpenDateChangeConfirmDialog(false);\n },\n [],\n );\n\n const handleDiscardRoute = useCallback(\n (redirect?: boolean) => {\n const payload = getDiscardRoutePayload({\n previousCons: draftRoute.route ? draftRoute.route.consignmentsIds : []\n });\n dispatch(\n discardRouteChanges({\n params: payload,\n redirect: redirect\n })\n )\n },\n [dispatch, draftRoute],\n )\n\n const discardDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'discard') {\n setNoRedirect(false);\n handleDiscardRoute();\n }\n handleDiscardDialogClose();\n },\n [handleDiscardDialogClose, handleDiscardRoute],\n )\n\n const getDiscardDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getChangeDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getUpdateDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getCapacityBreachDialogTitleContent = () => {\n return (\n Capacity Breach\n )\n };\n\n const getCapacityBreachDialogDetailsContent = () => {\n return (\n \n \n {capacityBreachPopupMsg}\n \n \n )\n };\n\n const handleCapacityBreachDialogClose = useCallback(\n () => {\n setOpenCapacityBreachConfirmDialog(false);\n },\n [],\n )\n\n const handleConsignmentDetailsClick = useCallback(\n (data: any) => {\n setConsignmentData(data);\n setOpenConsignmentDetailsPopup(true);\n },\n [],\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n const getSeqSortedSelectedConsignments = useCallback(\n () => {\n let seqSelectedConsignments = getAllSelectedConsignments().map((consignment: any) => {\n return { ...consignment, seq: consignmentsSequence[consignment.code] ? consignmentsSequence[consignment.code].seq : lastSequenceNumber };\n });\n return _.sortBy(seqSelectedConsignments, 'seq');\n },\n [consignmentsSequence, lastSequenceNumber, getAllSelectedConsignments],\n );\n\n const createRoute = useCallback(\n () => {\n const payload = createRouteCreationPayload({\n consignments: getSeqSortedSelectedConsignments(),\n route: isPlannedRoute ? selectedRoute.data : draftRoute.route,\n selectedDriver: isPlannedRoute ? routeDriverValue : driverValue,\n selectedHelper: isPlannedRoute ? routeHelperValue : helperValue,\n selectedVehicle: isPlannedRoute ? routeVehicleValue : vehicleValue,\n date: currentDate.startDate,\n transitTime: calculateTransitTime(mapRouteDirections),\n mapRouteDirections: mapRouteDirections,\n });\n dispatch(\n createAndEditRoute({\n payload: payload,\n editMode: isPlannedRoute || editMode || false\n })\n );\n },\n [isPlannedRoute, routeDriverValue, routeHelperValue, routeVehicleValue, selectedRoute, currentDate, draftRoute, driverValue, editMode, helperValue, vehicleValue, mapRouteDirections, dispatch, getSeqSortedSelectedConsignments],\n );\n\n const capacityBreachDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'continue') {\n createRoute();\n }\n handleCapacityBreachDialogClose();\n },\n [createRoute, handleCapacityBreachDialogClose],\n )\n\n const getCapacityBreachDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getUpdateDialogDetailsContent = () => {\n return (\n \n \n {`Are you sure you want to update ${draftRoute.route && draftRoute.route.routeId}?`}\n \n \n The changes made here will affect existing routes and cannot be undone.\n \n \n )\n };\n\n const handleUpdateDialogClose = useCallback(\n () => {\n setOpenUpdateConfirmDialog(false);\n },\n [],\n );\n\n const getCapacityBreachPopupMsg = useCallback(\n (capacityBreach: any) => {\n let msg = ''\n if (capacityBreach.consignments) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS;\n if (capacityBreach.crates) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.ALL_VALUES;\n }\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CONSIGNMENTS_AND_TRANSIT_TIME;\n }\n }\n /* } else if (capacityBreach.crates) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES;\n if (capacityBreach.transitTime) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.CRATES_AND_TRANSIT_TIME;\n } */\n } else {\n if (capacityBreach.transitTime) {\n msg = AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CAPACITY_BREACH_MSGS.TRANSIT_TIME;\n }\n }\n return msg;\n },\n [],\n )\n\n const handleCreateRoute = useCallback(\n (isCreateClicked?: boolean) => {\n if (isCreateClicked) {\n setIsPlannedRoute(false);\n }\n const capacityBreach = {\n consignments: calculateCapacityBreach('consignments'),\n crates: calculateCapacityBreach('crates'),\n transitTime: calculateCapacityBreach('transitTime')\n }\n if (capacityBreach.consignments || capacityBreach.crates || capacityBreach.transitTime) {\n setCapacityBreachPopupMsg(getCapacityBreachPopupMsg(capacityBreach));\n setOpenCapacityBreachConfirmDialog(true);\n } else {\n createRoute();\n }\n },\n [calculateCapacityBreach, createRoute, getCapacityBreachPopupMsg],\n )\n\n const updateDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n handleCreateRoute();\n }\n handleUpdateDialogClose();\n },\n [handleUpdateDialogClose, handleCreateRoute],\n )\n\n const getUpdateDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handleDiscardChanges = useCallback(\n () => {\n setOpenDiscardConfirmDialog(true);\n },\n [],\n )\n\n const handleUpdateRoute = useCallback(\n () => {\n setIsPlannedRoute(false);\n setOpenUpdateConfirmDialog(true);\n },\n [],\n );\n\n const handleUpdatePlannedRoute = useCallback(\n () => {\n setIsPlannedRoute(true);\n setOpenUpdateConfirmDialog(true);\n },\n [],\n )\n\n const getAllDrivers = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllDrivers({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllHelpers = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllHelpers({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllVehicles = useCallback(\n (params: any) => {\n const payload = createGetAllDropdownsPayload(params);\n dispatch(\n fetchAllVehicles({\n payload: payload\n })\n );\n },\n [dispatch],\n );\n\n const getAllSelectedConsignmentsMarkers = useCallback(\n () => {\n const selectedSeqConsignments = getSeqSortedSelectedConsignments();\n let selectedHub: any = hubData[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode] ? hubData[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode].filter((hub: any) => hub.code === location.state.hubCode) : [];\n selectedHub = selectedHub.length ? selectedHub[0] : {\n code: location.state.hubCode,\n latitude: 0,\n longitude: 0\n };\n const hubDetails = {\n name: selectedHub.code,\n icon: mapHubIcon,\n location: {\n lat: parseFloat(selectedHub.latitude || 0),\n lng: parseFloat(selectedHub.longitude || 0)\n }\n };\n const markers = [hubDetails];\n const wayPoints = selectedSeqConsignments.map((consignmentItem: any) => {\n const location = consignmentItem.data && consignmentItem.data.deliveryInformation ? {\n lat: parseFloat(consignmentItem.data.deliveryInformation.customerContactInfo.address.latitude) || 0,\n lng: parseFloat(consignmentItem.data.deliveryInformation.customerContactInfo.address.longitude) || 0\n } : {\n lat: 0,\n lng: 0\n };\n const label = consignmentsSequence[consignmentItem.code] ? `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, '0') : \"\";\n return {\n name: consignmentItem.code,\n location: location,\n icon: mapItemIcon,\n label: {\n text: label,\n fontSize: \"10px\",\n fontWeight: \"600\",\n color: COLORS.WHITE\n }\n };\n });\n return [...markers, ...wayPoints];\n },\n [getSeqSortedSelectedConsignments, consignmentsSequence, countryCode, hubData, location.state.hubCode],\n );\n\n const handleRefreshMap = useCallback(\n () => {\n const markers: any[] = getAllSelectedConsignmentsMarkers();\n setMapMarkers(markers);\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const handleOptimizeMapRoute = useCallback(\n () => {\n setOptimizeMapRoute(true);\n handleRefreshMap();\n },\n [handleRefreshMap],\n );\n\n const disableOptimizeMapRoute = useCallback(\n () => {\n return getAllSelectedConsignmentsMarkers().length <= 1;\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const changeDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'proceed') {\n handleChangeRoute({\n date: currentDate,\n statusValue: statusValue,\n slotValue: slotValue\n });\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n handleChangeDialogClose();\n },\n [handleChangeDialogClose, handleChangeRoute, currentDate, statusValue, slotValue],\n );\n\n const handleDateChange = useCallback(\n (dateRange: any) => {\n filterChangeRef.current = false;\n setCurrentDate(dateRange);\n setSlotValue([AppConstants.SELECT_NONE.value]);\n setStatusValue([AppConstants.SELECT_NONE.value]);\n if (shouldBlockNavigation) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setOpenDateChangeConfirmDialog(true);\n } else {\n handleChangeRoute({\n date: dateRange,\n statusValue: [],\n slotValue: []\n });\n }\n },\n [shouldBlockNavigation, handleChangeRoute],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n if (error) {\n dispatch(\n resetPlanningError()\n )\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(\n clearUpdatedRoute()\n )\n }\n },\n [dispatch, error, errorCode, updatedRoute]\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const getSelectedAreas = useCallback(\n (forTooltip?: boolean) => {\n const selectedAreas: string[] = getUniqueValues(getAllSelectedConsignments(), 'area');\n let returnValue: any = selectedAreas.slice();\n if (!forTooltip) {\n returnValue = selectedAreas.length ? selectedAreas.length > 1 ? `Multiple(${selectedAreas.length})` : selectedAreas[0] : \"\";\n }\n return returnValue;\n },\n [getAllSelectedConsignments],\n )\n\n const getSelectedAreasTooltip = useCallback(\n () => {\n const selectedAreas: any = getSelectedAreas(true);\n return selectedAreas.length && selectedAreas.map((area: string, index: number) => (\n {area}\n ));\n },\n [getSelectedAreas],\n );\n\n const getSelectedDeliverySlots = useCallback(\n (forTooltip?: boolean) => {\n const selectedSlots: string[] = getUniqueValues(getAllSelectedConsignments(), 'slot');\n let returnValue: any = selectedSlots.slice();\n if (!forTooltip) {\n if (selectedSlots.length) {\n const firstDelSlot: any = selectedSlots.length && selectedSlots[0].split('-');\n const slotValue = getSlotUIValue(firstDelSlot);\n returnValue = selectedSlots.length > 1 ? `Multiple(${selectedSlots.length})` : `${slotValue.startTime} - ${slotValue.endTime}`;\n } else {\n returnValue = \"\";\n }\n }\n return returnValue;\n },\n [getAllSelectedConsignments],\n );\n\n const getSelectedSlotsTooltip = useCallback(\n () => {\n const selectedSlots: any = getSelectedDeliverySlots(true);\n return selectedSlots.length && selectedSlots.map((slot: string, index: number) => {\n const delSlot = slot.split('-');\n const slotValue = getSlotUIValue(delSlot);\n return (\n {`${slotValue.startTime} - ${slotValue.endTime}`}\n )\n });\n },\n [getSelectedDeliverySlots],\n );\n\n const getCurrentSelectedDate = () => {\n return moment(currentDate.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT);\n };\n\n const checkEditRouteExtraConsignments = () => {\n let isEqual = false;\n if (draftRoute.route) {\n isEqual = isEqualArrays(draftRoute.route.consignmentsIds, getAllSelectedConsignments().map((item: any) => item.code));\n }\n return isEqual;\n }\n\n const disableCreateRt = () => {\n return !getAllSelectedConsignments().length;\n }\n\n const disableEditRt = () => {\n let disable = true;\n if (draftRoute.route) {\n const currentHelper = draftRoute.route.helper ? draftRoute.route.helper.id : AppConstants.SELECT_NONE.value;\n const currentDriver = draftRoute.route.assignee ? draftRoute.route.assignee.id : AppConstants.SELECT_NONE.value;\n const currentVehicle = draftRoute.route.assignedVehicle ? draftRoute.route.assignedVehicle.id : AppConstants.SELECT_NONE.value;\n if (!checkEditRouteExtraConsignments() || helperValue !== currentHelper || driverValue !== currentDriver || vehicleValue !== currentVehicle) {\n disable = false;\n }\n return disable;\n }\n\n return true;\n }\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n (e || window.event).returnValue = '';\n if (editMode) {\n handleDiscardRoute(true);\n }\n return '';\n }\n\n const handleOrderStatusOnUnload = (status: string, reset?: boolean) => {\n let consignments: any = sessionStorage.getItem('extraConsignments');\n consignments = consignments ? JSON.parse(consignments) : [];\n if (consignments.length) {\n updateOrderStatus({\n consignments: consignments,\n status: status,\n routeId: sessionStorage.getItem('routeId')\n });\n }\n if (reset) {\n sessionStorage.setItem('routeId', '');\n sessionStorage.setItem('extraConsignments', '[]');\n }\n };\n\n const onConsignmentsDragStart = useCallback(\n () => {\n setDraggingItem(true);\n },\n [],\n )\n\n const onConsignmentsDragEnd = useCallback(\n (result: any) => {\n setDraggingItem(false);\n const { destination, source } = result;\n if (!destination) {\n return;\n }\n if (destination.droppableId === source.droppableId && destination.index === source.index) {\n return;\n }\n let updatedConsignments = getSeqSortedSelectedConsignments();\n const [deletedItem] = updatedConsignments.splice(source.index, 1);\n updatedConsignments.splice(destination.index, 0, deletedItem);\n updatedConsignments = updatedConsignments.map((item: any) => item.code);\n const seqParams = addSequence(updatedConsignments, 'PLANNED', {\n allSequencedCons: {},\n lastSeqNo: 0\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setUpdateMap(false);\n setOptimizeMapRoute(false);\n },\n [addSequence, getSeqSortedSelectedConsignments],\n );\n\n const getMapCenter = useCallback(\n () => {\n return getAllSelectedConsignmentsMarkers().length ? getAllSelectedConsignmentsMarkers()[0].location : {\n lat: 0,\n lng: 0\n };\n },\n [getAllSelectedConsignmentsMarkers],\n );\n\n const toggleAllDropdowns = useCallback(\n () => {\n const isExpanded = !toggleAllDropdownExpanded;\n const allAreasAndSlots: string[] = getAllAreasAndSlots(areawiseConsignments);\n if (isExpanded) {\n setExpandedConsignments(allAreasAndSlots, consignmentSearchValue ? true : false);\n } else {\n setExpandedConsignments([], consignmentSearchValue ? true : false);\n }\n setToggleAllDropdownExpanded(isExpanded);\n },\n [toggleAllDropdownExpanded, areawiseConsignments, consignmentSearchValue, setExpandedConsignments],\n );\n\n const updateAllConsignments = useCallback(\n (consignments: any) => {\n dispatch(\n updateAllConsignmentsState({\n consignments: consignments\n })\n );\n },\n [dispatch],\n )\n\n const updateConsignments = useCallback(\n async () => {\n const consignments = await getConsignmentData(draftRoute.statusOrders);\n updateAllConsignments({ ...consignments, loading: false });\n getAllDrivers({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n getAllHelpers({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n getAllVehicles({\n date: currentDate,\n hubCode: draftRoute.route.hubCode\n });\n },\n [getAllDrivers, getAllHelpers, getAllVehicles, updateAllConsignments, draftRoute, currentDate],\n )\n\n const getCurrentAreaConsignments = useCallback(\n (areaCode: string) => {\n return allConsignments.filter((item: any) => item.area === areaCode);\n },\n [allConsignments],\n );\n\n /* const getAreaTotalCrates = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${getTotalCrates(allAreaConsignments)}`;\n },\n [getCurrentAreaConsignments],\n ); */\n\n const getAreaTotalConsignments = useCallback(\n (area: any): string => {\n const allAreaConsignments = getCurrentAreaConsignments(area.code);\n return `${allAreaConsignments.length}`;\n },\n [getCurrentAreaConsignments],\n );\n\n const getTransitTime = useCallback(\n () => {\n let transitTimeSecs = calculateTransitTime(mapRouteDirections);\n return convertTime(transitTimeSecs);\n },\n [mapRouteDirections],\n )\n\n const getUpdatedDdnList = useCallback(\n (type: string, route: any) => {\n let updatedList: SelectItemProps[] = [];\n switch (type) {\n case 'driver':\n updatedList = [...driversList];\n if (route && route.assignee) {\n updatedList = [...updatedList, {\n name: route.assignee.name,\n value: route.assignee.id\n }];\n }\n break;\n case 'helper':\n updatedList = [...helpersList];\n if (route && route.helper) {\n updatedList = [...updatedList, {\n name: route.helper.name,\n value: route.helper.id\n }];\n }\n break;\n case 'vehicle':\n updatedList = [...vehiclesList];\n if (route && route.assignedVehicle && updatedList.findIndex((vehicle: SelectItemProps) => vehicle.value === route.assignedVehicle.id) === -1) {\n updatedList = [...updatedList, {\n name: route.assignedVehicle.name,\n value: route.assignedVehicle.id\n }];\n }\n break;\n default:\n break;\n }\n return updatedList;\n },\n [driversList, helpersList, vehiclesList],\n );\n\n const handleClearCurrentSlot = useCallback(\n () => {\n dispatch(\n clearCurrentSlot()\n );\n },\n [dispatch],\n );\n\n const handleEditRoute = useCallback(\n () => {\n handleClearCurrentSlot();\n setEditRoute(location.state.route || null);\n },\n [location.state.route, handleClearCurrentSlot],\n );\n\n const checkUnselectVisibility = useCallback(\n () => {\n return editMode ? draftRoute.route ? draftRoute.route.displayRouteStatus !== 'PLANNED' ? false : true : true : true;\n },\n [editMode, draftRoute],\n )\n\n const initialSteps = useCallback(\n () => {\n if (viewMode || editMode) {\n sessionStorage.setItem('routeId', match.params.id);\n }\n if (editMode) {\n setNoRedirect(true);\n setSlotValue(location.state.slots);\n }\n onLoadRef.current = true;\n filterChangeRef.current = false;\n initializeRoute({\n date: currentDate,\n slotValue: editMode ? location.state.slots : slotValue,\n statusValue: statusValue\n });\n },\n [viewMode, editMode, currentDate, statusValue, location.state, match.params.id, slotValue, initializeRoute],\n );\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: `${AppConstants.ROUTES.CARREFOUR_DELIVERY_VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute\n }\n }\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editRoute]);\n\n useEffect(() => {\n if (mapMarkers.length) {\n setUpdateMap(true);\n } else {\n setUpdateMap(false);\n }\n }, [mapMarkers]);\n\n useEffect(() => {\n if (optimizeMapRoute && mapRouteDirections) {\n const wayPointsOrder = mapRouteDirections.waypoint_order;\n const selectedWaypoints = getSeqSortedSelectedConsignments();\n if (wayPointsOrder && wayPointsOrder.length && selectedWaypoints.length) {\n let newSequence = _.cloneDeep(consignmentsSequence);\n selectedWaypoints.forEach((wp: any, index: number) => {\n newSequence[wp.code].seq = wayPointsOrder[index] + 1;\n });\n setConsignmentsSequence(newSequence);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapRouteDirections]);\n\n useEffect(() => {\n if (autoRefreshMap) {\n handleRefreshMap();\n }\n }, [autoRefreshMap, handleRefreshMap]);\n\n useEffect(() => {\n if (autoRefreshMapRef.current) {\n setAutoRefreshMap(true);\n }\n }, [selectedConsignments]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n if (errorCode === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n shouldBlockNavigationRef.current = false;\n sessionStorage.setItem('extraConsignments', '[]');\n setShouldBlockNavigation(false);\n }\n }\n }, [error, errorCode]);\n\n useEffect(() => {\n if (allConsignments.length) {\n let newChecked: any = {};\n let newSelected: any = {};\n let extraConsignments: any = [];\n let checkedConsForSeq: string[] = [];\n let expandedConsignments = [...consignmentExpanded];\n allConsignments.forEach((item: any) => {\n if (newChecked[item.area]) {\n if (!newChecked[item.area][item.slot]) {\n newChecked[item.area][item.slot] = [];\n }\n } else {\n newChecked[item.area] = {\n [item.slot]: []\n };\n }\n if (newSelected[item.area]) {\n if (!newSelected[item.area][item.slot]) {\n newSelected[item.area][item.slot] = [];\n }\n } else {\n newSelected[item.area] = {\n [item.slot]: []\n };\n }\n if (item.status === 'PLANNED') {\n newChecked[item.area][item.slot].push(item.code);\n checkedConsForSeq.push(item.code);\n newSelected[item.area][item.slot].push(item);\n if (!(editMode || viewMode)) {\n extraConsignments.push(item.code);\n }\n expandedConsignments.push(item.area);\n expandedConsignments.push(`${item.area}-${item.slot}`);\n }\n });\n const seqParams: any = addSequence(checkedConsForSeq, 'PLANNED', {\n allSequencedCons: _.cloneDeep(consignmentsSequence),\n lastSeqNo: lastSequenceNumber\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setLastSequenceNumber(seqParams.lastSeqNo);\n setCheckedConsignments(newChecked);\n setSelectedConsignments(newSelected);\n setUnplannedConsignmentsData({ ...unplannedConsignmentsData, selectedConsignments: newSelected });\n setExpandedConsignments(expandedConsignments);\n if (editMode && draftRoute.route) {\n if (draftRoute.route.assignee) {\n setDriverValue(draftRoute.route.assignee.id)\n } else {\n setDriverValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.helper) {\n setHelperValue(draftRoute.route.helper.id)\n } else {\n setHelperValue(AppConstants.SELECT_NONE.value);\n }\n if (draftRoute.route.assignedVehicle) {\n setVehicleValue(draftRoute.route.assignedVehicle.id);\n } else {\n setVehicleValue(AppConstants.SELECT_NONE.value);\n }\n }\n sessionStorage.setItem('extraConsignments', JSON.stringify(extraConsignments));\n autoRefreshMapRef.current = true;\n setOptimizeMapRoute(false);\n } else {\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n setCheckedConsignments({});\n setSelectedConsignments({});\n setExpandedConsignments([]);\n setExpandedConsignments([], true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allConsignments])\n\n useEffect(() => {\n if (editMode) {\n if (checkEditRouteExtraConsignments()) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n } else {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n }\n } else {\n if (getAllSelectedConsignments().length) {\n shouldBlockNavigationRef.current = true;\n setShouldBlockNavigation(true);\n } else {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkedConsignments])\n\n useEffect(() => {\n let newConsignments = _.cloneDeep(slotwiseConsignments);\n Object.keys(newConsignments).forEach((areaKey: string) => {\n Object.keys(newConsignments[areaKey]).forEach((slotKey: string) => {\n if (newConsignments[areaKey]) {\n newConsignments[areaKey][slotKey] = [AppConstants.SELECT_ALL, ...newConsignments[areaKey][slotKey]]\n }\n })\n })\n setSelectableConsignments(newConsignments);\n }, [slotwiseConsignments])\n\n useEffect(() => {\n if (currentSlot) {\n let currentSlotValue: any = slotValue;\n if (editMode) {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n }\n handleCreateDraftRoute({\n slots: currentSlotValue,\n statusValue: statusValue\n });\n } else {\n if (currentSlot && currentSlot.code) {\n if (onLoadRef.current) {\n currentSlotValue = [currentSlot.code];\n }\n handleCreateDraftRoute({\n slots: currentSlotValue,\n statusValue: statusValue\n });\n } else {\n currentSlotValue = [AppConstants.SELECT_NONE.value];\n handleOrderStatusOnUnload('UNPLANNED', true);\n }\n }\n setSlotValue(currentSlotValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlot])\n\n useEffect(() => {\n if (draftRoute.route) {\n updateConsignments();\n } else {\n updateAllConsignments({\n areaWiseConsignments: [],\n slotwiseConsignments: {},\n allConsignments: [],\n loading: loading\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [draftRoute]);\n\n useEffect(() => {\n if (routeCreateSuccess) {\n openSnackbarPopup(`${draftRoute.route && draftRoute.route.routeId} ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.CREATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routeCreateSuccess])\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n if (!isPlannedRoute) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n setConsignmentsSequence({});\n setLastSequenceNumber(0);\n }\n }\n if (routeDiscardSuccess) {\n shouldBlockNavigationRef.current = false;\n setShouldBlockNavigation(false);\n }\n if (!updatedRoute && !routeDiscardSuccess) {\n if (editRoute) {\n onLoadRef.current = true;\n filterChangeRef.current = false;\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute,\n redirect: {\n route: `${AppConstants.ROUTES.CARREFOUR_DELIVERY_VIEW_ROUTE}/${editRoute.id}`,\n state: {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n slots: editRoute.deliverySlot || [],\n route: editRoute\n }\n }\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updatedRoute, routeDiscardSuccess]);\n\n useEffect(() => {\n if (routeConsignments) {\n const transformedConsignments: any = transformRouteConsignments(routeConsignments);\n const seqParams: any = addSequence(transformedConsignments.seqConsignments, 'PLANNED', {\n allSequencedCons: {},\n lastSeqNo: 0\n });\n setConsignmentsSequence(seqParams.allSequencedCons);\n setSelectedConsignments(transformedConsignments.routeConsignments);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routeConsignments]);\n\n useEffect(() => {\n if (shouldBlockNavigation) {\n window.addEventListener('beforeunload', handleBeforeUnload);\n } else {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n if (routeCreateSuccess) {\n initializeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: statusValue\n });\n }\n if ((updatedRoute && !isPlannedRoute) || (routeDiscardSuccess && !noRedirect)) {\n let route: any = AppConstants.ROUTES.PLANNING;\n let state: any = {\n tabValue: AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n if (location.state && location.state.redirect) {\n route = location.state.redirect.route;\n state = updatedRoute ? { ...location.state.redirect.state, route: updatedRoute.route } : location.state.redirect.state;\n onLoadRef.current = true;\n filterChangeRef.current = false;\n setEditRoute(null);\n }\n handleClearCurrentSlot();\n history.push(route, state);\n }\n if (errorCode && errorCode === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.CONCURRENT_CONSIGNMENT) {\n initializeRoute({\n date: currentDate,\n slotValue: slotValue,\n statusValue: statusValue\n });\n }\n }\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [shouldBlockNavigation, routeDiscardSuccess, updatedRoute, noRedirect])\n\n useEffect(() => {\n if (onLoadRef.current) {\n initialSteps();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [viewMode, editMode])\n\n useEffect(() => {\n initialSteps();\n return () => {\n if (editMode && sessionStorage.getItem('routeId')) {\n shouldBlockNavigationRef.current && handleDiscardRoute();\n } else {\n if (!viewMode) {\n handleOrderStatusOnUnload('UNPLANNED', true);\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getStepperTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n {(provided) => (\n {`${index + 1}`.padStart(2, '0')}\n )\n }\n \n \n ))\n }\n\n const getListViewTimelineItems = () => {\n return getSeqSortedSelectedConsignments().map((consignmentItem: any, index: number) => (\n \n \n \n \n {`${index + 1}`.padStart(2, '0')}\n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n {consignmentItem.code}\n \n \n \n \n {/* \n \n \n {`${consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.totalCratesCount}`.padStart(2, '0')}\n \n */}\n \n \n \n {consignmentItem.data && consignmentItem.data.metadata && consignmentItem.data.metadata.paymentType}\n \n \n \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation && consignmentItem.data.deliveryInformation.customerContactInfo ? consignmentItem.data.deliveryInformation.customerContactInfo.phone : \"\"}\n \n \n \n \n \n {consignmentItem.slotValue}\n \n \n \n \n \n {getAddressInfo(consignmentItem.data && consignmentItem.data.deliveryInformation ? consignmentItem.data.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n ))\n }\n\n const getSlotwisePlannedRoutes = () => {\n return slotwisePlannedRoutes.length ? slotwisePlannedRoutes.map((slotItem: any) => (\n \n }\n aria-controls=\"delivery-slot-content\"\n className=\"accordianSummary delSlot\"\n >\n \n \n \n {slotItem.value}\n \n \n \n \n \n {`${slotItem.totalConsignments}`.padStart(2, '0')}\n \n \n {/* \n \n \n {`${slotItem.totalCrates}`.padStart(2, '0')}\n \n */}\n \n \n \n \n {\n slotItem.data && slotItem.data.length && slotItem.data.map((routeItem: any) => (\n handleRouteSelection(routeItem)}>\n \n \n \n {routeItem.value}\n \n \n \n \n \n \n {routeItem.data && routeItem.data.totalConsignment}\n \n \n {/* \n \n \n {routeItem.data && routeItem.data.totalCrates}\n \n */}\n \n \n \n {routeItem.data && routeItem.data.transitTime}\n \n \n \n \n \n {routeItem.data && routeItem.data.assignee ? routeItem.data.assignee.name : 'Not Assigned'}\n \n \n \n \n \n \n \n ))\n }\n \n \n \n )) : (No Items to display)\n }\n\n const getViewModeConsignments = useCallback(\n () => {\n return routeConsignments.length ? routeConsignments.map((consignmentItem: any) => (\n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem)} item>\n {consignmentItem.consignmentCode}\n \n \n \n {consignmentItem ? consignmentItem.metadata.deliveryStatus : \"\"}\n \n \n \n \n \n \n {/* \n \n \n {consignmentItem && consignmentItem.deliveryInformation.totalCratesCount}\n \n */}\n \n \n \n {getAddressInfo(consignmentItem && consignmentItem.deliveryInformation ? consignmentItem.deliveryInformation.customerContactInfo.address : \"\")}\n \n \n \n \n \n \n \n \n \n ))\n : (No Items to display)\n },\n [classes.statusHeaderContainer, routeConsignments, handleConsignmentDetailsClick],\n )\n\n const getAreawiseConsignments = useCallback(\n () => {\n return areawiseConsignments.length ? areawiseConsignments.map((areaItem: any) => (\n \n }\n aria-controls=\"delivery-area-content\"\n className=\"accordianSummary delArea\"\n >\n \n \n \n \n \n \n \n \n \n {getAreaTotalConsignments(areaItem).padStart(2, '0')}\n \n \n {/* \n \n \n {getAreaTotalCrates(areaItem).padStart(2, '0')}\n \n */}\n \n \n \n \n {\n areaItem.data && areaItem.data.length && areaItem.data.map((slotItem: any) => (\n \n }\n aria-controls=\"delivery-slot-content\"\n className=\"accordianSummary delSlot\"\n >\n \n \n \n handleCheckboxToggle(e, slotItem, true)} />\n {slotItem.value}\n \n \n \n \n \n {`${slotItem.data.length}`.padStart(2, '0')}\n \n \n {/* \n \n \n {`${getTotalCrates(slotItem.data)}`.padStart(2, '0')}\n \n */}\n \n \n \n \n {\n slotItem.data && slotItem.data.length && slotItem.data.map((consignmentItem: any) => (\n \n \n \n {\n consignmentItem.status === 'DRAFTED' &&\n \n \n \n }\n handleCheckboxToggle(e, consignmentItem, false)} color=\"primary\" />\n \n \n \n \n \n \n \n \n handleConsignmentDetailsClick(consignmentItem.data)} item>\n \n \n \n \n {consignmentItem.data ? consignmentItem.data.metadata.deliveryStatus : \"\"}\n \n \n \n \n \n \n {/* \n \n \n {consignmentItem.data && consignmentItem.data.deliveryInformation.totalCratesCount}\n \n */}\n \n \n \n \n \n \n \n \n \n \n \n {\n getSelectedValue(consignmentItem, false) &&\n \n {consignmentsSequence[consignmentItem.code] && `${consignmentsSequence[consignmentItem.code].seq}`.padStart(2, '0')}\n \n }\n \n \n \n \n ))\n }\n \n \n \n ))\n }\n \n \n \n )) : (No Items to display)\n },\n [areawiseConsignments, consignmentsSequence, classes.statusHeaderContainer, checkExpanded, getAreaTotalConsignments, getSelectedValue, handleCheckboxToggle, handleConsignmentAccordionChange, handleConsignmentDetailsClick, updateHighlightSearch],\n );\n\n return (\n
\n {loading && }\n {!viewMode &&\n 'All changes will be discarded. Are you sure you want to leave this page?'}\n />\n }\n \n \n \n {editMode ? `Edit ${draftRoute.route ? draftRoute.route.routeId : \"\"}` : viewMode ? location.state.route.routeId : 'Create Route'}\n {\n viewMode && location.state.route.displayRouteStatus !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP &&\n <>\n \n \n {location.state ? location.state.route.status : \"\"}\n {!(isLastMileViewer || isOnlyStdLastMileViewer) &&\n \n }\n \n \n \n }\n \n \n \n \n \n \n \n \n \n \n \n \n {viewMode ? 'Consignments' : tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ? `Consignments(${allConsignments.length})` : 'Routes'}\n {\n !viewMode && tabValue !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n \n : null\n }\n \n \n {\n !viewMode &&\n \n {\n tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED &&\n \n \n \n \n \n )}\n >\n }\n \n }\n \n \n {\n !viewMode &&\n \n \n \n \n \n \n \n \n {\n !editMode &&\n \n \n \n }\n \n \n }\n \n \n \n {\n viewMode ?\n \n {getViewModeConsignments()}\n \n :\n \n \n \n \n \n \n \n \n {getAreawiseConsignments()}\n \n \n \n \n {getSlotwisePlannedRoutes()}\n \n \n \n \n \n Hub:{location.state.hubName || \"\"}\n \n \n {\n tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED &&\n \n \n \n All\n \n \n \n \n \n \n }\n \n }\n \n \n \n \n \n {\n viewMode ?\n \n \n {\n location.state.route ?\n \n {location.state.route && location.state.route.routeId}\n \n : null\n }\n {\n location.state.route ?\n \n \n \n \n \n \n \n Driver\n \n \n {location.state.route && location.state.route.assignee ? location.state.route.assignee.name : 'Not Assigned'}\n \n \n \n \n \n \n Helper\n \n \n {location.state.route && location.state.route.helper ? location.state.route.helper.name : 'Not Assigned'}\n \n \n \n \n \n \n Vehicle\n \n \n {location.state.route && location.state.route.assignedVehicle ? location.state.route.assignedVehicle.name : 'Not Assigned'}\n \n \n \n \n \n \n Hub\n \n \n {location.state.route && location.state.route.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n\n \n \n \n Consignments\n \n \n {location.state.route && `${location.state.route.totalConsignment}`.padStart(2, '0')}\n \n \n \n {/* \n \n \n Crates\n \n \n {location.state.route && `${location.state.route.totalCrates}`.padStart(2, '0')}\n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Route Details will appear here\n \n }\n \n \n :\n tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n \n \n \n \n \n {draftRoute.route && draftRoute.route.routeId}\n \n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n : null\n }\n \n \n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n Consignments\n \n \n \n {`${getAllSelectedConsignments().length}`.padStart(2, '0')}\n {\n calculateCapacityBreach('consignments') &&\n \n \n \n }\n \n \n \n \n {/* \n \n \n Crates\n \n \n \n {`${getTotalCrates(getAllSelectedConsignments())}`.padStart(2, '0')}\n {\n calculateCapacityBreach('crates') &&\n \n \n \n }\n \n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Selected Consignments will appear here\n \n }\n {\n getAllSelectedConsignments().length ?\n \n \n \n \n {(provided) => (\n \n )}\n \n \n \n \n : null\n }\n {\n getAllSelectedConsignments().length ?\n \n \n \n \n \n \n You can also drag and reorder the consigments to change their sequence.\n \n \n \n : null\n }\n \n \n :\n \n \n {\n selectedRoute.code ?\n \n {selectedRoute && selectedRoute.value}\n \n : null\n }\n {\n selectedRoute.code ?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Hub\n \n \n {selectedRoute.data && selectedRoute.data.hubName}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {getSelectedAreas()}\n \n \n \n \n \n \n \n \n\n \n \n \n Consignments\n \n \n {selectedRoute.data && `${selectedRoute.data.totalConsignment}`.padStart(2, '0')}\n \n \n \n {/* \n \n \n Crates\n \n \n {selectedRoute.data && `${selectedRoute.data.totalCrates}`.padStart(2, '0')}\n \n \n */}\n \n \n \n Delivery Slot\n \n \n \n {getSelectedDeliverySlots()}\n \n \n \n \n \n \n \n Delivery Date\n \n \n {getCurrentSelectedDate()}\n \n \n \n \n \n \n Transit Time\n \n \n {getTransitTime()}\n \n \n \n \n \n \n \n :\n \n Selected Route Details will appear here\n \n }\n \n \n }\n \n {\n tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.PLANNED && !selectedRoute.code ? null : isListView ? getAllSelectedConsignments().length ?\n \n \n \n \n \n \n \n \n \n \n {viewMode ? location.state.route && location.state.route.hubName : draftRoute.route && draftRoute.route.hubName}\n \n \n {getListViewTimelineItems()}\n \n \n : null :\n \n }\n \n toggleListView('map')} item>\n \n \n Map\n \n \n \n toggleListView('list')} item>\n \n \n List\n \n \n \n \n {\n !viewMode ?\n \n \n {\n !isListView &&\n <>\n \n \n \n }\n {\n tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CREATE_ROUTE_DATA.TAB_VALUES.UNPLANNED ?\n editMode ?\n <>\n \n \n \n :\n \n :\n \n }\n \n \n : null\n }\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default CreateRoute;","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { CodReconciliationState } from \"./reconciliationSlice.types\";\nimport AppConstants from \"../../../constants\";\nimport ReconciliationConstants from \"../../../constants/CodReconciliationConstants\";\nimport { transformDateWithEmptyValues, transformDates, enumerateDaysBetweenDates } from \"../../../utils/helpers.utils\";\n\nexport const fetchCodReconciliation = createAsyncThunk(\n \"Dashboard/FetchCODReconciliation\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/dashboard\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst initialState: CodReconciliationState = {\n loading: false,\n codReconciliationCount: {\n pendingAmount: 0,\n collectedAmount: 0,\n expectedAmount: 0,\n shortage: 0,\n handedOver: 0,\n excess: 0,\n },\n amountsByPlannedDate: {},\n formattedDates: {},\n filteredDays: {},\n error: \"\",\n};\n\nconst reconciliationSlice = createSlice({\n name: \"Dashboard\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchCodReconciliation.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchCodReconciliation.fulfilled, (state, action) => {\n const { payload } = action;\n const { meta: { arg: { params } } } = action;\n const allDates = enumerateDaysBetweenDates(params.startDate, params.endDate, AppConstants.DATE_FORMAT_BACKEND);\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n state.codReconciliationCount = payload.totalAmounts;\n state.amountsByPlannedDate = payload.amountsByPlannedDate || {};\n state.filteredDays = transformDateWithEmptyValues(ReconciliationConstants.RECONCILIATION_CONSTANTS.AMOUNT_VALUES.Amount, payload.amountsByPlannedDate, allDates);\n state.formattedDates = transformDates(allDates);\n })\n .addCase(fetchCodReconciliation.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n });\n },\n});\n\nexport default reconciliationSlice.reducer;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.92575 20L8.75875 19.9804C3.51484 19.3218 -0.313023 14.6857 0.0201925 9.39673C0.353408 4.10774 4.73268 -0.00843053 10.0175 1.29667e-05C15.3024 0.00845646 19.6686 4.13859 19.985 9.42863C20.3014 14.7187 16.4588 19.3425 11.2128 19.9843L11.0781 20L10.9824 19.001L11.0918 18.9892C15.8135 18.4129 19.273 14.2521 18.9893 9.49081C18.7056 4.72953 14.7766 1.01143 10.02 1.00298C5.26346 0.994531 1.32137 4.69864 1.02084 9.45889C0.720312 14.2191 4.1651 18.3922 8.88476 18.9853L9.0371 19.003L8.92575 20ZM9.5029 4.9595H10.5029V6.96914H9.5029V4.9595ZM10.5029 7.96574H9.5029V14.9948H10.5029V7.96574Z\",\n fill: \"#4D4D4D\"\n});\n\nvar SvgInfoIcon = function SvgInfoIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/info-icon.885df939.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n tooltip: {\n background: COLORS.WHITE\n },\n barChart: {\n width: \"100%\",\n '& .mixed-chart': {\n overflowX: \"auto\",\n overflowY: \"hidden\",\n maxWidth: \"1313px\"\n },\n '& svg .apexcharts-datalabels': {\n transform: \"translate(0px, -8px)\"\n },\n '& .apexcharts-legend-series': {\n paddingRight: \"12px\",\n paddingTop: 8\n },\n '& .apexcharts-legend-text': {\n fontSize: 9,\n fontWeight: 500,\n lineHeight: \"11px\",\n color: COLORS.BLACK\n }\n },\n\n })\n);","import { ApexOptions } from \"apexcharts\";\nimport React from \"react\";\nimport Chart from \"react-apexcharts\";\nimport { useStyles } from \"./BarChartComponent.styles\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\ninterface BarChartsProps {\n options?: ApexOptions;\n seriesObj: any;\n days: any;\n color: any;\n showLegend: boolean;\n}\n\nconst BarCharts = (props: BarChartsProps) => {\n const { days, color, seriesObj, showLegend } = props;\n const classes = useStyles();\n const config: any = {\n series: seriesObj,\n options: {\n colors: color,\n chart: {\n type: 'bar',\n height: 430,\n toolbar: {\n show: false\n },\n width: \"100%\",\n },\n dataLabels: {\n enabled: false\n },\n legend: {\n show: showLegend,\n position: 'top',\n horizontalAlign: 'left',\n markers: {\n width: 10,\n height: 10,\n radius: 4,\n offsetX: 0,\n offsetY: 0,\n padding: 48,\n },\n },\n plotOptions: {\n bar: {\n horizontal: false,\n columnWidth: '40%',\n barHeight: '70%',\n endingShape: 'rounded',\n borderRadius: 4\n },\n },\n stroke: {\n colors: ['transparent'],\n width: 6,\n },\n xaxis: {\n categories: days,\n tickPlacement: \"between\",\n },\n yaxis: {\n crosshairs: {\n show: true,\n position: 'back',\n stroke: {\n color: '#b6b6b6',\n width: 1,\n dashArray: 0,\n },\n },\n tickAmount: 4,\n labels: {\n formatter: function (val: any) {\n return val.toFixed(0)\n }\n },\n },\n grid: {\n show: true,\n borderColor: COLORS.SILVER_CHALICE,\n strokeDashArray: 3,\n padding: {\n right: 40,\n left: 40\n },\n },\n itemMargin: {\n horizontal: 5,\n vertical: 0,\n },\n tooltip: {\n x: {\n show: false\n },\n y: {\n formatter: function (val: any) {\n return val\n }\n }\n },\n noData: {\n text: \"No data available\",\n align: \"center\",\n verticalAlign: \"middle\",\n offsetX: 0,\n offsetY: 0,\n style: {\n fontSize: 14,\n },\n },\n\n },\n };\n\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\n\nexport default BarCharts;","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n backgroundColor: COLORS.ROUTE_CONTAINER_BACKGROUND,\n },\n container: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n },\n mainContainer: {\n flexWrap: \"nowrap\",\n height: 286,\n paddingLeft: theme.spacing(1),\n },\n heading: {\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n fontSize: 24,\n lineHeight: \"29px\",\n },\n subHeading: {\n fontWeight: 500,\n color: COLORS.COPY,\n fontSize: 14,\n lineHeight: \"17px\",\n paddingTop: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n },\n infoText: {\n fontSize: 14,\n fontWeight: 500,\n lineHeight: \"16px\",\n display: \"flex\",\n alignItems: \"center\",\n marginLeft: theme.spacing(1),\n },\n accordion: {\n backgroundColor: COLORS.WHITE,\n boxShadow: `0px 1px 4px ${COLORS.LIGHT_BLACK_SHADOW}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(2),\n },\n accordionSummary: {\n color: COLORS.COPY,\n fontSize: 18,\n fontWeight: 600,\n \"&.MuiAccordionSummary-root\": {\n borderBottom: `0px solid ${COLORS.TRANSPARENT}`,\n },\n },\n accordionStyle: {\n marginTop: theme.spacing(2),\n },\n accordionTitle: {\n fontSize: 18,\n fontWeight: 600,\n },\n expectedAmtText: {\n fontWeight: 500,\n fontSize: 20,\n color: COLORS.MINE_SHAFT,\n lineHeight: \"24px\",\n paddingLeft: theme.spacing(1),\n },\n daysText: {\n color: COLORS.MINE_SHAFT,\n fontSize: 16,\n fontWeight: 500,\n lineHeight: \"16px\",\n marginLeft: theme.spacing(1),\n },\n dataDivs: {\n background: COLORS.WHITE,\n boxSizing: \"border-box\",\n borderRadius: theme.spacing(1),\n border: `1px solid ${COLORS.SECONDARY_DARK}`,\n padding: theme.spacing(2),\n width: 166,\n },\n amountCounts: {\n paddingTop: theme.spacing(1.5)\n },\n firstAmountDiv: {\n paddingRight: theme.spacing(0.75),\n },\n secondAmountDiv: {\n paddingLeft: theme.spacing(0.75),\n },\n amountStatusText: {\n fontWeight: 500,\n fontSize: 14,\n color: COLORS.COPY,\n lineHeight: \"17px\",\n },\n amountStatusData: {\n fontWeight: 600,\n fontSize: 14,\n color: COLORS.MINE_SHAFT,\n lineHeight: \"17px\",\n paddingTop: theme.spacing(1),\n },\n amountStatusSummaryData: {\n fontWeight: 600,\n fontSize: 14,\n color: COLORS.MINE_SHAFT,\n lineHeight: \"17px\",\n paddingTop: theme.spacing(1),\n paddingLeft: 15,\n },\n orderStatusBottonIcon: {\n fontSize: 12,\n border: `2px solid ${COLORS.WHITE}`,\n borderRadius: \"50%\",\n marginRight: theme.spacing(0.75),\n marginBottom: \"auto\",\n },\n orderStatusBottonIconCollected: {\n color: COLORS.PRIMARY_MAIN,\n },\n orderStatusBottonIconHandedOver: {\n color: COLORS.LIGHT_GREEN,\n },\n orderStatusBottonIconPending: {\n color: COLORS.ALERT_ORANGE,\n },\n orderStatusBottonIconExcess: {\n color: COLORS.PICTON_BLUE,\n },\n orderStatusBottonIconShortage: {\n color: COLORS.CORAL_PINK,\n },\n })\n);\n","import React, { useState, useCallback, useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../../config/redux/reducers\";\nimport moment from \"moment\";\nimport { createCodReconciliationPayload } from \"../../mocks/codReconciliation/response.transforms\";\nimport { fetchCodReconciliation } from \"./redux/reconciliationSlice\";\nimport { userLogout } from \"../../Login/redux/loginSlice\";\n\n//Material UI Components\nimport { Grid, Typography, SvgIcon } from \"@material-ui/core\";\nimport Accordion from \"@material-ui/core/Accordion/Accordion\";\nimport AccordionSummary from \"@material-ui/core/AccordionSummary/AccordionSummary\";\nimport AccordionDetails from \"@material-ui/core/AccordionDetails/AccordionDetails\";\nimport Lens from \"@material-ui/icons/Lens\";\nimport clsx from \"clsx\";\n//Assets\nimport { ReactComponent as infoIcon } from \"../../assets/icons/info-icon.svg\";\nimport ExpandMoreIcon from \"../../assets/icons/expand-accordion-icon.svg\";\nimport calendarIcon from \"../../assets/icons/calendar-icon.svg\";\n\n//Common Components\nimport BarCharts from \"../../common/BarCharts/index\";\nimport DateRangePickerComponent from \"../../common/DateRangeComponent/index\";\nimport Loader from \"../../common/Loader\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\nimport CustomSnackbar from '../../common/CustomSnackbar';\n\n//Style\nimport { useStyles } from \"./reconciliationDashboard.styles\";\n\n//Constants\nimport AppConstants from \"../../constants\";\n\ninterface DashboardProps { }\n\nconst BARCOLORS = [\n COLORS.LIGHT_GREEN,\n COLORS.ALERT_ORANGE,\n COLORS.PICTON_BLUE,\n COLORS.CORAL_PINK,\n];\n\nconst ReconciliationDashboard = (props: DashboardProps) => {\n const classes = useStyles();\n\n const dispatch = useDispatch();\n\n const { codReconciliationCount, loading, filteredDays, formattedDates, errorCode, error } = useSelector(\n (state: AppState) => state.codReconciliation\n );\n\n const [expanded, setExpanded] = useState(true);\n const [datePickerValue, setDatePickerValue] = useState({\n endDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n startDate: moment().subtract(6, 'd').format(AppConstants.DATE_FORMAT),\n });\n const [showLastSevenDays, setShowLastSevenDays] = useState(true);\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = \"No Data present for Requested Date\";\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.RECONCILIATION_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n\n const handleCreateCodReconciliation = useCallback(\n (date: any) => {\n const params = createCodReconciliationPayload({\n date: date,\n });\n dispatch(\n fetchCodReconciliation({\n params: params,\n })\n );\n },\n [dispatch]\n );\n\n const handleDateChange = useCallback((dateRange: any) => {\n setDatePickerValue(dateRange);\n handleCreateCodReconciliation(dateRange);\n setShowLastSevenDays(false);\n }, [handleCreateCodReconciliation]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n handleCreateCodReconciliation(datePickerValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
\n \n \n \n \n \n COD Reconciliation\n \n \n (based on Planned delivery dates)\n \n \n \n \n \n \n \n All figures are in AED\n \n\n \n \n \n \n {loading && }\n setExpanded(!expanded)}>\n }\n className={classes.accordionSummary}\n >\n \n \n \n Expected Amount : {`${codReconciliationCount.expectedAmount}`}\n \n {showLastSevenDays ? (\n \n (Last 7 days)\n \n ) : null}\n \n \n {!expanded ? (\n
\n \n
\n \n \n \n Collected\n \n \n {codReconciliationCount.collectedAmount}\n \n \n
\n
\n \n \n \n Handed Over\n \n \n {codReconciliationCount.handedOver}\n \n \n
\n
\n \n \n \n Pending\n \n \n {codReconciliationCount.pendingAmount}\n \n \n
\n
\n \n \n \n Excess\n \n \n {codReconciliationCount.excess}\n \n \n
\n
\n \n \n \n Shortage\n \n \n {codReconciliationCount.shortage}\n \n \n
\n
\n
\n ) : (\n
\n )}\n
\n
\n \n e.stopPropagation()}>\n \n \n
\n \n \n \n Collected Amount\n \n {codReconciliationCount.collectedAmount}\n \n \n \n
\n \n \n
\n \n \n \n Handed Over\n \n {codReconciliationCount.handedOver}\n \n \n \n
\n
\n \n
\n \n \n \n Pending\n \n {codReconciliationCount.pendingAmount}\n \n \n \n
\n
\n
\n \n \n
\n \n \n \n Excess\n {codReconciliationCount.excess}\n \n \n
\n
\n \n
\n \n \n \n Shortage\n \n {codReconciliationCount.shortage}\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n );\n};\n\nexport default ReconciliationDashboard;\n","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\n\nexport const createCodReconciliationPayload = (payload: any) => {\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n startDate: moment(payload.date.startDate, AppConstants.DATE_FORMAT)\n .hours(0)\n .minutes(0)\n .seconds(0)\n .format(AppConstants.DATE_FORMAT_BACKEND),\n endDate: moment(payload.date.endDate, AppConstants.DATE_FORMAT)\n .hours(23)\n .minutes(59)\n .seconds(59)\n .format(AppConstants.DATE_FORMAT_BACKEND),\n };\n};\n","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\n\nexport const createPerformancePayload = (payload: any) => {\n\n if (payload) {\n let dateRange = [];\n const selectAllIdx = payload.slots.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange) {\n if (selectAllIdx > -1 || !payload.slots.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n else {\n if (payload.slots.length && !payload.slots.includes(AppConstants.SELECT_NONE.value)) {\n payload.isDateRange = false;\n payload.slots.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0] && splitSlot[0].split(':');\n const endSlot = splitSlot[1] && splitSlot[1].split(':');\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n else {\n payload.isDateRange = false;\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n }\n }\n payload.dateRange = dateRange;\n }\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n orderType: payload.orderType,\n dateRange: payload.dateRange,\n isDateRange: payload.isDateRange\n };\n};","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { PerformanceState } from \"./performanceSlice.types\";\nimport AppConstants from \"../../../constants\";\nimport { transformSelectValues, transformSlots, totalValues, transformPerformanceResponse, transformVolumeResponse, transformDateValues, transformDataIntoArray } from \"../../../utils/helpers.utils\";\n\nexport const fetchFiltersDropdownValues = createAsyncThunk(\n \"PerformanceDashboard/FetchFiltersDropdownValues\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `filter/all/${sessionStorage.getItem(AppConstants.COUNTRY_CODE)}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPerformanceParameters = createAsyncThunk(\n \"Dashboard/FetchPerformanceParameters\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/consignments\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteParameters = createAsyncThunk(\n \"Dashboard/FetchRouteParameters\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/routes/global\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteGlobalParams = createAsyncThunk(\n \"Dashboard/FetchRouteGlobalParams\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/routes\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\n\nexport const fetchConsignmentsSlots = createAsyncThunk(\n \"Dashboard/FetchConsignmentsSlots\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/consignments/slots\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRoutesSlots = createAsyncThunk(\n \"Dashboard/FetchRoutesSlots\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/routes/global/slots\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst routesInitialState = {\n onTimePercentage: \"\",\n handOverOnTimePercentage: \"\",\n unPlannedConsignments: \"\",\n globalStateCount: {},\n slotWise: {},\n formattedSlots: [],\n performanceData: {},\n countsData: {},\n percentageData: {},\n volumeData: {},\n paymentWise: [],\n}\n\nconst consignmentsInitialState = {\n totalConsignments: \"\",\n onTimePercentage: \"\",\n handOverOnTimePercentage: \"\",\n performanceParams: {},\n slotWise: {},\n globalStateCount: {},\n transformedSlots: {},\n countsData: {},\n percentageData: {},\n volumeData: {},\n formattedSlots: [],\n paymentWise: [],\n deliveryTypeWise: [],\n}\n\nconst initialState: PerformanceState = {\n loading: false,\n filtersDropdowns: {\n countriesList: [],\n hubCodeList: [],\n hubNameList: [],\n deliveryAreaList: [],\n deliverySlotList: [],\n orderTypeList: []\n },\n allSlots: [],\n consignments: {\n ...consignmentsInitialState\n },\n error: \"\",\n routes: {\n ...routesInitialState\n },\n routesGlobal: {\n statusWise: {},\n totalRoutes: \"\",\n deliveryTypeWise: [],\n },\n};\n\nconst performanceSlice = createSlice({\n name: \"Dashboard\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchFiltersDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchFiltersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let hubCodeList: any = {};\n let hubNameList: any = {};\n let deliveryAreaList: any = {};\n let deliverySlotList: any = {};\n let orderTypeList: any = {};\n if (payload.hubMap) {\n Object.keys(payload.hubMap).filter((country: any) => {\n hubCodeList[country] = transformSelectValues(payload.hubMap[country], 'code');\n hubNameList[country] = transformSelectValues(payload.hubMap[country], 'value');\n return true;\n });\n }\n if (payload.deliveryArea) {\n Object.keys(payload.deliveryArea).filter((country: any) => {\n deliveryAreaList[country] = transformSelectValues(payload.deliveryArea[country]);\n return true;\n });\n }\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotList[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n if (payload.orderType) {\n Object.keys(payload.orderType).filter((country: any) => {\n orderTypeList[country] = transformSelectValues(payload.orderType[country]);\n return true;\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.filtersDropdowns = {\n countriesList: transformSelectValues(payload.countries),\n hubCodeList: hubCodeList,\n hubNameList: hubNameList,\n deliveryAreaList: deliveryAreaList,\n deliverySlotList: deliverySlotList,\n orderTypeList: orderTypeList\n };\n })\n .addCase(fetchFiltersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPerformanceParameters.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchPerformanceParameters.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n state.consignments.performanceParams = payload.statusWise;\n let ontimeValue = payload.onTimePercentage;\n let roundedOntimeValue = ontimeValue && Math.round(ontimeValue.replace(\"%\", \"\"));\n state.consignments.onTimePercentage = roundedOntimeValue || 0;\n let handOvervalue = payload.handOverOnTimePercentage;\n let roundedHandoverValue = handOvervalue && Math.round(handOvervalue.replace(\"%\", \"\"));\n state.consignments.handOverOnTimePercentage = roundedHandoverValue || 0;\n state.consignments.slotWise = payload.slotWise || {};\n state.consignments.globalStateCount = payload.globalStateCount || {};\n state.consignments.totalConsignments = totalValues(payload.statusWise);\n state.consignments.formattedSlots = transformSlots(payload.slotWise);\n let transformedPerformance = transformPerformanceResponse(payload.slotWise);\n state.consignments.volumeData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.PERFORMANCE_CONSTANTS.SLOT_VALUES.Volume, transformVolumeResponse(payload.slotWise));\n state.consignments.countsData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.PERFORMANCE_CONSTANTS.SLOT_VALUES.Counts, transformedPerformance);\n state.consignments.percentageData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.PERFORMANCE_CONSTANTS.SLOT_VALUES.Percentages, transformedPerformance);\n state.consignments.paymentWise = transformDataIntoArray(AppConstants.DASHBOARD_CONSTANTS.PERFORMANCE_CONSTANTS.SLOT_VALUES.PaymentWise, payload.paymentWise);\n state.consignments.deliveryTypeWise = transformDataIntoArray(AppConstants.DASHBOARD_CONSTANTS.PERFORMANCE_CONSTANTS.SLOT_VALUES.DeliveryTypeWise, payload.deliveryTypeWise);\n\n })\n .addCase(fetchPerformanceParameters.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentsSlots.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchConsignmentsSlots.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n if (payload.allSlots.length) {\n state.allSlots = transformSelectValues(payload.allSlots);\n }\n })\n .addCase(fetchConsignmentsSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRoutesSlots.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchRoutesSlots.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n if (payload.allSlots.length) {\n state.allSlots = transformSelectValues(payload.allSlots);\n }\n })\n .addCase(fetchRoutesSlots.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteParameters.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchRouteParameters.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n let ontimeValue = payload.onTimePercentage;\n let roundedOntimeValue = ontimeValue && Math.round(ontimeValue.replace(\"%\", \"\"));\n state.routes.onTimePercentage = roundedOntimeValue || 0;\n let handOvervalue = payload.handOverOnTimePercentage;\n let roundedHandoverValue = handOvervalue && Math.round(handOvervalue.replace(\"%\", \"\"));\n state.routes.handOverOnTimePercentage = roundedHandoverValue || 0;\n state.routes.unPlannedConsignments = payload.unPlannedConsignments;\n state.routes.slotWise = payload.slotWise || {};\n state.routes.globalStateCount = payload.globalStateCount || {};\n state.routes.formattedSlots = transformSlots(payload.slotWise);\n let routesTransformedPerformance = transformPerformanceResponse(payload.slotWise);\n state.routes.volumeData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.ROUTES_PERFORMANCE_CONSTANTS.SLOT_VALUES.Volume, transformVolumeResponse(payload.slotWise));\n state.routes.countsData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.ROUTES_PERFORMANCE_CONSTANTS.SLOT_VALUES.Counts, routesTransformedPerformance);\n state.routes.percentageData = transformDateValues(AppConstants.DASHBOARD_CONSTANTS.ROUTES_PERFORMANCE_CONSTANTS.SLOT_VALUES.Percentages, routesTransformedPerformance);\n state.routes.paymentWise = transformDataIntoArray(AppConstants.DASHBOARD_CONSTANTS.ROUTES_PERFORMANCE_CONSTANTS.SLOT_VALUES.PaymentWise, payload.paymentWise);\n\n })\n .addCase(fetchRouteParameters.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.routes = { ...routesInitialState }\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteGlobalParams.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchRouteGlobalParams.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n state.routesGlobal.statusWise = payload.statusWise;\n state.routesGlobal.totalRoutes = totalValues(payload.statusWise);\n state.routesGlobal.deliveryTypeWise = transformDataIntoArray(AppConstants.DASHBOARD_CONSTANTS.ROUTES_PERFORMANCE_CONSTANTS.SLOT_VALUES.DeliveryTypeWise, payload.deliveryTypeWise);\n })\n .addCase(fetchRouteGlobalParams.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n },\n});\n\nexport default performanceSlice.reducer;\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n backgroundColor: COLORS.ROUTE_CONTAINER_BACKGROUND,\n overflow: \"scroll\"\n },\n container: {\n margin: \"24px 0px 0px 0px\",\n boxShadow: \"0px 4px 20px rgba(0, 0, 0, 0.06)\",\n backgroundColor: COLORS.WHITE\n },\n title: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: \"29px\",\n color: COLORS.MINE_SHAFT,\n display: \"flex\",\n alignItems: \"center\"\n },\n subTitle: {\n display: \"flex\",\n justifyContent: \"center\",\n fontSize: 10,\n lineHeight: \"16px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: COLORS.TEXT_PRIMARY\n },\n select: {\n borderRadius: 8,\n background: COLORS.WHITE,\n minWidth: 150\n },\n slotsSelect: {\n borderRadius: 8,\n background: COLORS.WHITE\n },\n icon: {\n \"& .MuiOutlinedInput-input\": {\n height: \"40px\",\n },\n },\n tilesView: {\n flexGrow: 1,\n },\n cratesMainDivStyle: {\n background: \"#FFFFFF\",\n border: \"1px solid #D2D2D2\",\n borderRadius: \"8px\",\n },\n mainDivSearchColumn: {\n display: \"grid\",\n float: \"left\",\n marginTop: \"auto\",\n marginBottom: \"auto\",\n height: \"40px\",\n width: \"427px\",\n },\n inputBoxFontStyle: {\n fontFamily: \"Montserrat\",\n fontSize: \"12px\",\n lineHeight: \"1px\",\n color: \"#252525 !important\",\n paddingLeft: \"2px\",\n \"& .MuiFormLabel-root\": {\n fontFamily: \"Montserrat\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n lineHeight: \"1px\",\n color: \"#252525\",\n paddingLeft: \"2px\",\n },\n \"& .MuiFormLabel-root.Mui-focused\": {\n color: \"#252525 !important\",\n },\n \"& .Mui-focused\": {\n color: \"#252525\",\n fontWeight: \"500\",\n },\n \"&$focused\": {\n color: \"#252525 !important\",\n },\n },\n searchStyle: {\n fontFamily: \"Montserrat\",\n fontSize: \"12px\",\n lineHeight: \"8px\",\n textAlign: \"left\",\n height: \"40px\",\n background: \"#FFFFFF\",\n border: \"1px solid #B2B2B2\",\n borderColor: \"#f44336\",\n borderRadius: \"8px\",\n outline: \"0 !important\",\n color: \"#252525\",\n backgroundColor: \"#FFFFFF !important\",\n boxShadow: \"0px 4px 4px rgba(205, 205, 205, 0.23)\",\n \"&:hover\": { backgroundColor: \"#FFFFFF\" },\n \"& .MuiSelect-select:focus\": { background: \"rgba(255,255,255,0.1)\" },\n },\n inputRounded: {\n fontFamily: \"Montserrat\",\n fontSize: \"12px\",\n lineHeight: \"8px\",\n textAlign: \"left\",\n height: \"40px\",\n background: \"#FFFFFF\",\n border: \"1px solid #B2B2B2\",\n borderRadius: \"8px\",\n outline: \"0 !important\",\n backgroundColor: \"#FFFFFF !important\",\n boxShadow: \"0px 4px 4px rgba(205, 205, 205, 0.23)\",\n \"&:hover\": { backgroundColor: \"#FFFFFF\" },\n \"& .MuiSelect-select:focus\": { background: \"rgba(255,255,255,0.1)\" },\n },\n tableDataRow: {\n height: \"56px\",\n background: \"#FFFFFF\",\n },\n tableHeadStyle: {\n height: \"28px\",\n backgroundColor: \"rgba(230, 230, 230, 0.24)\"\n },\n tableDataRowActive: {\n height: \"56px\",\n backgroundColor: COLORS.MADISON_LIGHT,\n },\n tableDataFirstRow: {\n padding: 0,\n paddingLeft: \"10px\",\n paddingRight: \"10px\",\n minWidth: \"160px\",\n maxWidth: \"160px\",\n fontWeight: 600,\n height: \"56px\",\n fontFamily: \"Montserrat\",\n fontSize: \"14px\",\n lineHeight: \"17px\",\n color: COLORS.COPY,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"10px\",\n borderRight: \"none\",\n },\n },\n tableDataRowCell: {\n padding: 0,\n paddingLeft: \"10px\",\n paddingRight: \"10px\",\n minWidth: \"160px\",\n maxWidth: \"160px\",\n fontWeight: 500,\n height: \"56px\",\n fontFamily: \"Montserrat\",\n fontSize: \"14px\",\n lineHeight: \"17px\",\n color: COLORS.COPY,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"10px\",\n borderRight: \"none\",\n },\n },\n tableDataRowCellActive: {\n padding: 0,\n paddingLeft: \"20px\",\n height: \"56px\",\n fontFamily: \"Montserrat\",\n fontSize: \"14px\",\n lineHeight: \"17px\",\n color: \"#0E5AA7\",\n borderTop: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderBottom: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n },\n gridRow: {\n background: \"#fff\",\n height: \"64px\",\n \"&$selected\": {\n background: COLORS.SUB_HEADER_SELECTED,\n backgroundColor: COLORS.SUB_HEADER_SELECTED,\n height: \"64px\",\n },\n \"&$selected, &$selected:hover\": {\n background: COLORS.SUB_HEADER_SELECTED,\n backgroundColor: COLORS.SUB_HEADER_SELECTED,\n height: \"64px\",\n },\n\n },\n SlotDropDownButtonStyle: {\n cursor: \"pointer\",\n outline: \"0 !important\",\n \"&:hover\": { backgroundColor: \"transparent\" },\n },\n SlotOpenDropDownStyle: {\n marginLeft: \"6px\",\n cursor: \"pointer\",\n outline: \"0 !important\",\n },\n collapseTableCell: {\n paddingBottom: 0,\n paddingTop: 0,\n borderBottom: \"none\",\n borderTop: \"none\",\n paddingLeft: \"0px\",\n \"&.MuiTableCell-sizeSmall\": {\n \"&:last-child\": {\n paddingRight: \"0px\",\n },\n },\n },\n collapseTableCellDiv: {\n maxHeight: \"200px\",\n overflow: \"auto\",\n },\n collapseTableHeaderCellFirst: {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n height: \"36px\",\n borderTop: \"none\",\n },\n collapseTableHeaderCell: {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n height: \"36px\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n color: COLORS.COPY,\n borderTop: `1px solid ${COLORS.SECONDARY_DARK}`,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n borderRight: \"none\",\n },\n },\n collapseTableDataRow: {\n height: \"36px\",\n background: COLORS.WHITE,\n },\n collapseTableDataRowCellEmpty: {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n height: \"36px\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n color: COLORS.BLACK,\n background: COLORS.WHITE,\n borderBottom: \"none\",\n },\n collapseTableDataRowCell: {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n height: \"36px\",\n color: COLORS.BLACK,\n background: COLORS.WHITE,\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderTop: `1px solid ${COLORS.SECONDARY_DARK}`,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n borderRight: \"none\",\n },\n },\n noRowsSection: {\n borderLeft: `1px solid ${COLORS.SECONDARY_DARK}`,\n marginLeft: \"215px\",\n },\n noRowsText: {\n marginLeft: \"445px\",\n padding: \"24px\",\n fontSize: \"12px\",\n },\n loadingTable: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n translate: \"transform(-50%, -50%)\",\n },\n popperStyle: {\n fontSize: \"10px\",\n fontWeight: 500,\n color: COLORS.WHITE,\n },\n arrowStyle: {\n color: COLORS.BLACK,\n },\n tooltipStyle: {\n background: COLORS.BLACK,\n },\n statusTitle: {\n color: \"#979797\",\n fontSize: \"10px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n lineHeight: \"18px\",\n },\n statusData: {\n color: \"#4D4D4D\",\n fontWeight: 500,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n },\n progressText: {\n color: \"#686868\",\n fontWeight: 500,\n fontSize: \"10px\",\n lineHeight: \"12px\",\n display: \"flex\",\n flexWrap: \"wrap\",\n fontFamily: \"Montserrat\",\n paddingTop: \"8px\"\n },\n linearProgressRoot: {\n height: \"8px\",\n borderRadius: \"4px\",\n },\n linearProgress: {\n marginTop: \"8px\",\n },\n linearProgressBarRoot: {\n borderRadius: 4,\n backgroundColor: COLORS.SECONDARY_DARK,\n },\n linearProgressColorDefault: {\n backgroundColor: COLORS.SECONDARY_DARK,\n },\n linearProgressBarColor: {\n backgroundColor: COLORS.LIGHT_PERSIAN_GREEN,\n },\n linearProgressBarColorInProgress: {\n backgroundColor: COLORS.GOLDEN_BELL,\n },\n loadingDiv: {\n display: \"table\",\n height: \"89%\",\n width: \"100%\",\n textAlign: \"center\",\n },\n loadingDivInner: {\n height: \"100%\",\n width: \"100%\",\n verticalAlign: \"middle\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n spanStyle: {\n marginTop: \"auto\",\n marginBottom: \"auto\",\n fontFamily: \"Montserrat\",\n fontSize: \"24px\",\n fontWeight: 500,\n lineHeight: \"21px\",\n color: COLORS.COPY,\n padding: \"24px\"\n },\n handoverPercent: {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n fontWeight: 600,\n color: COLORS.PERSIAN_GREEN,\n paddingLeft: \"14px\"\n },\n ontimePercent: {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n fontWeight: 600,\n color: COLORS.PALE_PURPLE,\n paddingLeft: \"14px\"\n }\n })\n);","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const headStyles = makeStyles((theme) =>\n createStyles({\n root: {\n width: \"100%\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n overflow: \"auto\",\n },\n paper: {\n width: \"100%\",\n marginBottom: \"24px\",\n },\n container: {\n height: `calc(100vh - 310px)`,\n maxHeight: `calc(100vh - 310px)`,\n width: \"100%\",\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: 1,\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n top: 20,\n width: 1,\n },\n tableHeaderRow: {\n backgroundColor: COLORS.SECONDARY_MAIN,\n },\n tableRowHeaderCell: {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n height: \"4em\",\n },\n tableRowCell: {\n padding: 0,\n fontSize: \"12px\",\n lineHeight: \"15px\",\n },\n tableHeadRowCell: {\n padding: 0,\n paddingLeft: \"10px\",\n paddingRight: \"6px\",\n height: \"30px\",\n width: \"70px\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n color: \"#252525\",\n borderTop: `1.27px solid ${COLORS.SECONDARY_DARK}`,\n borderBottom: `1.27px solid ${COLORS.SECONDARY_DARK}`,\n borderRight: `1.27px solid ${COLORS.SECONDARY_DARK}`,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"10px\",\n paddingRight: \"6px\",\n borderRight: \"none\",\n },\n },\n tableDataRowCell: {\n padding: 0,\n paddingLeft: \"10px\",\n paddingRight: \"10px\",\n height: \"55px\",\n fontSize: \"14px\",\n fontWeight: 600,\n lineHeight: \"17px\",\n color: \"#4D4D4D\",\n borderTop: `1.27px solid ${COLORS.MADISON_LIGHT}`,\n borderBottom: `1.27px solid ${COLORS.MADISON_LIGHT}`,\n \"&:last-child\": {\n padding: 0,\n paddingLeft: \"15px\",\n paddingRight: \"10px\",\n borderRight: \"none\",\n },\n },\n gridRow: {\n background: \"#fff\",\n \"&$selected\": {\n background: COLORS.MADISON_LIGHT,\n backgroundColor: COLORS.MADISON_LIGHT,\n },\n \"&$selected, &$selected:hover\": {\n background: COLORS.MADISON_LIGHT,\n backgroundColor: COLORS.MADISON_LIGHT,\n },\n },\n gridRowSelected: {\n backgroundColor: `${COLORS.MADISON_LIGHT} !important`,\n },\n infoIconStyle: {\n height: \"20px\",\n width: \"14px\",\n marginLeft: \"12px\",\n paddingTop: \"6px\"\n }\n }));","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const progressStyles = makeStyles((theme) =>\n createStyles({\n linearProgressRoot: {\n height: \"8px\",\n borderRadius: \"4px\",\n },\n linearProgress: {\n marginTop: \"8px\",\n },\n linearProgressBarRoot: {\n borderRadius: 4,\n backgroundColor: COLORS.SECONDARY_DARK,\n },\n linearProgressColorDefault: {\n backgroundColor: COLORS.SECONDARY_DARK,\n },\n linearProgressBarColor: {\n backgroundColor: COLORS.LIGHT_PERSIAN_GREEN,\n },\n linearProgressBarColorInProgress: {\n backgroundColor: COLORS.GOLDEN_BELL,\n },\n }));","import React from \"react\";\n\n//Material UI Components\nimport TableHead from \"@material-ui/core/TableHead\";\nimport Table from \"@material-ui/core/Table\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Box from \"@material-ui/core/Box\";\nimport Collapse from \"@material-ui/core/Collapse\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport { Grid, Typography } from \"@material-ui/core\";\n//Style\nimport { progressStyles } from \"./HubsRowDetails.styles\";\n\n//Assets\nimport SlotOpenDropDown from \"../../assets/icons/SlotOpenDropDown.svg\";\nimport SlotOpenDropDownOpen from \"../../assets/icons/SlotOpenDropDownOpen.svg\";\n\ninterface HubsRowProps {\n classes: any;\n hubData: any;\n hubName: any;\n hubCode: any;\n hubDataIndex: any;\n}\n\n\nconst HubsRow = (props: HubsRowProps) => {\n const { classes, hubData, hubName, hubCode } = props;\n const [open, setOpen] = React.useState(false);\n const progressClasses = progressStyles();\n return (\n \n \n \n {hubName}\n \n\n \n {hubData && hubData.totalConsignments}\n \n \n \n {(hubData && hubData.globalStateCount && hubData.globalStateCount['OnTime Handover']) || 0}\n {(hubData && hubData.handOverOnTimePercentage) || 0}\n \n \n \n \n {(hubData && hubData.globalStateCount && hubData.globalStateCount['OnTime']) || 0}\n {(hubData && hubData.onTimePercentage) || 0}\n \n \n \n \n \n {(hubData && hubData.globalStateCount && hubData.globalStateCount['At Risk']) || 0}\n \n \n \n setOpen(!open)}\n >\n {open ?\n \"dropdown-open\" :\n \"dropdown-close\"}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n < Typography className={classes.statusTitle}>Unplanned\n \n {(hubData && hubData.statusWise && hubData.statusWise.Unplanned) || 0}\n \n \n Published\n \n {(hubData && hubData.statusWise && hubData.statusWise['Planned/Published']) || 0}\n \n \n Preparing\n \n {(hubData && hubData.statusWise && hubData.statusWise['Preparing/Prepared']) || 0}\n \n \n Out for Delivery\n \n {(hubData && hubData.statusWise && hubData.statusWise['Out for Delivery']) || 0}\n \n\n \n \n\n \n \n \n Delivered\n \n {(hubData && hubData.statusWise && hubData.statusWise.Delivered) || 0}\n \n \n < Typography className={classes.statusTitle}>Un-delivered\n \n {(hubData && hubData.statusWise && hubData.statusWise['Un-Delivered']) || 0}\n \n \n Cancelled\n \n {(hubData && hubData.statusWise && hubData.statusWise.Cancelled) || 0}\n \n \n \n \n \n \n \n \n \n On time handover v/s Handed over\n \n \n \n \n \n \n \n \n \n On time delivery v/s Delivered consignments\n \n \n \n \n \n \n \n \n \n On time delivery v/s All consignments\n \n \n \n \n \n \n \n \n \n On time delivery v/s All attempted order\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n );\n};\n\nfunction LinearProgressWithLabelPro(props: any) {\n const { value, classes } = props;\n return (\n \n \n \n \n \n \n \n \n {value || \"0\"}\n \n \n \n \n );\n}\n\nfunction LinearProgressWithLabel(props: any) {\n const { value, classes } = props;\n return (\n \n \n \n \n \n \n \n \n {value || \"0\"}\n \n \n \n \n );\n}\n\nexport default HubsRow;\n","import React from \"react\";\n\n//Material UI Components\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport { headStyles } from \"./HubsTableHead.styles\";\nimport infoIcon from \"../../assets/icons/info-icon.svg\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\n\n//Components\nimport HubsRow from \"./HubsRow\";\n\ninterface HubsGridProps {\n count: any;\n page: any;\n rowsPerPage: any;\n classes: any;\n hubList: any;\n}\n\ninterface EnhancedTableHeadProps {\n classes: any;\n rowCount: any;\n}\n\nconst headCells = [\n {\n id: \"HUBS\",\n numeric: false,\n disablePadding: true,\n label: \"Hubs\",\n sortable: true,\n minWidth: \"320px\",\n maxWidth: \"320px\",\n showIcon: false,\n\n },\n {\n id: \"CONSIGNMENTS\",\n numeric: false,\n disablePadding: true,\n label: \"Consignments\",\n minWidth: \"160px\",\n maxWidth: \"160px\",\n showIcon: false,\n },\n {\n id: \"ONTIME_HANDOVER\",\n numeric: false,\n disablePadding: true,\n label: \"Ontime Handover\",\n sortable: true,\n minWidth: \"160px\",\n maxWidth: \"160px\",\n showIcon: true,\n iconText: \"On time handed over v/s Handed over consignments\",\n },\n {\n id: \"ONTIME_DELIVERY\",\n numeric: false,\n disablePadding: true,\n label: \"Ontime Delivery\",\n sortable: true,\n minWidth: \"160px\",\n maxWidth: \"160px\",\n showIcon: true,\n iconText: \"On time delivery v/s Delivered consignments\",\n },\n\n {\n id: \"ORDERS_RISK\",\n numeric: false,\n disablePadding: true,\n label: \"Orders At Risk\",\n sortable: true,\n minWidth: \"160px\",\n maxWidth: \"160px\",\n showIcon: true,\n iconText: \"Consignments not delivered 15 minutes before slot end time\",\n },\n {\n id: \"ARROW\",\n numeric: false,\n disablePadding: true,\n label: \"\",\n sortable: true,\n minWidth: \"160px\",\n maxWidth: \"160px\",\n showIcon: false,\n },\n];\n\nconst EnhancedTableHead = (props: EnhancedTableHeadProps) => {\n const { classes } = props;\n return (\n \n \n {headCells.map((headCell) => (\n <>\n < TableCell\n key={headCell.id}\n align={headCell.numeric ? \"right\" : \"left\"}\n padding={headCell.disablePadding ? \"none\" : \"default\"}\n className={classes.tableDataRowCell}\n style={{ minWidth: headCell.minWidth, maxWidth: headCell.maxWidth }}\n >\n {headCell.label}\n\n {headCell.showIcon ? \"info-icon\" : \"\"}\n \n \n ))}\n \n \n );\n}\n\nconst HubsGrid = (props: HubsGridProps) => {\n const headClasses = headStyles();\n const emptyRows = 0;\n const { classes, hubList } = props;\n return (\n <>\n \n \n \n \n {hubList && hubList.length && hubList.map((data: any, index: any) => {\n return (\n <>\n \n \n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n \n
\n
\n \n );\n}\n\nexport default HubsGrid;\n\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { HubWiseState } from \"./hubWiseSlice.types\";\nimport AppConstants from \"../../../constants\";\nimport { transformSelectValues } from \"../../../utils/helpers.utils\";\n\nexport const fetchFiltersHubWise = createAsyncThunk(\n \"HubWiseDashboard/FetchFiltersHubWise\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `filter/all/${sessionStorage.getItem(AppConstants.COUNTRY_CODE)}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchConsignmentsSlotsHubWise = createAsyncThunk(\n \"HubWiseDashboard/FetchConsignmentsSlotsHubWise\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/consignments/slots\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchHubWiseData = createAsyncThunk(\n \"HubWiseDashboard/FetchHubWiseData\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"operations/dashboard/consignments/hubWise\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst initialState: HubWiseState = {\n loading: false,\n hubWiseDataLoading: false,\n filtersDropdowns: {\n countriesList: [],\n hubCodeList: [],\n hubNameList: [],\n deliveryAreaList: [],\n deliverySlotList: [],\n orderTypeList: []\n },\n allSlots: [],\n hubWiseDataList: [],\n};\n\nconst hubWiseSlice = createSlice({\n name: \"HubWiseDashboard\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchFiltersHubWise.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchFiltersHubWise.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let hubCodeList: any = {};\n let hubNameList: any = {};\n let deliveryAreaList: any = {};\n let deliverySlotList: any = {};\n let orderTypeList: any = {};\n if (payload.hubMap) {\n Object.keys(payload.hubMap).filter((country: any) => {\n hubCodeList[country] = transformSelectValues(payload.hubMap[country], 'code');\n hubNameList[country] = transformSelectValues(payload.hubMap[country], 'value');\n return true;\n });\n }\n if (payload.deliveryArea) {\n Object.keys(payload.deliveryArea).filter((country: any) => {\n deliveryAreaList[country] = transformSelectValues(payload.deliveryArea[country]);\n return true;\n });\n }\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotList[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n if (payload.orderType) {\n Object.keys(payload.orderType).filter((country: any) => {\n orderTypeList[country] = transformSelectValues(payload.orderType[country]);\n return true;\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.filtersDropdowns = {\n countriesList: transformSelectValues(payload.countries),\n hubCodeList: hubCodeList,\n hubNameList: hubNameList,\n deliveryAreaList: deliveryAreaList,\n deliverySlotList: deliverySlotList,\n orderTypeList: orderTypeList\n };\n })\n .addCase(fetchFiltersHubWise.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentsSlotsHubWise.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchConsignmentsSlotsHubWise.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = false;\n if (payload.allSlots.length) {\n state.allSlots = transformSelectValues(payload.allSlots);\n }\n })\n .addCase(fetchConsignmentsSlotsHubWise.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchHubWiseData.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.hubWiseDataLoading = true;\n })\n .addCase(fetchHubWiseData.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.hubWiseDataLoading = false;\n state.hubWiseDataList = payload.hubWise;\n })\n .addCase(fetchHubWiseData.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.hubWiseDataLoading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message || errorPayload.status\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n },\n});\n\nexport default hubWiseSlice.reducer;\n","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\n\nexport const createHubWisePerformancePayload = (payload: any) => {\n\n if (payload) {\n let dateRange = [];\n const selectAllIdx = payload.slots.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange) {\n if (selectAllIdx > -1 || !payload.slots.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n else {\n if (payload.slots.length && !payload.slots.includes(AppConstants.SELECT_NONE.value)) {\n payload.isDateRange = false;\n payload.slots.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0] && splitSlot[0].split(':');\n const endSlot = splitSlot[1] && splitSlot[1].split(':');\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n else {\n payload.isDateRange = false;\n dateRange.push({\n startTime: moment(payload.dateRange.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n }\n }\n payload.dateRange = dateRange;\n }\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n hubCode: payload.hubCode,\n orderType: payload.orderType,\n dateRange: payload.dateRange,\n isDateRange: payload.isDateRange\n };\n};","import React, { useState, useCallback, useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport moment from \"moment\";\n\nimport { AppState } from '../../config/redux/reducers';\n//Material UI Components\nimport { Grid, Typography } from \"@material-ui/core\";\nimport _ from \"lodash\";\n\n//Style\nimport { useStyles } from \"./hubwiseDashboard.styles\";\n\n//Constants\nimport AppConstants from \"../../constants\";\n\n//Common Components\nimport SelectBox from \"../../common/SelectBox\";\nimport DateRangePickerComponent from \"../../common/DateRangeComponent/index\";\nimport Loader from \"../../common/Loader\";\nimport calendarIcon from \"../../assets/icons/calendar-icon.svg\";\nimport HubsGrid from \"./HubsGrid\";\nimport { fetchConsignmentsSlotsHubWise, fetchFiltersHubWise, fetchHubWiseData } from \"./redux/hubWiseSlice\";\nimport { createHubWisePerformancePayload } from \"../../mocks/hubWiseDashboard/response.transforms\";\nimport CustomSnackbar from '../../common/CustomSnackbar';\nimport { userLogout } from \"../../Login/redux/loginSlice\";\n\ninterface DashboardProps { }\n\nconst HubwiseDashboard = (props: DashboardProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const { countryCode, hubCode } = useSelector(\n (state: AppState) => state.common\n );\n const { filtersDropdowns, hubWiseDataLoading, error, errorCode, hubWiseDataList } = useSelector(\n (state: AppState) => state.hubWise,\n );\n\n const { allSlots } = useSelector(\n (state: AppState) => state.hubWise, _.isEqual\n );\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [category, setCategory] = useState(AppConstants.CATEGORY.value);\n const [orderType, setOrderType] = useState(AppConstants.DELIVERY_TYPE.value);\n const [slots, setSlots] = useState(() => [AppConstants.SELECT_ALL.value]);\n const [datePickerValue, setDatePickerValue] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n });\n const count = 0;\n const rowsPerPage = useState(100);\n const pageNo = useState(0);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [isThroughHandler, setIsThroughHandler] = useState(false);\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = \"No Data Available\";\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.DASHBOARD_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n const handleDateChange = ((dateRange: any) => {\n setDatePickerValue(dateRange);\n setIsThroughHandler(true);\n handleHubWisePerformanceParameters({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: dateRange,\n orderType: orderType,\n });\n });\n\n const handleCategoryChange = ((selectedCategory: any) => {\n setCategory(selectedCategory);\n setIsThroughHandler(true);\n });\n\n const handleDeliverySlotChange = ((selectedSlots: any) => {\n setSlots(selectedSlots);\n setIsThroughHandler(true);\n handleHubWisePerformanceParameters({\n slots: selectedSlots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderType,\n });\n });\n\n const handleOrderTypeChange = ((orderTypeValue: any) => {\n setOrderType(orderTypeValue);\n setIsThroughHandler(true);\n handleHubWisePerformanceParameters({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderTypeValue,\n });\n });\n\n\n useEffect(() => {\n if (error) {\n if (error === \"INTERNAL_SERVER_ERROR\") {\n snackbarMessage.current = \"Something went wrong, Please try again later\";\n snackbarType.current = AppConstants.SNACKBAR.TYPES.ERROR;\n setOpenSnackbar(true);\n } else {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }\n }, [error])\n\n const handleConsignmentsSlots = useCallback(\n (params: any) => {\n const updatedParams = createHubWisePerformancePayload({\n ...params,\n countryCode: country,\n });\n dispatch(\n fetchConsignmentsSlotsHubWise({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n const fetchAllFilters = useCallback(\n () => {\n dispatch(\n fetchFiltersHubWise()\n )\n },\n [dispatch]\n );\n\n useEffect(() => {\n fetchAllFilters();\n if (category === AppConstants.CATEGORY.value) {\n handleConsignmentsSlots({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderType,\n });\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [datePickerValue, category, orderType, hubCode])\n\n const handleHubWisePerformanceParameters = useCallback(\n (params: any) => {\n const updatedParams = createHubWisePerformancePayload({\n ...params,\n countryCode: country,\n\n });\n dispatch(\n fetchHubWiseData({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n useEffect(() => {\n if (!isThroughHandler) {\n handleHubWisePerformanceParameters({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderType,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [datePickerValue, category, orderType, hubCode, slots])\n\n\n return (\n
\n \n \n Dashboard\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n <>\n {hubWiseDataLoading && }\n {hubWiseDataList.length ? (\n \n )\n : (\n
\n
\n
\n No Data Available\n
\n
\n
\n )}\n \n }\n \n
\n );\n};\n\nexport default HubwiseDashboard;\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n backgroundColor: COLORS.ROUTE_CONTAINER_BACKGROUND,\n overflow: \"scroll\"\n },\n title: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: \"29px\",\n color: COLORS.MINE_SHAFT\n },\n subTitle: {\n display: \"flex\",\n justifyContent: \"center\",\n fontSize: 10,\n lineHeight: \"16px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: COLORS.TEXT_PRIMARY\n },\n select: {\n borderRadius: 8,\n background: COLORS.WHITE,\n minWidth: 150\n },\n slotsSelect: {\n borderRadius: 8,\n background: COLORS.WHITE\n },\n icon: {\n \"& .MuiOutlinedInput-input\": {\n height: \"40px\",\n },\n },\n consignments: {\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n borderRadius: 8,\n padding: \"6px 24px\",\n height: \"58px\"\n },\n routes: {\n background: COLORS.WHITE,\n boxShadow: \"0px 0px 8px rgba(0, 0, 0, 0.1)\",\n borderRadius: 8,\n padding: \"16px 24px\",\n },\n deliverySection: {\n padding: \"24px 24px 0px 24px\"\n },\n totalText: {\n fontSize: 16,\n fontWeight: 600,\n lineHeight: \"21px\",\n color: COLORS.BLACK,\n },\n consignmentText: {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"21px\",\n color: COLORS.BLACK,\n },\n consignmentPercent: {\n fontSize: 32,\n fontWeight: 600,\n lineHeight: \"39px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n subText: {\n fontSize: 12,\n lineHeight: \"12px\",\n color: COLORS.COPY,\n marginTop: theme.spacing(1)\n },\n consignmentData: {\n fontSize: 24,\n color: COLORS.TEXT_PRIMARY,\n display: \"flex\",\n alignItems: \"center\",\n fontWeight: 600,\n padding: theme.spacing(1)\n },\n statusTiles: {\n display: \"flex\",\n },\n tilesView: {\n flexGrow: 1,\n },\n planned: {\n height: 80,\n background: \"linear-gradient(180deg, #843D77 0%, #A7689B 100%)\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n },\n outDelivery: {\n height: 80,\n background: \"linear-gradient(180deg, #1B96C3 0%, #41BCEA 100%);\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n },\n full: {\n height: 80,\n background: \"linear-gradient(180deg, #3ABA71 0%, #7FD2A3 100%);\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n },\n unplanned: {\n height: 80,\n background: \"linear-gradient(180deg, #CF9E36 0%, #F5C45D 100%)\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n minWidth: 170\n },\n undelivered: {\n height: 80,\n background: \"linear-gradient(180deg, #CE3637 0%, #F78283 100%)\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 12,\n minWidth: 170\n },\n globalStatusTiles: {\n background: \"#FFFFFF\",\n borderRadius: \"8px\",\n height: \"58px\",\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n },\n statusTilesTitle: {\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n paddingTop: \"8px\",\n paddingLeft: \"12px\",\n fontSize: \"12px\",\n lineHeight: \"18px\",\n color: \"#979797\",\n },\n routeStatusTilesTitle: {\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n paddingTop: \"8px\",\n paddingLeft: \"12px\",\n fontSize: \"16px\",\n lineHeight: \"18px\",\n color: \"#979797\",\n },\n data: {\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: 18,\n color: \"#4D4D4D\"\n },\n tiles: {\n display: \"flex\",\n justifyContent: \"space-between\",\n background: COLORS.WHITE,\n boxShadow: \"0px 0px 8px rgba(0, 0, 0, 0.1)\",\n borderRadius: 8,\n height: \"62px\",\n padding: theme.spacing(2)\n },\n tileContent: {\n display: \"flex\",\n alignItems: \"center\"\n },\n deliveryText: {\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n borderRadius: 8,\n fontSize: 16,\n color: COLORS.BLACK,\n fontWeight: 500,\n lineHeight: \"20px\",\n marginTop: theme.spacing(2)\n },\n details: {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\"\n },\n subDivision: {\n marginTop: \"4px\",\n padding: \"0px 24px\"\n },\n subDivisionHandover: {\n background: COLORS.PALE_PURPLE,\n borderRadius: 8,\n padding: theme.spacing(1),\n height: \"100px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n subDivisionOntime: {\n background: COLORS.PALE_GREEN,\n borderRadius: 8,\n padding: theme.spacing(1),\n height: \"100px\",\n display: \"flex\",\n alignItems: \"center\",\n },\n deliveryTiles: {\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: theme.spacing(2),\n },\n deliveryTileContent: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: \"29px\",\n color: COLORS.WHITE\n },\n deliveryTilesText: {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"15px\",\n color: COLORS.WHITE\n },\n subContainer: {\n marginTop: theme.spacing(2),\n flexWrap: \"nowrap\"\n },\n firstSubContainer: {\n width: \"408px\"\n },\n subDiv: {\n flexGrow: 1\n },\n chartDiv: {\n flexWrap: \"nowrap\",\n height: 300,\n },\n firstTileSection: {\n padding: \"16px 24px\"\n },\n secondTileSection: {\n padding: \"0px 24px 0px 24px\"\n },\n switchStyle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n fontSize: \"14px\",\n fontWeight: 600,\n },\n graphDivision: {\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n borderRadius: 8,\n padding: theme.spacing(3),\n },\n tabStylePerformance: {\n border: `1px solid ${COLORS.SECONDARY_DARK}`,\n background: COLORS.MADISON_LIGHT,\n marginRight: \"0px\",\n padding: \"4px 12px\",\n borderRadius: \"4px 0px 0px 4px\"\n },\n tabStyleVolume: {\n border: `1px solid ${COLORS.SECONDARY_DARK}`,\n background: COLORS.MADISON_LIGHT,\n marginRight: \"0px\",\n padding: \"4px 12px\",\n borderRadius: \"0px 4px 4px 0px\"\n },\n horizontalLine: {\n borderBottom: `1px solid ${COLORS.SECONDARY_DARK}`,\n marginTop: theme.spacing(3),\n width: \"100%\",\n },\n statusText: {\n color: COLORS.TEXT_PRIMARY,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n totalData: {\n background: COLORS.PRIMARY_MAIN,\n borderRadius: 108,\n color: COLORS.WHITE,\n fontWeight: 600,\n padding: \"8px 12px\",\n fontSize: 16\n },\n onTimeData: {\n background: COLORS.OCEAN_GREEN,\n borderRadius: \"108px\",\n color: COLORS.WHITE,\n fontWeight: 600,\n padding: \"8px 12px\",\n fontSize: 16\n },\n lateData: {\n background: COLORS.GOLDEN_BELL,\n borderRadius: \"108px\",\n color: COLORS.WHITE,\n fontWeight: 600,\n padding: \"8px 12px\",\n fontSize: 16\n },\n atRiskData: {\n background: COLORS.DARK_RED,\n borderRadius: \"108px\",\n color: COLORS.WHITE,\n fontWeight: 600,\n padding: \"8px 12px\",\n fontSize: 16\n },\n driversTitle: {\n fontSize: 16,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: COLORS.BLACK\n },\n driversSubTitle: {\n fontSize: 10,\n lineHeight: \"12px\",\n color: COLORS.COPY,\n fontWeight: 500,\n paddingTop: theme.spacing(1)\n },\n pieDivision: {\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n borderRadius: 8,\n padding: theme.spacing(3),\n marginTop: theme.spacing(2)\n },\n plannedRoutes: {\n height: 80,\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 12,\n background: COLORS.WHITE,\n boxShadow: \"0px 0px 8px rgba(0, 0, 0, 0.1)\",\n },\n inProgress: {\n height: 80,\n background: COLORS.WHITE,\n boxShadow: \"0px 0px 8px rgba(0, 0, 0, 0.1)\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n },\n completed: {\n height: 80,\n background: COLORS.WHITE,\n boxShadow: \"0px 0px 8px rgba(0, 0, 0, 0.1)\",\n borderRadius: 8,\n color: COLORS.WHITE,\n fontSize: 14,\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 12,\n },\n unplannedSection: {\n display: \"flex\",\n alignContent: \"center\",\n padding: theme.spacing(2),\n },\n warningUnplanned: {\n background: COLORS.BASE_RED,\n borderRadius: 8,\n marginTop: \"8px\"\n },\n warningIcon: {\n width: \"20px\",\n marginRight: \"12px\"\n },\n unplannedText: {\n fontSize: 16,\n fontWeight: 600,\n color: COLORS.TEXT_PRIMARY,\n display: \"flex\",\n alignContent: \"center\",\n padding: theme.spacing(2),\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n\n })\n);","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n tooltip: {\n background: COLORS.WHITE\n },\n barChart: {\n width: \"100%\",\n '& svg .apexcharts-datalabels': {\n transform: \"translate(0px, -8px)\"\n },\n '& .apexcharts-legend-series': {\n paddingRight: \"12px\",\n paddingTop: 8\n },\n '& .apexcharts-legend-text': {\n fontSize: 9,\n fontWeight: 500,\n lineHeight: \"11px\",\n color: COLORS.BLACK\n }\n }\n })\n);","import { ApexOptions } from \"apexcharts\";\nimport React from \"react\";\nimport Chart from \"react-apexcharts\";\nimport { useStyles } from \"./AreaChart.styles\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\ninterface AreaChartProps {\n options?: ApexOptions;\n seriesObj: any;\n days: any;\n color: any;\n showLegend: boolean;\n stacked: boolean;\n}\n\nconst AreaChart = (props: AreaChartProps) => {\n const { days, color, seriesObj, showLegend } = props;\n const classes = useStyles();\n const config: any = {\n series: seriesObj,\n options: {\n colors: color,\n chart: {\n height: 350,\n type: 'area',\n toolbar: {\n show: false\n }\n },\n dataLabels: {\n enabled: false\n },\n stroke: {\n show: true,\n curve: 'smooth',\n width: 2,\n },\n legend: {\n show: showLegend,\n position: 'top',\n horizontalAlign: 'left',\n markers: {\n width: 10,\n height: 10,\n radius: 4,\n offsetX: 0,\n offsetY: 0\n },\n },\n plotOptions: {\n area: {\n fillTo: 'origin',\n }\n },\n yaxis: {\n crosshairs: {\n show: true,\n position: 'back',\n stroke: {\n color: '#b6b6b6',\n width: 1,\n dashArray: 0,\n },\n },\n tickAmount: 4,\n min: 0,\n },\n xaxis: {\n categories: days,\n },\n fill: {\n type: \"gradient\",\n gradient: {\n shadeIntensity: 1,\n opacityFrom: 0.8,\n opacityTo: 0.9,\n stops: [100]\n },\n },\n grid: {\n show: true,\n borderColor: COLORS.SILVER_CHALICE,\n strokeDashArray: 3,\n },\n itemMargin: {\n horizontal: 5,\n vertical: 0,\n },\n tooltip: {\n x: {\n show: false\n },\n y: {\n show: false,\n formatter: function (val: any) {\n return val\n }\n },\n marker: {\n show: true,\n },\n },\n noData: {\n text: \"No data available\",\n align: \"center\",\n verticalAlign: \"middle\",\n offsetX: 0,\n offsetY: 0,\n style: {\n fontSize: 14,\n },\n },\n },\n };\n\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\n\n\nexport default AreaChart;\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n tooltip: {\n background: COLORS.BLACK\n },\n dashboardChartStyle: {\n margin: 0,\n padding: 0,\n },\n })\n);","import React from \"react\";\nimport { ApexOptions } from \"apexcharts\";\nimport ReactApexCharts from \"react-apexcharts\";\nimport { useStyles } from \"./DonutChartComponent.styles\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\ninterface DonutChartProps {\n options?: ApexOptions;\n pieData: any;\n pieLabel?: any;\n pieColors: any;\n title: any;\n donutLabel: any;\n}\n\nconst DonutChart = (props: DonutChartProps) => {\n const { pieData, pieLabel, pieColors, title, donutLabel } = props;\n const classes = useStyles();\n const config: any = {\n series: pieData,\n options: {\n chart: {\n fontFamily: \"Montserrat\",\n type: \"pie\"\n },\n chartOptions: {\n labels: pieLabel\n },\n title: {\n text: title,\n style: {\n fontSize: 16,\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n color: COLORS.BLACK,\n lineHeight: \"20px\"\n }\n },\n plotOptions: {\n pie: {\n donut: {\n size: \"60%\",\n labels: {\n show: true,\n name: {\n show: true,\n offsetY: 20\n },\n value: {\n show: true,\n fontSize: 24,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: COLORS.BLACK,\n offsetY: -20,\n },\n total: {\n show: true,\n showAlways: true,\n label: donutLabel,\n fontSize: 12,\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: COLORS.BLACK,\n formatter: function (w: any) {\n return w.globals.seriesTotals.reduce((a: any, b: any) => {\n return a + b;\n }, 0);\n },\n },\n },\n },\n },\n },\n colors: pieColors,\n labels: pieLabel,\n dataLabels: {\n dropShadow: {\n enabled: false\n },\n },\n legend: {\n show: true,\n position: \"bottom\",\n horizontalAlign: \"center\",\n fontFamily: \"Montserrat\",\n fontSize: 12,\n fontWeight: 500,\n },\n stroke: {\n width: 1\n },\n noData: {\n text: \"No Data Available\",\n style: {\n fontFamily: \"Montserrat\",\n fontSize: 14,\n colors: [\"#000000\"],\n fontWeight: 500,\n },\n verticalAlign: \"middle\"\n },\n tooltip: {\n onDatasetHover: {\n highlightDataSeries: true\n }\n },\n }\n };\n\n\n return (\n <>\n
\n \n
\n \n );\n};\n\n\nexport default DonutChart;\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n tooltip: {\n background: COLORS.BLACK\n },\n dashboardChartStyle: {\n margin: 0,\n padding: 0,\n },\n })\n);","import React from \"react\";\nimport { ApexOptions } from \"apexcharts\";\nimport ReactApexCharts from \"react-apexcharts\";\nimport { useStyles } from \"./PieChartComponent.styles\";\nimport { COLORS } from \"config/theme/baseTheme\";\n\ninterface PieChartProps {\n options?: ApexOptions;\n pieData: any;\n pieLabel?: any;\n pieColors: any;\n title: any;\n}\n\nconst PieChart = (props: PieChartProps) => {\n const { pieData, pieLabel, pieColors, title } = props;\n const classes = useStyles();\n const config: any = {\n series: pieData,\n options: {\n chart: {\n fontFamily: \"Montserrat\",\n type: \"pie\",\n style: {\n padding: \"24px\"\n }\n },\n chartOptions: {\n labels: pieLabel\n },\n title: {\n text: title,\n style: {\n fontSize: 16,\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n color: COLORS.BLACK,\n lineHeight: \"20px\",\n padding: \"24px\"\n }\n },\n plotOptions: {\n pie: {\n donut: {\n size: \"60%\",\n labels: {\n show: true,\n name: {\n show: true,\n offsetY: 20\n },\n value: {\n show: true,\n fontSize: 24,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: COLORS.BLACK,\n offsetY: -20,\n },\n },\n },\n },\n },\n colors: pieColors,\n labels: pieLabel,\n dataLabels: {\n dropShadow: {\n enabled: false\n },\n },\n legend: {\n floating: false,\n show: true,\n position: \"bottom\",\n horizontalAlign: \"center\",\n fontFamily: \"Montserrat\",\n fontSize: 12,\n fontWeight: 500,\n },\n stroke: { width: 0 },\n noData: {\n text: \"No Data Available\",\n style: {\n fontFamily: \"Montserrat\",\n fontSize: 14,\n colors: [\"#000000\"],\n fontWeight: 500,\n },\n verticalAlign: \"middle\"\n },\n tooltip:\n {\n onDatasetHover: {\n highlightDataSeries: true\n }\n },\n }\n };\n\n\n return (\n <>\n
\n \n
\n \n );\n};\n\n\nexport default PieChart;\n","import React, { useState } from \"react\";\nimport { useSelector } from \"react-redux\";\n\n//Material UI Components\nimport { Grid, Typography } from \"@material-ui/core\";\n\n//Style\nimport { useStyles } from \"./performanceDashboard.styles\";\n\n//Common Components\nimport BarCharts from \"../../common/BarCharts\";\nimport AreaChart from \"../../common/AreaChart\";\nimport DonutChart from \"../../common/DonutChart\";\n\n//Constants\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nimport { AppState } from '../../config/redux/reducers';\nimport PieChart from \"common/PieChart\";\nimport SwitchButton from \"../../common/SwitchButton/SwitchButton\";\n\ninterface ConsignmentDashboardProps { }\n\nconst BARCOLORS_PERFORMANCE = [\n COLORS.PALE_PURPLE,\n COLORS.OCEAN_GREEN\n]\n\nconst BARCOLORS_VOLUME = [\n COLORS.ALICE_BLUE,\n COLORS.INFO_BLUE,\n COLORS.VIBRANT_YELLOW,\n COLORS.VENETIAN_RED,\n COLORS.FOUNTAIN_BLUE,\n COLORS.BRICK_RED,\n COLORS.VERY_LIGHT_GREY,\n]\n\nconst DONUT_COLORS = [\n COLORS.PRIMARY_MAIN,\n COLORS.CORAL_PINK,\n COLORS.PICTON_BLUE,\n COLORS.ALERT_ORANGE\n]\n\nconst PIE_COLORS = [\n COLORS.PRIMARY_LIGHT_BLUE,\n COLORS.PRIMARY_LIGHT,\n COLORS.PRIMARY_MAIN,\n]\n\nconst DONUT_LABELS = [\n 'E-Food', 'Marketplace', 'Non-Food', 'Express Delivery'\n]\n\nconst PIE_LABELS = [\n \"COD\", \"Card on Delivery\", \"Prepaid\"]\n\nconst ConsignmentsDashboard = (props: ConsignmentDashboardProps) => {\n const classes = useStyles();\n\n const { consignments } = useSelector(\n (state: AppState) => state.performance\n );\n const [isChecked, setIsChecked] = useState(false);\n\n\n const handleSwitch = (e: any) => {\n if (isChecked) {\n setIsChecked(false);\n } else {\n setIsChecked(true);\n }\n };\n\n const renderGraphsSection = () => {\n return (\n <>\n {isChecked ?\n \n \n \n \n : \n \n \n \n }\n \n \n Volume by Slots\n \n \n \n \n \n \n \n \n )\n }\n\n const renderPieChartsSection = () => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n\n )\n }\n\n return (\n \n \n \n \n Total Consignments\n {consignments.totalConsignments || 0}\n \n \n\n \n Consignments by Delivery\n \n\n \n \n \n \n Ontime Handover\n \n \n {consignments.handOverOnTimePercentage + \"%\"}\n \n\n \n \n \n \n \n \n \n Ontime Delivery\n \n {consignments.onTimePercentage + \"%\"}\n\n \n \n \n \n \n \n \n \n Total\n {consignments.globalStateCount.Total || 0}\n \n \n \n \n Ontime\n {consignments.globalStateCount.OnTime || 0}\n \n \n \n \n \n \n Late\n {consignments.globalStateCount.Late || 0}\n \n \n \n \n At Risk\n {consignments.globalStateCount['At Risk'] || 0}\n \n \n \n
\n \n Top 5 Drivers\n \n Coming Soon..!!\n\n \n \n \n \n \n
\n Unplanned\n {consignments.performanceParams.Unplanned || 0}\n
\n
\n \n
\n Planned /Published\n {consignments.performanceParams['Planned/Published'] || 0}\n
\n
\n \n
\n Preparing/Prepared\n {consignments.performanceParams['Preparing/Prepared'] || 0}\n
\n
\n \n
\n Out for Delivery\n {consignments.performanceParams['Out for Delivery'] || 0}\n
\n
\n \n
\n Delivered\n {(consignments.performanceParams.Delivered + (consignments.performanceParams['Partially Delivered'] || 0)) || 0}\n
\n
\n \n
\n Un-delivered\n {consignments.performanceParams['Un-Delivered'] || 0}\n
\n
\n \n
\n Cancelled\n {consignments.performanceParams['Cancelled'] || 0}\n
\n
\n
\n \n \n \n \n \n Performance by Slots\n \n \n \n Percentage\n e.stopPropagation()}\n />\n Count\n \n \n \n \n {renderGraphsSection()}\n \n \n \n {renderPieChartsSection()}\n \n
\n \n )\n}\n\nexport default ConsignmentsDashboard;","import React, { useState } from \"react\";\nimport { useSelector } from \"react-redux\";\n\n\n//Material UI Components\nimport { Grid, Typography } from \"@material-ui/core\";\n\n//Style\nimport { useStyles } from \"./performanceDashboard.styles\";\n\n//Common Components\nimport BarCharts from \"../../common/BarCharts\";\nimport AreaChart from \"../../common/AreaChart\";\nimport DonutChart from \"../../common/DonutChart\";\nimport PieChart from \"common/PieChart\";\nimport SwitchButton from \"../../common/SwitchButton/SwitchButton\";\n\n//Constants\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\n//Assets\nimport WarningIcon from \"../../assets/icons/warning-icon.svg\";\n\nimport { AppState } from '../../config/redux/reducers';\n\ninterface RoutesDashboardProps { }\n\nconst BARCOLORS_PERFORMANCE = [\n COLORS.PALE_PURPLE,\n COLORS.OCEAN_GREEN\n]\n\nconst BARCOLORS_VOLUME = [\n COLORS.AQUA_BLUE,\n COLORS.VENETIAN_RED,\n COLORS.FOUNTAIN_BLUE,\n]\n\nconst DONUT_COLORS = [\n COLORS.PRIMARY_MAIN,\n COLORS.CORAL_PINK,\n COLORS.PICTON_BLUE,\n COLORS.ALERT_ORANGE\n]\n\nconst PIE_COLORS = [\n COLORS.PRIMARY_MAIN,\n COLORS.PRIMARY_LIGHT,\n COLORS.PRIMARY_LIGHT_BLUE,\n]\n\nconst DONUT_LABELS = [\n 'E-Food', 'Marketplace', 'Non-Food', 'Express Delivery'\n]\n\nconst PIE_LABELS = [\n 'COD', 'Prepaid', 'COD And Prepaid']\n\nconst RoutesDashboard = (props: RoutesDashboardProps) => {\n const classes = useStyles();\n\n const { routes, routesGlobal } = useSelector(\n (state: AppState) => state.performance,\n );\n const [isChecked, setIsChecked] = useState(false);\n\n const handleSwitch = (e: any) => {\n if (isChecked) {\n setIsChecked(false);\n } else {\n setIsChecked(true);\n }\n };\n\n const renderGraphsSection = () => {\n return (\n <>\n {isChecked ?\n \n \n \n \n : \n \n \n \n }\n \n \n Volume by Slots\n \n \n \n \n \n \n \n \n )\n }\n\n const renderPieChartsSection = () => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n\n )\n }\n\n return (\n \n \n \n \n Today's Routes\n \n {routesGlobal.totalRoutes || 0}\n \n \n \"warning\"\n Unplanned Consignments\n {routes.unPlannedConsignments || 0}\n \n \n \n \n\n \n Performance by Delivery\n \n \n \n \n \n Ontime Handover\n \n \n {routes.handOverOnTimePercentage + \"%\"}\n \n\n \n \n \n \n \n \n \n Ontime Delivery\n \n {routes.onTimePercentage + \"%\"}\n\n \n \n \n \n \n \n \n \n Total\n {routes.globalStateCount.Total || 0}\n \n \n \n \n Ontime\n {routes.globalStateCount.OnTime || 0}\n \n \n \n \n \n \n Late\n {routes.globalStateCount.Late || 0}\n \n \n \n \n At Risk\n {routes.globalStateCount['At Risk'] || 0}\n \n \n \n
\n \n Top 5 Drivers\n \n Coming Soon..!!\n\n \n \n\n \n \n \n \n
\n Planned / Published\n {routesGlobal.statusWise['Planned/Published'] || 0}\n
\n
\n \n
\n In Progress\n {routesGlobal.statusWise['In Progress'] || 0}\n
\n
\n \n
\n Completed\n {routesGlobal.statusWise['Completed'] || 0}\n
\n
\n
\n \n \n \n \n \n Performance by Slots\n \n \n \n Percentage\n e.stopPropagation()}\n />\n Count\n \n \n\n \n \n\n {renderGraphsSection()}\n\n \n
\n \n {renderPieChartsSection()}\n\n \n \n \n )\n}\n\nexport default RoutesDashboard;","import React, { useState, useCallback, useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport moment from \"moment\";\nimport { AppState } from '../../config/redux/reducers';\nimport { userLogout } from \"../../Login/redux/loginSlice\";\nimport { createPerformancePayload } from \"../../mocks/performance/response.transforms\";\nimport { fetchFiltersDropdownValues, fetchPerformanceParameters, fetchConsignmentsSlots, fetchRoutesSlots, fetchRouteParameters, fetchRouteGlobalParams } from \"./redux/performanceSlice\";\nimport HubWiseDashboard from \"../HubwiseDashboard\";\nimport ReconciliationDashboard from \"../ReconciliationDashboard\";\n//Material UI Components\nimport { Grid, Typography, Button, Tab, Tabs, } from \"@material-ui/core\";\nimport { TabContext, TabPanel } from '@material-ui/lab';\nimport _ from \"lodash\";\n\n//Style\nimport { useStyles } from \"./performanceDashboard.styles\";\n\n//Common Components\nimport SelectBox from \"../../common/SelectBox\";\nimport DateRangePickerComponent from \"../../common/DateRangeComponent/index\";\nimport Loader from \"../../common/Loader\";\nimport CustomSnackbar from '../../common/CustomSnackbar';\nimport CustomDialog from \"../../common/Dialog\";\n\n//Constants\nimport AppConstants from \"../../constants\";\nimport calendarIcon from \"../../assets/icons/calendar-icon.svg\";\n\n//Components\nimport ConsignmentsDashboard from \"./ConsignmentsDashboard\";\nimport RoutesDashboard from \"./RoutesDashboard\";\n\ninterface DashboardProps {\n}\n\nconst PerformanceDashboard = (props: DashboardProps) => {\n const classes = useStyles();\n\n const dispatch = useDispatch();\n\n const { countryCode, hubCode } = useSelector(\n (state: AppState) => state.common\n );\n const { filtersDropdowns, loading, error, errorCode } = useSelector(\n (state: AppState) => state.performance,\n );\n const { allSlots } = useSelector(\n (state: AppState) => state.performance, _.isEqual\n );\n const [tabValue, setTabValue] = useState(AppConstants.DASHBOARD_CONSTANTS.TAB_VALUES.DASHBOARD);\n\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [category, setCategory] = useState(AppConstants.CATEGORY.value);\n const [orderType, setOrderType] = useState(AppConstants.DELIVERY_TYPE.value);\n const [slots, setSlots] = useState(() => [AppConstants.SELECT_ALL.value]);\n const [datePickerValue, setDatePickerValue] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n });\n const [isRouteView, setIsRouteView] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [openDashboardHubSelectionPopup, setOpenDashboardHubSelectionPopup] = useState(true);\n const [dashboardHub, setDashboardHub] = useState(AppConstants.SELECT_NONE.value);\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = \"No Data present for Requested Date\";\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.DASHBOARD_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n\n const handleConsignmentPerformanceParameters = useCallback(\n (params: any) => {\n const updatedParams = createPerformancePayload({\n ...params,\n countryCode: country,\n\n });\n dispatch(\n fetchPerformanceParameters({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n const handleCreateRoutePerformanceParameters = useCallback(\n (params: any) => {\n const updatedParams = createPerformancePayload({\n ...params,\n countryCode: country,\n });\n dispatch(\n fetchRouteParameters({\n params: updatedParams,\n }),\n );\n dispatch(\n fetchRouteGlobalParams({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n\n\n const handleConsignmentsForDefaultValues = useCallback(\n () => {\n if (category === AppConstants.CATEGORY.value) {\n handleConsignmentPerformanceParameters({\n slots: slots,\n dateRange: datePickerValue,\n category: category,\n orderType: orderType,\n hubCode: hubCode,\n });\n } else {\n handleCreateRoutePerformanceParameters({\n slots: slots,\n dateRange: datePickerValue,\n category: category,\n orderType: orderType,\n hubCode: hubCode\n });\n }\n }, [slots, datePickerValue, category, orderType, hubCode, handleConsignmentPerformanceParameters, handleCreateRoutePerformanceParameters]\n );\n\n const handleCategoryValue = (() => {\n if (category === AppConstants.CATEGORY.value) {\n setIsRouteView(false);\n } else {\n setIsRouteView(true);\n }\n })\n\n const handleDateChange = ((dateRange: any) => {\n setDatePickerValue(dateRange);\n handleCategoryValue()\n });\n\n const handleOrderTypeChange = ((selectedOrderType: any) => {\n setOrderType(selectedOrderType);\n handleCategoryValue()\n });\n\n const handleDeliverySlotChange = ((selectedSlots: any) => {\n setSlots(selectedSlots);\n if (category === AppConstants.CATEGORY.value) {\n setIsRouteView(false);\n handleConsignmentPerformanceParameters({\n slots: selectedSlots,\n dateRange: datePickerValue,\n category: category,\n orderType: orderType,\n hubCode: hubCode\n });\n } else {\n setIsRouteView(true);\n handleCreateRoutePerformanceParameters({\n slots: selectedSlots,\n dateRange: datePickerValue,\n category: category,\n orderType: orderType,\n hubCode: hubCode\n });\n }\n });\n\n const handleCategoryChange = ((selectedCategory: any) => {\n setCategory(selectedCategory);\n if (selectedCategory === AppConstants.CATEGORY.value) {\n setIsRouteView(false);\n } else {\n setIsRouteView(true);\n }\n });\n\n const fetchAllFilters = useCallback(\n () => {\n dispatch(\n fetchFiltersDropdownValues()\n )\n },\n [dispatch]\n );\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (category === AppConstants.CATEGORY.value) {\n handleCreateConsignmentsSlots({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderType,\n });\n } else {\n handleCreateRouteSlots({\n slots: slots,\n category: category,\n hubCode: hubCode,\n dateRange: datePickerValue,\n orderType: orderType,\n });\n }\n handleConsignmentsForDefaultValues();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [datePickerValue, category, orderType, hubCode])\n\n const handleCreateRouteSlots = useCallback(\n (params: any) => {\n const updatedParams = createPerformancePayload({\n ...params,\n countryCode: country,\n });\n dispatch(\n fetchRoutesSlots({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n const handleCreateConsignmentsSlots = useCallback(\n (params: any) => {\n const updatedParams = createPerformancePayload({\n ...params,\n countryCode: country,\n });\n dispatch(\n fetchConsignmentsSlots({\n params: updatedParams,\n }),\n );\n },\n [dispatch, country]\n );\n\n useEffect(() => {\n fetchAllFilters();\n }, [])\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n },\n []\n )\n\n return (\n
\n \n \n \n \n \n\n \n \n \n \n \n Dashboard\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {loading && }\n {!isRouteView ? (\n \n ) : (\n \n )}\n < CustomSnackbar open={openSnackbar} handleClose={handleSnackbarClose} onExited={handleSnackbarExited} autoHideDuration={AppConstants.SNACKBAR.AUTO_HIDE_TIMEOUT} message={snackbarMessage.current} type={snackbarType.current} />\n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default PerformanceDashboard;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: \"0px 12px 0px 12px\",\n height: \"100%\"\n },\n container: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .userItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(2.5),\n '& p': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n //boxShadow: \"0px 4px 4px rgba(0, 0, 0, 0.04)\",\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n paddingTop: theme.spacing(1.5),\n '& .userIdLink': {\n margin: 'auto 0px',\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .userIdEmailVerified':{\n margin: 'auto 4px',\n padding: 0,\n width: '15px',\n height: '15px',\n fill: COLORS.SEA_GREEN,\n }\n }\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.yellow': {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_YELLOW_LIGHT\n },\n '&.green': {\n color: COLORS.PERSIAN_GREEN_DARK,\n backgroundColor: COLORS.PERSIAN_GREEN_LIGHT\n },\n '&.red': {\n color: COLORS.DARK_RED,\n backgroundColor: COLORS.LIGHT_RED\n },\n '&.gray': {\n color: COLORS.GRAY_DARK,\n backgroundColor: COLORS.ALTO\n },\n '&.black': {\n backgroundColor: COLORS.BLACK,\n color: COLORS.WHITE\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25, 0.5, 0.25, 0.5)\n }\n }\n },\n customDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n dialogDetailsContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"& p\": {\n textAlign: \"center\",\n lineHeight: 1.2,\n },\n \"&.heading\": {\n padding: theme.spacing(0, 15.75, 5),\n \"& p\": {\n fontSize: 24,\n fontWeight: 600,\n },\n },\n \"&.desc\": {\n padding: theme.spacing(0, 2.5),\n \"& p\": {\n fontSize: 18,\n fontWeight: 400,\n \"& .count\": {\n fontWeight: 600,\n },\n },\n },\n },\n },\n dialogDetailsActionContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n \"& .dialogBtn\": {\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1),\n },\n },\n },\n }),\n);\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { saveFile, transformSelectMenuValue, transformSelectValues, transformSelectValuesForPhonePrefixes, transformUerTypeListSelectValues } from \"../../utils/helpers.utils\";\nimport { UsersState } from \"./usersSlice.types\";\nimport AppConstants from \"../../constants\";\n\nexport const generateUsername = createAsyncThunk(\n \"Users/GenerateUsername\",\n async ({\n params\n }: {\n params: any;\n }, { rejectWithValue }) => {\n try {\n const request = {\n url: `user/check-username-validity?${params.queryString}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAddUserDropdownValues = createAsyncThunk(\n \"Users/FetchAddUserDropdownValues\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `user/populate`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchUsersByFilter = createAsyncThunk(\n \"Users/FetchByFilter\",\n async (\n {\n filters,\n requestContinuationToken\n }: {\n requestContinuationToken?: string;\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'users/search/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n if (requestContinuationToken && filters.page) {\n request.headers = {\n 'x-requestcontinuation-token': requestContinuationToken\n }\n }\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createUserInUaeService = createAsyncThunk(\n \"Users/CreateUserInUaeService\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n try {\n const countryRequest = {\n url: 'country/url',\n method: EApiMiddlewareMethods.GET,\n } as any;\n countryRequest.headers = {\n \"countryISOCode\": payload.countryDetails.code,\n };\n const { data: countryData } = await networkHandler(countryRequest, false, true, false, true);\n sessionStorage.setItem(AppConstants.COUNTRY_URL, countryData.countryUrl);\n } catch (error : any) {\n return rejectWithValue(error.response.data);\n }\n const request = {\n url: 'assignee/register',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchCountryUrl = createAsyncThunk(\n \"Users/FetchCountryUrl\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const countryRequest = {\n url: 'country/url',\n method: EApiMiddlewareMethods.GET,\n } as any;\n countryRequest.headers = {\n \"countryISOCode\": payload,\n };\n const { data: countryData } = await networkHandler(countryRequest, false, true, false, true);\n sessionStorage.setItem(AppConstants.COUNTRY_URL, countryData.countryUrl);\n } catch (error : any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateUserInUaeService = createAsyncThunk(\n \"Users/UpdateUserInUaeService\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'assignee/update',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createUserViaSA = createAsyncThunk(\n \"Users/CreateUserViaSA\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'user/create',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const bulkUpdateUsers = createAsyncThunk(\n \"Users/BulkUpdateUsers\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'user/bulkapproval',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateUser = createAsyncThunk(\n \"Users/updateUser\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'user/update',\n method: EApiMiddlewareMethods.PUT,\n data: payload\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const usersResetPwd = createAsyncThunk(\n \"Users/ResetPassword\",\n async (\n {\n userdata\n }: {\n userdata: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'user/forgotPassword',\n method: EApiMiddlewareMethods.POST,\n data: userdata\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const endActiveSession = createAsyncThunk(\n \"Users/EndActiveSession\",\n async (\n {\n driverId\n }: {\n driverId: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'authenticate/invalidate/deviceId',\n method: EApiMiddlewareMethods.GET,\n } as any;\n if (driverId) {\n request.headers = {\n 'user-id': driverId\n }\n }\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const clearList = createAsyncThunk(\"Users/ClearContents\", () => {\n return [];\n});\n\nexport const resetUsersResetPwd = createAsyncThunk(\"Users/ResetUserResetPassword\", () => {\n return false;\n});\n\nexport const resetUsersError = createAsyncThunk(\"Users/ResetError\", () => {\n return \"\";\n});\n\nexport const resetUserCreationStatus = createAsyncThunk(\"Users/ResetUserCreationStatus\", () => {\n return false;\n});\n\nexport const resetUserUpdationStatus = createAsyncThunk(\"Users/ResetUserUpdationStatus\", () => {\n return false;\n});\n\nexport const setLoggedInUser = createAsyncThunk(\"Users/SetLoggedInUser\", () => {\n return false;\n});\n\nexport const closeDialog = createAsyncThunk(\"Users/CloseDialog\", () => {\n return false;\n});\nexport const exportUserInformationToExcel = createAsyncThunk(\"Users/exportUserInformationToExcel\", async ({payload}: {payload: any}, { rejectWithValue }) => {\n try {\n const request = {\n url: 'v1/export/users',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const bulkDeleteUser = createAsyncThunk(\"Users/bulkDeleteUser\", async ({payload}: {payload: any}, { rejectWithValue }) => {\n try {\n const request = { url: 'user/delete', method: EApiMiddlewareMethods.DELETE, data: payload } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const fetchUsersBuildVersion = createAsyncThunk(\"Users/fetchUsersBuildVersion\", async ({filters, requestContinuationToken}: {requestContinuationToken?: string; filters: any; }, { rejectWithValue }) => {\n try {\n const request = { url: 'users/search/dynamic/filter', method: EApiMiddlewareMethods.POST, data: filters } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst initialState: UsersState = {\n loading: false,\n tableLoading: false,\n userUpdateStatus: false,\n userCreationStatus: false,\n userCreationMsg: \"\",\n userRegisteredStatus: false,\n resetPwdSuccess: false,\n suggestedUsername: \"\",\n userUpdateMsg: \"\",\n endSession: false,\n addUserDropdowns: {\n countriesList: [],\n hubList: [],\n rolesList: [],\n userTypeList: [],\n statusList: [],\n deliveryTypeList: [],\n vehicleTypeList: [],\n vendorList: [],\n serviceTypeList: [],\n vendorListStd: [],\n buildVersionList: [],\n phonePrefixesList: []\n },\n data: { content: [], pageable: { pageNumber: 0 }},\n error: \"\",\n resetPwdMsg: \"\"\n};\n\nconst UsersSlice = createSlice({\n name: \"Users\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(generateUsername.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.suggestedUsername = \"\";\n })\n .addCase(generateUsername.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.suggestedUsername = payload.suggestions && payload.suggestions.length ? payload.suggestions[0] : \"\";\n })\n .addCase(generateUsername.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.suggestedUsername = \"\";\n })\n .addCase(fetchAddUserDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAddUserDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n let countriesList: any = {};\n let hubList: any = {};\n let vendorList: any = {};\n let vendorListStd: any = {};\n let phonePrefixesList: any = [];\n if (payload.roleCountryMap) {\n Object.keys(payload.roleCountryMap).filter((role: any) => {\n countriesList[role] = transformSelectValues(payload.roleCountryMap[role]);\n return true;\n });\n }\n if (payload.countryHubMap) {\n Object.keys(payload.countryHubMap).filter((country: any) => {\n hubList[country] = transformSelectValues(payload.countryHubMap[country]);\n return true;\n });\n }\n if (payload.expressCountryVendorMap) {\n Object.keys(payload.expressCountryVendorMap).filter((country: any) => {\n vendorList[country] = transformSelectValues(payload.expressCountryVendorMap[country]);\n return true;\n });\n }\n if (payload.standardCountryVendorMap) {\n Object.keys(payload.standardCountryVendorMap).filter((country: any) => {\n vendorListStd[country] = transformSelectValues(payload.standardCountryVendorMap[country]);\n return true;\n });\n }\n if(payload?.phonePrefixes?.length > 0){\n phonePrefixesList = transformSelectValuesForPhonePrefixes(payload.phonePrefixes);\n }\n state.errorCode = \"\";\n state.error = \"\";\n state.addUserDropdowns = {\n ...state.addUserDropdowns,\n countriesList: countriesList,\n rolesList: transformSelectValues(payload.roles),\n userTypeList: transformUerTypeListSelectValues(payload.userTypes),\n statusList: transformSelectValues(payload.userStatus),\n hubList: hubList,\n deliveryTypeList: transformSelectValues(payload.deliveryTypes),\n vehicleTypeList: transformSelectValues(payload.vehicleTypes),\n vendorList: vendorList,\n vendorListStd: vendorListStd,\n serviceTypeList: transformSelectValues(payload.serviceTypes),\n phonePrefixesList: phonePrefixesList\n };\n }\n })\n .addCase(fetchAddUserDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.addUserDropdowns = {\n countriesList: {},\n rolesList: [],\n userTypeList: [],\n statusList: [],\n hubList: {},\n deliveryTypeList: [],\n vehicleTypeList: [],\n vendorList: [],\n serviceTypeList: [],\n vendorListStd: [],\n buildVersionList: [],\n phonePrefixesList: []\n };\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(clearList.fulfilled, (state, action) => {\n const { payload } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.data = {\n ...payload,\n content: action.payload,\n };\n })\n .addCase(fetchUsersByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchUsersByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.data = {\n ...payload,\n content:\n filters.page === 0\n ? [...payload.content]\n : [...state.data.content, ...payload.content],\n };\n }\n })\n .addCase(fetchUsersByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(createUserViaSA.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createUserViaSA.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.suggestedUsername = \"\";\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.userCreationStatus = true;\n state.userCreationMsg = `User ${payload.firstName} ${payload.lastName} has been added successfully`;\n }\n })\n .addCase(createUserViaSA.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.userCreationStatus = false;\n state.userCreationMsg = \"\";\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(createUserInUaeService.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createUserInUaeService.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.suggestedUsername = \"\";\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.userRegisteredStatus = true;\n }\n })\n .addCase(createUserInUaeService.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.userRegisteredStatus = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(bulkUpdateUsers.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(bulkUpdateUsers.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.tableLoading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.userUpdateStatus = true;\n state.userUpdateMsg = payload;\n }\n })\n .addCase(bulkUpdateUsers.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.userUpdateStatus = false;\n state.userUpdateMsg = \"\";\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateUser.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.userUpdateStatus = false;\n })\n .addCase(updateUser.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.suggestedUsername = \"\";\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.userUpdateStatus = true;\n state.userUpdateMsg = payload;\n }\n })\n .addCase(updateUser.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.userUpdateStatus = false;\n state.userUpdateMsg = \"\";\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(usersResetPwd.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.resetPwdSuccess = false;\n })\n .addCase(usersResetPwd.fulfilled, (state, action) => {\n const payload: any = action.payload;\n state.loading = false;\n if (payload.error) {\n state.resetPwdSuccess = false;\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.resetPwdSuccess = true;\n state.resetPwdMsg = payload?.message;\n }\n })\n .addCase(usersResetPwd.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.resetPwdSuccess = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(resetUsersResetPwd.fulfilled, (state, action) => {\n const { payload } = action;\n state.resetPwdSuccess = payload;\n })\n .addCase(resetUsersError.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = payload;\n state.error = payload;\n })\n .addCase(resetUserCreationStatus.fulfilled, (state, action) => {\n const { payload } = action;\n state.userCreationStatus = payload;\n })\n .addCase(resetUserUpdationStatus.fulfilled, (state, action) => {\n const { payload } = action;\n state.userUpdateStatus = payload;\n })\n .addCase(endActiveSession.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(endActiveSession.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload) {\n state.endSession = payload;\n }\n })\n .addCase(endActiveSession.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** exportUserInformationToExcel */\n .addCase(exportUserInformationToExcel.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.errorCode = \"\";\n })\n .addCase(exportUserInformationToExcel.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n if (payload) {\n let filename = `User_Info.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportUserInformationToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** bulkDeleteUser */\n .addCase(bulkDeleteUser.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(bulkDeleteUser.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n })\n .addCase(bulkDeleteUser.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** fetchUsersBuildVersion */\n .addCase(fetchUsersBuildVersion.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.addUserDropdowns.buildVersionList = [];\n })\n .addCase(fetchUsersBuildVersion.fulfilled, (state, action) => {\n const { payload, meta: { arg: { filters }}} = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload && payload.message ? payload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n }else if(payload?.buildVersion?.length > 0) {\n state.addUserDropdowns.buildVersionList = transformSelectMenuValue(payload.buildVersion);\n }\n })\n .addCase(fetchUsersBuildVersion.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload && errorPayload.message ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n },\n});\n\nexport default UsersSlice.reducer;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 70,\n cy: 70,\n r: 70,\n fill: \"#0E5AA7\",\n fillOpacity: 0.1\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.948 101.98C104.796 99.6493 104.262 97.3596 103.368 95.2019C102.205 92.4017 100.29 89.9783 97.8338 88.2003C95.9348 86.7764 93.7412 85.7953 91.4138 85.3291C87.4005 84.878 83.4732 83.8509 79.753 82.2793C79.4974 82.1023 79.251 81.9124 79.0148 81.7103C85.9988 76.612 89.9952 68.3783 89.6801 59.7371C89.6801 46.0754 80.8692 35 70.0006 35C59.1321 35 50.3212 46.0754 50.3212 59.7371C50.0061 68.3797 54.0041 76.6146 60.9903 81.7124C60.7549 81.9138 60.5094 82.103 60.2547 82.2793C56.5345 83.8508 52.6072 84.878 48.5939 85.3291C46.2665 85.7954 44.0728 86.7765 42.1736 88.2003C39.7178 89.9784 37.8024 92.4018 36.6395 95.2019C35.7456 97.3596 35.2117 99.6494 35.0591 101.98C34.9912 102.985 34.9907 103.994 35.0578 105H105.001C105.001 105 104.96 102.142 104.948 101.98Z\",\n fill: \"#0E5AA7\",\n fillOpacity: 0.3\n});\n\nvar SvgUserProfileIcon = function SvgUserProfileIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 140,\n height: 140,\n viewBox: \"0 0 140 140\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUserProfileIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/user-profile-icon.935d19d2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0email\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 22,\n height: 15\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.4524 0.987061H1.88291C0.856068 0.990631 0.026369 1.76061 0.0287625 2.70776L0 14.7433L1.05539 14.7385L1.0846 2.8022L10.3786 8.44533C10.4647 8.49726 10.5653 8.52497 10.6682 8.52509C10.7695 8.52518 10.8687 8.49814 10.9537 8.44725L20.2502 2.90273L20.2505 13.025C20.2514 13.4324 19.8945 13.7636 19.4528 13.7652H3.19933V14.7433H19.4528C20.4784 14.7396 21.3073 13.971 21.3059 13.025L21.3056 2.70537C21.307 1.75937 20.4781 0.990759 19.4524 0.987061Z\",\n fill: \"white\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0email)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.4358 -4.91321H-2.13086V18.6691H23.4358V-4.91321Z\",\n fill: \"#0E5AA7\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask1email\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 1,\n y: 1,\n width: 19,\n height: 7\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.3891 1.99548H1.81959C1.75463 1.99986 1.69055 2.0119 1.62891 2.03131L9.62548 6.88729L10.6305 7.46927L19.7053 2.05741C19.6057 2.01682 19.498 1.99574 19.3891 1.99548Z\",\n fill: \"white\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask1email)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.7\n}, /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.7\n}, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M23.4358 -4.91321H-2.13086V18.6691H23.4358V-4.91321Z\",\n fill: \"white\"\n}))));\n\nvar SvgEmailIcon = function SvgEmailIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 15,\n viewBox: \"0 0 22 15\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmailIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/email-icon.c06f8cfb.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0mobile\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 12,\n height: 21\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.59991 0H2.28802C1.00935 0.0178212 -0.0140252 1.09131 0.000145403 2.39991V17.8759C-0.0140252 19.1845 1.00935 20.258 2.28802 20.2759H8.93904V19.2551H10.9135V20.2732H11.8878V2.39991C11.902 1.09131 10.8786 0.0178212 9.59991 0ZM10.8947 15.2243H0.98044V4.06293H10.8947V15.2243Z\",\n fill: \"white\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0mobile)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8319 -2.02759H-5.94336V22.3034H17.8319V-2.02759Z\",\n fill: \"#0E5AA7\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask1mobile\",\n \"mask-type\": \"alpha\",\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 0,\n width: 11,\n height: 20\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.02331 16.2303V17.8497C1.02259 18.6271 1.63707 19.2584 2.39675 19.2606H10.9102V16.2322L1.02331 16.2303ZM6.95298 17.2342V18.2448H4.96516V17.2342H6.95298ZM9.61502 0.995728C10.3747 0.997997 10.9892 1.62926 10.9884 2.40669V3.02828H0.929688V2.40669C0.92897 1.62925 1.54344 0.997986 2.30313 0.995728H9.61502Z\",\n fill: \"white\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask1mobile)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.7\n}, /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.7\n}, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.7,\n d: \"M17.83 -2.02759H-5.94531V22.3034H17.83V-2.02759Z\",\n fill: \"white\"\n}))));\n\nvar SvgNewMobileIcon = function SvgNewMobileIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 21,\n viewBox: \"0 0 12 21\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNewMobileIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/new-mobile-icon.591e02e6.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n },\n \"& .statusContainer\": {\n \"& .statusIcon\": {\n width: 12,\n height: 12,\n borderRadius: \"50%\",\n '&.yellow': {\n backgroundColor: COLORS.STATUS_YELLOW\n },\n '&.black': {\n backgroundColor: COLORS.TEXT_PRIMARY\n },\n '&.green': {\n backgroundColor: COLORS.PERSIAN_GREEN\n },\n '&.red': {\n backgroundColor: COLORS.DARK_RED\n },\n '&.gray': {\n backgroundColor: COLORS.GRAY_DARK\n },\n },\n '& .statusMsg': {\n paddingLeft: theme.spacing(1),\n '& .status': {\n fontSize: 12\n }\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n '& .tagContainer': {\n cursor: \"pointer\",\n marginLeft: theme.spacing(2),\n alignSelf: \"center\"\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .detailsHeader': {\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(3),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n padding: theme.spacing(2.5, 0, 0, 6),\n '&:first-child': {\n padding: 0\n },\n '& .profileIcon': {\n width: 140,\n height: 140\n },\n '& .rightPanelContainer': {\n flexDirection: \"column\",\n '& .rightPanelItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .endSessionBtn': {\n minWidth: \"245px\"\n },\n '& .fullname': {\n fontSize: 24,\n fontWieght: 600\n },\n '& .logo': {\n width: 20,\n height: 20\n },\n '& .contact': {\n '& a': {\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(1)\n },\n '&.userIdEmailVerified': {\n margin: 'auto 4px',\n padding: 0,\n width: '15px',\n height: '15px',\n fill: COLORS.SEA_GREEN,\n }\n }\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '& .contentRowContainer': {\n justifyContent: \"space-between\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1.5 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n },\n '&.twoItems': {\n '& .contentColumn': {\n '&:last-child': {\n flex: \"2.5 0 0\"\n }\n }\n },\n '&.btnContainer': {\n '& .contentColumn': {\n flex: \"1 0 auto\",\n '& .resetPasswordBtn': {\n width: \"100%\"\n },\n '& .endSessionBtn': {\n width: \"300px\"\n },\n }\n }\n }\n },\n '& .hubItemsSection': {\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n paddingBottom: theme.spacing(2)\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n justifyContent: \"space-between\",\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '& .content': {\n flexGrow: 1\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n },\n endSessionSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n padding: \"6px 0px 0px 12px\"\n },\n endSessionSelectionDialogPaperPropsRoot: {\n width: 428,\n height: 242,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n content: {\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"15px\",\n color: \"#252525\"\n },\n endSessionSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n endSessionDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(1),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n }),\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useState } from 'react';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport moment from 'moment';\n\nimport { Accordion, AccordionDetails, AccordionSummary, Button, Grid, SvgIcon, Typography } from '@material-ui/core';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as userProfileIcon } from './../assets/icons/user-profile-icon.svg';\nimport { ReactComponent as emailLogoIcon } from './../assets/icons/email-icon.svg';\nimport { ReactComponent as mobileLogoIcon } from './../assets/icons/new-mobile-icon.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow.svg';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\n\nimport { useStyles } from './UserDetails.styles';\nimport { checkUserRoleAccess } from '../mocks/users/response.transforms';\nimport { COLORS } from '../config/theme/baseTheme';\nimport { endActiveSession } from \"./redux/usersSlice\";\nimport { AppState } from \"../config/redux/reducers\";\n\nimport CustomDialog from '../common/Dialog';\nimport Slide from \"@material-ui/core/Slide\";\nimport CustomSnackbar from '../common/CustomSnackbar';\nimport AppConstants from '../constants/index';\nimport alertIcon from \"./../assets/icons/Alert.svg\";\n\ninterface UserDetailsProps {\n open: boolean;\n user: any;\n closePopup: () => void;\n handleDialogAction?: (type: string) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst UserDetails = (props: UserDetailsProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, user, closePopup, handleDialogAction } = props;\n const { endSession } = useSelector(\n (state: AppState) => state.users\n );\n const {\n isCollectionPointManager,\n isDispatcher,\n isOnlyExpressDispatcher,\n isOnlyStandardDispatcher,\n isLastMileViewer,\n isOnlyExpLastMileViewer,\n isOnlyStdLastMileViewer,\n } = useSelector((state: AppState) => state.userLogin);\n\n const [openEndSessionDialog, setOpenEndSessionDialog] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarMessage = 'Active session has been ended';\n\n let tableRecord: any = {};\n let hubItems: any = [];\n\n if (user) {\n tableRecord = user.tableRecord;\n if (user.countryDetails) {\n for (let country in user.countryDetails) {\n let countryHubs = user.countryDetails[country];\n countryHubs.filter((hub: any) => {\n hubItems.push(hub);\n return true;\n })\n }\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n const endSessionSelectionDialogPaperPropsRoot = {\n classes: {\n root: classes.endSessionSelectionDialogPaperPropsRoot\n }\n }\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n handleDialogAction && handleDialogAction(type);\n },\n [handleDialogAction],\n )\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleDialogClose = () => {\n closePopup();\n }\n\n const handleOpenEndSessionDialog = useCallback(\n () => {\n setOpenEndSessionDialog(true);\n }, []\n )\n\n const handleEndSessionSelectionDialogClose = useCallback(\n () => {\n setOpenEndSessionDialog(false);\n },\n [],\n )\n\n const handleEndSessionSelection = useCallback(\n (driverId) => {\n dispatch(\n endActiveSession({\n driverId: driverId\n })\n );\n setOpenEndSessionDialog(false);\n setOpenSnackbar(true);\n },\n [dispatch],\n )\n\n const isEditIconVisible = () =>{\n return !isCollectionPointManager &&\n !isDispatcher &&\n !isOnlyExpressDispatcher &&\n !isOnlyStandardDispatcher &&\n !isLastMileViewer &&\n !isOnlyStdLastMileViewer &&\n !isOnlyExpLastMileViewer\n }\n\n const fetchUserRoleAccess = () => {\n let canAccess = false;\n const currentRole = sessionStorage.getItem('role') ? JSON.parse(sessionStorage.getItem('role') || \"[]\")[0] : undefined;\n const selectedRole = tableRecord ? AppConstants.USERS_CONSTANTS.USER_ROLES.filter(role => role.value === tableRecord.role)[0] : undefined;\n if (currentRole && selectedRole) {\n canAccess = checkUserRoleAccess(currentRole, selectedRole);\n }\n if (user && user.status === \"AWAITING_EMAIL_VERIFICATION\") {\n canAccess = false;\n }\n return canAccess;\n }\n\n const getHubItems = () => {\n return hubItems && hubItems.length ? hubItems.map((hubItem: any, index: number) => (\n \n \n \n {hubItem.hubName}\n \n \n {hubItem.countryName}\n \n \n \n )) : (No Items to display)\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n USER ID : \n {`${user.firstname} ${user.lastname}`} \n \n \n {isEditIconVisible()\n ? fetchUserRoleAccess() && (\n \n dialogActionHandler(\"update\")} component={editIcon} />\n \n )\n : null}\n \n \n \n \n \n );\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n \n \n \n {`${user.firstname} ${user.lastname}`}\n \n \n \n \n \n {user.email ? {user.email} : \"\"}\n \n {user?.emailVerified && }\n \n \n \n \n \n \n {user.phone ? {user.phone} : \"\"}\n \n \n \n {!(isLastMileViewer || isOnlyExpLastMileViewer || isOnlyStdLastMileViewer) && (\n \n \n handleOpenEndSessionDialog()}\n >\n {AppConstants.BUTTONS.END_ACTIVE_SESSION}\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n Role\n \n \n {tableRecord && tableRecord.role}\n \n \n \n \n \n \n Type\n \n \n {tableRecord && tableRecord.type}\n \n \n \n \n \n \n Status\n \n \n {tableRecord && tableRecord.status}\n \n \n \n \n \n {tableRecord?.role === \"Driver\" &&\n \n \n \n \n \n Delivery Type\n \n \n {tableRecord && tableRecord.deliveryType}\n \n \n \n \n \n \n Vendor\n \n \n {tableRecord && tableRecord.vendor}\n \n \n \n \n \n \n Vehicle Type\n \n \n {tableRecord && tableRecord.vehicleType}\n \n \n \n \n \n }\n \n \n \n \n \n User Created Date\n \n \n \n {user && moment(user.creationTime).format(AppConstants.DATE_FORMAT_UI)}\n \n \n \n \n \n \n \n User Modified Date\n \n \n \n {user && moment(user.lastModifiedTime).format(AppConstants.DATE_FORMAT_UI)}\n \n \n \n \n \n \n \n Last Login Time\n \n \n \n { user?.lastLoginTime ? moment(user?.lastLoginTime).format(AppConstants.DATE_TIME_FORMAT) :'--' }\n \n \n \n \n \n \n {(tableRecord?.role === \"Driver\" || tableRecord?.role === \"QC Executive\") && \n \n \n \n \n App Version\n \n \n \n {user?.buildVersion ? user?.buildVersion : '--' }\n \n \n \n \n \n }\n {tableRecord?.role === \"Last Mile Dispatcher\" &&\n \n \n \n \n \n Service Type\n \n \n {tableRecord?.serviceType && Array.isArray(tableRecord?.serviceType) ? tableRecord?.serviceType?.join(\", \") : tableRecord?.serviceType || \"\"}\n \n \n \n \n \n }\n {!isDispatcher &&\n !isCollectionPointManager &&\n !isOnlyStandardDispatcher &&\n !isOnlyExpressDispatcher &&\n !isLastMileViewer &&\n !isOnlyExpLastMileViewer &&\n !isOnlyStdLastMileViewer && (\n \n \n \n dialogActionHandler(\"resetPwd\")}\n >\n {AppConstants.BUTTONS.RESET_PWD}\n \n \n \n \n )}\n \n \n \n \n }\n aria-controls='consignment-history-content'\n id='consignment-history-header'\n className={classes.accordionSummary}\n >\n Hub Name With Country\n \n \n \n \n \n \n \n Hub Name\n \n \n Country\n \n \n \n {getHubItems()}\n \n \n \n \n \n \n );\n };\n\n const getDialogActions = () => {\n return (\n <>\n );\n };\n\n const getEndSessionDialogTitleContent = () => {\n return (\n <>\n \n \"alert-icon\"\n {AppConstants.USERS_CONSTANTS.END_SESSION}\n \n )\n }\n\n const getEndSessionDialogDetailsContent = () => {\n return (\n \n \n {AppConstants.USERS_CONSTANTS.END_ACTIVE_SESSION_CONTENT}\n \n \n )\n };\n\n const getEndSessionDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n return (\n <>\n \n \n {openSnackbar && endSession ? (\n \n ) : null}\n \n )\n}\n\nexport default UserDetails;","import React, { useEffect, useState } from \"react\";\n\nimport { Checkbox, ListItemText, MenuItem } from \"@material-ui/core\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\n\nimport { SelectItemProps } from \"../CustomHubSelctBox\";\n\ninterface CustomHubMenuItemsInterface {\n classes: any;\n customCountryRecord?: any;\n items: { [key: string]: Array };\n multiple?: boolean;\n searchText: string;\n handleDdnChange: any;\n ddnValue: any;\n}\n\nconst CustomHubMenuItems = (props: CustomHubMenuItemsInterface) => {\n const { classes, customCountryRecord, items, multiple, searchText, handleDdnChange, ddnValue } = props;\n\n const [isOpenStates, setIsOpenStates] = useState({});\n\n let checker = (arr: any, target: any) => arr.every((v: any) => target.includes(v.value));\n\n const handleExpandClick = (key: string) => {\n setIsOpenStates((prevStates: any) => ({ ...prevStates, [key]: !prevStates[key] }));\n };\n\n const getCountryName = (key: string): string => {\n if (customCountryRecord?.length > 0) {\n const country = customCountryRecord.find((countryObject: any) => countryObject.value === key);\n return country ? `${country.name} (All)` : `${key} (All)`;\n }\n return `${key} (All)`;\n };\n\n const containsText = (text: any, searchText: any) => {\n return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;\n };\n\n const displayedOptions = (record: SelectItemProps[]) => {\n return record && Array.isArray(record) ? record.filter((option) => containsText(option.value, searchText) || containsText(option.name, searchText)) : [];\n };\n\n const getMenuItems = (key: string) => {\n let result: any = items[key] && items[key]?.length > 0 ? items[key] : [];\n result = searchText && items && Object.keys(items)?.length > 0 ? displayedOptions(items[key]) : items[key];\n return result && result.length\n ? result.map((item: any, itemIndex: number) => (\n handleDdnChange(event, key, item.value)}>\n <>\n {multiple && -1} />}\n \n \n \n ))\n : null;\n };\n\n useEffect(() => {\n if (searchText !== '') {\n const newOpenStates = {} as any;\n Object.keys(items).forEach((key) => {\n newOpenStates[key] = true;\n });\n setIsOpenStates(newOpenStates);\n }\n else{\n const newOpenStates = {} as any;\n Object.keys(items).forEach((key) => {\n newOpenStates[key] = false;\n });\n setIsOpenStates(newOpenStates);\n }\n }, [searchText, items]);\n\n return (\n <>\n {items &&\n Object.keys(items)?.length > 0 &&\n Object.keys(items).map((key: string, index: number) => (\n <>\n handleExpandClick(key)}>\n <>\n {multiple && 0 && checker(items[key], ddnValue)} onClick={(event: any) => handleDdnChange(event, key)} disabled={searchText !== ''} />}\n \n \n \n \n {isOpenStates[key] && getMenuItems(key)}\n \n ))}\n \n );\n};\n\nexport default React.memo(CustomHubMenuItems);\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport {\n Checkbox,\n Chip,\n FormControl,\n InputLabel,\n ListItemText,\n MenuItem,\n PopoverOrigin,\n Select,\n SelectProps,\n ListSubheader,\n TextField,\n InputAdornment,\n IconButton,\n SvgIcon,\n} from \"@material-ui/core\";\n\nimport AppConstants from \"../../constants\";\nimport CustomHubMenuItems from \"./CustomHubSelection/CustomHubMenuItems\";\n\nimport { useStyles, anchorOriginDefault } from \"./SelectBox.styles\";\nimport { ReactComponent as downArrowIcon } from \"./../../assets/icons/down-arrow.svg\";\nimport { ReactComponent as searchIcon } from \"./../../assets/icons/search-icon-small.svg\";\nimport { isEqualArrays } from \"../../utils/helpers.utils\";\n\nexport interface SelectItemProps {\n name?: string;\n value: any;\n countryCode?: any;\n}\n\ninterface CustomHubSelctBoxProps extends SelectProps {\n handleFormikChange?: (e: React.ChangeEvent) => void;\n items: { [key: string]: Array };\n helperText?: any;\n hideIconComponent?: boolean;\n menuPropsList?: string;\n menuPaperProps?: string;\n anchorOrigin?: PopoverOrigin | undefined;\n reset?: boolean;\n resetAll?: boolean;\n showSelectNone?: boolean;\n enableSearch?: boolean;\n classes?: any;\n customWidthSearchBar?: boolean;\n customCountryRecord?: any;\n}\n\nconst CustomHubSelctBox = (props: CustomHubSelctBoxProps) => {\n const classes = useStyles();\n const anchorEl = useRef(null);\n\n const {\n handleFormikChange,\n value,\n multiple,\n id,\n label,\n items,\n hideIconComponent,\n menuPaperProps,\n menuPropsList,\n anchorOrigin,\n className,\n reset,\n resetAll,\n showSelectNone,\n error,\n helperText,\n fullWidth,\n enableSearch,\n customWidthSearchBar,\n customCountryRecord,\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState(\"\");\n\n const [ddnValue, setDdnValue] = useState(value || AppConstants.SELECT_NONE.value);\n const [itemsDdn, setItemsDdn] = useState(items && Object.values(items).flat().map((item) => item.value));\n const [itemsPrevValues, setItemsPrevValues] = useState([]);\n\n const checker = (arr: any, target: any) => arr.every((v: any) => target.includes(v.value));\n const checkerStringArr = (arr: any, target: any) => arr.every((v: string) => target.includes(v));\n\n const handleDdnChange = (event: any, key?: string, value?: string) => {\n event.stopPropagation();\n let newRecord = [] as any;\n if (key && value) {\n newRecord = [...ddnValue];\n if (newRecord.includes(value)) {\n const valueIndex = newRecord.indexOf(value);\n newRecord.splice(valueIndex, 1);\n } else {\n newRecord.push(value);\n }\n } else if (key && Object.keys(items).includes(key)) {\n if (checker(items[key], ddnValue)) {\n newRecord = ddnValue.filter((val: string) => !items[key].map((obj) => obj.value).includes(val));\n } else {\n const hubRecord = items[key];\n newRecord = [...ddnValue];\n hubRecord.forEach((obj: SelectItemProps) => {\n if (!newRecord.includes(obj.value)) {\n newRecord.push(obj.value);\n }\n });\n }\n } else {\n const result = checkerStringArr(itemsDdn, ddnValue);\n if (!result) {\n const missedValue = itemsDdn.filter((val) => !ddnValue.includes(val));\n newRecord = [...ddnValue, ...missedValue];\n }\n }\n setDdnValue(newRecord);\n handleFormikChange && handleFormikChange(newRecord);\n };\n\n const close = () => {\n setIsOpen(false);\n setSearchText(\"\");\n };\n\n const stopImmediatePropagation = (e: any) => {\n e.stopPropagation();\n e.preventDefault();\n };\n\n const getChips = (selected: any) => { \n if (selected?.length === Object.values(items).flat()) {\n return AppConstants.SELECT_ALL.name;\n }\n if (selected?.length === 0) {\n return AppConstants.SELECT_NONE.name;\n }\n return (\n
\n {(selected as string[]).map((value, index) => {\n const item : any = Object.values(items).flat().find(i => i.value === value) !== undefined ? Object.values(items).flat().find(i => i.value === value) : {name: \"\", value: \"\" };\n return ;\n })}\n
\n );\n };\n\n useEffect(() => {\n if (!isEqualArrays(Object.values(items).flat(), itemsPrevValues, \"value\")) { \n setItemsDdn([...Object.values(items).flat().map((item) => item.value)]);\n setDdnValue([...Object.values(items).flat().map((item) => item.value)]);\n }\n setItemsPrevValues(Object.values(items).flat());\n }, [items]);\n\n useEffect(() => {\n if (reset) {\n setDdnValue(itemsDdn);\n } else {\n setDdnValue(value);\n }\n }, [value]);\n\n useEffect(() => {\n if (resetAll) {\n setDdnValue(itemsDdn);\n }\n }, [resetAll]);\n\n return (\n \n {label && {label}}\n {\n setIsOpen(true);\n }}\n onClose={close}\n onChange={(event: any) => handleDdnChange(event)}\n renderValue={getChips}\n IconComponent={hideIconComponent ? () => <> : downArrowIcon}\n MenuProps={{\n disablePortal: true,\n classes: { list: menuPropsList || classes.menuPropsList, paper: menuPaperProps || classes.customMenuPropsPaper },\n autoFocus: false,\n anchorEl: anchorEl.current,\n getContentAnchorEl: null,\n anchorOrigin: anchorOrigin || anchorOriginDefault,\n }}\n >\n {enableSearch && (\n e.stopPropagation()}>\n setSearchText(e.target.value)}\n onKeyDown={(e) => {\n if (e.key !== \"Escape\") {\n e.stopPropagation();\n }\n }}\n InputProps={{\n endAdornment: (\n \n \n \n \n \n ),\n }}\n />\n \n )}\n {(!searchText || searchText.length === 0) && multiple && (\n \n \n \n \n )}\n \n \n \n );\n};\n\nexport default React.memo(CustomHubSelctBox);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n \"& .headingContainer\": {\n flexDirection: \"column\",\n \"& .titleHeading\": {\n fontSize: 24,\n fontWeight: 600,\n },\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .MuiOutlinedInput-root\": {\n height: 40,\n },\n \"& .contentItem\": {\n paddingBottom: theme.spacing(3),\n \"& .itemContainer\": {\n flexDirection: \"column\",\n \"& .itemLabel\": {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"&.divflexStyle\": {\n display: 'flex', \n justifyContent: 'flex-start'\n },\n '&.userIdEmailVerified': {\n margin: 'auto 4px',\n padding: 0,\n width: '15px',\n height: '15px',\n fill: COLORS.SEA_GREEN,\n }\n },\n \"& .itemInput\": {\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"& .userIdContainer .input\": {\n flexGrow: 1,\n paddingRight: theme.spacing(2),\n },\n },\n \"& .phoneItemInput\": {\n \"& .MuiOutlinedInput-root\": {\n height: 40,\n minWidth: \"auto\",\n },\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"& .userIdContainer .input\": {\n flexGrow: 1,\n paddingRight: theme.spacing(2),\n },\n },\n },\n },\n },\n buttons: {\n width: \"100%\",\n \"& .buttonsContainer\": {\n \"& .userBtn\": {\n \"&.secondary\": {\n marginRight: theme.spacing(2),\n },\n flexGrow: 1,\n },\n },\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580,\n },\n hubChipContainer : {\n margin: '8px 0px 0px 0px',\n padding: 0,\n display: 'flex',\n justifyContent : 'flex-start',\n width: '100%',\n overflow: 'auto'\n },\n hubChipDiv: {\n margin: '0px 2px 0px 0px',\n padding: '4px',\n minWidth: '125px',\n height: 'auto',\n borderRadius: '16px',\n background: COLORS.ALTO,\n color: COLORS.TEXT_PRIMARY,\n textAlign: 'center',\n }\n })\n);\n","import React, { forwardRef, ReactElement, Ref, useCallback, useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport * as yup from \"yup\";\nimport _ from \"lodash\";\nimport { useFormik } from \"formik\";\n\nimport Slide from \"@material-ui/core/Slide\";\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport { Button, Grid, Typography } from \"@material-ui/core\";\nimport CheckCircleOutlineIcon from \"@material-ui/icons/CheckCircleOutline\";\n\nimport CustomDialog from \"../common/Dialog\";\nimport AppConstants from \"../constants\";\nimport TextBox from \"../common/TextBox\";\nimport SelectBox, { SelectItemProps } from \"../common/SelectBox\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport CustomHubSelctBox from \"../common/SelectBox/CustomHubSelctBox\";\n\nimport { useStyles } from \"./UserAddOrEditDetails.styles\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { createGenerateIdPayload } from \"../mocks/users/response.transforms\";\nimport { generateUsername } from \"./redux/usersSlice\";\nimport { isNull } from \"../utils/helpers.utils\";\n\ninterface UserAddOrEditDetailsProps {\n open: boolean;\n user: any;\n isEdit: boolean;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst inputValidationSchema = yup.object({\n firstName: yup.string().required(AppConstants.USERS_CONSTANTS.VALIDATIONS.FIRSTNAME.REQUIRED.msg),\n lastName: yup.string().required(AppConstants.USERS_CONSTANTS.VALIDATIONS.LASTNAME.REQUIRED.msg),\n userName: yup.string().required(AppConstants.VALIDATIONS.USERNAME.REQUIRED.msg),\n email: yup\n .string()\n .when(\"userType\", {\n is: AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE,\n then: yup.string().notRequired(),\n otherwise: yup.string().required(AppConstants.VALIDATIONS.EMAIL.REQUIRED.msg),\n })\n .email(AppConstants.VALIDATIONS.EMAIL.VALID_EMAIL.msg),\n password: yup\n .string()\n .matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.VALIDATIONS.PASSWORD.REQUIRED.msg),\n confirmPassword: yup\n .string()\n .matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.VALIDATIONS.PASSWORD.REQUIRED.msg)\n .oneOf([yup.ref(\"password\")], AppConstants.VALIDATIONS.PASSWORD.ONE_OF.msg),\n prefix: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.PREFIX.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.PREFIX.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.PREFIX.REQUIRED.msg),\n phone: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.PHONE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.PHONE.VALIDITY.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.PHONE.VALIDITY.msg),\n status: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.STATUS.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.STATUS.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.STATUS.REQUIRED.msg),\n userRole: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.ROLE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.ROLE.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.ROLE.REQUIRED.msg),\n userType: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.TYPE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.TYPE.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.TYPE.REQUIRED.msg),\n serviceTypes: yup.array().when(\"userRole\", {\n is: (role : any) => [AppConstants.USERS_CONSTANTS.LAST_MILE_DISPATCHER_ROLE, AppConstants.USERS_CONSTANTS.LAST_MILE_VIEWER_ROLE].includes(role),\n then: yup.array().required(AppConstants.VALIDATIONS.SERVICE_TYPE.REQUIRED.msg).test(\"no-invalid-values\", AppConstants.VALIDATIONS.SERVICE_TYPE.REQUIRED.msg, (value: any) => {\n if (!Array.isArray(value)) return false;\n const regex = new RegExp(AppConstants.VALIDATIONS.SERVICE_TYPE.REQUIRED.value); \n return value.every((item) => regex.test(item));\n }),\n otherwise: yup.array().notRequired()\n }),\n country: yup.string().when(\"userRole\", {\n is: AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN,\n then: yup.string().notRequired(),\n otherwise: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg),\n }),\n countries: yup.array().when(\"userRole\", {\n is: AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN,\n then: yup.array().of(yup.string().required(AppConstants.USERS_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg)),\n otherwise: yup.array().notRequired(),\n }),\n hub: yup\n .array()\n .of(\n yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.msg)\n ),\n});\n\nconst editPwdValidationSchema = yup.object({\n password: yup.string().matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg),\n confirmPassword: yup\n .string()\n .matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .oneOf([yup.ref(\"password\")], AppConstants.VALIDATIONS.PASSWORD.ONE_OF.msg),\n});\n\nconst expressDriverValidationSchema = yup.object({\n vehicleType: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.ROLE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.VEHICLE.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.VEHICLE.REQUIRED.msg),\n vendor: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.ROLE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.VENDOR.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.VENDOR.REQUIRED.msg),\n});\n\nconst deliveryTypeValidationSchema = yup.object({\n deliveryType: yup\n .string()\n .required(AppConstants.USERS_CONSTANTS.VALIDATIONS.DELIVERY_TYPE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.USERS_CONSTANTS.VALIDATIONS.DELIVERY_TYPE.REQUIRED.value), AppConstants.USERS_CONSTANTS.VALIDATIONS.DELIVERY_TYPE.REQUIRED.msg),\n});\n\nconst Transition = forwardRef(function Transition(props: TransitionProps & { children?: ReactElement }, ref: Ref) {\n return ;\n});\n\nconst UserAddOrEditDetails = (props: UserAddOrEditDetailsProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const dialogPaperProps = { classes: { root: classes.dialogPaperPropsRoot }, square: true };\n\n const { open, user, isEdit, closePopup, handleDialogAction } = props;\n\n const { addUserDropdowns, suggestedUsername } = useSelector((state: AppState) => state.users);\n const { isAdmin } = useSelector((state: AppState) => state.userLogin);\n const { countryCode } = useSelector((state: AppState) => state.common);\n\n const [resetFormFlag, setResetFormFlag] = useState(false);\n const [userTypeState, setUserTypeState] = useState(AppConstants.SELECT_NONE.value);\n const [emailState, setEmailState] = useState(\"\");\n const [isExpress, setIsExpress] = useState(false);\n const [isDriver, setIsDriver] = useState(false);\n const [userState, setUserState] = useState({\n openSnackbar: false,\n snackbarMessage: \"\",\n snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS,\n rolesList: [],\n hubRecordList: {},\n countryHubDetails: {} as any,\n });\n\n let tableRecord: any = {};\n let hubDetails: any = [];\n let checkCountry: any = {};\n let selectedRole: any = \"\";\n let countryCodeValue = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n if (user) {\n tableRecord = user.tableRecord;\n if (user.countryDetails && user.countryDetails[countryCodeValue]) {\n hubDetails = user.countryDetails[countryCodeValue] ? user.countryDetails[countryCodeValue].map((item: any) => item.hubCode) : [];\n checkCountry = user.countryDetails[countryCodeValue].filter((country: any) => country.countryName === tableRecord.country);\n }\n if (tableRecord && tableRecord.role) {\n const currentRoleIndex = AppConstants.USERS_CONSTANTS.USER_ROLES.findIndex((role) => role.value === tableRecord.role);\n const accessibleRoles = AppConstants.USERS_CONSTANTS.USER_ROLES.slice(currentRoleIndex);\n selectedRole = accessibleRoles.length ? accessibleRoles[0].code : \"n/a\";\n }\n }\n\n const getInitialValues = () => {\n let phoneNumber = user?.phone ? user.phone : \"\";\n let prefix: any = AppConstants.SELECT_NONE.value;\n if (addUserDropdowns?.phonePrefixesList?.length > 0) {\n const codeValue = checkCountry.length ? countryCodeValue : user?.tableRecord?.country ? user.tableRecord.country : AppConstants.SELECT_NONE.value;\n if (!isNull(phoneNumber)) {\n let isPrefixPresent = addUserDropdowns.phonePrefixesList.findIndex((prefix: any) => phoneNumber.includes(prefix.value));\n if (isPrefixPresent > -1) {\n prefix = addUserDropdowns.phonePrefixesList[isPrefixPresent].value;\n phoneNumber = phoneNumber.replace(prefix, \"\");\n phoneNumber = phoneNumber.trim();\n }\n }\n\n if (prefix === AppConstants.SELECT_NONE.value) {\n prefix = addUserDropdowns.phonePrefixesList.find((prefix: any) => prefix?.countryCode === codeValue)?.value || AppConstants.SELECT_NONE.value;\n if (!isNull(phoneNumber) && !isNull(prefix) && prefix !== AppConstants.SELECT_NONE.value && phoneNumber.includes(prefix)) {\n phoneNumber = phoneNumber.replace(prefix, \"\");\n phoneNumber = phoneNumber.trim();\n }\n }\n }\n\n let countries = [AppConstants.SELECT_NONE.value] as any;\n if (selectedRole && selectedRole === AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN) {\n if (user?.countryDetails && Object.keys(user.countryDetails).length > 0) {\n countries = Object.keys(user.countryDetails);\n hubDetails = Object.values(user.countryDetails)\n .flat()\n .map((item: any) => item.hubCode);\n }\n }\n\n return isEdit\n ? {\n firstName: user.firstname ? user.firstname : \"\",\n lastName: user.lastname ? user.lastname : \"\",\n userName: user.username ? user.username : \"\",\n email: user.email ? user.email : \"\",\n phone: phoneNumber,\n status: user.status ? user.status : AppConstants.SELECT_NONE.value,\n userRole: selectedRole ? selectedRole : AppConstants.SELECT_NONE.value,\n userType: user.userType ? user.userType : AppConstants.SELECT_NONE.value,\n deliveryType: user.deliveryType ? user.deliveryType : AppConstants.SELECT_NONE.value,\n serviceTypes: user.serviceType ? user.serviceType : [AppConstants.SELECT_NONE.value],\n vehicleType: user.vehicleType ? user.vehicleType : AppConstants.SELECT_NONE.value,\n vendor: user.vendor ? user.vendor : AppConstants.SELECT_NONE.value,\n country: checkCountry.length ? countryCodeValue : user.tableRecord.country ? user.tableRecord.country : AppConstants.SELECT_NONE.value,\n hub: hubDetails.length ? hubDetails : [AppConstants.SELECT_NONE.value],\n prefix: prefix,\n countries: countries,\n }\n : {\n firstName: \"\",\n lastName: \"\",\n userName: \"\",\n email: \"\",\n phone: \"\",\n password: \"\",\n confirmPassword: \"\",\n status: AppConstants.SELECT_NONE.value,\n userRole: AppConstants.SELECT_NONE.value,\n userType: AppConstants.SELECT_NONE.value,\n deliveryType: AppConstants.SELECT_NONE.value,\n serviceTypes: [AppConstants.SELECT_NONE.value],\n vehicleType: AppConstants.SELECT_NONE.value,\n vendor: AppConstants.SELECT_NONE.value,\n country: AppConstants.SELECT_NONE.value,\n hub: [AppConstants.SELECT_NONE.value],\n prefix: AppConstants.SELECT_NONE.value,\n countries: [AppConstants.SELECT_NONE.value],\n };\n };\n\n const inputFormik = useFormik({\n initialValues: getInitialValues(),\n validationSchema: isEdit\n ? inputValidationSchema.omit([\"password\", \"confirmPassword\"]).concat(editPwdValidationSchema)\n : isDriver && isExpress\n ? inputValidationSchema.concat(expressDriverValidationSchema).concat(deliveryTypeValidationSchema)\n : isDriver\n ? inputValidationSchema.concat(deliveryTypeValidationSchema)\n : inputValidationSchema,\n validate: () => {\n setResetFormFlag(false);\n },\n onSubmit: (values) => {\n dialogActionHandler(\"submit\", values);\n },\n });\n\n const disableGenerateUserIdBtn = useCallback(() => {\n let disable = false;\n if (!isEdit) {\n if (userTypeState) {\n if (userTypeState === AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE) {\n if (!(inputFormik.values.firstName && inputFormik.values.lastName)) {\n disable = true;\n } else {\n disable = false;\n }\n } else {\n disable = true;\n }\n } else {\n disable = true;\n }\n } else {\n disable = true;\n }\n return disable;\n }, [userTypeState, inputFormik.values.firstName, inputFormik.values.lastName, isEdit]);\n\n const generateUserId = () => {\n const generateIdPayload = createGenerateIdPayload({ firstName: `${inputFormik.values.firstName}`.toLowerCase(), lastName: `${inputFormik.values.lastName}`.toLowerCase() });\n dispatch(generateUsername({ params: generateIdPayload }));\n };\n\n const handleDialogClose = () => {\n closePopup();\n };\n\n const dialogActionHandler = (type: string, values?: any) => {\n if (handleDialogAction && type !== \"cancel\") {\n let objectValue = _.cloneDeep(values);\n if (objectValue?.phone?.length >= 11) {\n setUserState({ ...userState, openSnackbar: true, snackbarMessage: AppConstants.USERS_CONSTANTS.VALIDATIONS.PHONE.VALIDITY.lengthIssue, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n return;\n }\n\n if (objectValue.userRole === AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN) {\n if (objectValue.countries?.length === 0) {\n setUserState({ ...userState, openSnackbar: true, snackbarMessage: AppConstants.USERS_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n return;\n }\n\n if (objectValue.hub?.length === 0) {\n setUserState({ ...userState, openSnackbar: true, snackbarMessage: AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.msg, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n return;\n }\n\n if (userState.countryHubDetails && Object.keys(userState.countryHubDetails)?.length !== 0) {\n let emptyFound = 0 as number;\n Object.keys(userState.countryHubDetails).forEach((keyName: string) => {\n if (userState.countryHubDetails[keyName].length === 0) {\n emptyFound++;\n }\n });\n if (emptyFound > 0) {\n setUserState({ ...userState, openSnackbar: true, snackbarMessage: AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.multipleHubs, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n return;\n }\n } else {\n setUserState({ ...userState, openSnackbar: true, snackbarMessage: AppConstants.USERS_CONSTANTS.VALIDATIONS.HUB.REQUIRED.msg, snackbarType: AppConstants.SNACKBAR.TYPES.ERROR });\n return;\n }\n }\n\n objectValue.phone = objectValue?.prefix + \" \" + objectValue?.phone;\n objectValue.countryHubDetails = userState.countryHubDetails;\n delete objectValue.prefix;\n handleDialogAction({ type: type, values: objectValue, isEdit: isEdit });\n } else {\n handleDialogAction && handleDialogAction({ type: type, values: values, isEdit: isEdit });\n }\n };\n\n const debounceFormikValues = _.debounce((fieldName: string, value: string) => {\n inputFormik.setFieldValue(fieldName, value);\n }, 500);\n\n const getRoleListRecord = (userType: any) => {\n if (addUserDropdowns?.rolesList?.length === 0) return [];\n\n const excludedRoles = [AppConstants.USERS_CONSTANTS.DRIVER_ROLE, AppConstants.USERS_CONSTANTS.LAST_MILE_QC_EXECUTIVE_ROLE, AppConstants.USERS_CONSTANTS.ROLE_LAST_MILE_HELPER];\n\n if (userType !== AppConstants.SELECT_NONE.value) {\n let rolesList = [] as any;\n if (userType === AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE) {\n rolesList = addUserDropdowns.rolesList.filter((role: SelectItemProps) => excludedRoles.includes(role.value));\n } else {\n rolesList = addUserDropdowns.rolesList.filter((role: SelectItemProps) => !excludedRoles.includes(role.value));\n }\n return rolesList;\n }\n return [];\n };\n\n const handleStateChange = useCallback(\n (event: React.ChangeEvent, fieldName: string) => {\n event.persist();\n if (fieldName === \"userType\") {\n setUserTypeState(event.target.value);\n const rolesList: any = getRoleListRecord(event.target.value);\n setUserState({ ...userState, rolesList: rolesList });\n }\n if (fieldName === \"email\") {\n setEmailState(event.target.value);\n }\n if (fieldName === \"userRole\") {\n if (event.target.value === AppConstants.USERS_CONSTANTS.DRIVER_ROLE) {\n setIsDriver(true);\n } else {\n inputFormik.setFieldValue(\"vehicleType\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"deliveryType\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n setIsDriver(false);\n } \n }\n if (fieldName === \"deliveryType\") {\n if (event.target.value === AppConstants.USERS_CONSTANTS.EXPRESS) {\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"vehicleType\", AppConstants.SELECT_NONE.value);\n setIsExpress(true);\n } else {\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"vehicleType\", AppConstants.SELECT_NONE.value);\n setIsExpress(false);\n }\n }\n debounceFormikValues(fieldName, event.target.value);\n },\n [debounceFormikValues, inputFormik]\n );\n\n const showUserIdSelectBox = () =>\n inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.DRIVER_ROLE ||\n inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.LAST_MILE_QC_EXECUTIVE_ROLE ||\n inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.ROLE_LAST_MILE_HELPER;\n\n useEffect(() => {\n if (userTypeState === AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE) {\n if (!isEdit) {\n inputFormik.setFieldValue(\"userName\", suggestedUsername || \"\");\n } else {\n inputFormik.setFieldValue(\"userName\", user.username);\n }\n } else {\n if (!isEdit) {\n inputFormik.setFieldValue(\"userName\", emailState);\n } else {\n inputFormik.setFieldValue(\"userName\", user.email);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userTypeState]);\n\n useEffect(() => {\n if (userTypeState !== AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE && !isEdit) {\n inputFormik.setFieldValue(\"userName\", emailState);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [emailState]);\n\n useEffect(() => {\n if (!isEdit) {\n inputFormik.setFieldValue(\"userName\", suggestedUsername);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [suggestedUsername]);\n\n useEffect(() => {\n if (open) {\n inputFormik.resetForm();\n setUserTypeState(AppConstants.SELECT_NONE.value);\n setEmailState(\"\");\n setResetFormFlag(true);\n inputFormik.setValues(getInitialValues());\n if (isEdit && user?.userType) {\n const rolesList: any = getRoleListRecord(user?.userType);\n let hubRecord: any = {};\n let countryHubDetails: any = {};\n if (selectedRole && selectedRole === AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN && user?.countryDetails && Object.keys(user.countryDetails).length > 0) {\n Object.keys(user.countryDetails)?.forEach((country: string) => {\n if (addUserDropdowns?.hubList && addUserDropdowns.hubList.hasOwnProperty(country)) {\n if (!hubRecord.hasOwnProperty(country)) {\n hubRecord[country] = [];\n }\n hubRecord[country] = [...addUserDropdowns?.hubList[country]];\n }\n });\n const values = Object.values(user.countryDetails)\n .flat()\n .map((item: any) => item.hubCode);\n countryHubDetails = generateCountryHubDetails(values, hubRecord);\n setUserState({ ...userState, countryHubDetails: countryHubDetails });\n }\n setUserState({ ...userState, rolesList: rolesList, hubRecordList: hubRecord, countryHubDetails: countryHubDetails });\n } else {\n setUserState({ ...userState, rolesList: [] });\n }\n if (isEdit) {\n setUserTypeState(user.userType ? user.userType : AppConstants.SELECT_NONE.value);\n setEmailState(user.email ? user.email : \"\");\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n {isEdit ? \"Edit User\" : \"Add User\"}\n \n \n \n \n \n \n \n );\n };\n\n /**\n * A Handler called on country's change\n * NOTE: Writing a separate handler since the common component Select Box was getting the All values\n * before the parent component, due to which the Formik in parent component was not able to update the values\n */\n const handleCountryChange = (event: any) => {\n let countryValue = event.target.value;\n setUserState({ ...userState, hubRecordList: {}, countryHubDetails: {} });\n inputFormik.setFieldValue(\"countries\", [AppConstants.SELECT_NONE.value]);\n inputFormik.setFieldValue(\"phone\", \"\");\n inputFormik.setFieldValue(\"countryHubDetails\", {});\n inputFormik.setFieldValue(\"country\", countryValue);\n if (countryValue === AppConstants.SELECT_NONE.value) {\n inputFormik.setFieldValue(\"hub\", [AppConstants.SELECT_NONE.value]);\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"prefix\", AppConstants.SELECT_NONE.value);\n } else {\n inputFormik.setFieldValue(\"hub\", []);\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"hub\", addUserDropdowns.hubList[countryValue] ? [...[AppConstants.SELECT_ALL.value], ...addUserDropdowns.hubList[countryValue].map((item: any) => item.value)] : []);\n let prefix =\n addUserDropdowns?.phonePrefixesList?.length > 0\n ? addUserDropdowns.phonePrefixesList.find((prefix: any) => prefix?.countryCode === countryValue)?.value || AppConstants.SELECT_NONE.value\n : AppConstants.SELECT_NONE.value;\n inputFormik.setFieldValue(\"prefix\", prefix);\n }\n inputFormik.setFieldTouched(\"country\", false);\n };\n\n const handleRoleChange = (event: any) => {\n setUserState({ ...userState, hubRecordList: {}, countryHubDetails: {} });\n if (event?.target?.value) {\n const value = event.target.value;\n inputFormik.setFieldValue(\"userRole\", value);\n inputFormik.setFieldValue(\"country\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"countries\", [AppConstants.SELECT_NONE.value]);\n inputFormik.setFieldValue(\"countryHubDetails\", {});\n inputFormik.setFieldValue(\"hub\", []);\n if (event.target.value === AppConstants.USERS_CONSTANTS.DRIVER_ROLE) {\n setIsDriver(true);\n } else {\n inputFormik.setFieldValue(\"vehicleType\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"deliveryType\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"vendor\", AppConstants.SELECT_NONE.value);\n setIsDriver(false);\n }\n setTimeout(() => inputFormik.setFieldTouched(\"userRole\", true));\n }\n };\n\n const handleCountriesChange = (event: any) => {\n inputFormik.setFieldValue(\"country\", AppConstants.SELECT_NONE.value);\n inputFormik.setFieldValue(\"hub\", []);\n if (event?.target?.value) {\n inputFormik.setFieldValue(\"countries\", event.target.value);\n if (event?.target?.value?.length > 0 && addUserDropdowns.hubList) {\n let hubRecord: any = {};\n let countryHubDetails: any = {};\n event?.target?.value?.forEach((country: string) => {\n if (addUserDropdowns?.hubList && addUserDropdowns.hubList.hasOwnProperty(country)) {\n if (!hubRecord.hasOwnProperty(country)) {\n hubRecord[country] = [];\n }\n if (!countryHubDetails.hasOwnProperty(country)) {\n countryHubDetails[country] = [];\n }\n hubRecord[country] = [...addUserDropdowns?.hubList[country]]; // Add Country\n }\n });\n setUserState({ ...userState, hubRecordList: hubRecord, countryHubDetails: countryHubDetails });\n }\n } else {\n inputFormik.setFieldValue(\"hub\", []);\n setUserState({ ...userState, hubRecordList: {}, countryHubDetails: {} });\n }\n };\n\n function generateCountryHubDetails(hubs: any, hubsRecord: any, countryHub?: any) {\n let countryHubDetails = {} as any;\n if (countryHub) {\n countryHubDetails = Object.keys(countryHub).reduce((acc, key) => ({ ...acc, [key]: [] }), {});\n }\n\n if (typeof hubs === \"string\") {\n hubs = hubs.split(\",\");\n }\n hubs.forEach((hub: any) => {\n const countryCode = Object.keys(hubsRecord).find((country) => {\n return hubsRecord[country].some((hubRecord: any) => hubRecord.value === hub);\n });\n if (countryCode) {\n if (!countryHubDetails.hasOwnProperty(countryCode)) {\n countryHubDetails[countryCode] = [];\n }\n const hubRecord = hubsRecord[countryCode].find((hubRecord: any) => hubRecord.value === hub);\n countryHubDetails[countryCode].push({ code: hubRecord.value, value: hubRecord.name });\n }\n });\n return countryHubDetails;\n }\n\n const handleHubChange = (value: any) => {\n if (value) {\n inputFormik.setFieldValue(\"hub\", value);\n if (value?.length >= 0) {\n const countryHubDetails = generateCountryHubDetails(value, userState.hubRecordList, userState.countryHubDetails);\n setUserState({ ...userState, countryHubDetails: countryHubDetails });\n }\n }\n };\n\n const getVendorList: any = () => {\n let vendor = \"\";\n if (inputFormik.values.deliveryType === AppConstants.USERS_CONSTANTS.EXPRESS) {\n vendor = addUserDropdowns.vendorList[inputFormik.values.country] || [];\n } else {\n vendor = addUserDropdowns.vendorListStd[inputFormik.values.country] || [];\n }\n return vendor;\n };\n\n const handleSnackbarClose = () => {\n setUserState({ ...userState, openSnackbar: false, snackbarMessage: \"\", snackbarType: AppConstants.SNACKBAR.TYPES.SUCCESS });\n };\n\n const getDetailsContent = () => {\n return (\n
\n \n {/* Type */}\n \n \n \n Type\n \n \n handleStateChange(e, \"userType\")}\n value={userTypeState}\n error={inputFormik.touched.userType && Boolean(inputFormik.errors.userType)}\n helperText={inputFormik.touched.userType && inputFormik.errors.userType}\n reset={resetFormFlag}\n id=\"AddUserTypeSelectBox\"\n inputProps={{\n name: \"userType\",\n id: \"AddUserTypeSelectBox\",\n }}\n items={addUserDropdowns.userTypeList}\n >\n \n \n \n\n {/* Role */}\n \n \n \n Role\n \n \n \n \n \n \n\n {/* Countries selection for Super Admin */}\n {inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN && (\n \n \n \n {\"Countries\"}\n \n \n \n \n \n \n )}\n\n {/* Country */}\n {inputFormik.values.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN && (\n \n \n \n {\"Country\"}\n \n \n \n \n \n \n )}\n\n {/* Hub selection for Super Admin */}\n {inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN && (\n \n \n \n Hub\n \n \n \n \n \n {Object.keys(userState.countryHubDetails).length > 0 &&\n Object.keys(userState.countryHubDetails).map((keyName: string) => (\n
{`${keyName}-${\n (userState.countryHubDetails && userState.countryHubDetails[keyName] && userState.countryHubDetails[keyName].length) || 0\n }`}
\n ))}\n
\n
\n
\n )}\n\n {/* Hub */}\n {inputFormik.values.userRole !== AppConstants.USERS_CONSTANTS.MULTIPLE_COUNTRIES_ROLE.ROLE_SUPER_ADMIN && (\n \n \n \n Hub\n \n \n \n \n \n \n )}\n\n {/* First Name */}\n \n \n \n First Name\n \n \n \n \n \n \n\n {/* Last Name */}\n \n \n \n Last Name\n \n \n \n \n \n \n\n {inputFormik.values.userRole !== AppConstants.SELECT_NONE.value && (\n <>\n {inputFormik.values.userType === AppConstants.USERS_CONSTANTS.USERNAME_USERTYPE ? (\n showUserIdSelectBox() && (\n \n \n \n User Id\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n ) : (\n \n \n \n
\n Email Id\n {user?.emailVerified && }\n
\n
\n \n handleStateChange(e, \"email\")}\n value={emailState}\n error={inputFormik.touched.email && Boolean(inputFormik.errors.email)}\n helperText={inputFormik.touched.email && inputFormik.errors.email}\n disabled={isEdit}\n textBoxId=\"AddUserEmailTextbox\"\n name=\"email\"\n type=\"text\"\n placeholderText=\"Email Id\"\n >\n \n
\n
\n )}\n \n )}\n {isAdmin && isEdit && (\n <>\n \n \n \n Password\n \n \n \n \n \n \n \n \n \n Confirm Password\n \n \n \n \n \n \n \n )}\n {!isEdit && (\n \n \n \n Password\n \n \n \n \n \n \n )}\n {!isEdit && (\n \n \n \n Confirm Password\n \n \n \n \n \n \n )}\n {/* https://mafretail.atlassian.net/browse/MILE-3231 */}\n \n \n \n Phone No.\n \n \n \n \n handleStateChange(e, \"prefix\")}\n value={inputFormik.values.prefix}\n error={inputFormik.touched.prefix && Boolean(inputFormik.errors.prefix)}\n helperText={inputFormik.touched.prefix && inputFormik.errors.prefix}\n reset={resetFormFlag}\n id=\"phonePrefixesTypeSelectBox\"\n inputProps={{ name: \"prefix\", id: \"phonePrefixesTypeSelectBox\" }}\n items={addUserDropdowns.phonePrefixesList}\n />\n \n \n \n \n \n \n \n \n {inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.DRIVER_ROLE ? (\n \n \n \n \n Delivery Type\n \n \n handleStateChange(e, \"deliveryType\")}\n value={inputFormik.values.deliveryType}\n error={inputFormik.touched.deliveryType && Boolean(inputFormik.errors.deliveryType)}\n helperText={inputFormik.touched.deliveryType && inputFormik.errors.deliveryType}\n reset={resetFormFlag}\n id=\"addDeliveryTypeSelectBox\"\n inputProps={{ name: \"deliveryType\", id: \"addDeliveryTypeSelectBox\" }}\n items={addUserDropdowns.deliveryTypeList}\n >\n \n \n \n \n \n \n \n Vehicle Type\n \n \n \n \n \n \n \n \n ) : null}\n {inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.LAST_MILE_DISPATCHER_ROLE || inputFormik.values.userRole === AppConstants.USERS_CONSTANTS.LAST_MILE_VIEWER_ROLE ? (\n \n \n \n Service Type\n \n \n \n \n \n \n ) : null}\n {inputFormik.values.deliveryType && inputFormik.values.deliveryType !== AppConstants.SELECT_NONE.value && (\n \n \n \n Vendor\n \n \n \n \n \n \n )}\n \n \n \n Status\n \n \n \n \n \n \n
\n
\n );\n };\n\n const getDialogActions = () => {\n return (\n
\n \n {\n dialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n \n \n
\n );\n };\n\n return (\n <>\n \n {userState.openSnackbar && (\n \n )}\n \n );\n};\n\nexport default UserAddOrEditDetails;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentItem': {\n paddingBottom: theme.spacing(3),\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n },\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n }\n }),\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useEffect } from 'react';\nimport * as yup from 'yup';\nimport CustomDialog from '../common/Dialog';\nimport { useStyles } from './ResetPwd.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\nimport AppConstants from '../constants/index';\nimport TextBox from '../common/TextBox';\nimport { useFormik } from 'formik';\n\ninterface ResetPwdProps {\n open: boolean;\n user: any;\n closePopup: () => void;\n handleDialogAction: (params: any) => void;\n}\n\nconst inputValidationSchema = yup.object({\n password: yup\n .string()\n .matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.VALIDATIONS.PASSWORD.REQUIRED.msg),\n confirmPassword: yup\n .string()\n .matches(new RegExp(AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.value), AppConstants.VALIDATIONS.PASSWORD.STRONG_PWD.msg)\n .required(AppConstants.VALIDATIONS.PASSWORD.REQUIRED.msg)\n .oneOf([yup.ref('password')], AppConstants.VALIDATIONS.PASSWORD.ONE_OF.msg)\n});\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ResetPwd = (props: ResetPwdProps) => {\n\n const classes = useStyles();\n const { open, user, closePopup, handleDialogAction } = props;\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const getInitialValues = () => {\n return {\n password: '',\n confirmPassword: ''\n }\n }\n const inputFormik = useFormik({\n initialValues: getInitialValues(),\n validationSchema: inputValidationSchema,\n onSubmit: (values) => {\n dialogActionHandler('submit', values);\n }\n });\n\n const handleDialogClose = () => {\n closePopup();\n }\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any) => {\n const params: any = {\n type: type,\n values: { ...values }\n }\n if (user) {\n params.values = { ...params.values, username: user.username };\n }\n handleDialogAction && handleDialogAction(params);\n },\n [handleDialogAction, user],\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n RESET PASSWORD\n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n
\n \n \n \n \n Password\n \n \n \n \n \n \n \n \n \n Confirm Password\n \n \n \n \n \n \n \n
\n )\n }\n\n const getDialogActions = () => {\n return (\n
\n \n \n \n \n
\n );\n };\n\n useEffect(() => {\n if (open) {\n inputFormik.resetForm();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open])\n\n return (\n \n )\n}\n\nexport default ResetPwd;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport _ from \"lodash\";\nimport { Grid, Typography, SvgIcon, Button } from \"@material-ui/core\";\n\nimport { useStyles } from \"./Users.styles\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as deleteIcon } from './../assets/icons/delete-icon.svg';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\n\nimport {\n createAddUserPayload,\n createEditUserPayload,\n createFilterPayload,\n createUserResetPwdPayload,\n createUserUAEPayload,\n getStatusField,\n lastMileUserDataTransform\n} from \"../mocks/users/response.transforms\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport { fetchUsersByFilter, fetchAddUserDropdownValues, updateUser, createUserViaSA, resetUserCreationStatus, resetUserUpdationStatus, usersResetPwd, updateUserInUaeService, createUserInUaeService, fetchCountryUrl, exportUserInformationToExcel, bulkDeleteUser, fetchUsersBuildVersion } from \"./redux/usersSlice\";\nimport { CellParams, RowData, SortModel } from \"../common/GridWrapper/DataTable\";\nimport { ACTION_BUTTON } from \"../constants/UsersConstants\";\nimport { combineTwoArrayAndRemoveDuplicate } from \"../utils/helpers.utils\";\n\nimport UserDetails from \"./UserDetails\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport UserAddOrEditDetails from \"./UserAddOrEditDetails\";\nimport ResetPwd from \"./ResetPwd\";\nimport CustomDialog from \"../common/Dialog\";\n\nconst Users = () => {\n const componentClasses = useStyles();\n const publishDialogPaperProps = { classes: { root: componentClasses.customDialogPaperPropsRoot } };\n const dispatch = useDispatch();\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const onLoadRef = useRef(true);\n\n const { data, tableLoading, loading, userCreationStatus, userRegisteredStatus, userCreationMsg, userUpdateStatus, addUserDropdowns, userUpdateMsg, resetPwdSuccess, error, errorCode, resetPwdMsg } = useSelector((state: AppState) => state.users);\n const { role, isAdmin, isDispatcher, isOnlyExpressDispatcher, isOnlyStandardDispatcher, isLastMileViewer, isOnlyStdLastMileViewer, isOnlyExpLastMileViewer } = useSelector((state: AppState) => state.userLogin);\n const { countryCode, hubCode, commonDropdowns } = useSelector((state: AppState) => state.common);\n const { isCollectionPointManager } = useSelector((state: AppState) => state.userLogin);\n\n const [listToShow, setListToShow] = useState([]);\n const [userData, setUserData] = useState({});\n const [userSearchValue, setUserSearchValue] = useState(\"\");\n const [openUserDetailsPopup, setOpenUserDetailsPopup] = useState(false);\n const [openUserAddPopup, setOpenUserAddPopup] = useState(false);\n const [openUserResetPwdPopup, setOpenUserResetPwdPopup] = useState(false);\n const [isEdit, setIsEdit] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const [tableWrapperData, setTableWrapperData] = useState({\n ...AppConstants.USERS_CONSTANTS.TABLE_WRAPPER_DATA, HeaderData: AppConstants.USERS_CONSTANTS.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'status') {\n newHeader.renderCell = (params: any) => (\n \n {params.value ? params.value : \"\"}\n \n );\n }\n if (newHeader.field === 'userId') {\n newHeader.renderCell = (params: CellParams) => (\n
\n {params.value}\n {params?.rowData?.emailVerified && }\n
\n )\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \n \n \n {isAdmin && }\n \n \n );\n }\n return newHeader;\n })\n });\n const [activeFilters, setActiveFilters] = useState({ ...tableWrapperData.defaultFiltersObj });\n const [userManagementState, setUserManagementState] = useState({ openDownloadUserDataPopUp : false, openUserDeletePopUp : false, userRowData : {} as any, reselctSelectedCheckbox: false })\n const [selectedRoutes, setSelectedRoutes] = useState([] as any[]);\n\n const fetchAllFilters = () => {\n dispatch(fetchAddUserDropdownValues());\n }\n\n const isBtnHidden = useCallback(() => {\n return (\n isDispatcher ||\n isCollectionPointManager ||\n isOnlyExpressDispatcher ||\n isOnlyStandardDispatcher ||\n isLastMileViewer ||\n isOnlyStdLastMileViewer ||\n isOnlyExpLastMileViewer\n );\n }, [\n isDispatcher,\n isCollectionPointManager,\n isOnlyStandardDispatcher,\n isOnlyExpressDispatcher,\n isLastMileViewer,\n isOnlyStdLastMileViewer,\n isOnlyExpLastMileViewer,\n ]);\n\n const handleHeaderButtonsDisableState = () => {\n let headerButtons = tableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'addUser':\n btn.hide = false;\n if (isBtnHidden()) {\n btn.hide = true;\n }\n break;\n case ACTION_BUTTON.BULK_DELETE: \n btn.disabled = !selectedRoutes.length;\n btn.displayName= selectedRoutes.length ? ` Delete ${selectedRoutes.length} User`: 'Delete Users'\n break;\n default:\n break;\n }\n return btn;\n });\n setTableWrapperData({ ...tableWrapperData, headerButtons: headerButtons });\n };\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = tableWrapperData.loadMore;\n loadMoreState.disabled = data.totalPages ? data.pageable.pageNumber + 1 >= data.totalPages : true;\n setTableWrapperData({ ...tableWrapperData, loadMore: loadMoreState });\n },\n [tableWrapperData, data]\n );\n\n const handleEditUserIconClick = (params: CellParams) => () => {\n setUserDataOnClick(params.rowData ? params.rowData : {} as RowData);\n setIsEdit(true);\n setOpenUserAddPopup(true);\n }\n\n const filterCallback = (filters: any, isLoadMore?: boolean) => {\n if (filters) {\n const requestContinuationToken = data.pageable.requestContinuation;\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const payload = createFilterPayload(payloadFilters, data, isLoadMore, role);\n dispatch(fetchUsersByFilter({filters: payload, requestContinuationToken: requestContinuationToken }));\n if (!isLoadMore) {\n dispatch(fetchUsersBuildVersion({filters: payload}));\n }\n setActiveFilters(filters);\n }\n }\n\n const searchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n onLoadRef.current = false;\n const searchKeys = Object.keys(data);\n setUserSearchValue(updatedSearchValue);\n if (updatedSearchValue) {\n for (const searchKey of searchKeys) {\n data[searchKey] = _.trim(data[searchKey]);\n if (data[searchKey] && data[searchKey].length >= AppConstants.SEARCH_BOX_LIMIT) {\n let searchPayload = _.cloneDeep(filters);\n searchPayload.search = data;\n filterCallback(searchPayload);\n return;\n } else {\n openSnackbarPopup(AppConstants.SEARCH_TEXT_LIMIT, AppConstants.SNACKBAR.TYPES.ERROR);\n return;\n }\n }\n }\n };\n\n const setUserDataOnClick = (rowData: RowData) => {\n let selectedRow: RowData = { ...rowData };\n delete selectedRow.actions;\n const selectedUser: any = { ...rowData.actions, tableRecord: selectedRow }\n setUserData(selectedUser);\n }\n\n const handleUserCellClick = (params: CellParams) => {\n if (params.field === 'userId') {\n setUserDataOnClick(params.rowData ? params.rowData : {} as RowData);\n setOpenUserDetailsPopup(true);\n }\n }\n\n const handleUserDeleteIconClick = (params: any) => () => {\n let rowData = {} as any; \n if(params?.rowData){\n rowData = params.rowData\n setUserManagementState({...userManagementState, userRowData : rowData, openUserDeletePopUp: true})\n }\n }\n\n const handleDeleteBulkUserButtonClick = () => {\n setUserManagementState({...userManagementState, openUserDeletePopUp: true, userRowData: {}})\n }\n\n const handleDeleteBulkUserDialogClose = () => {\n setUserManagementState({...userManagementState, openUserDeletePopUp: false, userRowData: {}})\n }\n\n const handleDeleteUserAction = async () => {\n const bulkDeletePayload = {usernames : []} as any;\n if(userManagementState?.userRowData?.actions?.username){\n bulkDeletePayload.usernames.push(userManagementState?.userRowData?.actions?.username)\n }else if(selectedRoutes?.length > 0){\n selectedRoutes.forEach((user: any) => {\n bulkDeletePayload.usernames.push(user?.actions?.username);\n })\n }\n\n if(bulkDeletePayload?.usernames?.length > 0){\n const response : any = await dispatch(bulkDeleteUser({ payload: bulkDeletePayload })); \n setUserManagementState({...userManagementState, openUserDeletePopUp: false, userRowData: {}})\n if(response?.payload?.successfullyDeletedUsers?.length > 0 && response?.payload?.message){\n openSnackbarPopup(response?.payload?.message, AppConstants.SNACKBAR.TYPES.SUCCESS);\n onLoadRef.current = false;\n filterCallback(activeFilters);\n }else {\n let message: string = AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n if(response?.payload?.message){\n message = response?.payload?.message;\n }\n openSnackbarPopup(message, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }\n }\n\n const handleHeaderButtonClick = (btnObj: any) => { \n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'addUser':\n openUserUpdatePopup(false);\n setUserManagementState({...userManagementState, reselctSelectedCheckbox: true});\n break;\n case AppConstants.BUTTONS.DOWNLOAD_ICON: \n handleDownloadUserDataDialogOpen();\n break;\n case ACTION_BUTTON.BULK_DELETE:\n if(selectedRoutes?.length > 0){\n handleDeleteBulkUserButtonClick();\n }\n else{\n openSnackbarPopup('No user record found to delete.', AppConstants.SNACKBAR.TYPES.ERROR);\n }\n break;\n default:\n break;\n }\n }\n }\n\n const closeUserDetailsPopup = () => {\n setOpenUserDetailsPopup(false);\n }\n\n const closeUserAddPopup = () => {\n setOpenUserAddPopup(false);\n setUserManagementState({...userManagementState, reselctSelectedCheckbox: false});\n }\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n }\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSessionExpired = () => {\n if (errorCode === AppConstants.USERS_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }\n\n const isDriverOrHelper = (userRole: string) => {\n return AppConstants.USERS_CONSTANTS.DRIVER_OR_VEHICLE_ROLES.filter((role: any) => role.code === userRole).length;\n }\n\n const updateUserdata = useCallback(\n (params: any) => {\n if (params.deliveryType === AppConstants.USERS_CONSTANTS.EXPRESS) {\n const payload = createEditUserPayload(_.cloneDeep(params), addUserDropdowns);\n if (payload) {\n dispatch(updateUser({ payload: payload }));\n }\n } else {\n const payload = createEditUserPayload(_.cloneDeep(params), addUserDropdowns);\n if (payload) {\n dispatch(updateUser({ payload: payload }));\n }\n if (isDriverOrHelper(params.userRole)) {\n const payloadUAE = createUserUAEPayload(_.cloneDeep(params), addUserDropdowns);\n if (payloadUAE) {\n dispatch(updateUserInUaeService({ payload: payloadUAE }));\n }\n }\n }\n },\n [addUserDropdowns, isDriverOrHelper, dispatch],\n )\n\n const openUserUpdatePopup = (isEdit: boolean) => {\n setIsEdit(isEdit);\n setOpenUserAddPopup(true);\n }\n\n const handleUserDetailsActions = (type: string) => {\n if (type === 'update') {\n closeUserDetailsPopup();\n openUserUpdatePopup(true);\n } else {\n setOpenUserResetPwdPopup(true);\n }\n }\n\n const handleAddUser = useCallback(\n (params: any) => {\n if (params.deliveryType === AppConstants.USERS_CONSTANTS.EXPRESS) {\n const payload = createAddUserPayload(_.cloneDeep(params), addUserDropdowns);\n dispatch(\n createUserViaSA({\n payload: payload\n })\n );\n } else {\n const payload = createAddUserPayload(_.cloneDeep(params), addUserDropdowns);\n dispatch(\n createUserViaSA({\n payload: payload\n })\n );\n if (isDriverOrHelper(params.userRole)) {\n const payloadUAE = createUserUAEPayload(_.cloneDeep(params), addUserDropdowns);\n if (payloadUAE) {\n dispatch(\n createUserInUaeService({\n payload: payloadUAE\n })\n );\n }\n }\n }\n },\n [addUserDropdowns, dispatch]\n )\n\n const fetchCurrentCountry = () => {\n dispatch(fetchCountryUrl({payload: countryCode}))\n }\n\n const handleUserUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'submit') {\n if (params.isEdit) {\n updateUserdata(params.values);\n } else {\n handleAddUser(params.values);\n }\n } else {\n closeUserAddPopup();\n }\n },\n [handleAddUser, updateUserdata],\n )\n\n const closeUserResetPwdPopup = () => {\n setOpenUserResetPwdPopup(false);\n }\n\n const handleUserResetPwd = (values: any) => {\n const payload = createUserResetPwdPayload(_.cloneDeep(values));\n dispatch(usersResetPwd({userdata: payload}))\n }\n\n const handleUserResetPwdActions = useCallback(\n (params: any) => {\n if (params.type === 'submit') {\n handleUserResetPwd(params.values);\n } else {\n closeUserResetPwdPopup();\n }\n },\n [handleUserResetPwd, closeUserResetPwdPopup],\n )\n\n const handleSnackbarOnExited = useCallback(\n () => {\n handleSessionExpired();\n if (snackbarType.current === AppConstants.SNACKBAR.TYPES.SUCCESS) {\n if (userCreationStatus) {\n dispatch(\n resetUserCreationStatus()\n )\n }\n if (userUpdateStatus) {\n dispatch(\n resetUserUpdationStatus()\n )\n }\n }\n },\n [dispatch, handleSessionExpired, userCreationStatus, userUpdateStatus],\n );\n\n const handleDownloadUserDataDialogOpen = () => {\n setUserManagementState({...userManagementState, openDownloadUserDataPopUp: true})\n }\n\n const handleDownloadUserDataDialogClose = () => {\n setUserManagementState({...userManagementState, openDownloadUserDataPopUp: false})\n }\n\n const handleDownloadUserDataAction = () => { \n let payloadFilters : any = _.cloneDeep(activeFilters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const payload = createFilterPayload(payloadFilters, data, false, role);\n dispatch(exportUserInformationToExcel({payload: payload}));\n handleDownloadUserDataDialogClose();\n }\n\n const renderDialogDetailsContent = (heading: string, subHeading ?: string) => {\n return (\n \n \n {`${heading}`}\n \n {subHeading && \n {`${subHeading}`}\n }\n \n );\n };\n\n const handleDownloadUserDataDialogContent = () => {\n const heading: string = `${AppConstants.POP_UP_MESSAGE_CONSTANT.DOWNLOAD_USER_INFORMATION}`;\n const subHeading: string = `${AppConstants.POP_UP_MESSAGE_CONSTANT.DOWNLOAD_USER_INFORMATION_CONFIRMATION}`;\n return renderDialogDetailsContent(heading, subHeading);\n }\n\n const handleDeleteBulkUserDialogContent = () => {\n const heading: string = `${AppConstants.USERS_CONSTANTS.POP_UP_MESSAGE_CONSTANT.DELETE_USER_RECORD}`;\n const subHeading: string = `${AppConstants.USERS_CONSTANTS.POP_UP_MESSAGE_CONSTANT.DOWNLOAD_USER_INFORMATION_CONFIRMATION}`;\n return renderDialogDetailsContent(heading, subHeading);\n }\n\n const handleDownloadUserDataDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDeleteBulkUserDialogActions = () => {\n return (\n \n \n \n \n );\n }\n\n const updateSelectedRoutes = (params: any) => { \n setUserManagementState({...userManagementState, reselctSelectedCheckbox: false});\n setSelectedRoutes(params?.rows);\n }\n\n useEffect(() => {\n if (userRegisteredStatus) {\n fetchCurrentCountry();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userRegisteredStatus])\n\n useEffect(() => {\n onLoadRef.current = true;\n }, [])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (userCreationStatus) {\n closeUserAddPopup();\n openSnackbarPopup(userCreationMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userCreationStatus, userCreationMsg])\n\n useEffect(() => { \n if (userUpdateStatus) {\n closeUserDetailsPopup();\n closeUserAddPopup();\n openSnackbarPopup(userUpdateMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userUpdateStatus])\n\n useEffect(() => {\n if (resetPwdSuccess) {\n openSnackbarPopup(resetPwdMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n closeUserResetPwdPopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [resetPwdSuccess]);\n\n useEffect(() => { \n setListToShow(lastMileUserDataTransform(listToShow, data, countryCode) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState();\n }, [listToShow, selectedRoutes]);\n\n useEffect(() => {\n const headerData = tableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = commonDropdowns.hubCodeList[countryCode] || [];\n }\n if (header.filterObj.fieldName === 'role') {\n header.filterObj.items = addUserDropdowns.rolesList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = addUserDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'type') {\n header.filterObj.items = addUserDropdowns.userTypeList || [];\n }\n }\n return header;\n });\n setTableWrapperData({ ...tableWrapperData, HeaderData: headerData });\n if (!onLoadRef.current) {\n const hubsToAdd = hubCode.map((hub: string) => ({ name: hub, value: hub }));\n const updatedFilters = { ...activeFilters, hub: { ...activeFilters.hub, value: hubsToAdd } };\n filterCallback(updatedFilters);\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (tableWrapperData && tableWrapperData.HeaderData) {\n let headerData = tableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = commonDropdowns.hubCodeList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value] || [];\n }\n if (header.filterObj.fieldName === 'role') {\n header.filterObj.items = addUserDropdowns.rolesList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = addUserDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'type') {\n header.filterObj.items = addUserDropdowns.userTypeList || [];\n }\n if (header.filterObj.fieldName === 'buildVersion') {\n header.filterObj.items = addUserDropdowns.buildVersionList || [];\n }\n if (header.filterObj.fieldName === 'vehicleType') { \n header.filterObj.items = addUserDropdowns.vehicleTypeList || [];\n }\n if (header.filterObj.fieldName === 'vendor') { \n const venderExpress = addUserDropdowns.vendorList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value] || [];\n const vendorStandard = addUserDropdowns.vendorListStd[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value] || [];\n header.filterObj.items = combineTwoArrayAndRemoveDuplicate(venderExpress, vendorStandard, 'value')\n }\n if (header.filterObj.fieldName === 'deliveryType') {\n header.filterObj.items = addUserDropdowns.deliveryTypeList || [];\n }\n if (header.filterObj.fieldName === 'serviceType') {\n header.filterObj.items = addUserDropdowns.serviceTypeList || [];\n }\n }\n return header;\n });\n setTableWrapperData({ ...tableWrapperData, HeaderData: headerData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [commonDropdowns, addUserDropdowns])\n\n useEffect(() => {\n if (isBtnHidden()) {\n let headerDataWithoutActions = tableWrapperData.HeaderData.map((data: any) => {\n if (data.field === \"actions\") {\n data.hide = true;\n }\n return data;\n });\n setTableWrapperData({ ...tableWrapperData, HeaderData: headerDataWithoutActions });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isBtnHidden])\n\n return (\n
\n {loading && }\n \n \n \n \n {openUserDetailsPopup && }\n {openUserAddPopup && }\n {openUserResetPwdPopup && }\n {openSnackbar && }\n {userManagementState.openDownloadUserDataPopUp && } content={handleDownloadUserDataDialogContent()} actions={handleDownloadUserDataDialogActions()} handleClose={handleDownloadUserDataDialogClose} />}\n {userManagementState.openUserDeletePopUp && } content={handleDeleteBulkUserDialogContent()} actions={handleDeleteBulkUserDialogActions()} handleClose={handleDeleteBulkUserDialogClose} />}\n \n
\n );\n};\n\nexport default Users;\n\n","import axios from \"axios\";\nimport { delveBaseURL } from \"../config/Api.config\";\n\nimport { replaceUrlVariables } from \"../utils/updateUrlParams\";\nimport { NetworkCallPayload } from \"./networkHandler.types\";\n\nconst networkHandlerDelve = async (params: NetworkCallPayload) => {\n const { url, urlParams, ...restApiOptions } = params;\n let updateUrl = url;\n if (urlParams) {\n updateUrl = replaceUrlVariables(url, urlParams);\n }\n\n axios.defaults.baseURL = delveBaseURL;\n axios.defaults.headers.common = {\n Authorization: sessionStorage.getItem(\"token\"),\n };\n axios.defaults.headers.common[\"system-id\"] = \"CWINGS\";\n\n return await axios.request({ url: updateUrl, ...restApiOptions });\n};\n\nexport default networkHandlerDelve;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\n\nimport moment from \"moment\";\n\nimport networkHandler from \"../../../network/networkHandler\";\nimport networkHandlerDelve from \"../../../network/networkHandlerDelve\";\nimport AppConstants from \"../../../constants\";\n\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { DelveDashboardState } from \"./delveSlice.types\";\nimport { saveFile, transformSelectValues } from \"../../../utils/helpers.utils\";\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"Delve/FetchDynamicFiltersOrdersDropdownValues\",\n async (\n {\n filters,\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"delve/order/dynamic-filter-count\",\n method: EApiMiddlewareMethods.POST,\n data: filters,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"Delve/FetchOrdersByFilter\",\n async (\n {\n filters,\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"delve/order/filter\",\n method: EApiMiddlewareMethods.POST,\n data: filters,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"Delve/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n filters,\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"order/displayStatusCount/delve\",\n method: EApiMiddlewareMethods.POST,\n data: filters,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"Delve/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"export/order\",\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\",\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchConsignmentHistoryAndProducts = createAsyncThunk(\n \"ConsignmentDetails/FetchConsignmentHistoryAndProducts\",\n async ({ params, tabValue }: { params: any; tabValue: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: `order/statusHistoryProducts/${params}?deliveryFlow=${tabValue}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getCratesInfo = createAsyncThunk(\n \"ConsignmentDetails/getCratesInfo\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/updateCratesAlectoApi`,\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchConsignmentUnOrderedProducts = createAsyncThunk(\"ConsignmentDetails/fetchConsignmentUnOrderedProducts\", async ({ params }: { params: any }, { rejectWithValue }) => {\n try {\n const request = {\n url: `unOrderedProducts/consignmentCode/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandlerDelve(request);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n});\n\nexport const closeDialog = createAsyncThunk(\"Delve/CloseDialog\", () => {\n return false;\n});\n\nexport const resetReplanningSuccess = createAsyncThunk(\"Delve/ResetReplanningSuccess\", () => {\n return false;\n});\n\nconst initialState: DelveDashboardState = {\n loading: false,\n tableLoading: false,\n exportError: \"\",\n ordersFilterChipsDisplayCount: {\n delveConsignmentCount: {\n VERIFIED: 0,\n UNVERIFIED: 0,\n },\n },\n ordersFiltersDropdowns: {\n hubNameList: [],\n deliverySlotList: [],\n statusList: [],\n driverList: [],\n },\n ordersData: {\n elements: [],\n pageNumber: 0,\n },\n error: \"\",\n errorCode: \"\",\n driversList: [],\n productsAfterUpdateLineItem: {},\n consignmentStatuses: [],\n productsList: [],\n cratesFromAlecto: \"\",\n productsListFromAlecto: [],\n /** exportToExcel */\n excelLoading: false,\n unOrderedProductsList: [],\n};\n\nconst delveSlice = createSlice({\n name: \"Delve\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchDynamicFiltersOrdersDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.fulfilled, (state, action) => {\n const { payload } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersFiltersDropdowns = {\n hubNameList: transformSelectValues(payload.hubNames || []),\n deliverySlotList: transformSelectValues(payload.deliverySlots || []),\n statusList: transformSelectValues(payload.statuses || []),\n driverList: transformSelectValues(payload.drivers || []),\n };\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersFilterChipsDisplayCount = payload;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters },\n },\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersData = {\n ...payload,\n elements: filters.pageNumber === 0 ? [...payload.elements] : [...state.ordersData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages,\n };\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistoryAndProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistoryAndProducts.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.productsAfterUpdateLineItem = {};\n state.consignmentStatuses = payload?.statuses?.length ? payload.statuses : [];\n state.productsList = payload?.products?.length ? payload.products : [];\n })\n .addCase(fetchConsignmentHistoryAndProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(getCratesInfo.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getCratesInfo.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cratesFromAlecto = payload;\n state.productsListFromAlecto = payload?.crateAvailableOrders?.[0]?.products?.length > 0 ? payload.crateAvailableOrders?.[0].products : null;\n })\n .addCase(getCratesInfo.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** exportToExcel */\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const { payload } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Consignments_${currentDate} _${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n /** fetchConsignmentUnOrderedProducts */\n .addCase(fetchConsignmentUnOrderedProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n state.unOrderedProductsList = [];\n })\n .addCase(fetchConsignmentUnOrderedProducts.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.unOrderedProductsList = payload;\n })\n .addCase(fetchConsignmentUnOrderedProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n });\n },\n});\n\nexport default delveSlice.reducer;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n \"& .planningItem\": {\n width: \"100%\",\n \"& .MuiTab-root\": {\n marginRight: 44,\n },\n \"&.heading\": {\n \"& p\": {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n },\n },\n \"&.content\": {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n \"& .tabPanel\": {\n height: \"calc(100% - 56px)\",\n padding: 0,\n \"&.routes\": {\n position: \"relative\",\n },\n },\n },\n },\n },\n tabPanelContainer: {\n flexDirection: \"row\",\n height: \"100%\",\n \"& .panelItem\": {\n width: \"100%\",\n \"&.chipFilter\": {\n padding: \"16px 16px 16px 0px\",\n \"& .chipsContainer\": {\n \"& .chipFilterItem\": {\n height: 36,\n marginRight: \"24px\",\n borderRadius: theme.spacing(1),\n border: \"1px solid rgba(10, 67, 124, 0.2)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n \"&:last-child\": {\n marginRight: 0,\n },\n \"&.firstItem\": {\n boxShadow: `0px 0px 10px 4px ${COLORS.BOX_SHADOW_PRIMARY}`,\n border: `2px solid ${theme.palette.primary.main}`,\n },\n \"&.active\": {\n background: `linear-gradient(274.11deg, ${COLORS.GRADIENT_BLUE} 2.78%, ${theme.palette.primary.main} 94.36%)`,\n border: \"none\",\n boxShadow: \"none\",\n \"& .chipItem p\": {\n color: COLORS.WHITE,\n },\n },\n \"&.fiveItemsWidth\": { minWidth: \"18%\" },\n \"&.fourItemsWidth\": { minWidth: \"23%\" },\n \"& .chipContainer\": {\n alignItems: \"center\",\n height: \"100%\",\n \"& .chipItem\": {\n padding: theme.spacing(0, 1.5),\n \"& p\": {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n \"&.name\": {\n \"& p\": {\n fontSize: 14,\n },\n },\n \"&.count\": {\n marginLeft: \"auto\",\n \"& p\": {\n fontSize: 24,\n },\n },\n },\n },\n },\n },\n },\n \"&.gridWrapper\": {\n height: \"calc(100% - 70px)\",\n \"& .idLink\": {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12,\n },\n },\n },\n },\n statusHeaderContainer: {\n \"& .tag\": {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n \"&.PICTON_BLUE\": {\n color: COLORS.PICTON_BLUE,\n backgroundColor: COLORS.PICTON_BLUE_LIGHT,\n },\n \"&.CREAM_CAN\": {\n color: COLORS.CREAM_CAN,\n backgroundColor: COLORS.CREAM_CAN_LIGHT,\n },\n \"&.BLUE\": {\n color: COLORS.PRIMARY_MAIN,\n backgroundColor: COLORS.PRIMARY_LIGHT,\n },\n \"&.VISTA_BLUE\": {\n color: COLORS.VISTA_BLUE,\n backgroundColor: COLORS.VISTA_BLUE_LIGHT,\n },\n \"&.SEA_GREEN\": {\n color: COLORS.SEA_GREEN,\n backgroundColor: COLORS.SEA_GREEN_LIGHT,\n },\n \"&.GOLDEN_BELL\": {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_BELL_LIGHT,\n },\n \"&.SCAMPI\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIGHT,\n },\n \"&.OLD_GOLD\": {\n color: COLORS.OLD_GOLD,\n backgroundColor: COLORS.OLD_GOLD_LIGHT,\n },\n \"&.SEA_GREEN2\": {\n color: COLORS.SEA_GREEN2,\n backgroundColor: COLORS.SEA_GREEN2_LIGHT,\n },\n \"&.LUCKY\": {\n color: COLORS.LUCKY,\n backgroundColor: COLORS.LUCKY_LIGHT,\n },\n \"&.DUSTY_GRAY\": {\n color: COLORS.DUSTY_GRAY,\n backgroundColor: COLORS.DUSTY_GRAY_NEW_LIGHT,\n },\n \"&.JUNGLE_GREEN\": {\n color: COLORS.JUNGLE_GREEN,\n backgroundColor: COLORS.JUNGLE_GREEN_LIGHT,\n },\n \"&.BLACK\": {\n color: COLORS.BLACK,\n backgroundColor: COLORS.BLACK_LIGHT,\n },\n \"&.MINSK\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIST,\n },\n \"&.BLUE_HAZE\": {\n color: COLORS.BLUE_HAZE,\n backgroundColor: COLORS.BLUE_HAZE_LIGHT,\n },\n \"&.OCEAN_GREEN\": {\n color: COLORS.OCEAN_GREEN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.OCEAN_GREEN,\n },\n \"&.CORAL_PINK\": {\n color: COLORS.CORAL_PINK,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.CORAL_PINK,\n },\n \"&.ALERT_ORANGE\": {\n color: COLORS.ALERT_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.ALERT_ORANGE,\n },\n \"&.AVATAR_OCEAN\": {\n color: COLORS.AVATAR_OCEAN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.AVATAR_OCEAN,\n },\n \"&.DARK_GOLD_ORANGE\": {\n color: COLORS.DARK_GOLD_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.DARK_GOLD_ORANGE,\n },\n \"&.ALTO\": {\n color: COLORS.ALTO,\n },\n\n \"&.CATSKILL_WHITE\": {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL,\n },\n\n \"&.BARLEY_WHITE\": {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD,\n },\n },\n },\n button: {\n margin: theme.spacing(0.5),\n \"&:last-child\": {\n marginRight: theme.spacing(0),\n },\n },\n colSettings: {\n float: \"right\",\n marginTop: -3,\n },\n buttonContainer: {\n marginLeft: \"auto\",\n \"& .clearAllFilterBtn\": {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2),\n },\n },\n dashboardTabRootStyle: {\n width: \"100%\",\n padding: \"0px 24px 0px 24px\",\n background: COLORS.ALICE_GRAY,\n height: \"44px\",\n minHeight: \"44px\",\n fontSize: 16,\n fontWeight: 500,\n color: COLORS.DUSTY_GRAY,\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTabs-flexContainer\": {\n height: \"44px\",\n },\n \"& .MuiTab-root.Mui-selected\": {\n fontWeight: 600,\n color: COLORS.MINE_SHAFT_NEW,\n },\n },\n dashboardTabPanelRootStyle: {\n width: \"100%\",\n padding: 0,\n },\n })\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n \"& .headingContainer\": {\n flexDirection: \"column\",\n \"& .titleHeading\": {\n fontSize: 18,\n fontWeight: 500,\n \"& .content\": {\n fontWeight: 600,\n },\n },\n \"& .titleContent\": {\n fontSize: 12,\n fontWeight: 600,\n \"&.link\": {\n cursor: \"pointer\",\n },\n },\n },\n \"& .tagContainer\": {\n marginLeft: theme.spacing(1),\n \"& .tag\": {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n \"&.PICTON_BLUE\": {\n color: COLORS.PICTON_BLUE,\n backgroundColor: COLORS.PICTON_BLUE_LIGHT,\n },\n \"&.CREAM_CAN\": {\n color: COLORS.CREAM_CAN,\n backgroundColor: COLORS.CREAM_CAN_LIGHT,\n },\n \"&.BLUE\": {\n color: COLORS.PRIMARY_MAIN,\n backgroundColor: COLORS.PRIMARY_LIGHT,\n },\n \"&.VISTA_BLUE\": {\n color: COLORS.VISTA_BLUE,\n backgroundColor: COLORS.VISTA_BLUE_LIGHT,\n },\n \"&.SEA_GREEN\": {\n color: COLORS.SEA_GREEN,\n backgroundColor: COLORS.SEA_GREEN_LIGHT,\n },\n \"&.GOLDEN_BELL\": {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_BELL_LIGHT,\n },\n \"&.SCAMPI\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIGHT,\n },\n \"&.OLD_GOLD\": {\n color: COLORS.OLD_GOLD,\n backgroundColor: COLORS.OLD_GOLD_LIGHT,\n },\n \"&.SEA_GREEN2\": {\n color: COLORS.SEA_GREEN2,\n backgroundColor: COLORS.SEA_GREEN2_LIGHT,\n },\n \"&.LUCKY\": {\n color: COLORS.LUCKY,\n backgroundColor: COLORS.LUCKY_LIGHT,\n },\n \"&.DUSTY_GRAY\": {\n color: COLORS.DUSTY_GRAY,\n backgroundColor: COLORS.DUSTY_GRAY_NEW_LIGHT,\n },\n \"&.JUNGLE_GREEN\": {\n color: COLORS.JUNGLE_GREEN,\n backgroundColor: COLORS.JUNGLE_GREEN_LIGHT,\n },\n \"&.BLACK\": {\n color: COLORS.BLACK,\n backgroundColor: COLORS.BLACK_LIGHT,\n },\n \"&.MINSK\": {\n color: COLORS.SCAMPI,\n backgroundColor: COLORS.SCAMPI_LIST,\n },\n \"&.BLUE_HAZE\": {\n color: COLORS.BLUE_HAZE,\n backgroundColor: COLORS.BLUE_HAZE_LIGHT,\n },\n \"&.OCEAN_GREEN\": {\n color: COLORS.OCEAN_GREEN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.OCEAN_GREEN,\n },\n \"&.CORAL_PINK\": {\n color: COLORS.CORAL_PINK,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.CORAL_PINK,\n },\n \"&.ALERT_ORANGE\": {\n color: COLORS.ALERT_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.ALERT_ORANGE,\n },\n \"&.AVATAR_OCEAN\": {\n color: COLORS.AVATAR_OCEAN,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.AVATAR_OCEAN,\n },\n \"&.DARK_GOLD_ORANGE\": {\n color: COLORS.DARK_GOLD_ORANGE,\n backgroundColor: COLORS.WHITE,\n border: \"solid\",\n borderWidth: \"1px\",\n borderColor: COLORS.DARK_GOLD_ORANGE,\n },\n \"&.ALTO\": {\n color: COLORS.ALTO,\n },\n\n \"&.CATSKILL_WHITE\": {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL,\n },\n\n \"&.BARLEY_WHITE\": {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD,\n },\n },\n },\n \"& .editIcon\": {\n paddingLeft: theme.spacing(1.5),\n \"& .icon\": {\n cursor: \"pointer\",\n verticalAlign: \"middle\",\n },\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .geocodedAddress\": {\n paddingBottom: theme.spacing(2),\n \"& .addressColItem\": {\n alignSelf: \"flex-start\",\n },\n \"& .geoLocAddressContainer\": {\n cursor: \"pointer\",\n \"& .address\": {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3,\n },\n \"& .addressLogo\": {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.open\": {\n transform: \"rotate(180deg)\",\n },\n },\n },\n \"& .addressMapContainer\": {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER,\n },\n },\n \"& .detailsHeader\": {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: \"18px 16px\",\n borderRadius: theme.spacing(1),\n \"& .detailsHeaderItem\": {\n paddingBottom: theme.spacing(2),\n \"& .title\": {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n },\n \"& .editIcon\": {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n \"& .subSection\": {\n paddingTop: \"16px\",\n display: \"flex\",\n },\n \"& .subSectionTitle\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n \"& .subSectionContent\": {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\",\n },\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .editAddress\": {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\",\n },\n \"& .headerItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& .contactItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& p\": {\n lineHeight: \"17px\",\n fontSize: 14,\n },\n \"& .name\": {\n fontWeight: 600,\n },\n \"&.geocodedAddress\": {\n paddingBottom: \"6px\",\n \"& .addressColItem\": {\n alignSelf: \"flex-start\",\n },\n \"& .geoLocAddressContainer\": {\n cursor: \"pointer\",\n \"& .address\": {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3,\n },\n \"& .addressLogo\": {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.open\": {\n transform: \"rotate(180deg)\",\n },\n },\n },\n \"& .addressMapContainer\": {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER,\n },\n },\n \"& .contactMobile\": {\n marginRight: theme.spacing(5),\n },\n \"& .logo\": {\n width: 24,\n height: 24,\n },\n \"& .contact\": {\n \"& a\": {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary,\n },\n paddingLeft: theme.spacing(1),\n \"&.mobile\": {\n paddingLeft: theme.spacing(0.25),\n },\n },\n },\n },\n \"& .contentHubAddress\": {\n display: \"flex\",\n flexDirection: \"column\",\n \"& .main\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .title\": {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n },\n \"& .content\": {\n paddingTop: \"16px\",\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"20px\",\n },\n \"& .subSection\": {\n paddingTop: \"16px\",\n display: \"flex\",\n },\n \"& .subSectionTitle\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n \"& .subSectionContent\": {\n fontSize: \"14px\",\n fontWeight: 500,\n paddingLeft: \"8px\",\n },\n \"& .detailsHeaderItem\": {\n paddingBottom: theme.spacing(2),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .editAddress\": {\n height: \"18px\",\n width: \"18px\",\n cursor: \"pointer\",\n },\n \"& .headerItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& .contactItemContainer\": {\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n },\n \"& p\": {\n lineHeight: \"17px\",\n fontSize: 14,\n },\n \"& .name\": {\n fontWeight: 600,\n },\n \"&.geocodedAddress\": {\n paddingBottom: \"6px\",\n \"& .addressColItem\": {\n alignSelf: \"flex-start\",\n },\n \"& .geoLocAddressContainer\": {\n cursor: \"pointer\",\n \"& .address\": {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3,\n },\n \"& .addressLogo\": {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&.open\": {\n transform: \"rotate(180deg)\",\n },\n },\n },\n \"& .addressMapContainer\": {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER,\n },\n },\n \"& .contactMobile\": {\n marginRight: theme.spacing(5),\n },\n \"& .logo\": {\n width: 24,\n height: 24,\n },\n \"& .contact\": {\n \"& a\": {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary,\n },\n paddingLeft: theme.spacing(1),\n \"&.mobile\": {\n paddingLeft: theme.spacing(0.25),\n },\n },\n },\n },\n \"& .detailsContent\": {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 1, 2, 1),\n \"& .contentRow\": {\n paddingBottom: theme.spacing(3),\n \"&.hubDetails\": {\n paddingBottom: theme.spacing(1),\n },\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .contentColumn\": {\n flex: \"2 0 0\",\n \"&:last-child\": {\n flex: \"1 0 0\",\n },\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n },\n \"& .label\": {\n paddingBottom: theme.spacing(1),\n },\n \"& .content\": {\n fontWeight: 600,\n },\n },\n \"& .columnDetails\": {\n alignContent: \"flex-end\",\n },\n \"& .endColumnDetails\": {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n },\n },\n \"& .sellerDetails\": {\n paddingTop: theme.spacing(1.75),\n \"& .detailsHeader\": {\n backgroundColor: theme.palette.secondary.main,\n },\n },\n \"& .deliveryProofSection\": {\n paddingBottom: theme.spacing(1),\n \"& .content\": {\n width: \"100%\",\n \"& .deliveryProofContainer\": {\n flexDirection: \"column\",\n \"& .deliveryProofItem\": {\n paddingBottom: theme.spacing(1.5),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .imagesContainer\": {\n flexWrap: \"nowrap\",\n \"& .imagesItem\": {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .imageItemContainer\": {\n flexDirection: \"column\",\n \"& .imageItem\": {\n paddingBottom: theme.spacing(2),\n \"& .heading\": {\n fontSize: 14,\n fontWeight: 500,\n },\n \"& .allImagesContainer\": {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n \"& .viewerContainer\": {\n display: \"flex\",\n },\n \"&.sign\": {\n justifyContent: \"space-around\",\n },\n \"& img\": {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0,\n },\n },\n },\n },\n },\n },\n },\n \"& .commentsContainer\": {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n \"& .commentsItem\": {\n paddingBottom: theme.spacing(0.75),\n \"& p\": {\n fontWeight: 500,\n fontSize: 12,\n },\n \"& .heading\": {\n fontSize: 14,\n },\n },\n },\n },\n },\n },\n },\n \"& .consignmentHistory\": {\n paddingBottom: theme.spacing(1),\n },\n \"& .tabularSection\": {\n paddingBottom: theme.spacing(1),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"&.crates\": {\n \"& .itemsContainer .item .itemContainer .itemColumn.item1 p\": {\n fontWeight: 600,\n },\n \"& .itemsContainer .item .itemContainer .itemColumn.item1 .header p\": {\n fontWeight: 500,\n },\n \"& .crateBarcode\": {\n width: 80,\n height: 20,\n marginLeft: theme.spacing(3),\n },\n \"& .crateStageLocationIcon\": {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1),\n },\n \"& .crateDetails\": {\n fontSize: \"14px\",\n },\n },\n \"& .itemDiv\": {\n padding: theme.spacing(0),\n \"& .content\": {\n width: \"100%\",\n \"& .itemsContainer\": {\n flexWrap: \"nowrap\",\n \"& .item\": {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n \"& .itemContainer\": {\n padding: theme.spacing(0, 2),\n \"&.items\": {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600,\n },\n \"&.header p\": {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n \"& .itemColumn\": {\n padding: theme.spacing(0),\n \"&.item1\": {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\",\n },\n \"& .rejectedReason\": {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON,\n },\n \"& .viewOriginalLink\": {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6,\n },\n \"& .originalName\": {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n },\n },\n \"&.item2\": {\n \"& p\": {\n textAlign: \"center\",\n \"& .green\": {\n color: COLORS.PERSIAN_GREEN,\n },\n },\n },\n \"&.item3\": {\n \"& p\": {\n textAlign: \"right\",\n },\n },\n },\n },\n },\n },\n \"& .paymentContainer\": {\n padding: 16,\n paddingTop: 13,\n \"& .totalDivider\": {\n margin: \"11px 0px\",\n },\n \"& .paymentItem\": {\n \"&:last-child p\": {\n fontWeight: 600,\n },\n padding: \"5px 0\",\n \"& .paymentItemColumn\": {\n \"& p\": {\n fontSize: 14,\n lineHeight: \"17px\",\n },\n \"& .vat\": {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25),\n },\n \"&.right\": {\n marginLeft: \"auto\",\n },\n },\n },\n },\n },\n },\n },\n },\n accordionSummary: {\n \"& .header\": {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n \"&:last-child\": {\n paddingBottom: 0,\n },\n \"& .smallHeading\": {\n fontSize: 12,\n },\n \"& .itemStatusVerified\": {\n fontSize: 12,\n color: \"#319E60\",\n marginLeft: \"8px\",\n },\n \"& .itemStatusUnverified\": {\n fontSize: 12,\n color: \"#CF9E36\",\n marginLeft: \"8px\",\n },\n },\n \"& .content\": {\n flexGrow: 1,\n },\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n \"& .timelineItem\": {\n minHeight: 50,\n \"&:last-child\": {\n minHeight: \"auto\",\n },\n \"&:before\": {\n content: \"none\",\n },\n \"& .timelineDot\": {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n \"& .dotIcon\": {\n width: 18,\n height: 18,\n padding: 5,\n \"&.active\": {\n padding: 0,\n },\n },\n },\n \"& .primaryConnector\": {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`,\n },\n \"& .timelineContent\": {\n padding: 0,\n paddingLeft: theme.spacing(1),\n \"& .heading\": {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n \"&.error\": {\n color: COLORS.DARK_RED,\n \"&.active\": {\n paddingBottom: 17,\n },\n },\n \"&.active\": {\n // paddingBottom: 17\n },\n \"& .dateTime\": {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n },\n },\n \"& .metadataContainer\": {\n paddingBottom: theme.spacing(1.5),\n \"& .title\": {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY,\n },\n \"& .description\": {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT,\n },\n },\n },\n },\n },\n verifiedCrate: {\n fontSize: \"14px\",\n color: \"#319E60\",\n },\n unverifiedCrate: {\n fontSize: \"14px\",\n color: \"#CF9E36\",\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600,\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\",\n },\n horizontalDiv: {\n borderBottom: \"1px solid #E6E6E6\",\n marginBottom: \"16px\",\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\",\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\",\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\",\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\",\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\",\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n \"& .react-pdf__Page\": {\n marginTop: \"56px\",\n \"& .react-pdf__Page__canvas\": {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\",\n },\n },\n \"& .react-pdf__Page__annotations.annotationLayer\": {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: \"auto\",\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n \"& .countContainer\": {\n height: \"100%\",\n \"& .countItem\": {\n margin: \"auto\",\n \"& p\": {\n fontSize: 16,\n fontWeight: 400,\n },\n \"& .current\": {\n fontWeight: 500,\n },\n \"& .separator\": {\n padding: \"0 2px\",\n },\n },\n },\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\",\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeNoPdfModalIcon: {\n position: \"absolute\",\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500,\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY,\n },\n cratesOrderDetailsSummaryDiv: {\n margin: \"16px 0px 16px 0px\",\n padding: \"0px 8px 0px 8px\",\n },\n cratesOrderDetailsHeadingSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 400,\n wordBreak: \"break-all\",\n },\n cratesOrderDetailsValueSpanStyle: {\n margin: \"8px 0px 0px 0px\",\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 600,\n },\n cratesOrderDetailsVerifiedSpanStyle: {\n margin: 0,\n padding: \"4px\",\n fontSize: \"12px\",\n fontWeight: 500,\n color: COLORS.OCEAN_GREEN,\n border: \"1px solid\",\n borderColor: COLORS.OCEAN_GREEN,\n borderRadius: \"4px\",\n },\n cratesOrderDetailsUnVerifiedSpanStyle: {\n margin: 0,\n padding: \"4px\",\n fontSize: \"12px\",\n fontWeight: 500,\n color: COLORS.DUSTY_GRAY,\n border: \"1px solid\",\n borderColor: COLORS.DUSTY_GRAY,\n borderRadius: \"4px\",\n },\n cratesOrderDetailsIconStyle: {\n margin: \"0px 0px 0px 0px\",\n padding: \"0px 0px 0px 0px\",\n width: \"18px\",\n height: \"18px\",\n cursor: \"pointer\",\n transform: \"rotate(-90deg)\",\n },\n detailsItemContent: {\n margin: \"0px 0px 16px 0px\",\n padding: \"16px\",\n backgroundColor: COLORS.MINE_SHAFT_LIGHT,\n borderRadius: \"8px\",\n },\n detailsItemContentDivStyle: {\n margin: \"0px 0px 8px 0px\",\n padding: 0,\n },\n detailsItemContentLabelStyle: {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n },\n detailsItemContentValueStyle: {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600,\n },\n cratesOrderDetailsIssueFoundspanStyle: {\n margin: \"0px 0px 8px 0px\",\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 700,\n },\n issueItemDetailsDiv: {\n margin: \"auto\",\n },\n issueDetailsMainCard: {\n margin: 0,\n padding: 0,\n boxShadow: \"none\",\n },\n issueItemDetailsCard: {\n width: \"100%\",\n margin: 0,\n padding: \"16px 8px\",\n boxShadow: \"none\",\n border: \"1px solid\",\n borderColor: COLORS.ALTO,\n },\n paddingLeftStyle: {\n padding: \"0px 0px 0px 12px\",\n },\n cratesOrderDetailsPartialVerifiedSpanStyle: {\n margin: 0,\n padding: \"4px\",\n fontSize: \"10px\",\n fontWeight: 400,\n color: COLORS.GREY_SCALE,\n border: \"1px solid\",\n borderColor: COLORS.EMPEROR,\n borderRadius: \"4px\",\n },\n closeButton: {\n top: \"16px\",\n color: COLORS.PRIMARY_MAIN,\n right: \"24px\",\n position: \"absolute\",\n },\n /** */\n itemSummaryAccordianDetailsStyle: {\n margin: 0,\n padding: 0,\n display: \"block\",\n },\n itemSummaryHeaderGridItemStyle: {\n margin: 0,\n padding: \"0px 0px 14px 0px\",\n border: \"none\",\n borderBottom: \"1px solid #E6E6E6\",\n },\n itemSummaryHeaderContainerDivStyle: {\n margin: 0,\n padding: \"14px 14px 0px 14px\",\n width: \"100%\",\n height: \"auto\",\n border: \"none\",\n },\n itemSummarySunstitutedContainerDivStyle: {\n margin: \"12px 0px 4px 0px\",\n padding: \"0px 14px 0px 14px\",\n width: \"100%\",\n minHeight: \"50px\",\n border: \"none\",\n background: COLORS.SECONDARY_MAIN,\n },\n itemSummaryHeaderItemDivStyle: {\n margin: \"auto\",\n padding: 0,\n },\n itemSummaryHeaderItemValueDivStyle: {\n margin: \"auto\",\n padding: 0,\n textAlign: \"center\",\n },\n itemSummaryItemDetailValueDivStyle: {\n margin: \"auto 0px\",\n padding: \"4px 0px 0px 0px\",\n },\n itemSummaryHeadingValueSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 600,\n },\n itemSummaryHeadingResultSpanStyle: {\n margin: 0,\n padding: \"0px 0px 4px\",\n fontSize: \"14px\",\n fontWeight: 400,\n },\n itemSummarySubHeadingBoldSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"12px\",\n fontWeight: 600,\n },\n itemSummarySubHeadingBoldUnderlineSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"12px\",\n fontWeight: 600,\n textDecoration: \"underline\",\n cursor: \"pointer\",\n },\n itemSummarySubHeadingSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"12px\",\n fontWeight: 400,\n },\n itemSummaryVerifiedCrate: {\n margin: 0,\n padding: 0,\n fontSize: \"12px\",\n fontWeight: 400,\n color: \"#319E60\",\n },\n itemSummaryUnverifiedCrate: {\n margin: 0,\n padding: 0,\n fontSize: \"12px\",\n fontWeight: 400,\n color: \"#CF9E36\",\n },\n //\n itemSummaryFooterMainContainerDivStyle: {\n margin: 0,\n padding: 0,\n },\n itemSummaryFooterMainItemDivStyle: {\n margin: 0,\n padding: \"8px 16px 0px 16px\",\n width: \"100%\",\n height: \"36px\",\n border: \"none\",\n },\n itemSummaryFooterMainItemDivLastChildStyle: {\n margin: 0,\n padding: \"16px 16px 16px 16px\",\n width: \"100%\",\n height: \"52px\",\n },\n borderTopStyle: {\n borderTop: \"1px solid #E6E6E6\",\n },\n itemSummaryFooterGridContainerStyle: {\n margin: \"auto\",\n padding: 0,\n width: \"100%\",\n height: \"100%\",\n },\n itemSummaryFooterLeftGridItemStyle: {\n margin: \"auto\",\n padding: 0,\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n itemSummaryFooterRightGridItemStyle: {\n margin: \"auto\",\n padding: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n itemSummaryFooterValueSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 500,\n },\n itemSummaryFooterValueBoldSpanStyle: {\n margin: 0,\n padding: 0,\n fontSize: \"14px\",\n fontWeight: 700,\n },\n })\n);\n","import React from \"react\";\n\nimport { Grid, Typography } from \"@material-ui/core\";\n\nimport { getConsignmentStatusField, getStatusWithoutUnderScore } from \"../../../mocks/delve/response.transforms\";\n\ninterface interfaceDelveOrderDetailsTitleContent {\n classes: any;\n consignment: any;\n metadata: any;\n}\n\nconst DelveOrderDetailsTitleContent = (props: interfaceDelveOrderDetailsTitleContent) => {\n const { classes, consignment, metadata } = props;\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {metadata && metadata.deliveryStatus && (\n \n \n {metadata && metadata.deliveryStatus ? getStatusWithoutUnderScore(metadata.deliveryStatus) : \"\"}\n \n \n )}\n \n \n \n \n \n );\n};\n\nexport default React.memo(DelveOrderDetailsTitleContent);\n","import React from \"react\";\n\nimport { Grid, Typography } from \"@material-ui/core\";\nimport { getItemsFromMetaData, getValueFromMetaData } from \"../../../mocks/delve/response.transforms\";\n\ninterface interfaceDelveOrderDetailsConsignmentDetails {\n classes: any;\n consignment: any;\n deliveryDate: any;\n deliverySlot: any;\n metadata: any;\n custInfo: any;\n deliveryInformation: any;\n items: any;\n itemsVerified: any;\n tabValue: any;\n}\n\nconst DelveOrderDetailsConsignmentDetails = (props: interfaceDelveOrderDetailsConsignmentDetails) => {\n const { classes, consignment, deliveryDate, deliverySlot, metadata, custInfo, deliveryInformation, items, itemsVerified, tabValue } = props;\n return (\n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode}\n \n \n \n \n \n \n Delivery Date\n \n \n {deliveryDate}\n \n \n \n \n \n \n Delivery Slot\n \n \n {deliverySlot}\n \n \n \n \n \n \n \n \n \n \n Verified By\n \n \n {getValueFromMetaData(metadata, tabValue, \"verifiedBy\")}\n \n \n \n \n \n \n Delivery Area\n \n \n {custInfo && custInfo.address ? custInfo.address.area : \"\"}\n \n \n \n \n \n \n Payment Mode\n \n \n {metadata ? metadata?.paymentType : \"\"}\n \n \n \n \n \n \n \n \n \n \n Delivery Proposition\n \n \n {metadata ? metadata?.deliveryType : \"\"}\n \n \n \n \n \n \n Route No.\n \n \n {metadata ? metadata?.routeName : \"\"}\n \n \n \n \n \n \n Driver\n \n \n {(deliveryInformation && deliveryInformation.driver && deliveryInformation.driver.name) || \"\"}\n \n \n \n \n \n \n \n \n \n \n Vehicle\n \n \n {(deliveryInformation && deliveryInformation.vehicle && deliveryInformation.vehicle.name) || \"\"}\n \n \n \n \n \n \n Helper\n \n \n {(deliveryInformation && deliveryInformation.helper && deliveryInformation.helper.name) || \"\"}\n \n \n \n \n \n \n {\"\"}\n \n \n {\"\"}\n \n \n \n \n \n \n\n \n {/* New Items Section */}\n \n \n \n Total Items\n \n \n {`${Number(getItemsFromMetaData(metadata, tabValue))}`}\n \n \n \n \n \n \n Items Verified\n \n \n {`${Number(getValueFromMetaData(metadata, tabValue, \"itemsVerified\"))}`}\n \n \n \n\n \n \n \n Issues Reported\n \n \n {`${Number(getValueFromMetaData(metadata, tabValue, \"issuesFound\"))} `}\n \n \n \n \n \n );\n};\n\nexport default React.memo(DelveOrderDetailsConsignmentDetails);\n","import React from \"react\";\n\nimport { Grid, Typography } from \"@material-ui/core\";\n\nimport { fixDecimals, isUndefined } from \"../../../utils/helpers.utils\";\nimport {\n getItemNameForDelveOrderList,\n getItemReportedQtyForDelveOrderList,\n getItemSQtyForDelveOrderList,\n getItemShippedQtyForDelveOrderList,\n getItemStatusForDelveOrderList,\n} from \"../../../mocks/delve/response.transforms\";\nimport { TAB_VALUES_CONSTANT } from \"../../../constants/DelveDashboardConstant\";\n\ninterface interfaceDelveOrderDetailsItemsContent {\n classes: any;\n items: any;\n metadata: any;\n showOriginalName: any;\n handleOriginalName: any;\n tabValue: any;\n}\n\nconst DelveOrderDetailsItemsContent = (props: interfaceDelveOrderDetailsItemsContent) => {\n const { items, classes, metadata, showOriginalName, handleOriginalName, tabValue } = props;\n\n const getReasonDescription = (item: any) => {\n if (!isUndefined(item)) {\n if (tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n if (item.qcReportsReturn !== undefined && item.qcReportsReturn.reasonDescription !== undefined && item.qcReportsReturn.reasonDescription !== undefined) {\n return getRejectionReason(item.qcReportsReturn.reasonDescription);\n } else if (item.reportedReasonDescription) {\n return getRejectionReason(item.reportedReasonDescription);\n }\n } else if (\n item.associatedCrates !== undefined &&\n Array.isArray(item.associatedCrates) &&\n item.associatedCrates.length > 0 &&\n item.associatedCrates[0] !== undefined &&\n item.associatedCrates[0].qcReports !== undefined &&\n item.associatedCrates[0].qcReports.reasonDescription !== undefined\n ) {\n return getRejectionReason(item.associatedCrates[0].qcReports.reasonDescription);\n } else if (\n !isUndefined(item.substitutedProducts) &&\n Array.isArray(item.substitutedProducts) &&\n item.substitutedProducts.length > 0 &&\n !isUndefined(item.substitutedProducts[0].associatedCrates) &&\n Array.isArray(item.substitutedProducts[0].associatedCrates) &&\n item.substitutedProducts[0].associatedCrates.length > 0 &&\n !isUndefined(item.substitutedProducts[0].associatedCrates[0]) &&\n !isUndefined(item.substitutedProducts[0].associatedCrates[0].qcReports) &&\n !isUndefined(item.substitutedProducts[0].associatedCrates[0].qcReports.reasonDescription)\n ) {\n return getRejectionReason(item.substitutedProducts[0].associatedCrates[0].qcReports.reasonDescription);\n } else if (\n !isUndefined(item.qcStatusDelivery) &&\n !isUndefined(item.qcStatusDelivery.reportedQty) &&\n Number(item.qcStatusDelivery.reportedQty) > 0 &&\n !isUndefined(item.qcReportsDelivery) &&\n !isUndefined(item.qcReportsDelivery.reasonDescription)\n ) {\n return getRejectionReason(item.qcReportsDelivery.reasonDescription);\n } else if (!isUndefined(item.reason) && !isUndefined(item.reason.reasonCode) && !isUndefined(item.reason.reasonDescription)) {\n return getRejectionReason(item.reason.reasonDescription);\n } else if (!isUndefined(item.reportedReasonDescription)) {\n return getRejectionReason(item.reportedReasonDescription);\n }\n }\n return <>;\n };\n\n const getItemPrice = (item: any) => {\n if (!isUndefined(item.substitutedProducts) && Array.isArray(item.substitutedProducts) && item.substitutedProducts.length > 0 && !isUndefined(item.substitutedProducts[0])) {\n if (!isUndefined(item.substitutedProducts[0].effectiveUnitPrice) && Number(item.substitutedProducts[0].effectiveUnitPrice) > 0) {\n return fixDecimals(2, item.substitutedProducts[0].effectiveUnitPrice.toString());\n } else if (!isUndefined(item.substitutedProducts[0].unitPrice)) {\n return fixDecimals(2, item.substitutedProducts[0].unitPrice.toString());\n }\n } else if (!isUndefined(item.effectiveUnitPrice) && Number(item.effectiveUnitPrice) > 0) {\n return fixDecimals(2, item.effectiveUnitPrice.toString());\n } else if (!isUndefined(item.unitPrice)) {\n return fixDecimals(2, item.unitPrice.toString());\n }\n return \"\";\n };\n\n const getRejectionReason = (reasonDescription: any) => {\n return (\n \n \n Issue Found - {reasonDescription || \"Issue Found\"}\n \n \n );\n };\n\n return items && items.length ? (\n items.map((item: any, index: number) => (\n \n \n \n {getItemNameForDelveOrderList(item)}\n \n \n {`${getItemSQtyForDelveOrderList(item, tabValue)} ${item.uom && item.uom === \"Grams\" ? item.uom : \"\"}`}\n \n \n {`${getItemShippedQtyForDelveOrderList(item, tabValue)} ${item.uom && item.uom === \"Grams\" ? item.uom : \"\"}`}\n \n \n {`${getItemReportedQtyForDelveOrderList(item, tabValue)} `}\n \n \n {`${getItemPrice(item)} ${metadata && metadata.currency}`}\n \n \n \n {`${getItemStatusForDelveOrderList(item, tabValue)} `}\n \n \n {Number(getItemReportedQtyForDelveOrderList(item, tabValue)) > 0 && getReasonDescription(item)}\n \n\n {!isUndefined(item.substitutedProducts) && Array.isArray(item.substitutedProducts) && item.substitutedProducts.length > 0 ? (\n <>\n \n \n This item was substituted{\" \"}\n handleOriginalName()}>\n {\"View Original\"}\n \n \n \n {showOriginalName && item.substitutedProducts && (\n \n \n {item.name.en.toLowerCase()}\n \n \n {`${item.quantity || \"\"} ${item.uom && item.uom === \"Grams\" ? item.uom : \"\"}`}\n \n \n {`${item.shippedQty || \"\"} ${item.uom && item.uom === \"Grams\" ? item.uom : \"\"}`}\n \n\n \n {item.rejectedQty || \"-\"}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n \n )}\n \n ) : (\n <>\n )}\n \n ))\n ) : (\n No Items to display\n );\n};\n\nexport default React.memo(DelveOrderDetailsItemsContent);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Divider, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow.svg\";\n\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport AppConstants from \"../../../constants\";\nimport DelveOrderDetailsItemsContent from \"./DelveOrderDetailsItemsContent\";\n\nimport { fixDecimals, isCardOnDelivery } from \"../../../utils/helpers.utils\";\nimport { TAB_VALUES_CONSTANT } from \"../../../constants/DelveDashboardConstant\";\n\ninterface interfaceDelveOrderDetailsItemsSummaryContent {\n classes: any;\n items: any;\n itemsVerified: any;\n metadata: any;\n deliveryInformation: any;\n showOriginalName: any;\n handleOriginalName: any;\n tabValue: any;\n}\n\nconst DelveOrderDetailsItemsSummaryContent = (props: interfaceDelveOrderDetailsItemsSummaryContent) => {\n const { classes, items, itemsVerified, metadata, deliveryInformation, showOriginalName, handleOriginalName, tabValue } = props;\n\n return (\n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n \n {`Items Summary ${items !== undefined && Array.isArray(items) && items.length > 0 ? \"(\" + items.length + \")\" : \"\"} `}\n \n \n \n \n \n \n \n Product Name\n \n \n {tabValue === TAB_VALUES_CONSTANT.RETURNS.value ? \"Shipped Quantity\" : \"Ordered Quantity\"}\n \n \n {tabValue === TAB_VALUES_CONSTANT.RETURNS.value ? \"Returned Quantity\" : \"Shipped Quantity\"}\n \n \n Reported Quantity\n \n \n Unit Price\n \n \n \n \n \n \n \n \n \n \n \n Payment Method\n \n \n {metadata && metadata.paymentType ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Paid by SHARE points\n \n \n {\"-\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n \n {deliveryInformation && metadata\n ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n\n \n \n \n \n Grand Total {` (inclusive of VAT) `}\n \n \n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n {metadata && (metadata.paymentType === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ? (\n <>\n \n \n \n Amount to be Collected\n \n \n \n {metadata ? `${fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n \n Collected Amount\n \n \n \n {metadata ? `${fixDecimals(2, metadata.collectedAmount ? metadata.collectedAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n ) : null}\n \n \n \n \n );\n};\n\nexport default React.memo(DelveOrderDetailsItemsSummaryContent);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Collapse, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport mobileLogoIcon from \"../../../assets/icons/mobileLogo.svg\";\nimport emailLogoIcon from \"../../../assets/icons/emailLogo.svg\";\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow.svg\";\n\nimport MapContainer from \"../../../common/GoogleMapContainer\";\n\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { getAddressInfo, getLatLong } from \"../../../mocks/delve/response.transforms\";\n\ninterface interfaceDelveOrderDetailsHubAddressContent {\n classes: any;\n hubName: any;\n posInfo: any;\n toggleSellerMap: any;\n custGeoLocation: any;\n sellerGeoLocation: any;\n updateToggleSellerMap: any;\n}\n\nconst DelveOrderDetailsHubAddressContent = (props: interfaceDelveOrderDetailsHubAddressContent) => {\n const { classes, hubName, posInfo, toggleSellerMap, custGeoLocation, sellerGeoLocation, updateToggleSellerMap } = props;\n\n return (\n \n \n } aria-controls=\"hub-address-header\" id=\"hub-address-header\" className={classes.accordionSummary}>\n Hub Address\n \n\n \n \n \n {hubName}\n {getAddressInfo(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n Lat/Long:\n {getLatLong(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n \n \n updateToggleSellerMap(!toggleSellerMap)}>\n View Geocoded Address\n \n \n \n \n \n {custGeoLocation ? : \"\"}\n \n \n \n \n \n \n \n \n \"Mobile\"\n {posInfo ? {posInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {posInfo ? {posInfo.email || \"\"} : \"\"}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(DelveOrderDetailsHubAddressContent);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Collapse, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport mobileLogoIcon from \"../../../assets/icons/mobileLogo.svg\";\nimport emailLogoIcon from \"../../../assets/icons/emailLogo.svg\";\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow.svg\";\n\nimport MapContainer from \"../../../common/GoogleMapContainer\";\n\nimport { getAddressInfo, getLatLong } from \"../../../mocks/delve/response.transforms\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\n\ninterface interfaceDelveOrderDetailsCustomerDetailsContent {\n classes: any;\n custInfo: any;\n deliveryInformation: any;\n toggleCustMap: any;\n custGeoLocation: any;\n updateToggleCustMap: any;\n}\n\nconst DelveOrderDetailsCustomerDetailsContent = (props: interfaceDelveOrderDetailsCustomerDetailsContent) => {\n const { classes, custInfo, deliveryInformation, toggleCustMap, custGeoLocation, updateToggleCustMap } = props;\n\n return (\n \n \n } aria-controls=\"hub-address-header\" id=\"hub-address-header\" className={classes.accordionSummary}>\n Customer Details\n \n\n \n \n \n {custInfo && custInfo.name}\n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")} \n
\n Lat/Long :\n {getLatLong(custInfo && custInfo.address ? custInfo.address : \"\")}\n
\n
\n Landmark :\n {custInfo && custInfo.address ? custInfo.address.landmark : \"\"}\n
\n
\n Delivery Instructions :\n {deliveryInformation ? deliveryInformation.deliveryInstructions : \"\"}\n
\n
\n \n \n \n updateToggleCustMap(!toggleCustMap)}>\n View Geocoded Address\n \n \n \n \n \n {custGeoLocation ? : \"\"}\n \n \n \n \n \n \n \n \n \"Mobile\"\n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default React.memo(DelveOrderDetailsCustomerDetailsContent);\n","import React from \"react\";\n\nimport { Accordion, AccordionDetails, AccordionSummary, Grid, SvgIcon, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as downArrowIcon } from \"../../../assets/icons/down-arrow.svg\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { isUndefined, isInputAnArray, isNonEmptyArray, checkIfInputIsObject, checkIfInputIsValidObjectWithKeys, countObjectProperties } from \"../../../utils/helpers.utils\";\nimport { TAB_VALUES_CONSTANT } from \"../../../constants/DelveDashboardConstant\";\n\ninterface DelveOrderDetailsByCratesDetailsContentInterface {\n classes: any;\n metadata: any;\n crates_details_object: any;\n show_reported_item_view: any;\n tabValue: any;\n}\n\nconst DelveOrderDetailsByCratesDetailsContent = (props: DelveOrderDetailsByCratesDetailsContentInterface) => {\n const { classes, metadata, crates_details_object, show_reported_item_view, tabValue } = props;\n\n const getClassNameForStatus = (verified: number) => {\n if (!isUndefined(verified)) {\n if (verified === 0) {\n return classes.cratesOrderDetailsUnVerifiedSpanStyle;\n }\n return classes.cratesOrderDetailsVerifiedSpanStyle;\n // return classes.cratesOrderDetailsPartialVerifiedSpanStyle;\n }\n return classes.cratesOrderDetailsUnVerifiedSpanStyle;\n };\n\n const getStatusText = (verified: number) => {\n let status: string = \"Unverified\";\n if (!isUndefined(verified)) {\n if (Number(verified) > 0) {\n status = \"Verified\";\n }\n }\n return status;\n };\n\n return (\n \n {tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value && (\n \n }\n aria-controls=\"crate-section-content\"\n id=\"crate-section-content\"\n className={classes.accordionSummary}\n >\n \n Crate Summary\n \n Total Crates {` : ${Object.keys(crates_details_object?.crates_data_obj).length} `} \n \n \n \n \n \n {crates_details_object !== undefined &&\n crates_details_object?.crates_data_obj !== undefined &&\n typeof crates_details_object?.crates_data_obj === \"object\" &&\n Object.keys(crates_details_object?.crates_data_obj).length > 0 ? (\n \n \n \n Crate ID\n \n \n Item Qty\n \n \n Reported Qty\n \n \n Status\n \n \n Issue Cost\n \n \n {Object.keys(crates_details_object?.crates_data_obj).map((key_name: any, key_name_index: any) => (\n \n \n \n \n {key_name || \"\"}\n \n \n \n \n {crates_details_object?.crates_data_obj[key_name].productQty || \"0\"}\n \n \n \n \n {crates_details_object?.crates_data_obj[key_name].reportedQty || \"0\"}\n \n \n \n \n
\n {getStatusText(crates_details_object?.crates_data_obj[key_name].verified)}\n
\n
\n
\n \n \n {`${Number(crates_details_object?.crates_data_obj[key_name].issueCost).toFixed(2) || \"0\"} ${\n (metadata && metadata.currency) || \"\"\n }`}\n \n \n {crates_details_object?.crates_data_obj[key_name].issue_found !== undefined && crates_details_object?.crates_data_obj[key_name].issue_found && (\n \n show_reported_item_view(true, key_name)} />\n \n )}\n
\n
\n ))}\n
\n ) : (\n No Crates to display\n )}\n
\n
\n
\n )}\n \n \n \n \n Consignment Value\n \n \n {`${\n tabValue === TAB_VALUES_CONSTANT.RETURNS.value\n ? metadata !== undefined && metadata?.returnedCost !== undefined\n ? Number(metadata?.returnedCost).toFixed(2)\n : 0\n : metadata !== undefined && metadata?.amountToCollect !== undefined\n ? Number(metadata?.amountToCollect).toFixed(2)\n : 0\n } ${metadata.currency}`}\n \n \n \n \n \n \n Total issue cost\n \n \n {`${\n crates_details_object !== undefined && crates_details_object.issues_reported_cost !== undefined ? Number(crates_details_object.issues_reported_cost).toFixed(2) : 0\n } ${(metadata && metadata.currency) || \"\"}`}\n \n \n \n {crates_details_object !== undefined &&\n crates_details_object.item_issues_object !== undefined &&\n typeof crates_details_object.item_issues_object === \"object\" &&\n Object.keys(crates_details_object.item_issues_object).length > 0 ? (\n Object.keys(crates_details_object.item_issues_object).map((issue_key: any, issue_key_index: any) => (\n \n \n \n {`${\n crates_details_object.item_issues_object[issue_key] !== undefined && crates_details_object.item_issues_object[issue_key].reasonDescription !== undefined\n ? crates_details_object.item_issues_object[issue_key].reasonDescription\n : \"Issue Item\"\n }`}\n \n \n {`${\n crates_details_object.item_issues_object[issue_key] !== undefined && crates_details_object.item_issues_object[issue_key].issues_cost !== undefined\n ? Number(crates_details_object.item_issues_object[issue_key].issues_cost).toFixed(2)\n : \"0\"\n } ${(metadata && metadata.currency) || \"\"}`}\n \n \n \n ))\n ) : (\n <>\n )}\n \n
\n );\n};\n\nexport default React.memo(DelveOrderDetailsByCratesDetailsContent);\n","import React from \"react\";\n\nimport { Grid, IconButton, Typography } from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\ninterface DelveOrderDetailsItemReportedTitleContentInterface {\n classes: any;\n crateId: any;\n handleClose: any;\n}\n\nconst DelveOrderDetailsItemReportedTitleContent = (props: DelveOrderDetailsItemReportedTitleContentInterface) => {\n const { classes, crateId, handleClose } = props;\n\n return (\n \n \n {`Issues reported - ${crateId || \"Crate\"}`}\n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(DelveOrderDetailsItemReportedTitleContent);\n","import React from \"react\";\n\nimport { Card, Grid, Typography } from \"@material-ui/core\";\nimport { isNonEmptyArray, isNonEmptyObject, isNull, isObject, isUndefined } from \"../../../utils/helpers.utils\";\nimport { CRATE_PRODUCT_DETAILS_OBJECT_INTERFACE } from \"../../../constants/DelveOrderListConstant\";\n\ninterface DelveOrderDetailsItemReportedDetailsContentInterface {\n classes: any;\n crateId: any;\n metadata: any;\n crates_details_object: any;\n}\n\nconst DelveOrderDetailsItemReportedDetailsContent = (props: DelveOrderDetailsItemReportedDetailsContentInterface) => {\n const { classes, crateId, metadata, crates_details_object } = props;\n\n const isProductDetailsPresent = () => {\n if (\n !isUndefined(crateId) &&\n !isNull(crateId) &&\n !isUndefined(crates_details_object) &&\n !isUndefined(crates_details_object.crates_data_obj) &&\n isObject(crates_details_object.crates_data_obj) &&\n isNonEmptyObject(crates_details_object.crates_data_obj) &&\n !isUndefined(crates_details_object.crates_data_obj[crateId]) &&\n !isUndefined(crates_details_object.crates_data_obj[crateId].productDetails) &&\n isObject(crates_details_object.crates_data_obj[crateId].productDetails) &&\n isNonEmptyObject(crates_details_object.crates_data_obj[crateId].productDetails)\n ) {\n return true;\n }\n return false;\n };\n\n const getReasonDescription = (item: CRATE_PRODUCT_DETAILS_OBJECT_INTERFACE) => {\n if (!isUndefined(item) && !isUndefined(item?.qcReports) && !isUndefined(item?.qcReports?.reasonDescription) && !isNull(item?.qcReports?.reasonDescription)) {\n return item?.qcReports?.reasonDescription;\n } else if (!isUndefined(item) && !isUndefined(item.reportedReasonDescription) && !isNull(item.reportedReasonDescription)) {\n return item.reportedReasonDescription;\n }\n return \"Issue Found\";\n };\n\n return (\n \n {isProductDetailsPresent() ? (\n Object.keys(crates_details_object.crates_data_obj[crateId].productDetails).map(\n (keyName: string, keyNameIndex: number) =>\n !isUndefined(keyName) &&\n !isUndefined(crates_details_object.crates_data_obj[crateId].productDetails[keyName]) &&\n isNonEmptyArray(crates_details_object.crates_data_obj[crateId].productDetails[keyName]) && (\n \n \n {`${getReasonDescription(\n crates_details_object.crates_data_obj[crateId].productDetails[keyName][0]\n )}`}\n \n {crates_details_object.crates_data_obj[crateId].productDetails[keyName].map((item: CRATE_PRODUCT_DETAILS_OBJECT_INTERFACE, item_index: number) => (\n \n \n \n \"Product\"\n \n \n {`${(item && item.name && item.name.en) || \"Data not available\"}`}\n {`${item.unitPrice || 0} ${metadata.currency}`}\n \n \n {`${\"Reported Qty\"}`}\n {`${\n item.qcStatusDelivery && item.qcStatusDelivery.reportedQty && Number(item.qcStatusDelivery.reportedQty) > 0\n ? item.qcStatusDelivery.reportedQty\n : item.reportedQty && Number(item.reportedQty) > 0\n ? item.reportedQty\n : 0\n }`}\n \n \n {`${\"Issue Cost\"}`}\n {`${item.reported_cost || 0} ${metadata.currency}`}\n \n \n \n ))}\n \n )\n )\n ) : (\n <>\n )}\n \n );\n};\n\nexport default React.memo(DelveOrderDetailsItemReportedDetailsContent);\n","import React, { forwardRef, ReactElement, Ref, useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { fetchConsignmentHistoryAndProducts, closeDialog, fetchConsignmentUnOrderedProducts } from \"./redux/delveSlice\";\n\nimport moment from \"moment\";\n\nimport { AppState } from \"../../config/redux/reducers\";\nimport { useStyles } from \"./DelveOrderDetails.styles\";\n\n//Material UI Components\nimport Slide from \"@material-ui/core/Slide\";\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport { Grid } from \"@material-ui/core\";\n\n//Common Components\nimport CustomDialog from \"../../common/Dialog\";\nimport { Product, getCratesFromProducts, getSortedProducts, getUnOrderedProductsFromMetaData, getValueFromMetaData } from \"../../mocks/delve/response.transforms\";\n\n//Utils\nimport { isArrayNonEmpty, isNonEmptyObject, isUndefined, localTimeString } from \"utils/helpers.utils\";\nimport AppConstants from \"../../constants\";\n\n// Components\nimport Loader from \"../../common/Loader\";\nimport DelveOrderDetailsTitleContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsTitleContent\";\nimport DelveOrderDetailsConsignmentDetails from \"./DelveOrderDetailsCommon/DelveOrderDetailsConsignmentDetails\";\nimport DelveOrderDetailsItemsSummaryContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsItemsSummaryContent\";\nimport DelveOrderDetailsHubAddressContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsHubAddressContent\";\nimport DelveOrderDetailsCustomerDetailsContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsCustomerDetailsContent\";\nimport DelveOrderDetailsByCratesDetailsContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsByCratesDetailsContent\";\nimport DelveOrderDetailsItemReportedTitleContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsItemReportedTitleContent\";\nimport DelveOrderDetailsItemReportedDetailsContent from \"./DelveOrderDetailsCommon/DelveOrderDetailsItemReportedDetailsContent\";\nimport {\n CONSIGNMENT_OBJECT_INTERFACE,\n CRATES_DETAILS_OBJECT_INTERFACE,\n CUSTOMER_CONTACT_INFO_ADDRESS_INTERFACE,\n CUSTOMER_CONTACT_INFO_INTERFACE,\n DELIVERY_INFORMATION_INTERFACE,\n DELVE_ITEMS_INTERFACE,\n DELVE_META_DATA_INTERFACE,\n GEO_LOCATION_OBJECT_INTERFACE,\n POS_INFORMATION_CONTACT_INFO_INTERFACE,\n UN_ORDERED_PRODUCTS_RECORD_INTERFACE,\n} from \"../../constants/DelveOrderListConstant\";\n\ninterface DelveOrderDetailsProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n tabValue: any;\n}\n\nconst Transition = forwardRef(function Transition(props: TransitionProps & { children?: ReactElement }, ref: Ref) {\n return ;\n});\n\nconst DelveOrderDetails = (props: DelveOrderDetailsProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const { productsList, productsAfterUpdateLineItem, ordersData, unOrderedProductsList } = useSelector((state: AppState) => state.delveOrderList);\n const { countryCode } = useSelector((state: AppState) => state.common);\n\n const { open, consignment, closePopup, tabValue } = props;\n\n const [toggleCustMap, setToggleCustMap] = useState(false);\n const [toggleSellerMap, setToggleSellerMap] = useState(false);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const [orderDetailsState, setOrderDetailsState] = useState({\n loading: false,\n deliveryInformation: {} as DELIVERY_INFORMATION_INTERFACE,\n metadata: {} as DELVE_META_DATA_INTERFACE,\n custInfo: {} as CUSTOMER_CONTACT_INFO_INTERFACE,\n custGeoLocation: { name: \"\", location: { lat: 0, lng: 0 } } as GEO_LOCATION_OBJECT_INTERFACE,\n sellerGeoLocation: { name: \"\", location: { lat: 0, lng: 0 } } as GEO_LOCATION_OBJECT_INTERFACE,\n posInfo: { address: {} } as POS_INFORMATION_CONTACT_INFO_INTERFACE,\n items: [] as DELVE_ITEMS_INTERFACE[],\n crates_details_object: {} as CRATES_DETAILS_OBJECT_INTERFACE,\n deliveryDate: \"\" as string,\n deliverySlot: \"\" as string,\n hubName: \"\" as string,\n unOrderedProductsRecord: [] as Array,\n });\n\n const [reported_item_view, set_reported_item_view] = useState({ open: false, crateId: \"\" });\n\n let itemsVerified = ordersData.elements[0] && ordersData.elements[0].metadata && getValueFromMetaData(ordersData.elements[0].metadata, tabValue, \"itemsVerified\");\n\n const dialogPaperProps = { classes: { root: classes.dialogPaperPropsRoot }, square: true };\n\n const designProductAndCratesObject = (consignment: CONSIGNMENT_OBJECT_INTERFACE, productsList: Product, unOrderedProductsList?: any) => {\n if (consignment) {\n const deliveryInformation = consignment.deliveryInformation;\n const metadata = consignment.metadata;\n const custInfo: CUSTOMER_CONTACT_INFO_INTERFACE = deliveryInformation && deliveryInformation.customerContactInfo;\n const custGeoLocation = { name: \"\", location: { lat: 0, lng: 0 } };\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n custGeoLocation.location.lat = parseFloat(custInfo.address.latitude) || 0;\n custGeoLocation.location.lng = parseFloat(custInfo.address.longitude) || 0;\n }\n let posInfo = { address: {} } as POS_INFORMATION_CONTACT_INFO_INTERFACE;\n let hubName = \"\" as string;\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`;\n }\n const sellerGeoLocation = { name: \"\", location: { lat: 0, lng: 0 } };\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n sellerGeoLocation.location.lat = parseFloat(posInfo.address.latitude) || 0;\n sellerGeoLocation.location.lng = parseFloat(posInfo.address.longitude) || 0;\n }\n let items = getSortedProducts(productsList, tabValue, unOrderedProductsList);\n if (productsAfterUpdateLineItem && productsAfterUpdateLineItem.length > 0) {\n items = productsAfterUpdateLineItem;\n }\n let crates_details_object = getCratesFromProducts(productsList, tabValue, unOrderedProductsList);\n\n setOrderDetailsState({\n ...orderDetailsState,\n loading: false,\n deliveryInformation,\n metadata,\n custInfo,\n custGeoLocation,\n posInfo,\n hubName,\n deliveryDate,\n deliverySlot,\n sellerGeoLocation,\n items,\n crates_details_object,\n });\n }\n };\n\n const handleStatusHistoryAndProducts = async (consignment: CONSIGNMENT_OBJECT_INTERFACE) => {\n if (!isUndefined(consignment) && isNonEmptyObject(consignment) && Object.keys(consignment).length) {\n setOrderDetailsState({ ...orderDetailsState, loading: true });\n let consignmentCode = consignment && consignment.consignmentCode;\n const productsList = await dispatch(fetchConsignmentHistoryAndProducts({ params: consignmentCode, tabValue: tabValue }));\n if (!isUndefined(productsList) && !isUndefined(productsList.payload) && !isUndefined(productsList.payload.products)) {\n const unOrderedProducts: boolean = getUnOrderedProductsFromMetaData(consignment, tabValue);\n if (unOrderedProducts) {\n const unOrderedProductsList = await dispatch(fetchConsignmentUnOrderedProducts({ params: consignmentCode }));\n if (!isUndefined(unOrderedProductsList) && !isUndefined(unOrderedProductsList.payload) && !isUndefined(unOrderedProductsList.payload.results)) {\n designProductAndCratesObject(consignment, productsList.payload.products, unOrderedProductsList.payload.results);\n }\n } else {\n designProductAndCratesObject(consignment, productsList.payload.products);\n }\n } else {\n setOrderDetailsState({ ...orderDetailsState, loading: false });\n }\n }\n };\n\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n };\n\n const handleDialogClose = () => {\n closePopup();\n dispatch(closeDialog());\n };\n\n const getTitleContent = () => {\n return ;\n };\n\n const updateToggleSellerMap = (toggleSellerMap: boolean) => {\n setToggleSellerMap(toggleSellerMap);\n };\n\n const updateToggleCustMap = (toggleCustMap: boolean) => {\n setToggleCustMap(toggleCustMap);\n };\n\n const show_reported_item_view = (open: boolean, crateId: string) => {\n set_reported_item_view({ open: open, crateId: crateId });\n };\n\n const handle_close_reported_item_view = () => {\n set_reported_item_view({ open: false, crateId: \"\" });\n };\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n \n );\n };\n\n const getReportedItemTitleContent = () => {\n return ;\n };\n\n const getReportedItemDetailsContent = () => {\n return (\n \n );\n };\n\n useEffect(() => {\n if (!isUndefined(consignment) && isNonEmptyObject(consignment) && Object.keys(consignment).length) {\n handleStatusHistoryAndProducts(consignment);\n }\n }, [consignment]);\n\n return (\n <>\n {orderDetailsState.loading ? (\n \n ) : (\n <>\n \n\n {/* Reported Items View */}\n \n \n )}\n \n );\n};\n\nexport default DelveOrderDetails;","import { boolean } from \"yup\";\nimport AppConstants from \"../constants\";\nimport { TAB_VALUES_CONSTANT } from \"./DelveDashboardConstant\";\n\nexport interface DELVE_ORDER_LIST_STATE_INTERFACE {\n loading: boolean;\n openSnackbar: boolean;\n tabValue: string;\n consignmentData: any;\n openConsignmentDetailsPopup: boolean;\n activeOrdersFilterChip: string;\n ordersSearchValue: string;\n}\n\nexport const DELVE_ORDER_LIST_STATE: DELVE_ORDER_LIST_STATE_INTERFACE = {\n loading: false,\n openSnackbar: false,\n tabValue: TAB_VALUES_CONSTANT.DELIVERIES.value,\n consignmentData: {},\n openConsignmentDetailsPopup: false,\n activeOrdersFilterChip: AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP,\n ordersSearchValue: \"\",\n};\n\nexport interface CUSTOMER_CONTACT_INFO_ADDRESS_INTERFACE {\n addressId: string;\n apartment: string;\n area: string;\n building: string;\n city: string;\n countryIsoCode: string;\n countryName: string;\n landmark: string;\n latitude: string;\n longitude: string;\n makani: string;\n postalCode: string;\n status: string;\n streetName: string;\n streetNumber: string;\n zoneNumber: string;\n}\nexport interface CUSTOMER_CONTACT_INFO_INTERFACE {\n address: CUSTOMER_CONTACT_INFO_ADDRESS_INTERFACE;\n email: string;\n name: string;\n phone: string;\n}\n\nexport interface EXECUTED_LOCATION_INTERFACE {\n latitude: string;\n longitude: string;\n}\nexport interface DELIVERY_PROOF_INTERFACE {\n comments: string;\n executedLocation: EXECUTED_LOCATION_INTERFACE;\n imageURLs: Array;\n}\n\nexport interface DELIVERY_SLOT_INTERFACE {\n deliveryDate: string;\n deliverySlotTime: string;\n endTime: string;\n rescheduled: boolean;\n startTime: string;\n}\n\nexport interface DRIVER_INTERFACE {\n id: string;\n name: string;\n vendor: string;\n}\n\nexport interface EXECUTED_DELIVERY_SLOT_INTERFACE {\n endTime: string;\n startTime: string;\n rescheduled: boolean;\n}\n\nexport interface PASSIVE_ROUTES_INTERFACE {\n modifiedBy: string;\n modifiedTime: string;\n plannedDate: string;\n routeId: string;\n routeName: string;\n}\nexport interface VEHICLE_INTERFACE {\n active: boolean;\n crateCapacity: number | string;\n id: string;\n name: string;\n orderCapacity: number | string;\n temperatureControlled: boolean;\n}\nexport interface DELIVERY_INFORMATION_INTERFACE {\n actualTransitTime: string;\n carrier: string;\n carrierTrackingId: string;\n carrierTrackingUrl: string;\n customerContactInfo: CUSTOMER_CONTACT_INFO_INTERFACE;\n deliveryCost: string;\n deliveryInstructions: string;\n deliveryProof: DELIVERY_PROOF_INTERFACE;\n deliverySlot: DELIVERY_SLOT_INTERFACE;\n driver: DRIVER_INTERFACE;\n dynamicTransitTime: string | number;\n estimatedCrates: string | number;\n estimatedTransitTime: string | number;\n executedByHelper: boolean;\n executedDeliverySlot: EXECUTED_DELIVERY_SLOT_INTERFACE;\n passiveRoutes: Array;\n preferredVehicle: string;\n shipmentSize: string;\n totalCratesCount: number;\n totalWeight: string | number;\n vehicle: VEHICLE_INTERFACE;\n}\n\nexport interface QC_STATUS_DELIVERY_INTERFACE {\n reportedQty: number | string;\n verified: boolean | string;\n verifiedQty: number | string;\n}\n\nexport interface QC_STATUS_RETURN_INTERFACE {\n reportedQty: number | string;\n verified: boolean | string;\n verifiedQty: number | string;\n}\nexport interface DELVE_META_DATA_INTERFACE {\n paymentType?: string;\n paymentMethod?: string;\n paymentStatus?: string;\n totalAmount?: string;\n transactionDate?: string;\n amountToCollect?: string | number;\n currency?: string;\n category?: string;\n deliveryType?: string;\n modeOfCollection?: string;\n origin?: string;\n routeId?: string;\n routeName?: string;\n plannedBy?: string;\n qcStatusDelivery?: QC_STATUS_DELIVERY_INTERFACE;\n qcStatusReturn?: QC_STATUS_RETURN_INTERFACE;\n routeStatus?: string;\n displayRouteStatus: string;\n deliveryStatus: string;\n displayDeliveryStatus: string;\n omsStatus: string;\n numberOfItems: string | number;\n lastStatusUpdatedTime: string;\n pickingType: string;\n shippingStatus: string;\n deliveryZone: string;\n readyToDispatchDate: string;\n collectedAmountHandedOver: boolean;\n}\n\nexport interface GEO_LOCATION_INTERFACE {\n lat: string | number;\n lng: string | number;\n}\nexport interface GEO_LOCATION_OBJECT_INTERFACE {\n name: string;\n location: GEO_LOCATION_INTERFACE;\n}\n\nexport interface POS_INFORMATION_CONTACT_INFO_ADDRESS_INTERFACE {\n addressId?: string;\n status?: string;\n area?: string;\n landmark?: string;\n building?: string;\n apartment?: string;\n zoneNumber?: string;\n makani?: string;\n streetNumber?: string;\n streetName?: string;\n city?: string;\n postalCode?: string;\n countryName?: string;\n countryIsoCode?: string;\n longitude: string;\n latitude: string;\n}\nexport interface POS_INFORMATION_CONTACT_INFO_INTERFACE {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: POS_INFORMATION_CONTACT_INFO_ADDRESS_INTERFACE;\n}\nexport interface POS_INFORMATION_INTERFACE {\n store: string;\n storeName: string;\n contactInfo: POS_INFORMATION_CONTACT_INFO_INTERFACE;\n}\nexport interface CONSIGNMENT_OBJECT_INTERFACE {\n id: string;\n orderCode: string;\n consignmentCode: string;\n metadata: DELVE_META_DATA_INTERFACE;\n posInformation: POS_INFORMATION_INTERFACE;\n deliveryInformation: DELIVERY_INFORMATION_INTERFACE;\n creationTime: string;\n lastModifiedBy: string;\n lastModifiedTime: string;\n}\nexport interface Name_INTERFACE {\n ar: string;\n en: string;\n}\n\nexport interface ASSOCIATED_CRATES_INTERFACE {\n crateId: string;\n scanned: boolean;\n quantity: string | number;\n locationCode: string;\n}\nexport interface DELVE_ITEMS_INTERFACE {\n sku: string;\n entryNumber?: string | number;\n name: Name_INTERFACE;\n quantity?: string | number;\n shippedQty?: string | number;\n unitPrice?: string | number;\n imgUrl: string;\n uom: string;\n orderedBarcode?: string;\n associatedBarcodes?: Array;\n associatedCrates?: Array;\n isAmendedEntry?: boolean;\n substitution?: boolean;\n}\n\nexport interface CRATES_INTERFACE {\n verified: number;\n productQty: number;\n verifiedQty: number;\n reportedQty: number;\n issueCost: number;\n productDetails: any;\n issue_found: boolean;\n}\nexport interface CRATES_DATA_OBJ_INETFACE {\n [key: string]: CRATES_INTERFACE;\n}\n\nexport interface ITEM_ISSUES_OBJECT_INTERFACE {\n [key: string]: {\n issues_cost: number;\n reasonDescription: string;\n };\n}\nexport interface CRATES_DETAILS_OBJECT_INTERFACE {\n crates_data_obj: CRATES_DATA_OBJ_INETFACE;\n issues_reported_cost?: number;\n item_issues_object?: ITEM_ISSUES_OBJECT_INTERFACE;\n}\n\nexport interface QC_REPORTS_INTERFACE {\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface CRATE_PRODUCT_DETAILS_OBJECT_INTERFACE {\n name: Name_INTERFACE;\n quantity?: number | string;\n shippedQty?: string;\n unitPrice?: string;\n imgUrl?: string;\n qcStatusDelivery?: QC_STATUS_DELIVERY_INTERFACE;\n qcReports?: QC_REPORTS_INTERFACE;\n reported_cost?: number | string;\n reportedReasonDescription?: string;\n reportedQty?: string | number;\n}\n\nexport interface UN_ORDERED_PRODUCTS_RECORD_INTERFACE {}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { fetchOrdersFilterChipsDisplayCount, fetchPlanningOrderListByFilter, fetchDynamicFiltersOrdersDropdownValues, exportToExcel } from \"./redux/delveSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport _ from \"lodash\";\nimport moment from \"moment\";\n\nimport { useStyles } from \"./delvedashboard.styles\";\nimport { AppState } from \"../../config/redux/reducers\";\nimport { userLogout } from \"../../Login/redux/loginSlice\";\nimport {\n createDelveOrdersFilterPayload,\n delveOrdersDataTransform,\n getConsignmentStatusField,\n getVerificationStatusField,\n createPayloadForExcelExport,\n createChipsCountFilterPayload,\n getVerifiedVerificationStatusField,\n} from \"../../mocks/delve/response.transforms\";\n\nimport Loader from \"../../common/Loader\";\nimport AppConstants from \"../../constants\";\nimport GridWrapper from \"../../common/GridWrapper\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\nimport DelveOrderDetails from \"./DelveOrderDetails\";\n\nimport { CellParams, SortModel, RowParams } from \"../../common/GridWrapper/DataTable\";\nimport { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\n\nimport { isUndefined, isNull } from \"../../utils/helpers.utils\";\nimport { startOfDay } from \"../../utils/dateUtils\";\nimport { TabContext, TabPanel } from \"@material-ui/lab\";\nimport { DELVE_ORDER_LIST_STATE, DELVE_ORDER_LIST_STATE_INTERFACE } from \"../../constants/DelveOrderListConstant\";\nimport { TAB_VALUES_CONSTANT } from \"constants/DelveDashboardConstant\";\n\ninterface DelveOrderListProps {\n match?: any;\n location?: any;\n}\n\nconst DelveOrderList = (props: DelveOrderListProps) => {\n const dispatch = useDispatch();\n const componentClasses = useStyles();\n const onLoadRef = useRef(true);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const { ordersData, tableLoading, ordersFiltersDropdowns, ordersFilterChipsDisplayCount, loading, error, errorCode, excelLoading } = useSelector((state: AppState) => state.delveOrderList);\n const { countryCode, hubCode } = useSelector((state: AppState) => state.common);\n const [delveOrderListState, setDelveOrderListState] = useState(DELVE_ORDER_LIST_STATE);\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [isTabChange, setIsTabChange] = useState(false);\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === \"consignmentId\") {\n newHeader.renderCell = (params: CellParams) => {params.value};\n }\n if (newHeader.field === \"verified\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n {params.value ? params.value : \"\"}\n \n ) : (\n <>\n );\n }\n if (newHeader.field === \"verificationStatus\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n {params.value ? params.value : \"\"}\n \n ) : (\n <>\n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj,\n dateRange: {\n ...AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange,\n value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT),\n },\n },\n delveDateRange: {\n ...AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.delveDateRange,\n value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT),\n },\n },\n } as any,\n ReturnTabHeaderData: AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.ReturnTabHeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === \"consignmentId\") {\n newHeader.renderCell = (params: CellParams) => {params.value};\n }\n if (newHeader.field === \"verified\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n {params.value ? params.value : \"\"}\n \n ) : (\n <>\n );\n }\n if (newHeader.field === \"verificationStatus\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n {params.value ? params.value : \"\"}\n \n ) : (\n <>\n );\n }\n return newHeader;\n }),\n });\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n\n /** Function start */\n const handleTabChange = (event: React.ChangeEvent<{}>, value: string) => {\n const filters = _.cloneDeep(ordersActiveFilters);\n if (filters) {\n setDelveOrderListState({ ...delveOrderListState, tabValue: value, activeOrdersFilterChip: AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP, ordersSearchValue: \"\" });\n if (filters.deliveryFlow) {\n filters.deliveryFlow = value;\n }\n if (filters.searchAttribute) {\n delete filters.searchAttribute;\n }\n ordersFilterCallback(filters, false, true, AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP, false, value);\n }\n };\n\n const fetchDynamicFilters = (filters: any) => {\n dispatch(fetchDynamicFiltersOrdersDropdownValues({ filters: filters }));\n };\n\n const handleLoadMoreDisableState = useCallback(() => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n }, [ordersTableWrapperData, ordersData]);\n\n const getFilterChipsCount = (payload: any) => {\n setIsDisplayCount(false);\n let updatedPayload = _.cloneDeep(payload);\n dispatch(fetchOrdersFilterChipsDisplayCount({ filters: updatedPayload }));\n setIsDisplayCount(true);\n };\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n clearDelveSessionStorage();\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setDelveOrderListState({ ...delveOrderListState, ordersSearchValue: updatedSearchValue });\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey],\n };\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const ordersFilterCallback = (activeFilters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean, selectedChip?: any, isChipClicked?: boolean, tabValue?: any) => {\n const filters = _.cloneDeep(activeFilters);\n if (filters) {\n if (!isUndefined(sessionStorage.getItem(\"delveHubName\")) && !isNull(sessionStorage.getItem(\"delveHubName\"))) {\n filters.hubName.value = [];\n filters.hubName.value = [\n {\n id: JSON.parse(sessionStorage.getItem(\"delveHubName\") || \"\"),\n value: JSON.parse(sessionStorage.getItem(\"delveHubName\") || \"\"),\n },\n ];\n sessionStorage.removeItem(\"delveHubName\");\n }\n\n if (!isUndefined(sessionStorage.getItem(\"delveDashboardDateRange\")) && !isNull(sessionStorage.getItem(\"delveDashboardDateRange\"))) {\n if (\n !isUndefined(sessionStorage.getItem(\"delveDashboardDateRange\")) &&\n !isNull(sessionStorage.getItem(\"delveDashboardDateRange\")) &&\n !isUndefined(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.startDate) &&\n !isNull(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.startDate)\n ) {\n filters.delveDateRange.value.startDate = startOfDay(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT);\n }\n\n if (\n !isUndefined(sessionStorage.getItem(\"delveDashboardDateRange\")) &&\n !isNull(sessionStorage.getItem(\"delveDashboardDateRange\")) &&\n !isUndefined(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.endDate) &&\n !isNull(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.endDate)\n ) {\n filters.delveDateRange.value.endDate = startOfDay(JSON.parse(sessionStorage.getItem(\"delveDashboardDateRange\") || \"\")?.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT);\n }\n sessionStorage.removeItem(\"delveDashboardDateRange\");\n }\n\n if (!isUndefined(sessionStorage.getItem(\"delveConsignmentList\")) && !isNull(sessionStorage.getItem(\"delveConsignmentList\"))) {\n filters.consignmentCode = {\n key: \"c.consignmentCode\",\n value: JSON.parse(sessionStorage.getItem(\"delveConsignmentList\") || \"\"),\n };\n sessionStorage.removeItem(\"delveConsignmentList\");\n }\n\n if (!isUndefined(sessionStorage.getItem(\"delveTabName\")) && !isNull(sessionStorage.getItem(\"delveTabName\"))) {\n let tabName = JSON.parse(sessionStorage.getItem(\"delveTabName\") || \"\");\n if (tabName !== undefined && tabName !== \"\") {\n setDelveOrderListState({ ...delveOrderListState, tabValue: tabName });\n filters.deliveryFlow = tabName;\n }\n sessionStorage.removeItem(\"delveTabName\");\n } else {\n if (tabValue === undefined) {\n if (filters.deliveryFlow !== delveOrderListState.tabValue) {\n filters.deliveryFlow = delveOrderListState.tabValue;\n }\n }\n }\n\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n selectedChip = delveOrderListState.activeOrdersFilterChip;\n }\n const payload = createDelveOrdersFilterPayload(payloadFilters, ordersData, isLoadMore, selectedChip, isChipClicked, delveOrderListState.tabValue);\n if (!isLoadMore) {\n fetchDynamicFilters(payload);\n }\n let payloadFilters2 = _.cloneDeep(filters);\n payloadFilters2[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters2.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payloadForCount = createChipsCountFilterPayload(payloadFilters2, ordersData, isLoadMore, selectedChip);\n getFilterChipsCount(payloadForCount);\n dispatch(fetchPlanningOrderListByFilter({ filters: payload }));\n setOrdersActiveFilters(filters);\n }\n };\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === \"consignmentId\") {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setDelveOrderListState({ ...delveOrderListState, consignmentData: selectedConsignment.length ? selectedConsignment[0] : {}, openConsignmentDetailsPopup: true });\n }\n },\n [ordersData]\n );\n\n const handleRowClick = useCallback(\n (params: RowParams) => {\n const selectedRow: any = params.data;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setDelveOrderListState({ ...delveOrderListState, consignmentData: selectedConsignment.length ? selectedConsignment[0] : {}, openConsignmentDetailsPopup: true });\n },\n [ordersData]\n );\n\n const handleExcelExport = (filters: any) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const payload = createPayloadForExcelExport(payloadFilters, ordersData, false, delveOrderListState.activeOrdersFilterChip, delveOrderListState.tabValue);\n dispatch(exportToExcel({ payload: payload }));\n }\n };\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case \"excel\":\n handleExcelExport(ordersActiveFilters);\n break;\n default:\n break;\n }\n }\n },\n [ordersActiveFilters, handleExcelExport]\n );\n\n const handleSnackbarClose = () => {\n setDelveOrderListState({ ...delveOrderListState, openSnackbar: false });\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setDelveOrderListState({ ...delveOrderListState, openSnackbar: true });\n };\n\n const handleSnackbarExited = useCallback(() => {\n if (errorCode === AppConstants.DELVE_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }, [dispatch, errorCode]);\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n setIsOrderSearched(false);\n if (chip && chip.code !== delveOrderListState.activeOrdersFilterChip) {\n let isChipClicked = true;\n setDelveOrderListState({ ...delveOrderListState, activeOrdersFilterChip: chip.code });\n ordersFilterCallback(filters, false, true, chip.code, isChipClicked);\n }\n },\n [ordersFilterCallback, delveOrderListState.activeOrdersFilterChip]\n );\n\n const combine_partially_verfied__and_verified_issues = () => {\n let issue_count = 0;\n if (\n ordersFilterChipsDisplayCount !== undefined &&\n ordersFilterChipsDisplayCount.delveConsignmentCount !== undefined &&\n typeof ordersFilterChipsDisplayCount.delveConsignmentCount === \"object\" &&\n Object.keys(ordersFilterChipsDisplayCount.delveConsignmentCount).length > 0\n ) {\n Object.keys(ordersFilterChipsDisplayCount.delveConsignmentCount).forEach((status_name: any) => {\n if (status_name === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.PARTIALLY_VERIFIED_ISSUES_CHIP || status_name === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.VERIFIED_ISSUES_CHIP) {\n issue_count = issue_count + ordersFilterChipsDisplayCount.delveConsignmentCount[status_name];\n }\n });\n }\n return issue_count;\n };\n\n const getFilterChips = () => {\n let filterChips = [] as any;\n if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value) {\n filterChips = AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n } else if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n filterChips = AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.RETURN_TYPE_FILTER_CHIPS;\n }\n return filterChips.map((chip: any, index: number) => (\n handleChipFilter(chip, ordersActiveFilters)}\n >\n \n \n {chip.value}\n \n \n {`${\n chip.code === AppConstants.DELVE_CONSTANTS.CONSIGNMENTS_DATA.ISSUES_REPORTED_CHIP\n ? combine_partially_verfied__and_verified_issues()\n : ordersFilterChipsDisplayCount.delveConsignmentCount[chip.code] || \"0\"\n }`}\n \n \n \n ));\n };\n\n const closeConsignmentDetailsPopup = () => {\n setDelveOrderListState({ ...delveOrderListState, consignmentData: {}, openConsignmentDetailsPopup: false });\n };\n\n const clearDelveSessionStorage = () => {\n sessionStorage.removeItem(\"delveDashboardDateRange\");\n sessionStorage.removeItem(\"delveHubName\");\n sessionStorage.removeItem(\"delveConsignmentList\");\n sessionStorage.removeItem(\"delveTabName\");\n };\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error]);\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(ordersFilterChipsDisplayCount.delveConsignmentCount).filter((key: string) => ordersFilterChipsDisplayCount.delveConsignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? selectedChipValue : delveOrderListState.activeOrdersFilterChip }, ordersActiveFilters);\n } else {\n setOrdersListToShow(delveOrdersDataTransform(ordersData, delveOrderListState.tabValue) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFilterChipsDisplayCount, ordersData]);\n\n useEffect(() => {\n if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value) {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"hubName\") {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === \"deliverySlot\") {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === \"driver\") {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n } else if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n const returnTabHeaderData = ordersTableWrapperData.ReturnTabHeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"hubName\") {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === \"deliverySlot\") {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === \"driver\") {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, ReturnTabHeaderData: returnTabHeaderData });\n }\n setIsOrderSearched(false);\n if (!onLoadRef.current) {\n ordersFilterCallback(ordersActiveFilters);\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"hubName\") {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === \"deliverySlot\") {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === \"driver\") {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n } else if (delveOrderListState.tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n let returnTabHeaderData = ordersTableWrapperData.ReturnTabHeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"hubName\") {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === \"deliverySlot\") {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === \"driver\") {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, ReturnTabHeaderData: returnTabHeaderData });\n }\n }, [ordersFiltersDropdowns]);\n\n useEffect(() => {\n return () => {\n clearDelveSessionStorage();\n };\n }, []);\n\n return (\n
\n {(loading || excelLoading) && }\n \n \n \n \n \n \n \n \n \n \n {getFilterChips()}\n \n \n \n \n \n \n \n \n \n \n {delveOrderListState.openConsignmentDetailsPopup && (\n \n )}\n
\n );\n};\nexport default DelveOrderList;\n","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { RouteTrackingState } from \"./routeTrackingSlice.types\";\nimport AppConstants from \"../../constants\";\nimport { transformSelectValues, transformIntoArray } from \"../../utils/helpers.utils\";\n\n\nexport const fetchFiltersDropdownValues = createAsyncThunk(\n \"RouteTracking/FetchFiltersDropdownValues\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `filter/all/${sessionStorage.getItem(AppConstants.COUNTRY_CODE)}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchStatusForTracking = createAsyncThunk(\n \"RouteTracking/FetchStatusForTracking\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `route/statuses`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\n\nexport const fetchSlotForTracking = createAsyncThunk(\n \"RouteTracking/FetchSlotForTracking\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"route/loadWithConsignment/slots\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchRouteDetails = createAsyncThunk(\n \"RouteTracking/FetchRouteDetails\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"route/loadWithConsignment\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nconst initialState: RouteTrackingState = {\n loading: false,\n routeStatus: [],\n allSlots: [],\n routesData: {\n elements: [],\n pageNumber: 0\n },\n allRouteStatus: [],\n routes: [],\n slotsList: [],\n formattedSlots: [],\n};\n\nconst routeTrackingSlice = createSlice({\n name: \"Tracking\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchFiltersDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchFiltersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let hubCodeList: any = {};\n let hubNameList: any = {};\n let deliveryAreaList: any = {};\n let deliverySlotList: any = {};\n let orderTypeList: any = {};\n if (payload.hubMap) {\n Object.keys(payload.hubMap).filter((country: any) => {\n hubCodeList[country] = transformSelectValues(payload.hubMap[country], 'code');\n hubNameList[country] = transformSelectValues(payload.hubMap[country], 'value');\n return true;\n });\n }\n if (payload.deliveryArea) {\n Object.keys(payload.deliveryArea).filter((country: any) => {\n deliveryAreaList[country] = transformSelectValues(payload.deliveryArea[country]);\n return true;\n });\n }\n if (payload.deliverySlot) {\n Object.keys(payload.deliverySlot).filter((country: any) => {\n deliverySlotList[country] = transformSelectValues(payload.deliverySlot[country]);\n return true;\n });\n }\n if (payload.orderType) {\n Object.keys(payload.orderType).filter((country: any) => {\n orderTypeList[country] = transformSelectValues(payload.orderType[country]);\n return true;\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n /* state.filtersDropdowns = {\n countriesList: transformSelectValues(payload.countries),\n hubCodeList: hubCodeList,\n hubNameList: hubNameList,\n deliveryAreaList: deliveryAreaList,\n deliverySlotList: deliverySlotList,\n orderTypeList: orderTypeList\n }; */\n })\n .addCase(fetchFiltersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchStatusForTracking.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchStatusForTracking.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.routeStatus = transformSelectValues(payload.statuses);\n state.allRouteStatus = transformIntoArray(transformSelectValues(payload.statuses));\n })\n .addCase(fetchStatusForTracking.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchSlotForTracking.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchSlotForTracking.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload.allSlots && payload.allSlots.length) {\n state.allSlots = transformSelectValues(payload.allSlots);\n }\n })\n .addCase(fetchSlotForTracking.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchRouteDetails.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchRouteDetails.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n let result: any = [];\n let slotResult: any = [];\n let formattedSlotsList: any = [];\n Object.keys(payload.elements).forEach((routeKey: string) => {\n let newResponse = {\n ...payload.elements[routeKey].route, slotsWiseData: { ...payload.elements[routeKey].slotWiseConsignments }\n };\n result.push(newResponse);\n\n });\n payload.slotsInfo.allSlots.map((key: any) => {\n slotResult.push(Object.values(key)[0]);\n formattedSlotsList.push(Object.values(key)[1]);\n return \"\";\n })\n\n state.routes = result;\n state.formattedSlots = formattedSlotsList;\n state.slotsList = slotResult;\n state.routesData = {\n ...payload,\n elements:\n params.pageNumber === 0\n ? result\n : [...state.routesData.elements, ...result],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchRouteDetails.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n }\n});\n\n\nexport default routeTrackingSlice.reducer;","import { createStyles, makeStyles, Theme, withStyles, StepConnector } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(3),\n height: \"100%\",\n backgroundColor: COLORS.ROUTE_CONTAINER_BACKGROUND,\n overflow: \"scroll\"\n },\n main: {\n display: \"flex\"\n },\n title: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: \"29px\",\n color: COLORS.MINE_SHAFT\n },\n scrollableContainer: {\n height: \"calc(100% - 117px)\",\n overflow: \"auto\"\n },\n select: {\n borderRadius: 8,\n background: COLORS.WHITE,\n minWidth: \"160px\",\n maxWidth: \"251px\"\n },\n icon: {\n \"& .MuiOutlinedInput-input\": {\n height: 40,\n minWidth: \"202px\"\n },\n },\n container: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 44\n },\n '&.heading': {\n paddingBottom: theme.spacing(2.5),\n '& p': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n }\n },\n tilesView: {\n flexGrow: 1\n },\n searchBox: {\n background: COLORS.WHITE,\n },\n searchImage: {\n marginRight: theme.spacing(1),\n cursor: \"pointer\"\n },\n newStatusIcon: {\n color: COLORS.PICTON_BLUE,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n readyToDispatchStatusIcon: {\n color: COLORS.OLD_GOLD,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n legendsContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: theme.spacing(3)\n },\n legend: {\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"16px\",\n color: COLORS.TEXT_PRIMARY,\n marginRight: theme.spacing(2)\n },\n createdStatusIcon: {\n color: COLORS.LIGHT_PERSIAN_GREEN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n assignedStatusIcon: {\n color: COLORS.TAG_YEllOW,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n preparingStatusIcon: {\n color: COLORS.INFO_GREEN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n outForDeliveryStatusIcon: {\n color: COLORS.GOLDEN_BELL,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n onHoldStatusIcon: {\n color: COLORS.SCAMPI,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n pendingDeliveryStatusIcon: {\n color: COLORS.PRIMARY_MAIN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n deliveredStatusIcon: {\n color: COLORS.SEA_GREEN2,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n partiallyDeliveredStatusIcon: {\n color: COLORS.LUCKY,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n completedStatusIcon: {\n color: COLORS.PERSIAN_GREEN_DARK,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n returnedStatusIcon: {\n color: COLORS.JUNGLE_GREEN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n preparedStatusIcon: {\n color: COLORS.SEA_GREEN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n cancelledStatusIcon: {\n color: COLORS.DUSTY_GRAY,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n failedStatusIcon: {\n color: COLORS.DARK_RED,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n statusContainer: {\n border: `1px solid ${COLORS.MYSTIC_GREY}`,\n //background: COLORS.GREY_WHITE,\n marginTop: theme.spacing(2),\n backgroundColor: COLORS.WHITE,\n boxShadow: \"0px 2px 4px rgba(0, 0, 0, 0.1)\",\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n },\n statusTitle: {\n marginTop: theme.spacing(3),\n background: COLORS.SECONDARY_MID_DARK\n },\n statusText: {\n color: COLORS.BLACK,\n fontWeight: 600,\n fontSize: 16,\n lineHeight: \"20px\",\n padding: \"8px 24px\"\n },\n routeDetailsContainer: {\n background: COLORS.WHITE,\n flexWrap: \"nowrap\",\n width: \"auto\",\n minWidth: \"100%\",\n minHeight: \"calc(100vh - 290px)\"\n },\n mainContainer: {\n flexWrap: \"nowrap\",\n display: \"flex\"\n },\n horizontalLine: {\n borderBottom: `1px solid ${COLORS.SECONDARY_DARK}`,\n width: \"100%\",\n padding: \"8px 0px 8px 0px\"\n },\n routeDetailsSection: {\n width: 396,\n minWidth: 396,\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n position: \"sticky\",\n left: 0,\n zIndex: 100,\n backgroundColor: COLORS.WHITE\n },\n routesSection: {\n padding: \"12px 12px 0px 24px\"\n },\n routeIdText: {\n fontWeight: 600,\n fontSize: 14,\n lineHeight: \"17px\",\n color: COLORS.TEXT_PRIMARY,\n display: \"flex\",\n alignItems: \"center\"\n },\n draftRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.WHITE,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n createdRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.LIGHT_PERSIAN_GREEN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n assignedRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.TAG_YEllOW,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n preparingRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.SCAMPI,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n outForDeliveryRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.AMBER,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n completedRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.PERSIAN_GREEN_DARK,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n publishedRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.SEA_GREEN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n preparedRouteStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.JUNGLE_GREEN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n cancelledRouteStatus: {\n fontWeight: 600,\n fontSize: \"12px\",\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.ERROR_RED,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n tooltipContainer: {\n padding: \"24px 24px 4px 24px\"\n },\n tooltipSection: {\n display: \"flex\",\n flexWrap: \"nowrap\",\n alignItems: \"center\"\n },\n addressInfoTooltip: {\n color: COLORS.TEXT_PRIMARY,\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: \"normal\"\n },\n subSectionContainer: {\n paddingTop: theme.spacing(1.5),\n display: \"flex\",\n flexWrap: \"nowrap\"\n },\n subSections: {\n display: \"flex\",\n paddingRight: theme.spacing(1.5)\n },\n icons: {\n width: 16,\n height: 16\n },\n iconsData: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0px 12px\",\n fontSize: 10,\n lineHeight: \"15px\",\n color: COLORS.TEXT_PRIMARY,\n fontWeight: 600\n },\n slotSection: {\n width: 396,\n minWidth: 396,\n padding: \"16px\",\n display: \"flex\",\n alignContent: \"center\",\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderTop: `1px solid ${COLORS.SECONDARY_DARK}`,\n position: \"sticky\",\n left: 0,\n zIndex: 100,\n backgroundColor: COLORS.WHITE\n },\n slotText: {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n display: \"flex\",\n alignItems: \"flex-end\",\n marginLeft: \"60px\"\n },\n slotsContainer: {\n flexWrap: \"nowrap\",\n display: \"flex\",\n width: \"auto\",\n minWidth: \"100%\",\n position: \"sticky\",\n bottom: 0,\n zIndex: 100,\n backgroundColor: COLORS.WHITE,\n },\n swipeIconStyle: {\n marginBottom: \"auto\",\n marginLeft: theme.spacing(4),\n },\n deliveredStatus: {\n color: COLORS.PERSIAN_GREEN,\n width: 14,\n height: 14,\n border: `1px solid ${COLORS.PERSIAN_GREEN}`,\n borderRadius: \"10px\",\n },\n undeliveredStatus: {\n color: COLORS.GOLDEN_BELL,\n width: \"14px\",\n height: \"14px\",\n border: `1px solid ${COLORS.GOLDEN_BELL}`,\n borderRadius: \"10px\",\n },\n consignmentDetailsSection: {\n flexGrow: 1,\n display: \"flex\",\n },\n consignmentsSection: {\n borderBottom: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n flexWrap: \"nowrap\",\n width: 404,\n backgroundColor: COLORS.WHITE\n },\n slotWiseText: {\n color: COLORS.TEXT_PRIMARY,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n overflow: \"auto\",\n flexWrap: \"nowrap\"\n },\n slotWiseItem: {\n borderRight: `1px solid ${COLORS.SECONDARY_DARK}`,\n justifyContent: \"center\",\n width: 404,\n borderTop: `1px solid ${COLORS.SECONDARY_DARK}`,\n },\n generatedSlotsContainer: {\n flexGrow: 1,\n display: \"flex\",\n flexWrap: \"nowrap\"\n },\n tooltip: {\n backgroundColor: COLORS.WHITE,\n maxWidth: 360\n },\n popper: {\n boxShadow: \"0px 1px 4px rgba(0, 0, 0, 0.25)\",\n border: `1px solid ${COLORS.SECONDARY_DARK}`,\n borderRadius: \"8px\"\n },\n arrow: {\n color: COLORS.WHITE,\n border: `1px solid ${COLORS.SECONDARY_DARK}`,\n },\n newConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.PICTON_BLUE,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n readyConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.OLD_GOLD,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n preparingConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.VISTA_BLUE,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n preparedConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.SEA_GREEN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n outForDeliveryConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.GOLDEN_BELL,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n onHoldConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.SCAMPI,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n pendingConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.PRIMARY_MAIN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n deliveredConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.SEA_GREEN2,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n partialConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.LUCKY,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n cancelledConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.DUSTY_GRAY,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n returnedConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.JUNGLE_GREEN,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n failedConsignmentStatus: {\n fontWeight: 600,\n fontSize: 12,\n lineHeight: \"15px\",\n color: COLORS.WHITE,\n background: COLORS.DARK_RED,\n borderRadius: \"4px\",\n padding: \"4px 8px\",\n marginLeft: theme.spacing(1)\n },\n viewMoreButton: {\n textTransform: \"none\",\n fontWeight: 600,\n fontSize: \"14px\",\n },\n timelineStepper: {\n padding: 4,\n alignItems: \"center\",\n backgroundColor: 'transparent',\n '& .timelineStep': {\n paddingLeft: 10,\n paddingRight: 10,\n '&.first': {\n paddingLeft: 4\n }\n },\n '& .MuiStepLabel-root': {\n flexDirection: 'column-reverse',\n '& .MuiStepLabel-labelContainer': {\n '& .MuiStepLabel-alternativeLabel': {\n whiteSpace: \"nowrap\",\n width: 14,\n height: 14,\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n }\n },\n '&.MuiStepLabel-alternativeLabel': {\n flexDirection: 'column-reverse'\n }\n },\n '& .MuiStepLabel-iconContainer': {\n paddingRight: 0\n },\n '& .MuiStepLabel-label.MuiStepLabel-alternativeLabel': {\n marginTop: 0\n },\n '& .MuiStepLabel-label': {\n fontSize: 10,\n color: COLORS.TEXT_PRIMARY,\n paddingBottom: 6,\n textAlign: \"center\"\n }\n },\n errorContainer: {\n padding: \"24px\",\n minHeight: \"calc(100vh - 64px)\"\n },\n error: {\n fontSize: \"14px\"\n },\n routesCount: {\n display: \"flex\",\n justifyContent: \"center\",\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50 % - 88px)\",\n bottom: \"25px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n }),\n);\n\nexport const StepperTimelineConnector = withStyles({\n alternativeLabel: {\n top: 23,\n left: 'calc(-50% + 9px)',\n right: 'calc(50% + 9px)'\n },\n active: {\n '& $line': {\n borderColor: COLORS.SECONDARY_DARK,\n },\n },\n line: {\n borderColor: COLORS.SECONDARY_DARK,\n borderTopWidth: 2,\n borderRadius: 100,\n },\n})(StepConnector);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#C7EBF9\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#20B0E6\",\n stroke: \"white\"\n});\n\nvar SvgNewConsignmentStatus = function SvgNewConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNewConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/new-consignment-status.07a03eac.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#FAE0A9\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#CF9E36\",\n stroke: \"white\"\n});\n\nvar SvgReadyConsignmentStatus = function SvgReadyConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgReadyConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ready-consignment-status.83391398.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#CEEEDB\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#7FD2A3\",\n stroke: \"white\"\n});\n\nvar SvgPreparingConsignmentStatus = function SvgPreparingConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPreparingConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/preparing-consignment-status.1f759680.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#CEEEDB\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#319E60\",\n stroke: \"white\"\n});\n\nvar SvgPreparedConsignmentStatus = function SvgPreparedConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPreparedConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/prepared-consignment-status.76592da0.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#F2C892\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1004 8.00039C13.1004 10.817 10.817 13.1004 8.00039 13.1004C5.18374 13.1004 2.90039 10.817 2.90039 8.00039C2.90039 5.18374 5.18374 2.90039 8.00039 2.90039C10.817 2.90039 13.1004 5.18374 13.1004 8.00039Z\",\n fill: \"#E3870F\",\n stroke: \"white\"\n});\n\nvar SvgOutForDeliveryConsignmentStatus = function SvgOutForDeliveryConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOutForDeliveryConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/outForDelivery-consignment-status.b89089d5.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#A6A6D0\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#3B3B98\",\n stroke: \"white\"\n});\n\nvar SvgOnHoldConsignmentStatus = function SvgOnHoldConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOnHoldConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/onHold-consignment-status.8bf30fc3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#C7EBF9\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#0E5AA7\",\n stroke: \"white\"\n});\n\nvar SvgPendingConsignmentStatus = function SvgPendingConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPendingConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/pending-consignment-status.72eaf90e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#CEEEDB\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#267949\",\n stroke: \"white\"\n});\n\nvar SvgDeliveredConsignmentStatus = function SvgDeliveredConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDeliveredConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/delivered-consignment-status.ddc791b1.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#E5DABF\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#A6911A\",\n stroke: \"white\"\n});\n\nvar SvgPartiallyDeliveredConsignmentStatus = function SvgPartiallyDeliveredConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPartiallyDeliveredConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/partiallyDelivered-consignment-status.d6387574.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#EFEFEF\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1 8.00039C13.1 10.817 10.8166 13.1004 7.99999 13.1004C5.18334 13.1004 2.89999 10.817 2.89999 8.00039C2.89999 5.18374 5.18334 2.90039 7.99999 2.90039C10.8166 2.90039 13.1 5.18374 13.1 8.00039Z\",\n fill: \"#979797\",\n stroke: \"white\"\n});\n\nvar SvgCancelledConsignmentStatus = function SvgCancelledConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCancelledConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/cancelled-consignment-status.3ab8d90d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#F79C9D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1004 8.00039C13.1004 10.817 10.817 13.1004 8.00039 13.1004C5.18374 13.1004 2.90039 10.817 2.90039 8.00039C2.90039 5.18374 5.18374 2.90039 8.00039 2.90039C10.817 2.90039 13.1004 5.18374 13.1004 8.00039Z\",\n fill: \"#F34041\",\n stroke: \"white\"\n});\n\nvar SvgFailedConsignmentStatus = function SvgFailedConsignmentStatus(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFailedConsignmentStatus, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/failed-consignment-status.f85614e6.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from '../config/redux/reducers';\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport _ from \"lodash\";\nimport { fetchSlotForTracking, fetchStatusForTracking, fetchRouteDetails } from \"./redux/routeTrackingSlice\";\n\n//Material UI Components\nimport { Grid, IconButton, Typography, InputAdornment, Stepper, Step, StepLabel, debounce } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport Lens from \"@material-ui/icons/Lens\";\n\n//Common Components\nimport SelectBox from \"common/SelectBox\";\nimport TextBox from '../common/TextBox';\nimport CustomTooltip from \"common/Tooltip\";\nimport DateRangePickerComponent from \"../common/DateRangeComponent/index\";\nimport CustomSnackbar from '../common/CustomSnackbar';\nimport Loader from \"../common/Loader\";\n\n//Styles\nimport { useStyles, StepperTimelineConnector } from \"./RouteTracking.styles\";\n\n//Assets\nimport calendarIcon from \"../assets/icons/calendar-icon.svg\";\nimport searchIcon from './../assets/icons/search-icon-small.svg';\nimport consignmentsIcon from './../assets/icons/consignments-icon.svg';\nimport cratesIcon from './../assets/icons/crates-icon.svg';\nimport timeSlotIcon from './../assets/icons/time-slot-icon.svg';\nimport userIcon from './../assets/icons/user-icon.svg';\nimport mobileIcon from './../assets/icons/mobile-icon.svg';\nimport walletIcon from \"./../assets/icons/wallet-icon.svg\";\nimport { ReactComponent as newConsignmentStatusIcon } from \"./../assets/icons/new-consignment-status.svg\";\nimport { ReactComponent as readyConsignmentStatusIcon } from \"./../assets/icons/ready-consignment-status.svg\";\nimport { ReactComponent as preparingConsignmentStatusIcon } from \"./../assets/icons/preparing-consignment-status.svg\";\nimport { ReactComponent as preparedConsignmentStatusIcon } from \"./../assets/icons/prepared-consignment-status.svg\";\nimport { ReactComponent as outForDeliveryStatusIcon } from \"./../assets/icons/outForDelivery-consignment-status.svg\";\nimport { ReactComponent as onHoldConsignmentStatusIcon } from \"./../assets/icons/onHold-consignment-status.svg\";\nimport { ReactComponent as pendingConsignmentStatusIcon } from \"./../assets/icons/pending-consignment-status.svg\";\nimport { ReactComponent as deliveredConsignmentStatusIcon } from \"./../assets/icons/delivered-consignment-status.svg\";\nimport { ReactComponent as partiallyDeliveredConsignmentStatusIcon } from \"./../assets/icons/partiallyDelivered-consignment-status.svg\";\nimport { ReactComponent as cancelledConsignmentStatusIcon } from \"./../assets/icons/cancelled-consignment-status.svg\";\nimport { ReactComponent as failedConsignmentStatusIcon } from \"./../assets/icons/failed-consignment-status.svg\";\n\nimport { createPayloadForSlots, createRouteDetailsPayload, getAddressInfo } from \"../mocks/routeTracking/response.transforms\";\n\n//Constants\nimport AppConstants from \"../constants\";\nimport ConsignmentDetails from \"RoutePlanning/ConsignmentDetails\";\nimport { getDelveDashboardRecord } from \"../Delve/Dashboard/Redux/DelveDashboardSlice\";\n\ninterface RouteTrackingProps {\n}\n\nconst RouteTracking = (props: RouteTrackingProps) => {\n const classes = useStyles();\n\n const dispatch = useDispatch();\n const { routeStatus, error, allSlots, routesData, slotsList, allRouteStatus, errorCode, loading, formattedSlots } = useSelector(\n (state: AppState) => state.routeTracking\n );\n const { countryCode, hubCode } = useSelector(\n (state: AppState) => state.common\n );\n const [datePickerValue, setDatePickerValue] = useState({\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n });\n const [routesStatus, setRoutesStatus] = useState(() => [AppConstants.SELECT_ALL.value]);\n const [slots, setSlots] = useState(() => [AppConstants.SELECT_ALL.value]);\n const [searchValue, setSearchValue] = useState(\"\");\n const activeStep = 0;\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [consignmentDataObj, setConsignmentDataObj] = useState({});\n const [routesActiveFilters, setRoutesActiveFilters] = useState({\n ...AppConstants.TRACKING_CONSTANTS.defaultFiltersObj, dateRange: {\n ...AppConstants.TRACKING_CONSTANTS.defaultFiltersObj.dateRange, value: {\n startDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment().hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n }\n }\n });\n const [loadMore, setLoadMore] = useState(AppConstants.TRACKING_CONSTANTS.loadMore);\n\n const handleConsignmentDetailsClick = useCallback(\n (data: any) => {\n setConsignmentDataObj(data);\n setOpenConsignmentDetailsPopup(true);\n },\n [],\n );\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n const handleRouteDetailsWithConsignments = useCallback(\n (filters: any, isLoadMore?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = loadMore.pageSize;\n const payload = createRouteDetailsPayload(payloadFilters, routesData, isLoadMore);\n dispatch(\n fetchRouteDetails({\n params: payload\n })\n );\n setRoutesActiveFilters(filters);\n }\n },\n [countryCode, routesData, dispatch, loadMore.pageSize]\n );\n\n const handleDateChange = ((date: any) => {\n setDatePickerValue(date);\n const hubsToAdd = hubCode.filter((hub: string) => hub !== AppConstants.SELECT_ALL.value).map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedSlotFilters: any = {};\n updatedSlotFilters = { ...routesActiveFilters, hubCode: { ...routesActiveFilters.hubCode, value: hubsToAdd }, dateRange: { ...routesActiveFilters.dateRange, value: date } };\n slotFilterCallback(updatedSlotFilters);\n let updatedFilters: any = {};\n updatedFilters = { ...routesActiveFilters, slots: slots, hubCode: { ...routesActiveFilters.hubCode, value: hubsToAdd }, status: { ...routesActiveFilters.status, value: routesStatus }, dateRange: { ...routesActiveFilters.dateRange, value: date } };\n handleRouteDetailsWithConsignments(updatedFilters);\n });\n\n /**\n * Method to search based on RouteId\n */\n const handleSearchByRouteId = useCallback(() => {\n let updatedFilters: any = {};\n updatedFilters = { ...routesActiveFilters, searchAttribute: { ...AppConstants.TRACKING_CONSTANTS.searchAttribute, value: searchValue } };\n handleRouteDetailsWithConsignments(updatedFilters);\n }, [searchValue, routesActiveFilters, handleRouteDetailsWithConsignments]\n );\n\n const handleSearch = useCallback(\n (event: React.ChangeEvent) => {\n const searchValueText = event.target.value;\n setSearchValue(searchValueText);\n }, []\n );\n\n const handleKeyPress = useCallback(\n (event: React.KeyboardEvent) => {\n if ((searchValue === \"\" || searchValue) && event.keyCode === 13) {\n handleSearchByRouteId();\n }\n },\n [searchValue, handleSearchByRouteId]\n )\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleDeliverySlotChange = ((selectedSlots: any) => {\n setSlots(selectedSlots);\n let updatedFilters: any = {};\n updatedFilters = { ...routesActiveFilters, slots: selectedSlots };\n handleRouteDetailsWithConsignments(updatedFilters);\n });\n\n const handleStatusChange = ((selectedStatus: any) => {\n setRoutesStatus(selectedStatus);\n const hubsToAdd = hubCode.filter((hub: string) => hub !== AppConstants.SELECT_ALL.value).map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n updatedFilters = { ...routesActiveFilters, status: { ...routesActiveFilters.status, value: selectedStatus }, hubCode: { ...routesActiveFilters.hubCode, value: hubsToAdd } };\n handleRouteDetailsWithConsignments(updatedFilters);\n });\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.TRACKING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const fetchStatus = useCallback(\n () => {\n dispatch(\n fetchStatusForTracking()\n )\n },\n [dispatch]\n );\n\n const loadMoreCallback = debounce((event: any) => {\n const target = event.target;\n if (target) {\n if (loading || loadMore.disabled) return;\n if (target.offsetHeight + target.scrollTop >= target.scrollHeight) {\n handleRouteDetailsWithConsignments(routesActiveFilters, true);\n }\n } else {\n return;\n }\n }, 100);\n\n const enableLoadMore = useCallback(\n (disable?: boolean) => {\n const element = document.querySelector('.route-data-scrollable-area');\n if (element) {\n if (!disable) {\n element.addEventListener('scroll', loadMoreCallback);\n } else {\n element.removeEventListener('scroll', loadMoreCallback);\n }\n }\n },\n [loadMoreCallback]\n );\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = loadMore;\n loadMoreState.disabled = routesData.totalPages ? routesData.pageNumber + 1 >= routesData.totalPages : true;\n setLoadMore(loadMoreState);\n }, [routesData, loadMore]\n );\n\n const consignmentData = (consignmentCode: any, deliveryStatus: any, address: any, totalCratesCount: any, paymentType: any, phone: any) => {\n return (\n \n \n \n \n {consignmentCode}\n \n \n \n \n {deliveryStatus}\n \n \n \n \n \n {getAddressInfo(address)}\n \n \n \n \n \"consignment-crates\"\n \n {totalCratesCount || 0}\n \n \n \n \"consignment-wallet\"\n \n {paymentType}\n \n \n \n \"consignmennt-mobile\"\n \n {phone || \"-\"}\n \n \n \n \n )\n }\n\n const getRouteDetails = () => {\n return routesData.elements.map((key: any, index: number) => (\n <>\n \n \n \n \n \n {key.routeId}\n {key.status}\n \n \n \n \"consignments\"\n {key.totalConsignment}\n \n \n \"crates\"\n {key.totalCrates}\n \n \n \"timeSlot\"\n {key.transitTime || \"0 Minutes\"}\n \n {key.assignee ? (\n < Grid item className={classes.subSections}>\n \"user\"\n {key.assignee.name}\n \n ) : (\n < Grid item className={classes.subSections}>\n \"user\"\n No Assignee\n \n )}\n\n \n\n \n
\n \n \n \n {slotsList.map((slotItem: any) => (\n <>\n \n \n \n }>\n {\n key.slotsWiseData && key.slotsWiseData[slotItem] ? (\n key.slotsWiseData[slotItem].map((slots: any, index: number) => (\n \n handleConsignmentDetailsClick(slots)} key={`consignment-step-${slots.consignmentCode}`} className='timelineStep'>\n {getConsignmentStatus(slots.metadata.deliveryStatus, index)}\n \n \n ))) : (null)}\n \n \n \n \n \n ))}\n \n \n \n ));\n };\n\n const getConsignmentStatus = (status: any, index: any) => {\n switch (status) {\n case \"NEW\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"READY_TO_DISPATCH\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"PREPARING\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"PREPARED\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"OUT_FOR_DELIVERY\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"ON_HOLD\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"PENDING_DELIVERY\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"DELIVERED\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"PARTIALLY_DELIVERED\":\n return {`${index + 1}`.padStart(2, '0')};\n case \"CANCELLED\":\n return {`${index + 1}`.padStart(2, '0')};\n default:\n return {`${index + 1}`.padStart(2, '0')};\n }\n };\n\n const slotFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = loadMore.pageSize;\n const payload = createPayloadForSlots(payloadFilters, routesData, isLoadMore);\n dispatch(\n fetchSlotForTracking({\n params: payload\n })\n );\n setRoutesActiveFilters(filters);\n }\n },\n [countryCode, routesData, dispatch, loadMore.pageSize]\n );\n\n useEffect(() => {\n enableLoadMore();\n return () => {\n enableLoadMore(true);\n }\n }, [loadMore, enableLoadMore])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n handleLoadMoreDisableState();\n }, [routesData, handleLoadMoreDisableState]);\n\n\n useEffect(() => {\n fetchStatus();\n const hubsToAdd = hubCode.filter((hub: string) => hub !== AppConstants.SELECT_ALL.value).map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedSlotFilters: any = { ...routesActiveFilters, hubCode: { ...routesActiveFilters.hubCode, value: hubsToAdd } };\n let updatedFilters: any = { ...routesActiveFilters, slots: slots, hubCode: { ...routesActiveFilters.hubCode, value: hubsToAdd }, status: { ...routesActiveFilters.status, value: routesStatus.length ? routesStatus : allRouteStatus } };\n slotFilterCallback(updatedSlotFilters);\n handleRouteDetailsWithConsignments(updatedFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n return (\n
\n \n \n \n \n \n \n\n \n \n \n \"search\"\n \n \n )}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n New\n \n \n Ready To Dispatch\n \n \n Preparing\n \n \n Prepared\n \n \n Out for Delivery\n \n \n \n On Hold\n \n \n \n Pending Delivery\n \n \n \n Delivered\n \n \n \n Partially Delivered\n \n \n \n Cancelled\n \n \n \n Delivery Failed\n \n \n \n Routes\n \n \n {!error ? (\n <>\n {loading && }\n \n {\n getRouteDetails()\n }\n \n\n \n \n Slots\n \n \n {formattedSlots.map((item: any) => (\n \n {item}\n \n ))}\n \n \n \n ) : (\n \n {error}\n \n )}\n \n \n \n {!error ? (\n \n \n \n \n \n {routesData.elements.length || 0}\n /\n {routesData.totalElements || 0}\n \n \n \n \n ) : null}\n \n \n
\n );\n};\n\nexport default RouteTracking;","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\nimport { getUniqueValues, enumerateDaysBetweenDates } from \"../../utils/helpers.utils\";\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\nexport const createPayloadForSlots = (payload: any, data?: any, isLoadMore?: boolean) => {\n payload.attributes = [];\n if (payload.hubCode) {\n if (payload.hubCode.value) {\n let hubValue = payload.hubCode.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hubCode.fieldName,\n value: getUniqueValues(hubValue)\n })\n } else {\n payload.attributes.push({\n key: payload.hubCode.fieldName,\n value: []\n });\n }\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n let dateRange = [];\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n payload.dateRange = dateRange;\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n attributes: payload.attributes,\n dateRange: payload.dateRange,\n isDateRange: true,\n pageSize: AppConstants.TRACKING_CONSTANTS.loadMore.pageSize,\n pageNumber: payload.pageNumber\n };\n};\n\nexport const createRouteDetailsPayload = (payload: any, data?: any, isLoadMore?: boolean) => {\n payload.attributes = [];\n if (payload.hubCode) {\n if (payload.hubCode.value) {\n let hubValue = payload.hubCode.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hubCode.fieldName,\n value: getUniqueValues(hubValue)\n })\n } else {\n payload.attributes.push({\n key: payload.hubCode.fieldName,\n value: []\n });\n }\n }\n if (payload.status) {\n\n const selectAllIdx = payload.status.value.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = payload.status.value.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n payload.status.value = [];\n }\n if (selectNoneIdx > -1) {\n payload.status.value = [];\n }\n payload.attributes.push({\n key: payload.status.fieldName,\n value: payload.status.value || []\n });\n }\n let dateRange: any = [];\n const selectAllIdx = payload.slots && payload.slots.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n if (selectAllIdx > -1 || !(payload.slots && payload.slots.length)) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n else {\n if (payload.slots.length && !payload.slots.includes(AppConstants.SELECT_NONE.value)) {\n payload.isDateRange = false;\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n payload.slots.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0] && splitSlot[0].split(':');\n const endSlot = splitSlot[1] && splitSlot[1].split(':');\n allDates.map((item) => {\n return dateRange.push({\n startTime: moment(item, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(item, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n })\n }\n else {\n payload.isDateRange = false;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n }\n }\n }\n payload.dateRange = dateRange;\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (payload.searchAttribute && payload.searchAttribute.value !== \"\") {\n payload.searchAttribute = {\n key: payload.searchAttribute.fieldName,\n value: payload.searchAttribute.value || \"\"\n };\n }\n let payloadWithoutSeachAttribute: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n attributes: payload.attributes,\n dateRange: payload.dateRange,\n isDateRange: payload.isDateRange,\n pageSize: payload.pageSize,\n pageNumber: payload.pageNumber\n }\n let payloadWithSeachAttribute: any = {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n attributes: payload.attributes,\n dateRange: payload.dateRange,\n isDateRange: payload.isDateRange,\n pageSize: payload.pageSize,\n pageNumber: payload.pageNumber,\n searchAttribute: payload.searchAttribute\n }\n if (data.continuationToken && payload.pageNumber) {\n payloadWithoutSeachAttribute.requestContinuationToken = data.continuationToken;\n payloadWithSeachAttribute.requestContinuationToken = data.continuationToken;\n }\n if (payload.searchAttribute && payload.searchAttribute.value !== \"\") {\n return payloadWithSeachAttribute\n } else {\n return payloadWithoutSeachAttribute\n }\n};\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj ? `${addressObj.building ? addressObj.building + ', ' : \"\"}${addressObj.apartment ? addressObj.apartment + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + ', ' : \"\"}${addressObj.makani ? addressObj.makani + ', ' : \"\"}${addressObj.streetNumber ? addressObj.streetNumber + ', ' : \"\"}${addressObj.streetName ? addressObj.streetName + ', ' : \"\"}${addressObj.area ? addressObj.area + ', ' : \"\"}${addressObj.landmark ? addressObj.landmark + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + ', ' : \"\"}${addressObj.postalCode ? addressObj.postalCode + ', ' : \"\"}${addressObj.countryName ? addressObj.countryName + ', ' : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode + ', ' : \"\"}${addressObj.longitude ? addressObj.longitude + ', ' : \"\"}${addressObj.latitude ? addressObj.latitude : \"\"}` : \"\";\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 24,\n color: \"#979797\"\n },\n \"& .MuiTab-root.Mui-selected\": {\n color: '#1F1F1F'\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: \"0px 12px 20px 12px\",\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"12px 0px 10px 0px\",\n '& .chipsContainer': {\n justifyContent: 'space-between',\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"11%\",\n borderRadius: theme.spacing(1),\n border: \"1px solid rgba(10, 67, 124, 0.2)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: \"#0A437C\",\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n }\n }\n }\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI,\n color: COLORS.WHITE\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n colSettings: {\n float: \"right\",\n marginTop: -3\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2),\n fontFamily: 'Montserrat',\n backgroundColor: COLORS.ALIZARIN_CRIMSON,\n '&:hover': {\n backgroundColor: COLORS.ALIZARIN_CRIMSON\n }\n }\n },\n }),\n);\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { fetchOrdersFilterChipsDisplayCount, fetchRoutesFilterChipsDisplayCount, fetchPlanningOrderListByFilter, fetchPlanningRouteListByFilter, publishRoutes, deleteRoute, clearPublishedRoutesErrors, clearUpdatedRoute, resetPlanningError, resetConsignmentReplanningSuccess, fetchDeliveryReasons, fetchDynamicFiltersOrdersDropdownValues, fetchDynamicFiltersRoutesDropdownValues, clearCurrentSlot, exportToExcel, exportRoutesToExcel } from \"./redux/valetTrolleySlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport moment from \"moment\";\nimport {\n createDeleteRoutePayload,\n createFilterPayload,\n createPublishRoutesPayload,\n getConsignmentStatusField,\n getRouteStatusField,\n lastMileVTOrdersDataTransform,\n lastMileVTRoutesDataTransform,\n createPayloadForExcelExport,\n createRoutesPayloadForExcelExport\n} from \"../mocks/valetTrolley/response.transforms\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport { useHistory } from \"react-router\";\n\n//Assets\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as deleteIcon } from './../assets/icons/delete-icon.svg';\nimport { ReactComponent as checkIcon } from './../assets/icons/circle-checked-icon.svg';\n\n//Common Components\nimport { AppState } from \"../config/redux/reducers\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { CellParams, RowData, RowParams, SelectionChangeParams, SortModel } from \"../common/GridWrapper/DataTable\";\nimport CustomDialog from \"../common/Dialog\";\nimport CustomTooltip from \"common/Tooltip\";\nimport SelectBox from \"common/SelectBox\";\n\n//Styles\nimport { useStyles } from \"./valetTrolleyStyles\";\n\n//Constants, Utils\nimport AppConstants from \"../constants\";\nimport { getHubRecordList, getSlotUIValue, getValueFromArray } from \"../utils/helpers.utils\";\nimport _ from \"lodash\";\n\n//Material UI Components\nimport { Button, Grid, SvgIcon, IconButton, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { TabContext, TabPanel } from '@material-ui/lab';\nimport CloseIcon from '@material-ui/icons/Close';\n\n//Components\nimport ValetTrolleyOrderDetails from \"./ValetTrolleyOrderDetails\";\n\ninterface ValetTrolleyProps {\n match?: any;\n location?: any;\n}\n\nconst ValetTrolley = (props: ValetTrolleyProps) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { location } = props;\n const componentClasses = useStyles();\n const { ordersData, routesData, tableLoading, ordersFiltersDropdowns, routesFiltersDropdowns, vtOrdersFilterChipsDisplayCount, routesFilterChipsDisplayCount, publishedRoutes, deletedRoute, publishedRoutesErrors, updatedRoute, routeDiscardSuccess, vtReplanningConsignmentSuccess, isUpdateAddress, loading, error, errorCode, exportError, excelLoading } = useSelector(\n (state: AppState) => state.valetTrolley\n );\n const { countryCode, hubCode, hubRecordList } = useSelector(\n (state: AppState) => state.common\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const onLoadRef = useRef(true);\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [routesListToShow, setRoutesListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [routesSearchValue, setRoutesSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [isRouteSearched, setIsRouteSearched] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [tabValue, setTabValue] = useState(location.state && location.state.tabValue ? location.state.tabValue : AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n const [activeRoutesFilterChip, setActiveRoutesFilterChip] = useState(AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP);\n\n const [selectedRoutes, setSelectedRoutes] = useState([] as RowData[]);\n const [isTabChange, setIsTabChange] = useState(false);\n\n const [openPublishDialog, setOpenPublishDialog] = useState(false);\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [viewRoute, setViewRoute] = useState(null);\n const [createRouteHub, setCreateRouteHub] = useState(sessionStorage.getItem(AppConstants.HUB_CODE) || AppConstants.SELECT_NONE.value);\n const [openCreateRouteHubSelectionPopup, setOpenCreateRouteHubSelectionPopup] = useState(false);\n const [createRoute, setCreateRoute] = useState(false);\n const [routeToBeDeleted, setRouteToBeDeleted] = useState({});\n const [openPublishErrorMsgPopup, setOpenPublishErrorMsgPopup] = useState(false);\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'consignmentId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'deliveryStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [routesTableWrapperData, setRoutesTableWrapperData] = useState({\n ...AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'routeId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \n \n \n \n \n \n \n \n );\n }\n if (newHeader.field === 'deliveryArea') {\n newHeader.renderCell = (params: CellParams) => {\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : params.value[0]}\n \n \n );\n }\n }\n if (newHeader.field === 'deliverySlot') {\n newHeader.renderCell = (params: CellParams) => {\n const firstDelSlot = params.value.length && params.value[0].split('-');\n const slotValue = getSlotUIValue(firstDelSlot);\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : `${slotValue.startTime} - ${slotValue.endTime}`}\n \n \n );\n }\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n \n {params.value ? params.value : \"\"}\n \n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n const [routesActiveFilters, setRoutesActiveFilters] = useState({ ...routesTableWrapperData.defaultFiltersObj });\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n\n const publishDialogPaperProps = {\n classes: {\n root: componentClasses.publishDialogPaperPropsRoot\n }\n }\n\n const deleteDialogPaperProps = {\n classes: {\n root: componentClasses.deleteDialogPaperPropsRoot\n }\n }\n\n const createRouteHubSelectionDialogPaperProps = {\n classes: {\n root: componentClasses.hubSelectionDialogPaperPropsRoot\n }\n }\n\n const fetchDynamicFilters = useCallback(\n (filters: any, isRoute?: boolean) => {\n if (isRoute) {\n dispatch(\n fetchDynamicFiltersRoutesDropdownValues({\n filters: filters\n })\n )\n } else {\n dispatch(\n fetchDynamicFiltersOrdersDropdownValues({\n filters: filters\n })\n )\n }\n },\n [dispatch]\n );\n\n const handleHeaderButtonsDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case \"publish\":\n btn.disabled = !selectedRoutes.length;\n break;\n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case \"createRoute\":\n if (isLastMileViewer || isOnlyStdLastMileViewer) {\n btn.hide = true;\n };\n break;\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, selectedRoutes, isLastMileViewer, isOnlyStdLastMileViewer]\n );\n\n const handleHeaderButtonsHideState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'publish':\n btn.hide = activeRoutesFilterChip !== AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP;\n break;\n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'createRoute':\n btn.hide = activeOrdersFilterChip !== AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP;\n break;\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip]\n );\n\n const handleLoadMoreDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let loadMoreState = routesTableWrapperData.loadMore;\n loadMoreState.disabled = routesData.totalPages ? routesData.pageNumber + 1 >= routesData.totalPages : true;\n setRoutesTableWrapperData({ ...routesTableWrapperData, loadMore: loadMoreState });\n } else {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n }\n },\n [routesTableWrapperData, ordersTableWrapperData, ordersData, routesData]\n );\n\n const getFilterChipsCount = useCallback(\n (payload: any, isRoute?: boolean) => {\n setIsDisplayCount(false);\n let updatedPayload = _.cloneDeep(payload);\n if (isRoute) {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.displayRouteStatus');\n dispatch(\n fetchRoutesFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n } else {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.metadata.displayRouteStatus');\n dispatch(\n fetchOrdersFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n }\n\n },\n [dispatch],\n )\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const routesSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setRoutesSearchValue(updatedSearchValue);\n setIsRouteSearched(false);\n if (updatedSearchValue) {\n setIsRouteSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n routesFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeOrdersFilterChip === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, ordersData, isLoadMore);\n if (!isLoadMore) {\n fetchDynamicFilters(payload);\n }\n if(isLoadMore){\n setIsTabChange(false);\n }\n getFilterChipsCount(payload);\n dispatch(\n fetchPlanningOrderListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, ordersData, ordersTableWrapperData, activeOrdersFilterChip, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n const handleExcelExport = useCallback(\n (filters: any, isRoute: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n if (isRoute) {\n if (activeRoutesFilterChip === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n const payload = createRoutesPayloadForExcelExport(payloadFilters, routesData, false, true);\n dispatch(\n exportRoutesToExcel({\n payload: payload\n })\n );\n } else {\n if (activeOrdersFilterChip === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n const payload = createPayloadForExcelExport(payloadFilters, ordersData, false, false);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n }\n }\n setRenderExcelProgress(true);\n },\n [dispatch, ordersData, routesData, countryCode, activeOrdersFilterChip, activeRoutesFilterChip]\n )\n\n const routesFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = routesTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeRoutesFilterChip === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, routesData, isLoadMore, true);\n if (!isLoadMore) {\n fetchDynamicFilters(payload, true);\n }\n dispatch(\n fetchPlanningRouteListByFilter({\n filters: payload\n })\n );\n getFilterChipsCount(payload, true);\n setRoutesActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, routesData, routesTableWrapperData, activeRoutesFilterChip, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n\n const fetchAllDeliveryReasons = useCallback(\n () => {\n dispatch(\n fetchDeliveryReasons()\n )\n },\n [dispatch],\n )\n\n const handleConsignmentReplanningReset = useCallback(\n () => {\n dispatch(\n resetConsignmentReplanningSuccess()\n )\n },\n [dispatch],\n );\n\n const handleHubSelectionDialogClose = useCallback(\n () => {\n setOpenCreateRouteHubSelectionPopup(false);\n },\n [],\n );\n\n const handleClearCurrentSlot = useCallback(\n () => {\n dispatch(\n clearCurrentSlot()\n );\n },\n [dispatch],\n );\n\n const hubSelectionDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'continue') {\n handleClearCurrentSlot();\n setCreateRoute(true);\n setEditRoute(null);\n }\n handleHubSelectionDialogClose();\n },\n [handleHubSelectionDialogClose, handleClearCurrentSlot],\n )\n\n const handleHubChangePopup = useCallback(\n () => {\n const hubs : any[] = getHubRecordList(hubRecordList, countryCode);\n if (hubs.length > 1) {\n setOpenCreateRouteHubSelectionPopup(true);\n } else {\n setCreateRouteHub(hubs.length ? hubs[0].value : AppConstants.SELECT_NONE.value);\n hubSelectionDialogActionHandler('continue');\n }\n },\n [hubRecordList, countryCode, hubSelectionDialogActionHandler],\n )\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'createRoute':\n handleHubChangePopup();\n break;\n case 'excel':\n handleExcelExport(ordersActiveFilters, false);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, handleHubChangePopup, ordersActiveFilters]\n );\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'consignmentId') {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n }\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRowClick = useCallback(\n (params: RowParams) => {\n const selectedRow: any = params.data;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRouteCellClick = useCallback(\n (params: CellParams) => {\n if (params.field !== 'actions') {\n const selectedRow: any = params.rowData;\n const selectedRoute = routesData.elements.filter((item: any) => item.id === selectedRow.id);\n handleClearCurrentSlot();\n setViewRoute(selectedRoute.length ? selectedRoute[0] : {});\n setCreateRoute(false);\n }\n },\n [routesData, handleClearCurrentSlot],\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n\n\n const handleRoutesHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'publish':\n setOpenPublishDialog(true);\n break;\n case 'excel':\n handleExcelExport(routesActiveFilters, true);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, routesActiveFilters]\n );\n\n const getPublishDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getPublishDialogDetailsContent = () => {\n return (\n \n \n Are you sure you want to publish these routes?\n \n \n {selectedRoutes.length > 1 ? `${selectedRoutes.length} Routes` : `${selectedRoutes.length} Route`}{selectedRoutes.length > 1 ? ' are ' : ' is '}being published. Once published, the drivers will be notified of the assigned routes.\n \n \n )\n };\n\n const handlePublishDialogClose = useCallback(\n () => {\n setOpenPublishDialog(false);\n },\n [],\n )\n\n const getDeleteDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getDeleteDialogDetailsContent = () => {\n return (\n \n \n {`Are you sure you want to delete Route ${routeToBeDeleted.routeId}`}\n \n \n Once deleted, the consignments in this route will be moved back to the unplanned tab.\n \n \n )\n };\n\n const handleHubChange = useCallback(\n (value: any) => {\n setCreateRouteHub(value);\n },\n [],\n )\n\n const getHubSelectionDialogTitleContent = () => {\n return (\n Select Hub\n )\n }\n\n const getHubSelectionDialogDetailsContent = () => {\n return (\n \n \n Please select the Hub to create routes\n \n \n \n \n \n )\n };\n\n const getDeliveryAreas = (areas: any[]) => {\n return areas.length && areas.map((area: string, index: number) => (\n {area}\n ));\n }\n\n const getDeliverySlots = (slots: any[]) => {\n return slots.length && slots.map((slot: string, index: number) => {\n const delSlot = slot.split('-');\n const slotValue = getSlotUIValue(delSlot);\n return (\n {`${slotValue.startTime} - ${slotValue.endTime}`}\n )\n });\n }\n\n const handleDeleteRouteIconClick = (value: any) => () => {\n setRouteToBeDeleted(value);\n setOpenDeleteDialog(true);\n }\n\n const handleEditRouteIconClick = (value: any) => () => {\n handleClearCurrentSlot();\n setEditRoute(value);\n setCreateRoute(false);\n }\n\n const handleDeleteDialogClose = useCallback(\n () => {\n setRouteToBeDeleted({});\n setOpenDeleteDialog(false);\n },\n [],\n );\n\n const handleDeleteRoute = useCallback(\n () => {\n const deletePayload = createDeleteRoutePayload(routeToBeDeleted.id);\n if (deletePayload) {\n dispatch(\n deleteRoute({\n payload: deletePayload\n })\n )\n }\n },\n [dispatch, routeToBeDeleted],\n )\n\n const deleteRouteDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'delete') {\n handleDeleteRoute();\n }\n handleDeleteDialogClose();\n },\n [handleDeleteDialogClose, handleDeleteRoute],\n )\n\n const getDeleteDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getHubSelectionDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handlePublishRoutes = useCallback(\n () => {\n const publishPayload = createPublishRoutesPayload(selectedRoutes);\n if (publishPayload) {\n dispatch(\n publishRoutes({\n payload: publishPayload\n })\n )\n }\n },\n [dispatch, selectedRoutes],\n )\n\n const publishRoutesDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'publish') {\n handlePublishRoutes();\n }\n handlePublishDialogClose();\n },\n [handlePublishDialogClose, handlePublishRoutes],\n )\n\n const getPublishDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.VALET_TROLLEY_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n if (error) {\n dispatch(\n resetPlanningError()\n )\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(\n clearUpdatedRoute()\n )\n }\n },\n [dispatch, error, errorCode, updatedRoute]\n );\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n let updatedFilters: any = {};\n if (value === AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES) {\n updatedFilters = { ...routesActiveFilters, hub: { ...routesActiveFilters.hub, value: ordersActiveFilters.hub.value }, hubName: { ...routesActiveFilters.hubName, value: ordersActiveFilters.hubName.value }, dateRange: ordersActiveFilters.dateRange, deliverySlot: ordersActiveFilters.deliverySlot };\n setIsRouteSearched(false);\n setRoutesActiveFilters(updatedFilters);\n } else {\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: routesActiveFilters.hub.value }, hubName: { ...ordersActiveFilters.hubName, value: routesActiveFilters.hubName.value }, dateRange: routesActiveFilters.dateRange, deliverySlot: routesActiveFilters.deliverySlot };\n setIsOrderSearched(false);\n setOrdersActiveFilters(updatedFilters);\n }\n },\n [ordersActiveFilters, routesActiveFilters],\n )\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any, isRoute?: boolean) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n if (isRoute) {\n filters = chip.code === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsRouteSearched(false);\n if (chip.code === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n setTabValue(AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY);\n setActiveOrdersFilterChip(chip.code);\n }\n if (chip.code !== activeRoutesFilterChip) {\n setActiveRoutesFilterChip(chip.code);\n routesFilterCallback(filters, false, true);\n const headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'actions') {\n newHeader.renderCell = chip.code === AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP ? () => (<>) : newHeader.renderCell;\n }\n return newHeader;\n })\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n } else {\n filters = chip.code === AppConstants.VALET_TROLLEY_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true);\n }\n }\n setRenderExcelProgress(false);\n },\n [routesFilterCallback, ordersFilterCallback, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip],\n )\n\n const updateSelectedRoutes = useCallback(\n (params: SelectionChangeParams) => {\n setSelectedRoutes(params.rows);\n },\n []\n );\n\n const getFilterChips = (isRoute?: boolean) => {\n const filterChips = isRoute ? AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.FILTER_CHIPS : AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n <>\n handleChipFilter(chip, isRoute ? routesActiveFilters : ordersActiveFilters, isRoute)}>\n\n \n \n {chip.value}\n \n \n {chip.code === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP ? vtOrdersFilterChipsDisplayCount.consignmentCount[chip.code] : isRoute ? routesFilterChipsDisplayCount.routCount[chip.code] : vtOrdersFilterChipsDisplayCount.consignmentCount[chip.code]}\n \n \n \n \n ))\n };\n\n const getPublishedErrorContentItems = () => {\n return publishedRoutesErrors.length ? publishedRoutesErrors.map((error: any) => (\n \n \n \n \n {error.message}\n \n \n \n )) : null;\n };\n\n const handlePublishErrorPopupClose = useCallback(\n () => {\n setOpenPublishErrorMsgPopup(false);\n dispatch(\n clearPublishedRoutesErrors()\n );\n },\n [dispatch],\n );\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n history.replace({ pathname: location.pathname, state: {} })\n }\n\n useEffect(() => {\n window.addEventListener('beforeunload', handleBeforeUnload);\n onLoadRef.current = true;\n fetchAllDeliveryReasons();\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (publishedRoutes.length) {\n onLoadRef.current = false;\n openSnackbarPopup(`\"${publishedRoutes.length} Route(s)\" ${AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publishedRoutes])\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n }\n if (!(updatedRoute && routeDiscardSuccess)) {\n if (editRoute) {\n // history.push(AppConstants.ROUTES.EDIT_ROUTE);\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.PLANNING,\n state: {\n tabValue: AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n if (createRoute) {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.VALET_TROLLEY_CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n });\n }\n if (viewRoute) {\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updatedRoute, routeDiscardSuccess])\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.PLANNING,\n state: {\n tabValue: AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n }\n if (createRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.VALET_TROLLEY_CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n });\n }\n }\n if (viewRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n history.push(`${AppConstants.ROUTES.VALET_TROLLEY_VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editRoute, createRoute, viewRoute])\n\n useEffect(() => {\n if (deletedRoute) {\n onLoadRef.current = false;\n openSnackbarPopup(`Route \"${deletedRoute.id}\" ${AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.DELETE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deletedRoute])\n\n useEffect(() => {\n if (vtReplanningConsignmentSuccess) {\n openSnackbarPopup(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.REPLANNING_CONSIGNMENT_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [vtReplanningConsignmentSuccess])\n\n useEffect(() => {\n if (isUpdateAddress) {\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUpdateAddress])\n\n useEffect(() => {\n if (publishedRoutesErrors.length) {\n setOpenPublishErrorMsgPopup(true);\n }\n }, [publishedRoutesErrors])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(vtOrdersFilterChipsDisplayCount.consignmentCount).filter((key: string) => vtOrdersFilterChipsDisplayCount.consignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? chips[0] === AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.CANCELLED && chips.length === 2 ? chips[1] : selectedChipValue : activeOrdersFilterChip }, ordersActiveFilters)\n } else {\n setOrdersListToShow(lastMileVTOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [vtOrdersFilterChipsDisplayCount, ordersData]);\n\n useEffect(() => {\n if (isRouteSearched) {\n const chips = Object.keys(routesFilterChipsDisplayCount.routCount).filter((key: string) => routesFilterChipsDisplayCount.routCount[key] > 0);\n handleChipFilter({ code: chips.length ? chips[0] : activeRoutesFilterChip }, routesActiveFilters, true);\n } else {\n setRoutesListToShow(lastMileVTRoutesDataTransform(routesData) as any);\n handleLoadMoreDisableState(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesFilterChipsDisplayCount, routesData]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersListToShow]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesListToShow, selectedRoutes]);\n\n useEffect(() => {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n }\n return header;\n });\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: routesHeaderData });\n setActiveOrdersFilterChip(AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n setActiveRoutesFilterChip(AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP);\n if (tabValue === AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY) {\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: hubsToAdd } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n } else {\n setIsRouteSearched(false);\n updatedFilters = { ...routesActiveFilters, hub: { ...routesActiveFilters.hub, value: hubsToAdd } };\n if (!onLoadRef.current) {\n routesFilterCallback(updatedFilters);\n }\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n if (routesTableWrapperData && routesTableWrapperData.HeaderData) {\n let headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n if (isLastMileViewer || isOnlyStdLastMileViewer) {\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = {...header};\n if (newHeader.field === \"actions\") {\n newHeader.hide = true;\n }\n return newHeader;\n });\n setRoutesTableWrapperData({...routesTableWrapperData, HeaderData: routesHeaderData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns, routesFiltersDropdowns, isLastMileViewer, isOnlyStdLastMileViewer]);\n\n useEffect(() => {\n handleHeaderButtonsHideState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeOrdersFilterChip]);\n\n useEffect(() => {\n handleHeaderButtonsHideState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeRoutesFilterChip]);\n\n return (\n
\n {loading && }\n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips(true)\n }\n \n \n \n \n \n \n {\n openPublishErrorMsgPopup &&\n \n \n \n \n {`${publishedRoutesErrors.length} Route(s) ${AppConstants.VALET_TROLLEY_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_ERROR_MSG}`}\n \n \n \n \n \n \n \n \n \n \n {getPublishedErrorContentItems()}\n \n \n \n }\n \n\n \n\n\n \n \n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n \n Your files are getting downloaded\n \n ) : (\n \n \n Your files have been downloaded\n \n \n )}\n {excelLoading ? :\n \n \n \n \n \n \n }\n ) : (\n exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null)}\n \n \n\n
\n );\n};\n\nexport default ValetTrolley;","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { transformSelectValues } from \"../../utils/helpers.utils\";\nimport { HubState } from \"./hubSlice.types\";\nimport AppConstants from \"../../constants\";\n\n\n\nexport const fetchHubDetails = createAsyncThunk(\n \"Hubs/FetchHubDetails\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"hub/filter\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createNewHub = createAsyncThunk(\n \"Hubs/AddNewHub\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"hub/create\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAddHubCountryDropdownValues = createAsyncThunk(\n \"Users/FetchAddUserDropdownValues\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `user/populate`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateHubDetails = createAsyncThunk(\n \"Hubs/UpdateHubDetails\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"hub/update\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const resetHubCreationStatus = createAsyncThunk(\"Users/ResetHubCreationStatus\", () => {\n return false;\n});\n\nexport const resetHubUpdationStatus = createAsyncThunk(\"Users/ResetHubUpdationStatus\", () => {\n return false;\n});\n\n\nconst initialState: HubState = {\n loading: false,\n error: \"\",\n tableLoading: false,\n hubsData: {\n elements: [],\n pageNumber: 0,\n },\n hubCreationStatus: false,\n hubCreationMsg: \"\",\n hubUpdateStatus: false,\n hubUpdateMsg: \"\",\n addUserDropdowns: {\n countriesList: []\n },\n};\n\nconst UsersSlice = createSlice({\n name: \"Users\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchHubDetails.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchHubDetails.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n state.loading = false;\n state.hubsData = {\n ...payload,\n elements:\n params.pageNumber === 0\n ? [...payload.elements]\n : [...state.hubsData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchHubDetails.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAddHubCountryDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAddHubCountryDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n let countriesList: any = {};\n if (payload.roleCountryMap) {\n Object.keys(payload.roleCountryMap).filter((role: any) => {\n countriesList[role] = transformSelectValues(payload.roleCountryMap[role]);\n return true;\n });\n }\n state.errorCode = \"\";\n state.error = \"\";\n state.addUserDropdowns = {\n countriesList: countriesList,\n };\n }\n })\n .addCase(fetchAddHubCountryDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.addUserDropdowns = {\n countriesList: {}\n };\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(createNewHub.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(createNewHub.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.hubCreationStatus = true;\n state.hubCreationMsg = `Hub ${payload.id} ${payload.name} has been added successfully`;\n }\n })\n .addCase(createNewHub.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.hubCreationStatus = false;\n state.hubCreationMsg = \"\";\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateHubDetails.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateHubDetails.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n state.hubUpdateStatus = true;\n state.hubUpdateMsg = `Hub Details Updated`;\n }\n })\n .addCase(updateHubDetails.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.hubUpdateStatus = false;\n state.hubUpdateMsg = \"\";\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n },\n});\n\nexport default UsersSlice.reducer;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const hubsStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: \"0px 12px 0px 12px\",\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .userItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(2.5),\n '& p': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n //boxShadow: \"0px 4px 4px rgba(0, 0, 0, 0.04)\",\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n paddingTop: theme.spacing(1.5),\n '& .hubIdLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .serviceType': {\n color: \"#2D2D2D\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"capitalize\",\n }\n }\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.yellow': {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_YELLOW_LIGHT\n },\n '&.green': {\n color: COLORS.PERSIAN_GREEN_DARK,\n backgroundColor: COLORS.PERSIAN_GREEN_LIGHT\n },\n '&.red': {\n color: COLORS.DARK_RED,\n backgroundColor: COLORS.LIGHT_RED\n },\n '&.gray': {\n color: COLORS.GRAY_DARK,\n backgroundColor: COLORS.ALTO\n },\n '&.black': {\n backgroundColor: COLORS.BLACK,\n color: COLORS.WHITE\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25)\n }\n }\n }\n }),\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 24,\n fontWeight: 600,\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentItem': {\n paddingBottom: theme.spacing(3),\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n },\n '& .userIdContainer .input': {\n flexGrow: 1,\n paddingRight: theme.spacing(2)\n }\n }\n },\n '& .hubAddress': {\n fontSize: \"16px\",\n fontWeight: 600,\n color: \"#000000\"\n }\n },\n },\n buttons: {\n width: \"100%\",\n '& .buttonsContainer': {\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n }\n }),\n);","import React, { forwardRef, ReactElement, Ref, useCallback, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport * as yup from 'yup';\nimport { useStyles } from './HubAddOrEditDetails.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Button, Grid, Typography } from '@material-ui/core';\nimport AppConstants from '../constants';\nimport { useFormik } from 'formik';\nimport TextBox from '../common/TextBox';\nimport SelectBox from '../common/SelectBox';\nimport { useSelector } from 'react-redux';\nimport { AppState } from '../config/redux/reducers';\n\ninterface HubAddOrEditDetailsProps {\n open: boolean;\n user: any;\n isEdit: boolean;\n closePopup: () => void;\n handleDialogAction?: (params: any) => void;\n}\n\nconst inputValidationSchema = yup.object({\n hubId: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.HUBID.REQUIRED.msg),\n hubName: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.HUBNAME.REQUIRED.msg),\n latitude: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.LATITUDE.REQUIRED.msg),\n longitude: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.LONGITUDE.REQUIRED.msg),\n status: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.HUB_STATUS.REQUIRED.msg)\n .matches(new RegExp(AppConstants.HUB_CONSTANTS.VALIDATIONS.HUB_STATUS.REQUIRED.value), AppConstants.HUB_CONSTANTS.VALIDATIONS.HUB_STATUS.REQUIRED.msg),\n serviceType: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.SERVICE_TYPE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.HUB_CONSTANTS.VALIDATIONS.SERVICE_TYPE.REQUIRED.value), AppConstants.HUB_CONSTANTS.VALIDATIONS.SERVICE_TYPE.REQUIRED.msg),\n category: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.SERVICE_TYPE.REQUIRED.msg)\n .matches(new RegExp(AppConstants.HUB_CONSTANTS.VALIDATIONS.SERVICE_TYPE.REQUIRED.value), AppConstants.HUB_CONSTANTS.VALIDATIONS.CATEGORY.REQUIRED.msg),\n country: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg)\n .matches(new RegExp(AppConstants.HUB_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.value), AppConstants.HUB_CONSTANTS.VALIDATIONS.COUNTRY.REQUIRED.msg),\n address: yup\n .string()\n .required(AppConstants.HUB_CONSTANTS.VALIDATIONS.ADDRESS.REQUIRED.msg),\n});\n\n\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst HubAddOrEditDetails = (props: HubAddOrEditDetailsProps) => {\n\n const classes = useStyles();\n const { open, user, isEdit, closePopup, handleDialogAction } = props;\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { addUserDropdowns } = useSelector(\n (state: AppState) => state.hub\n );\n const [resetFormFlag, setResetFormFlag] = useState(false);\n\n let countryCodeValue = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const getInitialValues = () => {\n return isEdit ? {\n hubId: user.hubId ? user.hubId : '',\n hubName: user.hubName ? user.hubName : '',\n latitude: user.latitude ? user.latitude : '',\n longitude: user.longitude ? user.longitude : '',\n status: user.hubStatus ? user.hubStatus : '',\n serviceType: user.serviceType ? user.serviceType[0] : '',\n category: user.category ? user.category[0] : '',\n country: countryCodeValue,\n address: user.area ? user.area : '',\n } : {\n hubId: '',\n hubName: '',\n latitude: '',\n longitude: '',\n status: AppConstants.SELECT_NONE.value,\n serviceType: AppConstants.SELECT_NONE.value,\n category: AppConstants.SELECT_NONE.value,\n country: AppConstants.SELECT_NONE.value,\n address: '',\n }\n }\n const inputFormik = useFormik({\n initialValues: getInitialValues(),\n validationSchema: inputValidationSchema,\n validate: () => {\n setResetFormFlag(false);\n },\n onSubmit: (values) => {\n dialogActionHandler('submit', values);\n }\n });\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any) => {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values,\n isEdit: isEdit\n });\n },\n [handleDialogAction, isEdit],\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n {isEdit ? 'Edit Hub' : 'Add Hub'}\n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n
\n \n \n \n \n Hub Id\n \n \n \n \n \n \n \n \n \n Hub Name\n \n \n \n \n \n \n \n \n \n Latitude\n \n \n \n \n \n \n \n \n \n Longitude\n \n \n \n \n \n \n \n \n \n Status\n \n \n \n \n \n \n \n \n \n Service Type\n \n \n \n \n \n \n \n \n \n Category\n \n \n \n \n \n \n \n Hub Address\n \n \n \n \n Country\n \n \n \n \n \n \n \n \n \n Address\n \n \n \n \n \n \n \n
\n )\n }\n\n const getDialogActions = () => {\n return (\n
\n \n \n \n \n
\n );\n };\n\n useEffect(() => {\n if (open) {\n inputFormik.resetForm();\n setResetFormFlag(true);\n inputFormik.setValues(getInitialValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open])\n\n return (\n \n )\n}\n\nexport default HubAddOrEditDetails;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n },\n \"& .statusContainer\": {\n \"& .statusIcon\": {\n width: 12,\n height: 12,\n borderRadius: \"50%\",\n '&.yellow': {\n backgroundColor: COLORS.STATUS_YELLOW\n },\n '&.black': {\n backgroundColor: COLORS.TEXT_PRIMARY\n },\n '&.green': {\n backgroundColor: COLORS.PERSIAN_GREEN\n },\n '&.red': {\n backgroundColor: COLORS.DARK_RED\n },\n '&.gray': {\n backgroundColor: COLORS.GRAY_DARK\n },\n },\n '& .statusMsg': {\n paddingLeft: theme.spacing(1),\n '& .status': {\n fontSize: 12\n }\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n '& .tagContainer': {\n cursor: \"pointer\",\n marginLeft: theme.spacing(2),\n alignSelf: \"center\"\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .detailsHeader': {\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(3),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n padding: theme.spacing(2.5, 0, 0, 6),\n '&:first-child': {\n padding: 0\n },\n '& .profileIcon': {\n width: 140,\n height: 140\n },\n '& .rightPanelContainer': {\n flexDirection: \"column\",\n '& .rightPanelItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .fullname': {\n fontSize: 24,\n fontWieght: 600\n },\n '& .logo': {\n width: 20,\n height: 20\n },\n '& .contact': {\n '& a': {\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(1)\n }\n }\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '& .contentRowContainer': {\n justifyContent: \"space-between\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&.second': {\n flex: \"1.5 0 0\"\n },\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n },\n '&.twoItems': {\n '& .contentColumn': {\n '&:last-child': {\n flex: \"2.5 0 0\"\n }\n }\n },\n '&.btnContainer': {\n '& .contentColumn': {\n flex: \"1 0 auto\",\n '& .resetPasswordBtn': {\n width: \"100%\"\n }\n }\n }\n }\n },\n '& .hubItemsSection': {\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n paddingBottom: theme.spacing(2)\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n justifyContent: \"space-between\",\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '& .content': {\n flexGrow: 1\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n }\n }),\n);","import React, { forwardRef, ReactElement, Ref, useCallback } from 'react';\nimport { useSelector } from \"react-redux\";\nimport CustomDialog from '../common/Dialog';\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { useStyles } from './HubDetails.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, SvgIcon, Typography } from '@material-ui/core';\nimport { AppState } from \"../config/redux/reducers\";\ninterface HubDetailsProps {\n open: boolean;\n hub: any;\n closePopup: () => void;\n handleDialogAction?: (type: string) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst HubDetails = (props: HubDetailsProps) => {\n\n const classes = useStyles();\n const { isCollectionPointManager, isCHDManager, isVTManager, isDispatcher, isOnlyStandardDispatcher, isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n const { open, hub, closePopup, handleDialogAction } = props;\n let tableRecord: any = {};\n let hubItems: any = [];\n\n\n if (hub) {\n tableRecord = hub.tableRecord;\n if (hub.countryDetails) {\n for (let country in hub.countryDetails) {\n let countryHubs = hub.countryDetails[country];\n countryHubs.filter((hub: any) => {\n hubItems.push(hub);\n return true;\n })\n }\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n handleDialogAction && handleDialogAction(type);\n },\n [handleDialogAction],\n )\n\n const handleDialogClose = () => {\n closePopup();\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n HUB ID : \n {tableRecord && tableRecord.hubId} \n \n \n {(!isCollectionPointManager && !isDispatcher && !isCHDManager && !isVTManager && !isOnlyStandardDispatcher && !isLastMileViewer && !isOnlyStdLastMileViewer) ? (\n \n dialogActionHandler('update')} component={editIcon} />\n \n ) : null}\n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n \n \n Hub Name\n \n \n {(tableRecord && tableRecord.hubName) || \"-\"}\n \n \n \n \n \n \n Hub Id\n \n \n {tableRecord && tableRecord.hubId}\n \n \n \n \n \n \n Service Type\n \n \n {tableRecord && tableRecord.serviceType.join(\" , \")}\n \n \n \n \n \n \n \n \n \n \n Latitude/Longitude\n \n \n {(tableRecord && tableRecord.latLong) || \"-\"}\n \n \n \n \n \n \n Category\n \n \n {(tableRecord && tableRecord.category[0]) || \"-\"}\n \n \n \n \n \n \n Status\n \n \n {(tableRecord && tableRecord.hubStatus) || \"-\"}\n \n \n \n\n \n \n \n \n \n \n \n Country\n \n \n {(tableRecord && tableRecord.country) || \"-\"}\n \n \n \n \n \n \n Hub Address\n \n \n {(tableRecord && tableRecord.area) || \"-\"}\n \n \n \n \n \n \n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n <>\n );\n };\n\n return (\n \n )\n}\n\nexport default HubDetails;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { fetchHubDetails, createNewHub, fetchAddHubCountryDropdownValues, updateHubDetails, resetHubCreationStatus, resetHubUpdationStatus } from \"./redux/hubSlice\";\nimport { hubsStyles } from \"./hubs.styles\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport _ from \"lodash\";\nimport { Grid, Typography, SvgIcon } from \"@material-ui/core\";\nimport { CellParams, RowData } from \"../common/GridWrapper/DataTable\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport {\n lastMileHubDataTransform,\n createHubDetailsPayload,\n createAddHubPayload,\n createEditHubPayload\n} from \"../mocks/hubs/response.transforms\";\nimport HubAddOrEditDetails from \"./HubAddOrEditDetails\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport HubDetails from \"./HubDetails\";\n\nconst Hubs = () => {\n const componentClasses = hubsStyles();\n const dispatch = useDispatch();\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { hubsData, loading, tableLoading, error, errorCode, hubCreationMsg, hubCreationStatus, hubUpdateStatus, hubUpdateMsg } = useSelector(\n (state: AppState) => state.hub\n );\n const {\n isCollectionPointManager,\n isVTManager,\n isCHDManager,\n isDispatcher,\n isOnlyStandardDispatcher,\n isLastMileViewer,\n isOnlyStdLastMileViewer,\n } = useSelector((state: AppState) => state.userLogin);\n\n const [hubsListToShow, setHubsListToShow] = useState([]);\n const [userSearchValue, setUserSearchValue] = useState(\"\");\n const [tableWrapperData, setTableWrapperData] = useState({\n ...AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA, HeaderData: AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'hubId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \n \n \n \n \n );\n }\n if (newHeader.field === 'serviceType') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n if (newHeader.field === 'category') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n return newHeader;\n })\n });\n const [activeFilters, setActiveFilters] = useState({ ...tableWrapperData.defaultFiltersObj });\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const [isEdit, setIsEdit] = useState(false);\n const [openHubAddPopup, setOpenHubAddPopup] = useState(false);\n\n const [hubData, setHubData] = useState({});\n const [openHubDetailsPopup, setOpenHubDetailsPopup] = useState(false);\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const setHubDataOnClick = useCallback(\n (rowData: RowData) => {\n let selectedRow: RowData = { ...rowData };\n const selectedHub: any = { ...rowData, tableRecord: selectedRow }\n setHubData(selectedHub);\n },\n []\n )\n\n const handleHubCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'hubId') {\n setHubDataOnClick(params.rowData ? params.rowData : {} as RowData);\n setOpenHubDetailsPopup(true);\n }\n },\n [setHubDataOnClick],\n );\n\n const handleEditHubDetailsIconClick = (params: CellParams) => () => {\n setHubDataOnClick(params.rowData ? params.rowData : {} as RowData);\n setIsEdit(true);\n setOpenHubAddPopup(true);\n }\n const closeHubDetailsPopup = () => {\n setOpenHubDetailsPopup(false);\n }\n const handleHubDetailsActions = useCallback(\n (type: string) => {\n if (type === 'update') {\n closeHubDetailsPopup();\n openHubUpdatePopup(true);\n }\n },\n [],\n )\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = tableWrapperData.loadMore;\n loadMoreState.disabled = hubsData.totalPages ? hubsData.pageNumber + 1 >= hubsData.totalPages : true;\n setTableWrapperData({ ...tableWrapperData, loadMore: loadMoreState });\n },\n [tableWrapperData, hubsData]\n );\n\n const filterCallback = (filters: any, isLoadMore?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = tableWrapperData.loadMore.pageSize;\n payloadFilters.pageNumber = 0;\n const payload = createHubDetailsPayload(payloadFilters, hubsData, isLoadMore);\n dispatch(\n fetchHubDetails({\n params: payload\n })\n );\n setActiveFilters(filters);\n }\n }\n\n const fetchAllFilters = useCallback(\n () => {\n dispatch(\n fetchAddHubCountryDropdownValues()\n );\n },\n [dispatch]\n );\n\n const handleAddHub = useCallback(\n (params: any) => {\n const payload = createAddHubPayload(params);\n dispatch(\n createNewHub({\n params: payload\n })\n );\n },\n [dispatch]\n )\n\n const updateHubdata = useCallback(\n (params: any) => {\n const payload = createEditHubPayload(params);\n dispatch(\n updateHubDetails({\n params: payload\n })\n );\n },\n [dispatch],\n )\n\n const handleHubUpdateActions = useCallback(\n (params: any) => {\n if (params.type === 'submit') {\n if (params.isEdit) {\n updateHubdata(params.values);\n } else {\n handleAddHub(params.values);\n }\n } else {\n closeHubAddPopup();\n }\n },\n [handleAddHub, updateHubdata],\n )\n\n const closeHubAddPopup = () => {\n setOpenHubAddPopup(false);\n }\n\n const searchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const searchKeys = Object.keys(data);\n setUserSearchValue(updatedSearchValue);\n if (updatedSearchValue) {\n for (const searchKey of searchKeys) {\n data[searchKey] = _.trim(data[searchKey]);\n let newDataValue = data[searchKey];\n filters[searchKey].value = [newDataValue];\n filters.pageNumber = 0;\n if (data[searchKey] && data[searchKey].length >= AppConstants.SEARCH_BOX_LIMIT) {\n let searchPayload = _.cloneDeep(filters);\n filterCallback(searchPayload[searchKey]);\n return;\n } else {\n openSnackbarPopup(AppConstants.SEARCH_TEXT_LIMIT, AppConstants.SNACKBAR.TYPES.ERROR);\n return;\n }\n }\n }\n };\n\n const openHubUpdatePopup = (isEdit: boolean) => {\n setIsEdit(isEdit);\n setOpenHubAddPopup(true);\n }\n\n const handleHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'addHub':\n openHubUpdatePopup(false);\n break;\n default:\n break;\n }\n }\n },\n []\n );\n\n const handleSessionExpired = useCallback(\n () => {\n if (errorCode === AppConstants.USERS_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode],\n );\n\n const handleSnackbarOnExited = useCallback(\n () => {\n handleSessionExpired();\n if (snackbarType.current === AppConstants.SNACKBAR.TYPES.SUCCESS) {\n if (hubCreationStatus) {\n dispatch(\n resetHubCreationStatus()\n )\n }\n if (hubUpdateStatus) {\n dispatch(\n resetHubUpdationStatus()\n )\n }\n }\n },\n [dispatch, handleSessionExpired, hubCreationStatus, hubUpdateStatus],\n );\n\n const isBtnHidden = useCallback(() => {\n return (\n isDispatcher ||\n isCHDManager ||\n isVTManager ||\n isCollectionPointManager ||\n isOnlyStandardDispatcher ||\n isLastMileViewer ||\n isOnlyStdLastMileViewer\n );\n }, [\n isDispatcher,\n isCHDManager,\n isVTManager,\n isCollectionPointManager,\n isOnlyStandardDispatcher,\n isLastMileViewer,\n isOnlyStdLastMileViewer,\n ]);\n\n const handleHeaderButtonsDisableState = useCallback(\n () => {\n let headerButtons = tableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'addHub':\n if (isBtnHidden()) {\n btn.hide = true;\n } else {\n btn.hide = false;\n }\n break;\n default:\n break;\n }\n return btn;\n });\n setTableWrapperData({ ...tableWrapperData, headerButtons: headerButtons });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [tableWrapperData]\n );\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n handleHeaderButtonsDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubsListToShow]);\n\n useEffect(() => {\n if (hubCreationStatus) {\n closeHubAddPopup();\n openSnackbarPopup(hubCreationMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCreationStatus, hubCreationMsg])\n\n useEffect(() => {\n if (hubUpdateStatus) {\n closeHubDetailsPopup();\n closeHubAddPopup();\n openSnackbarPopup(hubUpdateMsg, AppConstants.SNACKBAR.TYPES.SUCCESS);\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubUpdateStatus])\n\n useEffect(() => {\n setHubsListToShow(lastMileHubDataTransform(hubsData, countryCode) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubsData]);\n\n useEffect(() => {\n if (isBtnHidden()) {\n let headerDataWithoutActions = tableWrapperData.HeaderData.map((data: any) => {\n if (data.field === \"actions\") {\n data.hide = true;\n }\n return data;\n });\n setTableWrapperData({ ...tableWrapperData, HeaderData: headerDataWithoutActions });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isBtnHidden])\n\n useEffect(() => {\n if (countryCode) {\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode])\n\n\n return (\n
\n {loading && }\n \n \n \n \n \n \n \n \n
\n );\n};\n\nexport default Hubs;\n","import AppConstants from \"../../constants\";\n\nexport interface Elements {\n id: string;\n name: string;\n hubStatus: string;\n displayName: string;\n deliveryType: any;\n category: any;\n contactInfo: Contact;\n serviceTime: any;\n}\n\nexport interface Contact {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface Address {\n area: string;\n region: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\n\nexport interface HubDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n elements: Elements[];\n}\n\nconst lastMileHubDataTransform = (response: HubDataResponse, countryCode: string): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((elements: Elements) => {\n const {\n id,\n name,\n hubStatus,\n displayName,\n deliveryType,\n category,\n contactInfo,\n } = elements;\n // TODO: map/add actual objects too for drilling down content or store in state\n transformedArray.push({\n hubId: id,\n hubName: name,\n latLong: `${contactInfo.address.latitude}, ${contactInfo.address.longitude}`,\n serviceType: deliveryType,\n area: contactInfo.address.area,\n hubStatus: hubStatus,\n category: category,\n displayName: displayName,\n latitude: contactInfo.address.latitude,\n longitude: contactInfo.address.longitude,\n status: hubStatus,\n country: contactInfo.address.countryName\n });\n\n });\n return [...transformedArray];\n};\n\nexport { lastMileHubDataTransform };\n\nexport const createHubDetailsPayload = (payload: any, data?: any, isLoadMore?: boolean) => {\n payload.attributes = [];\n if (payload) {\n payload.attributes.push({\n key: payload.fieldName,\n value: payload.value\n })\n }\n if (isLoadMore) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.continuationToken = data.continuationToken\n }\n return {\n countryCode: sessionStorage.getItem(AppConstants.COUNTRY_CODE),\n attributes: payload.attributes,\n pageNumber: payload.pageNumber,\n requestContinuationToken: payload.continuationToken\n };\n};\n\nexport const createAddHubPayload = (payload: any) => {\n if (payload.hubId) {\n payload.id = payload.hubId\n }\n payload.contactInfo = {};\n payload.contactInfo.address = {};\n if (payload.latitude) {\n payload.contactInfo.address.latitude = payload.latitude;\n }\n if (payload.longitude) {\n payload.contactInfo.address.longitude = payload.longitude;\n }\n if (payload.country) {\n payload.contactInfo.address.countryIsoCode = payload.country;\n }\n if (payload.address) {\n payload.contactInfo.address.area = payload.address;\n }\n return {\n id: payload.hubId,\n name: payload.hubName,\n hubStatus: payload.status,\n deliveryType: [payload.serviceType],\n category: [payload.category],\n contactInfo: payload.contactInfo,\n pageSize: AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA.loadMore.pageSize,\n pageNumber: payload.pageNumber\n };\n}\n\nexport const createEditHubPayload = (payload: any) => {\n if (payload.hubId) {\n payload.id = payload.hubId\n }\n payload.contactInfo = {};\n payload.contactInfo.address = {};\n if (payload.latitude) {\n payload.contactInfo.address.latitude = payload.latitude;\n }\n if (payload.longitude) {\n payload.contactInfo.address.longitude = payload.longitude;\n }\n if (payload.country) {\n payload.contactInfo.address.countryIsoCode = payload.country;\n }\n if (payload.address) {\n payload.contactInfo.address.area = payload.address;\n }\n return {\n id: payload.hubId,\n name: payload.hubName,\n hubStatus: payload.status,\n deliveryType: [payload.serviceType],\n category: [payload.category],\n contactInfo: payload.contactInfo,\n pageSize: AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA.loadMore.pageSize,\n pageNumber: payload.pageNumber\n };\n}","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { transformSelectValues } from \"../../utils/helpers.utils\";\nimport { PosState } from \"./posSlice.types\";\nimport AppConstants from \"../../constants\";\n\n\n\nexport const fetchHubDetails = createAsyncThunk(\n \"POS/FetchHubDetails\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"hub/filter\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchAddHubCountryDropdownValues = createAsyncThunk(\n \"POS/FetchAddUserDropdownValues\",\n async (params, { rejectWithValue }) => {\n try {\n const request = {\n url: `user/populate`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const regenerateQR = createAsyncThunk(\n \"POS/RegenerateQR\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `hub/qr/generate/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"POS/CloseDialog\", () => {\n return false;\n});\n\nexport const resetHubCreationStatus = createAsyncThunk(\"Users/ResetHubCreationStatus\", () => {\n return false;\n});\n\nexport const resetHubUpdationStatus = createAsyncThunk(\"Users/ResetHubUpdationStatus\", () => {\n return false;\n});\n\n\nconst initialState: PosState = {\n loading: false,\n error: \"\",\n tableLoading: false,\n hubsData: {\n elements: [],\n pageNumber: 0,\n },\n hubCreationStatus: false,\n hubCreationMsg: \"\",\n hubUpdateStatus: false,\n hubUpdateMsg: \"\",\n addUserDropdowns: {\n countriesList: []\n },\n regeneratedQRCode: null,\n closedDetails: false,\n isQRRegenerated: false\n};\n\nconst POSSlice = createSlice({\n name: \"POS\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchHubDetails.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchHubDetails.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params }\n }\n } = action;\n state.loading = false;\n state.closedDetails = false;\n state.isQRRegenerated = false;\n state.hubsData = {\n ...payload,\n elements:\n params.pageNumber === 0\n ? [...payload.results.elements]\n : [...state.hubsData.elements, ...payload.results.elements],\n pageNumber: payload.results.pageNumber,\n totalElements: payload.results.totalElements,\n totalPages: payload.results.totalPages\n };\n })\n .addCase(fetchHubDetails.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchAddHubCountryDropdownValues.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchAddHubCountryDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n let countriesList: any = {};\n if (payload.roleCountryMap) {\n Object.keys(payload.roleCountryMap).filter((role: any) => {\n countriesList[role] = transformSelectValues(payload.roleCountryMap[role]);\n return true;\n });\n }\n state.errorCode = \"\";\n state.error = \"\";\n state.addUserDropdowns = {\n countriesList: countriesList,\n };\n }\n })\n .addCase(fetchAddHubCountryDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.addUserDropdowns = {\n countriesList: {}\n };\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(regenerateQR.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(regenerateQR.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.regeneratedQRCode = payload && payload.results.path;\n state.isQRRegenerated = true;\n })\n .addCase(regenerateQR.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.regeneratedQRCode = null;\n state.closedDetails = true;\n })\n },\n});\n\nexport default POSSlice.reducer;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const hubsStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: \"0px 12px 0px 12px\",\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .userItem': {\n width: '100%',\n '&.heading': {\n paddingBottom: theme.spacing(2.5),\n '& p': {\n fontSize: 24,\n color: COLORS.BLACK,\n fontWeight: 600\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n //boxShadow: \"0px 4px 4px rgba(0, 0, 0, 0.04)\",\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n paddingTop: theme.spacing(1.5),\n '& .hubIdLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .serviceType': {\n color: \"#2D2D2D\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"capitalize\",\n }\n }\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.yellow': {\n color: COLORS.GOLDEN_BELL,\n backgroundColor: COLORS.GOLDEN_YELLOW_LIGHT\n },\n '&.green': {\n color: COLORS.PERSIAN_GREEN_DARK,\n backgroundColor: COLORS.PERSIAN_GREEN_LIGHT\n },\n '&.red': {\n color: COLORS.DARK_RED,\n backgroundColor: COLORS.LIGHT_RED\n },\n '&.gray': {\n color: COLORS.GRAY_DARK,\n backgroundColor: COLORS.ALTO\n },\n '&.black': {\n backgroundColor: COLORS.BLACK,\n color: COLORS.WHITE\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25)\n }\n }\n }\n }),\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n },\n \"& .statusContainer\": {\n \"& .statusIcon\": {\n width: 12,\n height: 12,\n borderRadius: \"50%\",\n '&.yellow': {\n backgroundColor: COLORS.STATUS_YELLOW\n },\n '&.black': {\n backgroundColor: COLORS.TEXT_PRIMARY\n },\n '&.green': {\n backgroundColor: COLORS.PERSIAN_GREEN\n },\n '&.red': {\n backgroundColor: COLORS.DARK_RED\n },\n '&.gray': {\n backgroundColor: COLORS.GRAY_DARK\n },\n },\n '& .statusMsg': {\n paddingLeft: theme.spacing(1),\n '& .status': {\n fontSize: 12\n }\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n '& .tagContainer': {\n cursor: \"pointer\",\n marginLeft: theme.spacing(2),\n alignSelf: \"center\"\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .detailsHeader': {\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(3),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n padding: theme.spacing(2.5, 0, 0, 6),\n '&:first-child': {\n padding: 0\n },\n '& .profileIcon': {\n width: 140,\n height: 140\n },\n '& .rightPanelContainer': {\n flexDirection: \"column\",\n '& .rightPanelItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .fullname': {\n fontSize: 24,\n fontWieght: 600\n },\n '& .logo': {\n width: 20,\n height: 20\n },\n '& .contact': {\n '& a': {\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(1)\n }\n }\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '& .contentRowContainer': {\n justifyContent: \"space-between\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&.second': {\n flex: \"1.5 0 0\"\n },\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n },\n '&.twoItems': {\n '& .contentColumn': {\n '&:last-child': {\n flex: \"2.5 0 0\"\n }\n }\n },\n '&.btnContainer': {\n '& .contentColumn': {\n flex: \"1 0 auto\",\n '& .resetPasswordBtn': {\n width: \"100%\"\n }\n }\n }\n }\n },\n '& .hubItemsSection': {\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n paddingBottom: theme.spacing(2)\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n justifyContent: \"space-between\",\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '& .content': {\n flexGrow: 1\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n },\n qrImageSection: {\n display: \"flex\",\n justifyContent: \"center\"\n },\n qrImage: {\n height: \"200px\",\n width: \"200px\"\n }\n }),\n);","import React, { forwardRef, ReactElement, Ref, useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n//common components\nimport CustomDialog from '../common/Dialog';\nimport { useStyles } from './PosDetails.styles';\n//material-ui components\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Button } from '@material-ui/core';\n//redux\nimport { AppState } from \"../config/redux/reducers\";\nimport { regenerateQR, closeDialog } from './redux/posSlice';\n//constants\nimport AppConstants from \"../constants\";\n\nimport { saveAs } from 'file-saver';\n\ninterface PosDetailsProps {\n open: boolean;\n hub: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst PosDetails = (props: PosDetailsProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { regeneratedQRCode } = useSelector(\n (state: AppState) => state.pos\n )\n const {isLastMileViewer, isOnlyExpLastMileViewer} = useSelector((state: AppState) => state.userLogin);\n const { open, hub, closePopup } = props;\n let tableRecord: any = {};\n let hubItems: any = [];\n\n if (hub) {\n tableRecord = hub.tableRecord;\n if (hub.countryDetails) {\n for (let country in hub.countryDetails) {\n let countryHubs = hub.countryDetails[country];\n countryHubs.filter((hub: any) => {\n hubItems.push(hub);\n return true;\n })\n }\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const dialogActionHandler = useCallback(\n (type: string, hub: any) => {\n if (type === 'update') {\n dispatch(\n regenerateQR(\n {\n params: hub.hubId\n }\n )\n )\n } else {\n if (regeneratedQRCode) {\n saveAs(regeneratedQRCode, `${hub.hubId}.jpg`)\n } else {\n saveAs(hub && hub.hubQRImage, `${hub.hubId}.jpg`)\n }\n }\n },\n [dispatch, regeneratedQRCode],\n );\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n dispatch(\n closeDialog()\n );\n },\n [closePopup, dispatch],\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n POS Name : \n {tableRecord && tableRecord.hubName} \n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n \n \n Hub ID\n \n \n {(tableRecord && tableRecord.hubId) || \"-\"}\n \n \n \n \n \n \n Hub Address\n \n \n {(tableRecord && tableRecord.area) || \"-\"}\n \n \n \n \n \n \n Service Type\n \n \n \n {tableRecord && tableRecord.serviceType.join(\" , \")}\n \n \n \n \n \n \n \n \n \n \n \n Latitude/Longitude\n \n \n {(tableRecord && tableRecord.latLong) || \"-\"}\n \n \n \n \n \n \n Status\n \n \n {(tableRecord && tableRecord.status) || \"-\"}\n \n \n \n \n \n \n Country\n \n \n {(tableRecord && tableRecord.country) || \"-\"}\n \n \n \n \n \n \n \n \n {regeneratedQRCode ? (\n \n icons\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n {\n dialogActionHandler(\"cancel\", tableRecord);\n }}\n >\n {AppConstants.BUTTONS.DOWNLOAD_QR}\n \n {!(isLastMileViewer || isOnlyExpLastMileViewer) && (\n {\n dialogActionHandler(\"update\", tableRecord);\n }}\n >\n {AppConstants.BUTTONS.REGENERATE_QR}\n \n )}\n \n \n \n );\n };\n\n const getDialogActions = () => {\n return (\n <>\n );\n };\n\n return (\n \n )\n}\n\nexport default PosDetails;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport cloneDeep from \"lodash/cloneDeep\";\n//redux\nimport { AppState } from \"../config/redux/reducers\";\nimport { fetchHubDetails } from \"./redux/posSlice\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\n//constants\nimport AppConstants from \"../constants\";\n//common components\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport { CellParams, RowData } from \"../common/GridWrapper/DataTable\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\n//material-ui components\nimport { Grid, Typography } from \"@material-ui/core\";\n//assests\nimport viewIcon from './../assets/icons/Eye.svg';\n//styles\nimport { hubsStyles } from \"./pos.styles\";\nimport { lastMileHubDataTransform, createHubDetailsPayload } from \"../mocks/pos/response.transforms\";\nimport PosDetails from \"./PosDetails\";\n\nconst POSManagement = () => {\n const componentClasses = hubsStyles();\n const dispatch = useDispatch();\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const { hubsData, loading, tableLoading, error, errorCode, closedDetails, isQRRegenerated } = useSelector(\n (state: AppState) => state.pos\n );\n const onLoadRef = useRef(true);\n const [posListToShow, setPosListToShow] = useState([]);\n const [userSearchValue, setUserSearchValue] = useState(\"\");\n const [tableWrapperData, setTableWrapperData] = useState({\n ...AppConstants.POS_CONSTANTS.TABLE_WRAPPER_DATA, HeaderData: AppConstants.POS_CONSTANTS.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'hubId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \n \n \"view\"\n \n \n );\n }\n if (newHeader.field === 'serviceType') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n if (newHeader.field === 'category') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n return newHeader;\n })\n });\n const [activeFilters, setActiveFilters] = useState({ ...tableWrapperData.defaultFiltersObj });\n\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const [hubData, setHubData] = useState({});\n const [openHubDetailsPopup, setOpenHubDetailsPopup] = useState(false);\n\n const searchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = cloneDeep(filters);\n onLoadRef.current = false;\n setUserSearchValue(updatedSearchValue);\n if (updatedSearchValue) {\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n filterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const filterCallback = useCallback(\n (filters: any, isLoadMore?: boolean) => {\n if (filters) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = tableWrapperData.loadMore.pageSize;\n const payload = createHubDetailsPayload(payloadFilters, hubsData, isLoadMore, countryCode);\n dispatch(\n fetchHubDetails({\n params: payload\n })\n );\n setActiveFilters(filters);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, hubsData, countryCode],\n );\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n };\n\n const handleSessionExpired = useCallback(\n () => {\n if (errorCode === AppConstants.USERS_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode],\n );\n\n const handleSnackbarOnExited = useCallback(\n () => {\n handleSessionExpired();\n },\n [handleSessionExpired],\n );\n\n const closeHubDetailsPopup = () => {\n setOpenHubDetailsPopup(false);\n }\n\n const setHubDataOnClick = useCallback(\n (rowData: RowData) => {\n let selectedRow: RowData = { ...rowData };\n const selectedHub: any = { ...rowData, tableRecord: selectedRow }\n setHubData(selectedHub);\n },\n []\n )\n\n const handleHubCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'hubId' || params.field === \"actions\") {\n setHubDataOnClick(params.rowData ? params.rowData : {} as RowData);\n setOpenHubDetailsPopup(true);\n }\n },\n [setHubDataOnClick],\n );\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = tableWrapperData.loadMore;\n loadMoreState.disabled = hubsData.totalPages ? hubsData.pageNumber + 1 >= hubsData.totalPages : true;\n setTableWrapperData({ ...tableWrapperData, loadMore: loadMoreState });\n },\n [tableWrapperData, hubsData]\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (closedDetails && isQRRegenerated) {\n filterCallback(activeFilters);\n }\n }, [closedDetails, isQRRegenerated, activeFilters, filterCallback]);\n\n\n useEffect(() => {\n setPosListToShow(lastMileHubDataTransform(hubsData) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubsData, countryCode]);\n\n useEffect(() => {\n if (countryCode) {\n filterCallback(tableWrapperData.defaultFiltersObj);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode])\n\n return (\n
\n {loading && }\n \n \n \n \n \n \n\n \n
\n );\n};\n\nexport default POSManagement;\n\n","import AppConstants from \"../../constants\";\n\nexport interface Elements {\n store: string;\n storeName: string;\n hubStatus: string;\n displayName: string;\n deliveryType: any;\n category: any;\n contactInfo: Contact;\n serviceTime: any;\n active: any;\n hubQRImagePath: string;\n}\n\nexport interface Contact {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface Address {\n area: string;\n region: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\n\nexport interface HubDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n elements: Elements[];\n}\n\nconst lastMileHubDataTransform = (response: HubDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((elements: Elements) => {\n const {\n store,\n storeName,\n hubStatus,\n displayName,\n deliveryType,\n category,\n contactInfo,\n active,\n hubQRImagePath\n } = elements;\n transformedArray.push({\n hubId: store,\n hubName: storeName,\n latLong: `${Number(contactInfo.address.latitude).toFixed(2)}, ${Number(contactInfo.address.longitude).toFixed(2)}`,\n serviceType: deliveryType,\n area: contactInfo.address.area,\n hubStatus: hubStatus,\n category: category,\n displayName: displayName,\n latitude: contactInfo.address.latitude,\n longitude: contactInfo.address.longitude,\n status: active ? \"ACTIVE\" : \"INACTIVE\",\n country: contactInfo.address.countryName,\n hubQRImage: hubQRImagePath\n });\n\n });\n return [...transformedArray];\n};\n\nexport { lastMileHubDataTransform };\n\nexport const createHubDetailsPayload = (payload: any, data?: any, isLoadMore?: boolean, countryCode?: any) => {\n payload.attributes = [];\n payload.countryISOCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n if (isLoadMore) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n delete payload.hubId;\n delete payload.hubName;\n return payload;\n};\n\nexport const createAddHubPayload = (payload: any) => {\n if (payload.hubId) {\n payload.id = payload.hubId\n }\n payload.contactInfo = {};\n payload.contactInfo.address = {};\n if (payload.latitude) {\n payload.contactInfo.address.latitude = payload.latitude;\n }\n if (payload.longitude) {\n payload.contactInfo.address.longitude = payload.longitude;\n }\n if (payload.country) {\n payload.contactInfo.address.countryIsoCode = payload.country;\n }\n if (payload.address) {\n payload.contactInfo.address.area = payload.address;\n }\n return {\n id: payload.hubId,\n name: payload.hubName,\n hubStatus: payload.status,\n deliveryType: [payload.serviceType],\n category: [payload.category],\n contactInfo: payload.contactInfo,\n pageSize: AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA.loadMore.pageSize,\n pageNumber: payload.pageNumber\n };\n}\n\nexport const createEditHubPayload = (payload: any) => {\n if (payload.hubId) {\n payload.id = payload.hubId\n }\n payload.contactInfo = {};\n payload.contactInfo.address = {};\n if (payload.latitude) {\n payload.contactInfo.address.latitude = payload.latitude;\n }\n if (payload.longitude) {\n payload.contactInfo.address.longitude = payload.longitude;\n }\n if (payload.country) {\n payload.contactInfo.address.countryIsoCode = payload.country;\n }\n if (payload.address) {\n payload.contactInfo.address.area = payload.address;\n }\n return {\n id: payload.hubId,\n name: payload.hubName,\n hubStatus: payload.status,\n deliveryType: [payload.serviceType],\n category: [payload.category],\n contactInfo: payload.contactInfo,\n pageSize: AppConstants.HUB_CONSTANTS.TABLE_WRAPPER_DATA.loadMore.pageSize,\n pageNumber: payload.pageNumber\n };\n}","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { CNCOrderListState } from \"./clickAndCollectSlice.types\";\nimport AppConstants from \"../../constants\";\nimport { transformSelectValues, saveFile } from \"../../utils/helpers.utils\";\nimport moment from \"moment\";\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"ClickAndCollect/FetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasons = createAsyncThunk(\n \"ClickAndCollect/FetchDeliveryReasons\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/get-delivery-reasons/${params}?type=CLICK_AND_COLLECT`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"ClickAndCollect/FetchOrdersByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"ClickAndCollect/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/displayStatusCount',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchConsignmentHistoryAndProducts = createAsyncThunk(\n \"CNCConsignmentDetails/FetchConsignmentHistoryAndProducts\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/statusHistoryProducts/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchCNCStatuses = createAsyncThunk(\n \"CNCConsignmentDetails/FetchCNCStatuses\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `order/cncStatuses/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"ClickAndCollect/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'export/order',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportInvoicePdf = createAsyncThunk(\n \"ClickAndCollect/ExportInvoicePdf\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/view-invoice',\n method: EApiMiddlewareMethods.POST,\n data: params,\n responseType: \"bytes\"\n } as any;\n const { data } = await networkHandler(request, false, true, false);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const cncReplanning = createAsyncThunk(\n \"CNCConsignmentDetails/cncReplanning\",\n async (\n {\n params\n }: {\n params: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/replanning',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateAllConsignmentsState = createAsyncThunk(\"CNCConsignmentDetails/UpdateAllConsignmentsState\", ({\n consignments\n}: {\n consignments: any\n}) => {\n return consignments;\n});\n\nexport const closeDialog = createAsyncThunk(\"CNCConsignmentDetails/CloseDialog\", () => {\n return false;\n});\n\nexport const resetReplanningSuccess = createAsyncThunk(\"CNCConsignmentDetails/ResetReplanningSuccess\", () => {\n return false;\n});\n\nconst initialState: CNCOrderListState = {\n loading: false,\n tableLoading: false,\n excelLoading: false,\n cncFilterChipsDisplayCount: {\n consignmentCount: {\n NEW: 0,\n PACKED: 0,\n READY_TO_COLLECT: 0,\n COLLECTED: 0,\n UNCOLLECTED: 0,\n CANCELLED: 0,\n }\n },\n ordersFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n collectionHubCodeList: [],\n collectionHubNameList: [],\n typeList: [],\n statusList: [],\n collectionSlotList: [],\n cancellationReasonList: [],\n },\n reasonsDropdownList: [],\n deliveryReasons: {},\n ordersData: {\n elements: [],\n pageNumber: 0\n },\n consignmentStatuses: [],\n cncStatuses: [],\n productsList: [],\n error: \"\",\n errorCode: \"\",\n invoiceData: \"\",\n invoiceUrl: \"\",\n displayInvoice: false,\n invoiceMessage: \"\",\n invoiceConsignment: \"\",\n exportError: \"\",\n cncReplanningSuccess: false,\n cncDataAfterReplanning: {}\n};\n\nconst clickAndCollectSlice = createSlice({\n name: \"ClickAndCollect\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchDynamicFiltersOrdersDropdownValues.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.errorCode = \"\";\n state.error = \"\";\n state.cncReplanningSuccess = false;\n state.ordersFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.hubCodes || []),\n hubNameList: transformSelectValues(payload.hubNames || []),\n collectionHubCodeList: transformSelectValues(payload.collectionHubCodes || []),\n collectionHubNameList: transformSelectValues(payload.collectionHubNames || []),\n typeList: transformSelectValues(payload.types || []),\n collectionSlotList: transformSelectValues(payload.pickUpSlots || []),\n statusList: transformSelectValues(payload.statuses || []),\n cancellationReasonList: transformSelectValues(payload.undeliveredReasons || [])\n };\n })\n .addCase(fetchDynamicFiltersOrdersDropdownValues.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDeliveryReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n if (payload.reasons) {\n deliveryReasonsList = payload.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.reasons;\n })\n .addCase(fetchDeliveryReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cncReplanningSuccess = false;\n state.cncFilterChipsDisplayCount = payload;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cncReplanningSuccess = false;\n state.ordersData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.elements]\n : [...state.ordersData.elements, ...payload.elements],\n totalElements: payload.totalElements,\n totalPages: payload.totalPages\n };\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistoryAndProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistoryAndProducts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.consignmentStatuses = payload.statuses && payload.statuses.length ? payload.statuses : [];\n state.productsList = payload.products && payload.products.length ? payload.products : [];\n })\n .addCase(fetchConsignmentHistoryAndProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchCNCStatuses.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchCNCStatuses.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cncStatuses = transformSelectValues(payload.statuses && payload.statuses.length ? payload.statuses : []);\n })\n .addCase(fetchCNCStatuses.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportInvoicePdf.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(exportInvoicePdf.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n const data = payload.Invoices && payload.Invoices.length ? payload.Invoices[0] : [];\n state.invoiceConsignment = payload.Invoices && payload.Invoices.length ? payload.Invoices[0].ConsignmentNo : \"\";\n state.displayInvoice = payload.Invoices && payload.Invoices.length;\n if(data?.FileUrl){\n state.invoiceUrl = data?.FileUrl\n }\n else if(data?.FileDataBytes){\n const pdfData = `data:application/pdf;base64,${data.FileDataBytes}`;\n state.invoiceData = pdfData ;\n }\n state.invoiceMessage = payload.Message;\n })\n .addCase(exportInvoicePdf.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `CNC_Consignments_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n\n .addCase(cncReplanning.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(cncReplanning.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.cncReplanningSuccess = true;\n state.cncDataAfterReplanning = payload;\n })\n .addCase(cncReplanning.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.cncReplanningSuccess = false;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.cncDataAfterReplanning = {};\n })\n .addCase(resetReplanningSuccess.fulfilled, (state, action) => {\n state.cncReplanningSuccess = false\n })\n },\n});\n\nexport default clickAndCollectSlice.reducer;\n","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\nimport { enumerateDaysBetweenDates, getUniqueValues, getValueFromArray, localTimeString } from \"../../utils/helpers.utils\";\n\nexport interface MetaData {\n paymentType: string;\n totalAmount: string;\n transactionDate: Date;\n amountToCollect: string;\n collectedAmount: string;\n currency: string;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n numberOfItems: number;\n lastStatusUpdatedTime: string;\n}\n\nexport interface Name {\n ar: string;\n en: string;\n}\n\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: Name;\n quantity: string;\n acceptedQty: string\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: string;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n}\n\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n}\n\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n deliverySlotTime: string;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n totalCratesCount: number;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n transitTime: string;\n actualTransitTime: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n}\n\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n deliverySlotTime: string;\n}\n\nexport interface PickUpInformation {\n\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface CNCOrder {\n id: string;\n orderCode: string,\n consignmentCode: string,\n hasRejectedProducts: boolean,\n retryCount: number,\n metadata: MetaData;\n products: Product[];\n reason: Reason;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n pickUpInformation: PickUpInformation;\n statuses: Statuses[];\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface CNCOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: CNCOrder[];\n}\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport const lastMilePlanningOrdersDataTransform = (response: CNCOrdersDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: CNCOrder) => {\n const {\n id,\n metadata,\n posInformation: { store, storeName },\n deliveryInformation,\n pickUpInformation,\n orderCode,\n products,\n reason,\n consignmentCode,\n statuses,\n } = order;\n // TODO: map/add actual objects too for drilling down content or store in state\n const collectionDate = moment(pickUpInformation && pickUpInformation.pickupSlot && pickUpInformation.pickupSlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const customerContactInfo = deliveryInformation.customerContactInfo || {\n address: {}\n };\n const transactionDate = moment(metadata.transactionDate, AppConstants.DATE_FORMAT_BACKEND);\n const statusDate = metadata.lastStatusUpdatedTime ? moment(metadata.lastStatusUpdatedTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : statuses && statuses.length ? moment(statuses[0].statusDate, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.TIMESTAMP) : \"\";\n const startTime = new Date(pickUpInformation.pickupSlot.startTime);\n const endTime = new Date(pickUpInformation.pickupSlot.endTime);\n transformedArray.push({\n id: id,\n collectionHubCode: pickUpInformation && pickUpInformation.pickUpContactInfo && pickUpInformation.pickUpContactInfo.companyName,\n collectionHubName: pickUpInformation && pickUpInformation.pickUpContactInfo && pickUpInformation.pickUpContactInfo.name,\n deliveryArea: customerContactInfo.address ? customerContactInfo.address.area : \"\",\n consignmentId: consignmentCode,\n deliveryStatus: metadata.deliveryStatus,\n orderId: orderCode,\n transactionDate: transactionDate.format(AppConstants.DATE_FORMAT),\n type: metadata.category,\n collectionDate: collectionDate.format(AppConstants.DATE_FORMAT),\n deliverySlot: `${localTimeString(startTime)} - ${localTimeString(endTime)}`,\n customerName: customerContactInfo.name,\n customerEmail: customerContactInfo.email,\n customerMobileNumber: customerContactInfo.phone,\n hubCode: store,\n hubName: storeName,\n statusDate: statusDate,\n numberOfItems: metadata.numberOfItems && metadata.numberOfItems > 0 ? metadata.numberOfItems : products && products.length ? products.length : 0,\n paymentType: metadata.paymentType,\n cancellationReason: reason ? reason.reasonDescription : statuses && statuses.length && statuses[0].reason ? statuses[0].reason.reasonDescription : \"\",\n });\n });\n return [...transformedArray];\n};\n\nexport const getCNCConsignmentStatusesField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const sortedCountryData = (\n columnName: string,\n isDescending: boolean\n) => (a: any, b: any) => {\n const aVal = isDescending ? a : b;\n const bVal = isDescending ? b : a;\n if (\n aVal[columnName].match(/^[0-9]+$/) &&\n bVal[columnName].match(/^[0-9]+$/)\n ) {\n return parseFloat(aVal[columnName]) - parseFloat(bVal[columnName]);\n } else {\n if (aVal[columnName] < bVal[columnName]) {\n return -1;\n } else if (aVal[columnName] > bVal[columnName]) {\n return 1;\n } else {\n return 0;\n }\n }\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n}\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n payload.attributes = [];\n if (payload.hub) {\n if (payload.hub.value) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: getUniqueValues(hubValue)\n })\n delete payload.hub;\n delete payload.hubName;\n } else {\n payload.attributes.push({\n key: payload.hub.fieldName,\n value: []\n });\n delete payload.hub;\n delete payload.hubName;\n }\n }\n if (payload.orderType) {\n let attrValue = [];\n if (payload.orderType.value) {\n attrValue = getFilterAttributeValue(payload.orderType.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.orderType.fieldName,\n value: attrValue\n })\n delete payload.orderType;\n }\n if (payload.deliveryStatus) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue\n })\n delete payload.deliveryStatus;\n }\n if (payload.cancellationReason) {\n let attrValue = [];\n if (payload.cancellationReason.value) {\n attrValue = getFilterAttributeValue(payload.cancellationReason.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.cancellationReason.fieldName,\n value: attrValue\n })\n delete payload.cancellationReason;\n }\n\n if (payload.collectionHubCode) {\n let attrValue = [];\n if (payload.collectionHubCode.value) {\n attrValue = getFilterAttributeValue(payload.collectionHubCode.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.collectionHubCode.fieldName,\n value: attrValue\n })\n delete payload.collectionHubCode;\n }\n\n if (payload.collectionHubName) {\n let attrValue = [];\n if (payload.collectionHubName.value) {\n attrValue = getFilterAttributeValue(payload.collectionHubName.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.collectionHubName.fieldName,\n value: attrValue\n })\n delete payload.collectionHubName;\n }\n if (payload.modeOfCollection) {\n payload.attributes.push({\n key: payload.modeOfCollection.fieldName,\n value: payload.modeOfCollection.value || []\n })\n delete payload.modeOfCollection;\n }\n if (payload.deliveryType) {\n payload.attributes.push({\n key: payload.deliveryType.fieldName,\n value: payload.deliveryType.value || []\n })\n delete payload.deliveryType;\n }\n if (payload.displayRouteStatus) {\n payload.attributes.push({\n key: payload.displayRouteStatus.fieldName,\n value: payload.displayRouteStatus.value || []\n })\n delete payload.displayRouteStatus;\n }\n if (payload.deliverySlot && payload.deliverySlot.value) {\n let delSlotValue = payload.deliverySlot.value.map((item: any) => item.value);\n let dateRange = [];\n const selectAllIdx = delSlotValue.indexOf(AppConstants.SELECT_ALL.value);\n if (payload.dateRange && payload.dateRange.value) {\n const allDates = enumerateDaysBetweenDates(payload.dateRange.value.startDate, payload.dateRange.value.endDate);\n if (selectAllIdx > -1 || !delSlotValue.length) {\n payload.isDateRange = true;\n dateRange.push({\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n });\n } else {\n payload.isDateRange = false;\n delSlotValue.forEach((slot: any) => {\n const splitSlot = slot.split('-');\n const startSlot = splitSlot[0].split(':');\n const endSlot = splitSlot[1].split(':');\n if (allDates.length) {\n allDates.forEach((date: string) => {\n dateRange.push({\n startTime: moment(date, AppConstants.DATE_FORMAT).hours(startSlot[0]).minutes(startSlot[1]).seconds(startSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(date, AppConstants.DATE_FORMAT).hours(endSlot[0]).minutes(endSlot[1]).seconds(endSlot[2]).format(AppConstants.DATE_FORMAT_BACKEND),\n })\n })\n }\n })\n }\n if (payload.reset) {\n delete payload.isDateRange;\n }\n }\n payload.isCNC = true;\n payload.dateRange = dateRange;\n delete payload.displayRouteStatus;\n delete payload.deliverySlot;\n delete payload.reset;\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (data.continuationToken && payload.pageNumber) {\n payload.requestContinuationToken = data.continuationToken\n }\n return payload;\n};\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, isLoadMore?: boolean, isRoute?: boolean) => {\n let newPayload = createFilterPayload(payload, data, isLoadMore, isRoute);\n var orderFilterRequestDto = { orderFilterRequestDto: newPayload };\n return orderFilterRequestDto;\n};\n\nexport const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store\n };\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode\n }\n }\n return consignmentCodePosCodeMap;\n }\n}\n\nexport const createCNCReplanningPayload = (params: any) => {\n let payload: any = {\n consignmentId: params.id\n };\n payload.status = params.cncStatus;\n payload.comments = params.commentsValue;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n\n return payload;\n}\n\nexport const getConsignmentData = async (draftRouteData: any) => {\n let areas: any[] = [];\n let consignments: any[] = [];\n let slots: any = {};\n if (draftRouteData) {\n Object.keys(draftRouteData).forEach((statusKey: string) => {\n const statusValue: any = draftRouteData[statusKey]\n Object.keys(statusValue).forEach((areaKey: string) => {\n const areaIndex: number = areas.findIndex((area: any) => area.code === areaKey);\n let area: any = areaIndex === -1 ? {\n code: areaKey,\n value: areaKey,\n data: []\n } : { ...areas[areaIndex] };\n const areaValue: any = statusValue[areaKey];\n Object.keys(areaValue).forEach((slotKey: string) => {\n const slotValue: any = areaValue[slotKey];\n const slotIndex: number = areaIndex !== -1 ? area.data.findIndex((slot: any) => slot.code === slotKey) : -1;\n let slot: any = slotIndex === -1 ? {\n code: slotKey,\n value: slotValue.slotValue,\n area: areaKey,\n data: []\n } : { ...area.data[slotIndex] };\n const elements: any = slotValue.elements.map((consignment: any) => {\n return {\n code: consignment.id,\n value: consignment.id,\n data: consignment,\n slot: slotKey,\n slotValue: slotValue.slotValue,\n area: areaKey,\n status: statusKey\n };\n });\n if (slotIndex !== -1) {\n slot.data = [...slot.data, ...elements];\n area.data[slotIndex] = slot;\n } else {\n slot.data = elements;\n area.data.push(slot);\n }\n if (slots[area.code]) {\n slots[area.code][slot.code] = slot.data;\n } else {\n slots[area.code] = {\n [slot.code]: slot.data\n }\n }\n consignments = [...consignments, ...elements];\n })\n if (areaIndex !== -1) {\n areas[areaIndex] = area;\n } else {\n areas.push(area);\n }\n })\n })\n }\n return {\n areaWiseConsignments: areas,\n allConsignments: consignments,\n slotwiseConsignments: slots\n };\n}\n\n\nexport const calculateTransitTime = (directions: any) => {\n let transitTime = 0;\n if (directions.legs && directions.legs.length) {\n directions.legs.forEach((leg: any) => {\n transitTime += leg.duration ? leg.duration.value : 0;\n });\n transitTime += (AppConstants.PLANNING_CONSTANTS.CREATE_ROUTE_DATA.DRIVER_SERVICE_TIME * directions.legs.length);\n }\n return transitTime;\n}\n\nexport const calculateTransitTimeForConsignments = (directions: any, consignments: any) => {\n let consignmentIdsTransitTime: any = {};\n if (directions.legs && directions.legs.length) {\n for (var i = 0; i < consignments.length; i++) {\n if (directions.legs[i]) {\n consignmentIdsTransitTime[consignments[i].code] = directions.legs[i].duration.value\n }\n else {\n consignmentIdsTransitTime[consignments[i].code] = 0\n }\n }\n }\n return consignmentIdsTransitTime;\n}\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj ? `${addressObj.building ? addressObj.building + ', ' : \"\"}${addressObj.apartment ? addressObj.apartment + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + ', ' : \"\"}${addressObj.makani ? addressObj.makani + ', ' : \"\"}${addressObj.streetNumber ? addressObj.streetNumber + ', ' : \"\"}${addressObj.streetName ? addressObj.streetName + ', ' : \"\"}${addressObj.area ? addressObj.area + ', ' : \"\"}${addressObj.landmark ? addressObj.landmark + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + ', ' : \"\"}${addressObj.postalCode ? addressObj.postalCode + ', ' : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}` : \"\";\n}\n\nexport const getCratesFromProducts = (items: any) => {\n let crates: any = [];\n items && items.filter(({ shippedQty }: any) => { return +shippedQty > 0 }).forEach((item: any) => {\n if (item.associatedCrates) {\n let productCrates = item.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n })\n }\n });\n return crates;\n}\n\nexport const checkTerminalStatus = (deliveryStatus: string) => {\n return AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.TERMINAL_STATUSES.indexOf(deliveryStatus) > -1;\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 44\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: 0,\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"16px 16px 16px 0px\",\n '& .chipsContainer': {\n justifyContent: 'space-between',\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"13%\",\n borderRadius: theme.spacing(1),\n border: \"1px solid rgba(10, 67, 124, 0.2)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n boxShadow: `0px 0px 10px 4px ${COLORS.BOX_SHADOW_PRIMARY}`,\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: `linear-gradient(274.11deg, ${COLORS.GRADIENT_BLUE} 2.78%, ${theme.palette.primary.main} 94.36%)`,\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n }\n }\n }\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.ERROR_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n colSettings: {\n float: \"right\",\n marginTop: -3\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2)\n }\n },\n }),\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .collectionsHeader': {\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n marginTop: \"8px\",\n display: \"flex\",\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n marginTop: \"8px\",\n fontWeight: 600\n },\n }\n },\n '& .detailsHeader': {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '&.rowContainer': {\n display: \"flex\",\n justifyContent: \"space-between\"\n },\n '&.hubDetails': {\n paddingBottom: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n }\n }\n },\n '& .sellerDetails': {\n paddingTop: theme.spacing(1.75),\n '& .detailsHeader': {\n backgroundColor: theme.palette.secondary.main\n }\n },\n '& .deliveryProofSection': {\n paddingBottom: theme.spacing(1),\n '& .content': {\n width: \"100%\",\n '& .deliveryProofContainer': {\n flexDirection: \"column\",\n '& .deliveryProofItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .imagesContainer': {\n flexWrap: \"nowrap\",\n '& .imagesItem': {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n '&:last-child': {\n marginRight: 0\n },\n '& .imageItemContainer': {\n flexDirection: \"column\",\n '& .imageItem': {\n paddingBottom: theme.spacing(2),\n '& .heading': {\n fontSize: 14,\n fontWeight: 500\n },\n '& .allImagesContainer': {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n '& .viewerContainer': {\n display: \"flex\"\n },\n '&.sign': {\n justifyContent: \"space-around\",\n },\n '& img': {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0\n }\n }\n }\n }\n }\n }\n },\n '& .commentsContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n '& .commentsItem': {\n paddingBottom: theme.spacing(0.75),\n '& p': {\n fontWeight: 500,\n fontSize: 12\n },\n '& .heading': {\n fontSize: 14\n }\n }\n }\n }\n }\n }\n },\n '& .consignmentHistory': {\n paddingBottom: theme.spacing(1.5)\n },\n '& .tabularSection': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.crates': {\n '& .itemsContainer .item .itemContainer .itemColumn.item1 p': {\n fontWeight: 600,\n },\n '& .itemsContainer .item .itemContainer .itemColumn.item1 .header p': {\n fontWeight: 500,\n },\n '& .crateBarcode': {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3)\n },\n '& .crateStageLocationIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n '& .itemDiv': {\n padding: theme.spacing(0),\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n }\n }\n },\n '& .paymentContainer': {\n padding: 16,\n paddingTop: 13,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontWeight: 600\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .vat': {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25)\n },\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .smallHeading': {\n fontSize: 12\n }\n },\n '& .content': {\n flexGrow: 1\n }\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '&.error': {\n color: COLORS.DARK_RED,\n '&.active': {\n paddingBottom: 8\n }\n },\n '&.active': {\n // paddingBottom: 17\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n }\n }\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\"\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\"\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\"\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\"\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\"\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\"\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n '& .react-pdf__Page': {\n marginTop: \"56px\",\n '& .react-pdf__Page__canvas': {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\"\n },\n },\n '& .react-pdf__Page__annotations.annotationLayer': {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\"\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeNoPdfModalIcon: {\n position: 'absolute',\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 600\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useStyles } from './CNCConsignmentEdit.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Button } from '@material-ui/core';\nimport AppConstants from \"../constants\";\nimport SelectBox from '../common/SelectBox';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from '../config/redux/reducers';\nimport TextBox from '../common/TextBox';\nimport { createCNCReplanningPayload } from '../mocks/clickAndCollect/response.transforms';\nimport { fetchCNCStatuses, fetchDeliveryReasons, cncReplanning } from './redux/clickAndCollectSlice';\nimport warning from \"../assets/icons/warning.svg\";\n\ninterface ConsignmentEditProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ConsignmentEdit = (props: ConsignmentEditProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, consignment, closePopup } = props;\n\n const { cncStatuses, deliveryReasons, reasonsDropdownList, cncReplanningSuccess, cncDataAfterReplanning } = useSelector(\n (state: AppState) => state.clickAndCollect\n )\n const { countryCode } = useSelector(\n (state: AppState) => state.common\n );\n const [selectedReason, setSelectedReason] = useState(AppConstants.SELECT_NONE.value);\n const [selectedStatus, setSelectedStatus] = useState(AppConstants.SELECT_NONE.value);\n const [showReason, setShowReason] = useState(false);\n const [commentsValue, setCommentsValue] = useState('');\n const [errors, setErrors] = useState({\n reason: \"\",\n });\n\n let metadata: any = {};\n\n if (consignment) {\n metadata = consignment.metadata;\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const validateForm = useCallback(() => {\n let newErrors = {};\n if (selectedReason === AppConstants.SELECT_NONE.value) {\n newErrors = { ...newErrors, reason: \"Please select reason\" };\n }\n setErrors({ ...errors, ...newErrors });\n\n return Object.keys(newErrors).length;\n }, [errors, selectedReason]);\n\n const handleStatusChange = useCallback(\n (value: any) => {\n setSelectedStatus(value);\n if (value === \"COLLECTION_FAILED\") {\n setShowReason(true);\n } else {\n setShowReason(false);\n }\n }, []\n );\n\n const handleReasonChange = useCallback(\n (value: any) => {\n setSelectedReason(value);\n if (value) {\n setErrors({ ...errors, reason: \"\" });\n }\n },\n [errors],\n );\n\n const handleCommentsTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setCommentsValue(event.target.value);\n },\n []\n );\n\n const handleCNCReplanning = useCallback(\n () => {\n if (selectedStatus === \"COLLECTION_FAILED\") {\n if (validateForm() === 0) {\n const payload = createCNCReplanningPayload({\n id: consignment.consignmentCode,\n reason: selectedReason,\n commentsValue: commentsValue,\n cncStatus: selectedStatus\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n const deliveryReason = deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n payload.reason = deliveryReason[0]\n }\n }\n dispatch(\n cncReplanning(\n {\n params: payload\n }\n )\n )\n }\n } else {\n const payload = createCNCReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n cncStatus: selectedStatus\n });\n dispatch(\n cncReplanning(\n {\n params: payload\n }\n )\n )\n }\n },\n [consignment, selectedStatus, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch],\n )\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'update') {\n handleCNCReplanning();\n } else {\n closePopup();\n }\n },\n [closePopup, handleCNCReplanning],\n );\n\n const fetchAllDeliveryReasons = useCallback(\n (countryCode: any) => {\n dispatch(\n fetchDeliveryReasons({\n params: countryCode\n })\n );\n }, [dispatch]\n );\n\n\n const handleCNCStatuses = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchCNCStatuses({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (cncReplanningSuccess) {\n closePopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cncReplanningSuccess])\n\n useEffect(() => {\n if (consignment) {\n setSelectedStatus(AppConstants.SELECT_NONE.value);\n setShowReason(false);\n setCommentsValue(\"\");\n setSelectedReason(AppConstants.SELECT_NONE.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment]);\n\n\n useEffect(() => {\n if (consignment != null) {\n fetchAllDeliveryReasons(countryCode);\n handleCNCStatuses(consignment);\n }\n }, [consignment, countryCode, fetchAllDeliveryReasons, handleCNCStatuses]);\n\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n EDIT CONSIGNMENT : \n {consignment.consignmentCode} \n \n \n {\n cncDataAfterReplanning && cncDataAfterReplanning.metadata ?\n (\n \n {cncDataAfterReplanning && cncDataAfterReplanning.metadata && cncDataAfterReplanning.metadata.deliveryStatus ? cncDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n Mark Consignment As\n \n \n \n \n \n \n {showReason ? (\n \n \n \n Reason\n \n \n \n \n \n \n ) : null}\n \n \n \n Comments\n \n \n \n \n \n \n {showReason ? (\n \n \n \"warning\"\n This consignment will no longer be collected.\n \n ) : null}\n \n\n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n return (\n \n )\n}\n\nexport default ConsignmentEdit;","import React, { useCallback, forwardRef, ReactElement, Ref, useState, useEffect } from 'react';\nimport CustomDialog from '../common/Dialog';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { fetchConsignmentHistoryAndProducts, exportInvoicePdf, closeDialog, resetReplanningSuccess } from \"./redux/clickAndCollectSlice\";\nimport mobileLogoIcon from './../assets/icons/mobileLogo.svg';\nimport emailLogoIcon from './../assets/icons/emailLogo.svg';\nimport { AppState } from \"../config/redux/reducers\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as activeTimelineDot } from './../assets/icons/active-timeline-dot.svg';\nimport { ReactComponent as errorTimelineDot } from './../assets/icons/timeline-dot-error.svg';\nimport { ReactComponent as timelineDot } from './../assets/icons/timeline-dot.svg';\nimport { ReactComponent as downArrowIcon } from './../assets/icons/down-arrow.svg';\n\nimport { ReactComponent as zoomInIcon } from './../assets/icons/zoom-in.svg';\n\nimport { ReactComponent as zoomOutIcon } from './../assets/icons/zoom-out.svg';\nimport { useStyles } from './CNCConsignmentDetails.styles';\nimport { TransitionProps } from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport { Grid, Typography, Accordion, AccordionSummary, AccordionDetails, SvgIcon, Link, Divider } from '@material-ui/core';\nimport { Timeline, TimelineItem, TimelineSeparator, TimelineDot, TimelineConnector, TimelineContent } from '@material-ui/lab';\nimport { COLORS } from '../config/theme/baseTheme';\n\nimport Loader from \"../common/Loader\";\nimport AppConstants from \"../constants\";\nimport { fixDecimals, localTimeString, isCardOnDelivery } from 'utils/helpers.utils';\nimport moment from 'moment';\nimport CNCConsignmentEdit from './CNCConsignmentEdit';\nimport { Document, Page } from 'react-pdf';\nimport Modal from '@material-ui/core/Modal';\nimport KeyboardArrowDownRoundedIcon from \"@material-ui/icons/KeyboardArrowDownRounded\";\nimport clsx from \"clsx\";\nimport { pdfjs } from 'react-pdf';\nimport closeButton from \"./../assets/icons/close-circle-icon.svg\";\nimport { decodeHtmlEntities } from 'utils/textUtils';\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ninterface ConsignmentDetailsProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ConsignmentDetails = (props: ConsignmentDetailsProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const { loading, consignmentStatuses, productsList, invoiceData, invoiceUrl, displayInvoice, invoiceMessage, invoiceConsignment, cncDataAfterReplanning } = useSelector(\n (state: AppState) => state.clickAndCollect\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n const { open, consignment, closePopup } = props;\n const [openConsignmentEditPopup, setOpenConsignmentEditPopup] = useState(false);\n const [numPages, setNumPages] = useState(null);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const [showInvoiceModal, setShowInvoiceModal] = useState(false);\n const [scale, setScale] = useState(1);\n const [scaleNumber, setScaleNumber] = useState(100);\n\n let deliveryInformation: any = {};\n let metadata: any = {};\n let custInfo: any = {\n address: {}\n };\n let pickupInformation: any = {};\n let pickUpContactInfo: any = {};\n let posInformation: any = {};\n //let statusErrorReason: any = {};\n let custGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let sellerGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let posInfo: any = {\n address: {}\n };\n let items: any = [];\n let historyItems: any = [];\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n let hubName = \"\";\n\n const handleStatusHistoryAndProducts = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n pickupInformation = consignment && consignment.pickUpInformation;\n posInformation = consignment.posInformation;\n if (pickupInformation && pickupInformation.pickUpContactInfo) {\n pickUpContactInfo = pickupInformation.pickUpContactInfo;\n }\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n custGeoLocation.location.lat = parseFloat(custInfo.address.latitude) || 0;\n custGeoLocation.location.lng = parseFloat(custInfo.address.longitude) || 0;\n }\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n if (pickupInformation && pickupInformation.pickupSlot && pickupInformation.pickupSlot.deliverySlotTime) {\n const startTime = new Date(pickupInformation.pickupSlot.startTime);\n const endTime = new Date(pickupInformation.pickupSlot.endTime);\n deliveryDate = moment(pickupInformation.pickupSlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`;\n }\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n sellerGeoLocation.location.lat = parseFloat(posInfo.address.latitude) || 0;\n sellerGeoLocation.location.lng = parseFloat(posInfo.address.longitude) || 0;\n }\n items = productsList;\n if (consignmentStatuses) {\n let statuses = consignmentStatuses.slice();\n historyItems = statuses;\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const onDocumentLoadSuccess = ({ numPages }: any) => {\n setNumPages(numPages);\n }\n\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n }\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const checkEditable = () => {\n if (Object.keys(cncDataAfterReplanning).length !== 0) {\n return AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(cncDataAfterReplanning && cncDataAfterReplanning.metadata && cncDataAfterReplanning.metadata.deliveryStatus) === -1;\n } else {\n return AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(metadata && metadata.deliveryStatus) === -1;\n }\n }\n\n const getItems = () => {\n return items && items.length ? items.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n {\n item.reason ? (\n {`Rejection Reason - ${item.reason.reasonDescription}`}) :\n item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason ? (\n {`Rejection Reason - ${item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].reason && item.substitutedProducts[0].reason.reasonDescription}`}\n ) : (\n {\"\"}\n )\n }\n {\n item.substitutedProducts &&\n
\n View Original\n handleOriginalName()} />\n
\n }\n
\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].rejectedQty : item.rejectedQty || \"-\"}\n\n \n\n \n {item.substitutedProducts && item.substitutedProducts.length ? item.substitutedProducts[0].shippedQty : item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n
\n\n {\n showOriginalName && item.substitutedProducts &&\n \n \n {item.name.en.toLowerCase()}\n \n \n {item.rejectedQty || \"-\"}\n\n \n\n \n {item.shippedQty || \"\"}/{`${item.quantity || \"\"} ${item.uom && item.uom === 'Grams' ? item.uom : \"\"}`}\n \n \n {`${fixDecimals(2, item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n \n }\n
\n )) : (No Items to display)\n }\n\n const handleDialogClose = useCallback(\n () => {\n dispatch(\n closeDialog()\n );\n closePopup();\n },\n [closePopup, dispatch],\n );\n /* const checkStatusReason = useCallback(\n (reason: any, statusCode: string) => {\n return reason && reason.deliveryStatus ? reason.deliveryStatus === statusCode ? true : false : false;\n },\n [],\n ); */\n\n const closeConsignmentEditPopup = useCallback(\n () => {\n setOpenConsignmentEditPopup(false);\n },\n [],\n );\n\n const handleEditPopup = useCallback(\n () => {\n dispatch(\n resetReplanningSuccess()\n )\n setOpenConsignmentEditPopup(true);\n },\n [dispatch],\n );\n\n const handleInvoiceModalClose = () => {\n setShowInvoiceModal(false);\n setScale(1);\n };\n\n const zoomIn = (scaleNumber: any) => {\n setScaleNumber(scaleNumber + 15);\n setScale(scale + 0.4);\n };\n\n const zoomOut = (scaleNumber: any) => {\n if (scale > 1) {\n setScaleNumber(scaleNumber - 15);\n setScale(scale - 0.4);\n } else {\n setScale(1);\n }\n };\n\n const handleInvoicePdf = useCallback(\n (consignment) => {\n const paramsInvoice = {\n consignmentNo: [consignment.consignmentCode]\n };\n setShowInvoiceModal(true);\n dispatch(\n exportInvoicePdf({\n params: paramsInvoice\n })\n )\n },\n [dispatch]\n );\n\n const renderInvoiceModal = () => {\n return (\n \n <>\n {loading && }\n {!loading && displayInvoice &&\n <>\n \n \n {invoiceConsignment}.pdf ({numPages} Pages)\n \n \n zoomOut(scaleNumber)} />\n {scaleNumber}\n zoomIn(scaleNumber)} className={classes.zoomInStyle} />\n \n \"Modal\n \n\n \n
\n
\n \n {Array.from(new Array(numPages), (el, index) => (\n \n ))}\n \n
\n
\n }\n {!loading && !displayInvoice &&\n
\n
\n
setShowInvoiceModal(false)}>\n \"Modal\n
\n

{invoiceMessage}

\n
\n
\n }\n \n
\n );\n };\n\n const getHistoryTimelineItems = () => {\n return historyItems && historyItems.length ? historyItems.map((item: any, index: number) => (\n < TimelineItem key={`${item.statusCode} - ${index}`} className=\"timelineItem\" >\n \n {index === 0 ?\n \n \n \n :\n \n \n \n }\n {index !== historyItems.length - 1 && }\n \n \n {item.statusName}{`(${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n {\n item.reason ? (\n \n {item.reason ? item.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n ) :\n consignment.reason && consignment.reason.deliveryStatus === item.statusCode ? (\n \n {consignment.reason ? consignment.reason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n ) : \"\"\n }\n {/* {\n checkStatusReason(statusErrorReason, item.statusCode) && \n {statusErrorReason ? statusErrorReason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n } */}\n \n \n )) : (No Items to display)\n }\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {\n cncDataAfterReplanning && cncDataAfterReplanning.metadata ?\n (\n \n {cncDataAfterReplanning && cncDataAfterReplanning.metadata && cncDataAfterReplanning.metadata.deliveryStatus ? cncDataAfterReplanning.metadata.deliveryStatus : \"\"}\n \n ) : (\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n )\n }\n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {checkEditable() && (\n \n \n \n )}\n \n )}\n \n \n {\n (deliveryInformation && deliveryInformation.carrierTrackingId) || consignment.orderReference ? (\n \n \n {\n deliveryInformation && deliveryInformation.carrierTrackingUrl ?\n
\n handleInvoicePdf(consignment)}> View Invoice\n
\n :\n {`Track Consignment (#${deliveryInformation && deliveryInformation.carrierTrackingId ? deliveryInformation.carrierTrackingId : consignment.orderReference ? consignment.orderReference : \"\"})`}\n }\n
\n\n
\n ) : \"\"\n }\n
\n
\n
\n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n Customer Details\n \n \n {custInfo && custInfo.name}\n \n\n \n \n \n \n \"Mobile\"\n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \"Email\"\n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n \n \n \n Collection point code\n {(pickUpContactInfo && pickUpContactInfo.companyName) || \"-\"}\n \n \n Collection point name\n {(pickUpContactInfo && pickUpContactInfo.name) || \"-\"}\n \n \n\n \n\n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode}\n \n \n \n \n \n \n Collection Date\n \n \n {deliveryDate}\n \n \n \n \n \n \n Collection Slot\n \n \n {deliverySlot}\n \n \n \n \n \n \n \n \n \n \n Fulfilment Store Code\n \n \n {posInformation && posInformation.store}\n \n \n \n \n \n \n Fulfilment Store Name\n \n \n {posInformation && posInformation.storeName}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Consignment History\n \n \n \n \n {getHistoryTimelineItems()}\n \n \n \n \n \n \n \n }\n aria-controls=\"consignment-history-content\"\n id=\"consignment-history-header\"\n className={classes.accordionSummary}\n >\n Items Summary ({items && items.length})\n \n \n \n \n \n \n \n Product Name\n \n \n Rejected Qty\n \n \n Shipped/ Ordered Qty\n \n \n Unit Price\n \n \n \n {getItems()}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n {deliveryInformation && metadata ? `${fixDecimals(2, deliveryInformation.deliveryCost ? deliveryInformation.deliveryCost.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n {\n metadata && (metadata.paymentType === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ?\n <>\n \n \n \n \n \n Amount to be Collected\n \n \n {metadata ? `${fixDecimals(2, metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n \n Collected Amount\n \n \n {metadata ? `${fixDecimals(2, metadata.collectedAmount ? metadata.collectedAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n \n \n : null}\n \n \n \n \n\n \n )\n }\n\n useEffect(() => {\n if (Object.keys(cncDataAfterReplanning).length !== 0) {\n let consignmentCode = cncDataAfterReplanning && cncDataAfterReplanning.consignmentCode;\n dispatch(\n fetchConsignmentHistoryAndProducts({\n params: consignmentCode\n })\n );\n }\n }, [cncDataAfterReplanning, dispatch])\n\n\n useEffect(() => {\n if (consignment != null) {\n handleStatusHistoryAndProducts(consignment);\n }\n }, [handleStatusHistoryAndProducts, consignment]);\n\n\n return (\n <>\n \n \n\n {renderInvoiceModal()}\n \n )\n}\n\nexport default ConsignmentDetails;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { fetchOrdersFilterChipsDisplayCount, fetchPlanningOrderListByFilter, fetchDynamicFiltersOrdersDropdownValues, exportToExcel } from \"./redux/clickAndCollectSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n createFilterPayload,\n getCNCConsignmentStatusesField,\n lastMilePlanningOrdersDataTransform,\n createPayloadForExcelExport,\n} from \"../mocks/clickAndCollect/response.transforms\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { useStyles } from \"./clickandcollect.styles\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport _ from \"lodash\";\nimport { CellParams, RowParams, SortModel } from \"../common/GridWrapper/DataTable\";\nimport { Grid, Typography, IconButton, SvgIcon } from \"@material-ui/core\";\nimport { useHistory } from \"react-router\";\nimport moment from \"moment\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport CNCConsignmentDetails from \"./CNCConsignmentDetails\";\nimport { ReactComponent as checkIcon } from '../assets/icons/circle-checked-icon.svg';\n\ninterface ClickAndCollectProps {\n match?: any;\n location?: any;\n}\n\nconst ClickAndCollect = (props: ClickAndCollectProps) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { location } = props;\n const componentClasses = useStyles();\n const { ordersData, tableLoading, ordersFiltersDropdowns, cncFilterChipsDisplayCount, loading, error, errorCode, cncReplanningSuccess, excelLoading, exportError } = useSelector(\n (state: AppState) => state.clickAndCollect\n );\n const { countryCode, hubCode } = useSelector(\n (state: AppState) => state.common\n );\n\n const onLoadRef = useRef(true);\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n\n const [isTabChange, setIsTabChange] = useState(false);\n\n const [cncConsignmentData, setCncConsignmentData] = useState({});\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'consignmentId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'deliveryStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const [openCNCConsignmentDetailsPopup, setOpenCNCConsignmentDetailsPopup] = useState(false);\n\n const fetchDynamicFilters = useCallback(\n (filters: any, isRoute?: boolean) => {\n dispatch(\n fetchDynamicFiltersOrdersDropdownValues({\n filters: filters\n })\n )\n },\n [dispatch]\n );\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n },\n [ordersTableWrapperData, ordersData]\n );\n\n const getFilterChipsCount = useCallback(\n (payload: any) => {\n setIsDisplayCount(false);\n let updatedPayload = _.cloneDeep(payload);\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.metadata.displayRouteStatus');\n dispatch(\n fetchOrdersFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n },\n [dispatch],\n )\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeOrdersFilterChip === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, ordersData, isLoadMore);\n if (!isLoadMore) {\n fetchDynamicFilters(payload);\n }\n if(isLoadMore){\n setIsTabChange(false);\n }\n getFilterChipsCount(payload);\n dispatch(\n fetchPlanningOrderListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, ordersData, ordersTableWrapperData, activeOrdersFilterChip, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n const handleExcelExport = useCallback(\n (filters: any) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n\n if (activeOrdersFilterChip === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n const payload = createPayloadForExcelExport(payloadFilters, ordersData, false, false);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n\n }\n setRenderExcelProgress(true);\n },\n [dispatch, ordersData, countryCode, activeOrdersFilterChip]\n )\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'excel':\n handleExcelExport(ordersActiveFilters);\n break;\n default:\n break;\n }\n }\n },\n [ordersActiveFilters, handleExcelExport]\n );\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'consignmentId') {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setCncConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenCNCConsignmentDetailsPopup(true);\n }\n },\n [ordersData],\n );\n\n const handleRowClick = useCallback(\n (params: RowParams) => {\n const selectedRow: any = params.data;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setCncConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenCNCConsignmentDetailsPopup(true);\n },\n [ordersData],\n );\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.PLANNING_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n filters = chip.code === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true);\n }\n setRenderExcelProgress(false);\n },\n [ordersFilterCallback, activeOrdersFilterChip],\n )\n\n const getFilterChips = () => {\n const filterChips = AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n handleChipFilter(chip, ordersActiveFilters)}>\n \n \n {chip.value}\n \n \n {chip.code === AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP ? cncFilterChipsDisplayCount.consignmentCount[chip.code] : cncFilterChipsDisplayCount.consignmentCount[chip.code]}\n \n \n \n ))\n };\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n history.replace({ pathname: location.pathname, state: {} })\n }\n\n useEffect(() => {\n window.addEventListener('beforeunload', handleBeforeUnload);\n onLoadRef.current = true;\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(cncFilterChipsDisplayCount.consignmentCount).filter((key: string) => cncFilterChipsDisplayCount.consignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.CNC_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? selectedChipValue : activeOrdersFilterChip }, ordersActiveFilters)\n } else {\n setOrdersListToShow(lastMilePlanningOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cncFilterChipsDisplayCount, ordersData]);\n\n useEffect(() => {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'collectionHubCode') {\n header.filterObj.items = ordersFiltersDropdowns.collectionHubCodeList || [];\n }\n if (header.filterObj.fieldName === 'collectionHubName') {\n header.filterObj.items = ordersFiltersDropdowns.collectionHubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.collectionSlotList || [];\n }\n if (header.filterObj.fieldName === 'cancellationReason') {\n header.filterObj.items = ordersFiltersDropdowns.cancellationReasonList || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n setActiveOrdersFilterChip(AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: hubsToAdd } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'collectionHubCode') {\n header.filterObj.items = ordersFiltersDropdowns.collectionHubCodeList || [];\n }\n if (header.filterObj.fieldName === 'collectionHubName') {\n header.filterObj.items = ordersFiltersDropdowns.collectionHubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.collectionSlotList || [];\n }\n if (header.filterObj.fieldName === 'cancellationReason') {\n header.filterObj.items = ordersFiltersDropdowns.cancellationReasonList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns]);\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const closeCNCConsignmentDetailsPopup = useCallback(\n () => {\n setOpenCNCConsignmentDetailsPopup(false);\n },\n [],\n );\n\n useEffect(() => {\n if (cncReplanningSuccess) {\n openSnackbarPopup(AppConstants.CNC_CONSTANTS.CONSIGNMENTS_DATA.REPLANNING_CONSIGNMENT_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cncReplanningSuccess])\n\n return (\n
\n {loading && }\n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n \n Your files are getting downloaded\n \n ) : (\n \n \n Your files have been downloaded\n \n \n )}\n {excelLoading ? :\n \n \n \n \n \n \n }\n ) : (\n exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null)}\n \n \n\n
\n );\n};\n\nexport default ClickAndCollect;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 24,\n color: \"#979797\"\n },\n \"& .MuiTab-root.Mui-selected\": {\n color: '#1F1F1F'\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: \"0px 12px 20px 12px\",\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"12px 0px 10px 0px\",\n '& .chipsContainer': {\n justifyContent: 'space-between',\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"11%\",\n borderRadius: theme.spacing(1),\n border: \"1px solid rgba(10, 67, 124, 0.2)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: \"#0A437C\",\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n }\n }\n }\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.CREAM_CAN': {\n backgroundColor: COLORS.CREAM_CAN\n },\n '&.VISTA_BLUE': {\n backgroundColor: COLORS.VISTA_BLUE\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.SEA_GREEN\n },\n '&.GOLDEN_BELL': {\n backgroundColor: COLORS.GOLDEN_BELL\n },\n '&.SCAMPI': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.SEA_GREEN2': {\n backgroundColor: COLORS.SEA_GREEN2\n },\n '&.LUCKY': {\n backgroundColor: COLORS.LUCKY\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.BLACK': {\n backgroundColor: COLORS.BLACK\n },\n '&.TROPICAL_BLUE': {\n backgroundColor: COLORS.TROPICAL_BLUE,\n color: COLORS.ASTRAL\n },\n '&.CATSKILL_WHITE': {\n backgroundColor: COLORS.CATSKILL_WHITE,\n color: COLORS.ASTRAL\n },\n '&.BLUE_HAZE': {\n backgroundColor: COLORS.BLUE_HAZE,\n color: COLORS.SCAMPI\n },\n '&.BARLEY_WHITE': {\n backgroundColor: COLORS.BARLEY_WHITE,\n color: COLORS.OLD_GOLD\n },\n '&.DOUBLE_PEARL_LUSTA': {\n backgroundColor: COLORS.DOUBLE_PEARL_LUSTA,\n color: COLORS.PIMPKIN_SKIN\n },\n '&.JAGGED_ICE': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.BLUE_STONE\n },\n '&.TARA': {\n backgroundColor: COLORS.TARA,\n color: COLORS.OCEAN_GREEN\n },\n '&.JAGGED_ICE_PREPARED': {\n backgroundColor: COLORS.JAGGED_ICE,\n color: COLORS.JUNGLE_GREEN\n },\n '&.ALTO': {\n backgroundColor: COLORS.ALTO,\n color: COLORS.DUSTY_GRAY_LIGHT\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI,\n color: COLORS.WHITE\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n colSettings: {\n float: \"right\",\n marginTop: -3\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2),\n fontFamily: 'Montserrat',\n backgroundColor: COLORS.ALIZARIN_CRIMSON,\n '&:hover': {\n backgroundColor: COLORS.ALIZARIN_CRIMSON\n }\n }\n },\n }),\n);\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { fetchOrdersFilterChipsDisplayCount, fetchRoutesFilterChipsDisplayCount, fetchPlanningOrderListByFilter, fetchPlanningRouteListByFilter, publishRoutes, deleteRoute, clearPublishedRoutesErrors, clearUpdatedRoute, resetPlanningError, resetConsignmentReplanningSuccess, fetchDeliveryReasons, fetchDynamicFiltersOrdersDropdownValues, fetchDynamicFiltersRoutesDropdownValues, clearCurrentSlot, exportToExcel, exportRoutesToExcel } from \"./redux/carrefourDeliverySlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n createDeleteRoutePayload,\n createFilterPayload,\n createPublishRoutesPayload,\n getConsignmentStatusField,\n getRouteStatusField,\n CarrefourDeliveryOrdersDataTransform,\n CarrefourDeliveryRoutesDataTransform,\n createPayloadForExcelExport,\n createRoutesPayloadForExcelExport\n} from \"../mocks/carrefourHomeDelivery/response.transforms\";\nimport { ReactComponent as editIcon } from './../assets/icons/edit-icon.svg';\nimport { ReactComponent as deleteIcon } from './../assets/icons/delete-icon.svg';\nimport { AppState } from \"../config/redux/reducers\";\nimport { useStyles } from \"./carrefourDelivery.styles\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport _ from \"lodash\";\nimport { CellParams, RowData, RowParams, SelectionChangeParams, SortModel } from \"../common/GridWrapper/DataTable\";\nimport { Button, Grid, SvgIcon, IconButton, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { TabContext, TabPanel } from '@material-ui/lab';\nimport { useHistory } from \"react-router\";\nimport CustomDialog from \"../common/Dialog\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport CustomTooltip from \"common/Tooltip\";\nimport { getHubRecordList, getSlotUIValue, getValueFromArray } from \"../utils/helpers.utils\";\nimport moment from \"moment\";\nimport SelectBox from \"common/SelectBox\";\nimport CarrefourDeliveryOrderDetails from \"./CarrefourDeliveryOrderDetails\";\n\ninterface CarrefourDeliveryProps {\n match?: any;\n location?: any;\n}\n\nconst CarrefourDelivery = (props: CarrefourDeliveryProps) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { location } = props;\n const componentClasses = useStyles();\n const { ordersData, routesData, tableLoading, ordersFiltersDropdowns, routesFiltersDropdowns, vtOrdersFilterChipsDisplayCount, routesFilterChipsDisplayCount, publishedRoutes, deletedRoute, publishedRoutesErrors, updatedRoute, routeDiscardSuccess, chdReplanningConsignmentSuccess, isUpdateAddress, loading, error, errorCode } = useSelector(\n (state: AppState) => state.carrefourDelivery\n );\n const { countryCode, hubCode, hubRecordList } = useSelector(\n (state: AppState) => state.common\n );\n const { isLastMileViewer, isOnlyStdLastMileViewer } = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const onLoadRef = useRef(true);\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [routesListToShow, setRoutesListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [routesSearchValue, setRoutesSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [isRouteSearched, setIsRouteSearched] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [tabValue, setTabValue] = useState(location.state && location.state.tabValue ? location.state.tabValue : AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n const [activeRoutesFilterChip, setActiveRoutesFilterChip] = useState(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP);\n\n const [selectedRoutes, setSelectedRoutes] = useState([] as RowData[]);\n const [isTabChange, setIsTabChange] = useState(false);\n\n const [openPublishDialog, setOpenPublishDialog] = useState(false);\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [editRoute, setEditRoute] = useState(null);\n const [viewRoute, setViewRoute] = useState(null);\n const [createRouteHub, setCreateRouteHub] = useState(sessionStorage.getItem(AppConstants.HUB_CODE) || AppConstants.SELECT_NONE.value);\n const [openCreateRouteHubSelectionPopup, setOpenCreateRouteHubSelectionPopup] = useState(false);\n const [createRoute, setCreateRoute] = useState(false);\n const [routeToBeDeleted, setRouteToBeDeleted] = useState({});\n const [openPublishErrorMsgPopup, setOpenPublishErrorMsgPopup] = useState(false);\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'consignmentId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'deliveryStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [routesTableWrapperData, setRoutesTableWrapperData] = useState({\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'routeId') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \n \n \n \n \n \n \n \n );\n }\n if (newHeader.field === 'deliveryArea') {\n newHeader.renderCell = (params: CellParams) => {\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : params.value[0]}\n \n \n );\n }\n }\n if (newHeader.field === 'deliverySlot') {\n newHeader.renderCell = (params: CellParams) => {\n const firstDelSlot = params.value.length && params.value[0].split('-');\n const slotValue = getSlotUIValue(firstDelSlot);\n return (\n \n \n {params.value.length && params.value.length > 1 ? `Multiple(${params.value.length})` : `${slotValue.startTime} - ${slotValue.endTime}`}\n \n \n );\n }\n }\n if (newHeader.field === 'routeStatus') {\n newHeader.renderCell = (params: any) => (\n \n {params.value ? params.value : \"\"}\n \n );\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange, value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n const [routesActiveFilters, setRoutesActiveFilters] = useState({ ...routesTableWrapperData.defaultFiltersObj });\n\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n\n const publishDialogPaperProps = {\n classes: {\n root: componentClasses.publishDialogPaperPropsRoot\n }\n }\n\n const deleteDialogPaperProps = {\n classes: {\n root: componentClasses.deleteDialogPaperPropsRoot\n }\n }\n\n const createRouteHubSelectionDialogPaperProps = {\n classes: {\n root: componentClasses.hubSelectionDialogPaperPropsRoot\n }\n }\n\n const fetchDynamicFilters = useCallback(\n (filters: any, isRoute?: boolean) => {\n if (isRoute) {\n dispatch(\n fetchDynamicFiltersRoutesDropdownValues({\n filters: filters\n })\n )\n } else {\n dispatch(\n fetchDynamicFiltersOrdersDropdownValues({\n filters: filters\n })\n )\n }\n },\n [dispatch]\n );\n\n const handleHeaderButtonsDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case \"publish\":\n btn.disabled = !selectedRoutes.length;\n break;\n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case \"createRoute\":\n if (isLastMileViewer || isOnlyStdLastMileViewer) {\n btn.hide = true;\n }\n break;\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, selectedRoutes, isLastMileViewer, isOnlyStdLastMileViewer]\n );\n\n const handleHeaderButtonsHideState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let headerButtons = routesTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'publish':\n btn.hide = activeRoutesFilterChip !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP;\n break;\n default:\n break;\n }\n return btn;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, headerButtons: headerButtons });\n } else {\n let headerButtons = ordersTableWrapperData.headerButtons.map((btn: any) => {\n switch (btn.name) {\n case 'createRoute':\n btn.hide = activeOrdersFilterChip !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP;\n break;\n default:\n break;\n }\n return btn;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, headerButtons: headerButtons });\n }\n },\n [ordersTableWrapperData, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip]\n );\n\n const handleLoadMoreDisableState = useCallback(\n (isRoute?: boolean) => {\n if (isRoute) {\n let loadMoreState = routesTableWrapperData.loadMore;\n loadMoreState.disabled = routesData.totalPages ? routesData.pageNumber + 1 >= routesData.totalPages : true;\n setRoutesTableWrapperData({ ...routesTableWrapperData, loadMore: loadMoreState });\n } else {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n }\n },\n [routesTableWrapperData, ordersTableWrapperData, ordersData, routesData]\n );\n\n const getFilterChipsCount = useCallback(\n (payload: any, isRoute?: boolean) => {\n setIsDisplayCount(false);\n let updatedPayload = _.cloneDeep(payload);\n if (isRoute) {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.displayRouteStatus');\n dispatch(\n fetchRoutesFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n } else {\n updatedPayload.attributes = updatedPayload.attributes.filter((attr: any) => attr.key !== 'c.metadata.displayRouteStatus');\n dispatch(\n fetchOrdersFilterChipsDisplayCount({\n filters: updatedPayload\n })\n );\n setIsDisplayCount(true);\n }\n\n },\n [dispatch],\n )\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const routesSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setRoutesSearchValue(updatedSearchValue);\n setIsRouteSearched(false);\n if (updatedSearchValue) {\n setIsRouteSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n routesFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeOrdersFilterChip === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, ordersData, isLoadMore);\n if (!isLoadMore) {\n fetchDynamicFilters(payload);\n }\n if(isLoadMore){\n setIsTabChange(false);\n }\n getFilterChipsCount(payload);\n dispatch(\n fetchPlanningOrderListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, ordersData, ordersTableWrapperData, activeOrdersFilterChip, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n const handleExcelExport = useCallback(\n (filters: any, isRoute: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n if (isRoute) {\n if (activeRoutesFilterChip === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n const payload = createRoutesPayloadForExcelExport(payloadFilters, routesData, false, true);\n dispatch(\n exportRoutesToExcel({\n payload: payload\n })\n );\n } else {\n if (activeOrdersFilterChip === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeOrdersFilterChip];\n }\n const payload = createPayloadForExcelExport(payloadFilters, ordersData, false, false);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n }\n }\n setRenderExcelProgress(true);\n },\n [dispatch, ordersData, routesData, countryCode, activeOrdersFilterChip, activeRoutesFilterChip]\n )\n\n const routesFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n payloadFilters.pageSize = routesTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n if (activeRoutesFilterChip === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP) {\n delete payloadFilters.displayRouteStatus;\n } else {\n payloadFilters.displayRouteStatus.value = [activeRoutesFilterChip];\n }\n }\n const payload = createFilterPayload(payloadFilters, routesData, isLoadMore, true);\n if (!isLoadMore) {\n fetchDynamicFilters(payload, true);\n }\n dispatch(\n fetchPlanningRouteListByFilter({\n filters: payload\n })\n );\n getFilterChipsCount(payload, true);\n setRoutesActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [countryCode, routesData, routesTableWrapperData, activeRoutesFilterChip, fetchDynamicFilters, dispatch, getFilterChipsCount],\n );\n\n\n const fetchAllDeliveryReasons = useCallback(\n () => {\n dispatch(\n fetchDeliveryReasons()\n )\n },\n [dispatch],\n )\n\n const handleConsignmentReplanningReset = useCallback(\n () => {\n dispatch(\n resetConsignmentReplanningSuccess()\n )\n },\n [dispatch],\n );\n\n const handleHubSelectionDialogClose = useCallback(\n () => {\n setOpenCreateRouteHubSelectionPopup(false);\n },\n [],\n );\n\n const handleClearCurrentSlot = useCallback(\n () => {\n dispatch(\n clearCurrentSlot()\n );\n },\n [dispatch],\n );\n\n const hubSelectionDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'continue') {\n handleClearCurrentSlot();\n setCreateRoute(true);\n setEditRoute(null);\n }\n handleHubSelectionDialogClose();\n },\n [handleHubSelectionDialogClose, handleClearCurrentSlot],\n )\n\n const handleHubChangePopup = () => {\n const hubs : any[] = getHubRecordList(hubRecordList, countryCode);\n if (hubs.length > 1) {\n setOpenCreateRouteHubSelectionPopup(true);\n } else {\n setCreateRouteHub(hubs.length ? hubs[0].value : AppConstants.SELECT_NONE.value);\n hubSelectionDialogActionHandler('continue');\n }\n }\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'createRoute':\n handleHubChangePopup();\n break;\n case 'excel':\n handleExcelExport(ordersActiveFilters, false);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, handleHubChangePopup, ordersActiveFilters]\n );\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'consignmentId') {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n }\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRowClick = useCallback(\n (params: RowParams) => {\n const selectedRow: any = params.data;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n handleConsignmentReplanningReset();\n },\n [ordersData, handleConsignmentReplanningReset],\n );\n\n const handleRouteCellClick = useCallback(\n (params: CellParams) => {\n if (params.field !== 'actions') {\n const selectedRow: any = params.rowData;\n const selectedRoute = routesData.elements.filter((item: any) => item.id === selectedRow.id);\n handleClearCurrentSlot();\n setViewRoute(selectedRoute.length ? selectedRoute[0] : {});\n setCreateRoute(false);\n }\n },\n [routesData, handleClearCurrentSlot],\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n\n\n const handleRoutesHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'publish':\n setOpenPublishDialog(true);\n break;\n case 'excel':\n handleExcelExport(routesActiveFilters, true);\n break;\n default:\n break;\n }\n }\n },\n [handleExcelExport, routesActiveFilters]\n );\n\n const getPublishDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getPublishDialogDetailsContent = () => {\n return (\n \n \n Are you sure you want to publish these routes?\n \n \n {selectedRoutes.length > 1 ? `${selectedRoutes.length} Routes` : `${selectedRoutes.length} Route`}{selectedRoutes.length > 1 ? ' are ' : ' is '}being published. Once published, the drivers will be notified of the assigned routes.\n \n \n )\n };\n\n const handlePublishDialogClose = useCallback(\n () => {\n setOpenPublishDialog(false);\n },\n [],\n )\n\n const getDeleteDialogTitleContent = () => {\n return (\n <>\n )\n };\n\n const getDeleteDialogDetailsContent = () => {\n return (\n \n \n {`Are you sure you want to delete Route ${routeToBeDeleted.routeId}`}\n \n \n Once deleted, the consignments in this route will be moved back to the unplanned tab.\n \n \n )\n };\n\n const handleHubChange = useCallback(\n (value: any) => {\n setCreateRouteHub(value);\n },\n [],\n )\n\n const getHubSelectionDialogTitleContent = () => {\n return (\n Select Hub\n )\n }\n\n const getHubSelectionDialogDetailsContent = () => {\n return (\n \n \n Please select the Hub to create routes\n \n \n \n \n \n )\n };\n\n const getDeliveryAreas = (areas: any[]) => {\n return areas.length && areas.map((area: string, index: number) => (\n {area}\n ));\n }\n\n const getDeliverySlots = (slots: any[]) => {\n return slots.length && slots.map((slot: string, index: number) => {\n const delSlot = slot.split('-');\n const slotValue = getSlotUIValue(delSlot);\n return (\n {`${slotValue.startTime} - ${slotValue.endTime}`}\n )\n });\n }\n\n const handleDeleteRouteIconClick = (value: any) => () => {\n setRouteToBeDeleted(value);\n setOpenDeleteDialog(true);\n }\n\n const handleEditRouteIconClick = (value: any) => () => {\n handleClearCurrentSlot();\n setEditRoute(value);\n setCreateRoute(false);\n }\n\n const handleDeleteDialogClose = useCallback(\n () => {\n setRouteToBeDeleted({});\n setOpenDeleteDialog(false);\n },\n [],\n );\n\n const handleDeleteRoute = useCallback(\n () => {\n const deletePayload = createDeleteRoutePayload(routeToBeDeleted.id);\n if (deletePayload) {\n dispatch(\n deleteRoute({\n payload: deletePayload\n })\n )\n }\n },\n [dispatch, routeToBeDeleted],\n )\n\n const deleteRouteDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'delete') {\n handleDeleteRoute();\n }\n handleDeleteDialogClose();\n },\n [handleDeleteDialogClose, handleDeleteRoute],\n )\n\n const getDeleteDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const getHubSelectionDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handlePublishRoutes = useCallback(\n () => {\n const publishPayload = createPublishRoutesPayload(selectedRoutes);\n if (publishPayload) {\n dispatch(\n publishRoutes({\n payload: publishPayload\n })\n )\n }\n },\n [dispatch, selectedRoutes],\n )\n\n const publishRoutesDialogActionHandler = useCallback(\n (type: string) => {\n if (type === 'publish') {\n handlePublishRoutes();\n }\n handlePublishDialogClose();\n },\n [handlePublishDialogClose, handlePublishRoutes],\n )\n\n const getPublishDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n if (error) {\n dispatch(\n resetPlanningError()\n )\n }\n if (updatedRoute && updatedRoute.route) {\n dispatch(\n clearUpdatedRoute()\n )\n }\n },\n [dispatch, error, errorCode, updatedRoute]\n );\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n let updatedFilters: any = {};\n if (value === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES) {\n updatedFilters = { ...routesActiveFilters, hub: { ...routesActiveFilters.hub, value: ordersActiveFilters.hub.value }, hubName: { ...routesActiveFilters.hubName, value: ordersActiveFilters.hubName.value }, dateRange: ordersActiveFilters.dateRange, deliverySlot: ordersActiveFilters.deliverySlot };\n setIsRouteSearched(false);\n setRoutesActiveFilters(updatedFilters);\n } else {\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: routesActiveFilters.hub.value }, hubName: { ...ordersActiveFilters.hubName, value: routesActiveFilters.hubName.value }, dateRange: routesActiveFilters.dateRange, deliverySlot: routesActiveFilters.deliverySlot };\n setIsOrderSearched(false);\n setOrdersActiveFilters(updatedFilters);\n }\n },\n [ordersActiveFilters, routesActiveFilters],\n )\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any, isRoute?: boolean) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n if (isRoute) {\n filters = chip.code === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsRouteSearched(false);\n if (chip.code === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP) {\n setTabValue(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY);\n setActiveOrdersFilterChip(chip.code);\n }\n if (chip.code !== activeRoutesFilterChip) {\n setActiveRoutesFilterChip(chip.code);\n routesFilterCallback(filters, false, true);\n const headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'actions') {\n newHeader.renderCell = chip.code === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.UNEDITABLE_CHIP ? () => (<>) : newHeader.renderCell;\n }\n return newHeader;\n })\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n } else {\n filters = chip.code === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP ? { ...filters, displayRouteStatus: null } : { ...filters, displayRouteStatus: { ...AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DISPLAY_ROUTE_STATUS_FILTER_OBJ, value: [chip.code] } }\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true);\n }\n }\n setRenderExcelProgress(false);\n },\n [routesFilterCallback, ordersFilterCallback, routesTableWrapperData, activeOrdersFilterChip, activeRoutesFilterChip],\n )\n\n const updateSelectedRoutes = useCallback(\n (params: SelectionChangeParams) => {\n setSelectedRoutes(params.rows);\n },\n []\n );\n\n const getFilterChips = (isRoute?: boolean) => {\n const filterChips = isRoute ? AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.FILTER_CHIPS : AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n <>\n handleChipFilter(chip, isRoute ? routesActiveFilters : ordersActiveFilters, isRoute)}>\n\n \n \n {chip.value}\n \n \n {chip.code === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP ? vtOrdersFilterChipsDisplayCount.consignmentCount[chip.code] : isRoute ? routesFilterChipsDisplayCount.routCount[chip.code] : vtOrdersFilterChipsDisplayCount.consignmentCount[chip.code]}\n \n \n \n \n ))\n };\n\n const getPublishedErrorContentItems = () => {\n return publishedRoutesErrors.length ? publishedRoutesErrors.map((error: any) => (\n \n \n \n \n {error.message}\n \n \n \n )) : null;\n };\n\n const handlePublishErrorPopupClose = useCallback(\n () => {\n setOpenPublishErrorMsgPopup(false);\n dispatch(\n clearPublishedRoutesErrors()\n );\n },\n [dispatch],\n );\n\n const handleBeforeUnload = (e: BeforeUnloadEvent) => {\n history.replace({ pathname: location.pathname, state: {} })\n }\n\n useEffect(() => {\n window.addEventListener('beforeunload', handleBeforeUnload);\n onLoadRef.current = true;\n fetchAllDeliveryReasons();\n return () => {\n window.removeEventListener('beforeunload', handleBeforeUnload);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (publishedRoutes.length) {\n onLoadRef.current = false;\n openSnackbarPopup(`\"${publishedRoutes.length} Route(s)\" ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publishedRoutes])\n\n useEffect(() => {\n if (updatedRoute && updatedRoute.route) {\n openSnackbarPopup(`Route \"${updatedRoute.route.routeId}\" ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.UPDATE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n }\n if (!(updatedRoute && routeDiscardSuccess)) {\n if (editRoute) {\n // history.push(AppConstants.ROUTES.EDIT_ROUTE);\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.CARREFOUR_HOME_DLVRY,\n state: {\n tabValue: AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n if (createRoute) {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.CARREFOUR_DELIVERY_CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n });\n }\n if (viewRoute) {\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [updatedRoute, routeDiscardSuccess])\n\n useEffect(() => {\n if (editRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_EDIT_ROUTE}/${editRoute.id}`, {\n plannedDate: editRoute.plannedDate,\n hubCode: editRoute.hubCode,\n hubName: editRoute.hubName,\n route: editRoute,\n slots: editRoute.deliverySlot || [],\n redirect: {\n route: AppConstants.ROUTES.CARREFOUR_HOME_DLVRY,\n state: {\n tabValue: AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.ROUTES\n }\n }\n });\n }\n }\n if (createRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n const hubName = getValueFromArray(getHubRecordList(hubRecordList, countryCode), \"value\", createRouteHub);\n history.push(AppConstants.ROUTES.CARREFOUR_DELIVERY_CREATE_ROUTE, {\n hubCode: createRouteHub,\n hubName: hubName.length ? hubName[0].name : createRouteHub,\n });\n }\n }\n if (viewRoute) {\n if (updatedRoute || routeDiscardSuccess) {\n dispatch(\n clearUpdatedRoute()\n );\n } else {\n history.push(`${AppConstants.ROUTES.CARREFOUR_DELIVERY_VIEW_ROUTE}/${viewRoute.id}`, {\n plannedDate: viewRoute.plannedDate,\n hubCode: viewRoute.hubCode,\n hubName: viewRoute.hubName,\n slots: viewRoute.deliverySlot || [],\n route: viewRoute\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editRoute, createRoute, viewRoute])\n\n useEffect(() => {\n if (deletedRoute) {\n onLoadRef.current = false;\n openSnackbarPopup(`Route \"${deletedRoute.id}\" ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.DELETE_ROUTE_SUCCESS_MSG}`, AppConstants.SNACKBAR.TYPES.SUCCESS);\n routesFilterCallback(routesActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deletedRoute])\n\n useEffect(() => {\n if (chdReplanningConsignmentSuccess) {\n openSnackbarPopup(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.REPLANNING_CONSIGNMENT_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [chdReplanningConsignmentSuccess])\n\n useEffect(() => {\n if (isUpdateAddress) {\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUpdateAddress])\n\n useEffect(() => {\n if (publishedRoutesErrors.length) {\n setOpenPublishErrorMsgPopup(true);\n }\n }, [publishedRoutesErrors])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(vtOrdersFilterChipsDisplayCount.consignmentCount).filter((key: string) => vtOrdersFilterChipsDisplayCount.consignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? chips[0] === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.CANCELLED && chips.length === 2 ? chips[1] : selectedChipValue : activeOrdersFilterChip }, ordersActiveFilters)\n } else {\n setOrdersListToShow(CarrefourDeliveryOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [vtOrdersFilterChipsDisplayCount, ordersData]);\n\n useEffect(() => {\n if (isRouteSearched) {\n const chips = Object.keys(routesFilterChipsDisplayCount.routCount).filter((key: string) => routesFilterChipsDisplayCount.routCount[key] > 0);\n handleChipFilter({ code: chips.length ? chips[0] : activeRoutesFilterChip }, routesActiveFilters, true);\n } else {\n setRoutesListToShow(CarrefourDeliveryRoutesDataTransform(routesData) as any);\n handleLoadMoreDisableState(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesFilterChipsDisplayCount, routesData]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersListToShow]);\n\n useEffect(() => {\n handleHeaderButtonsDisableState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [routesListToShow, selectedRoutes]);\n\n useEffect(() => {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n }\n return header;\n });\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: routesHeaderData });\n setActiveOrdersFilterChip(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n setActiveRoutesFilterChip(AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.DEFAULT_FILTER_CHIP);\n if (tabValue === AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.TAB_VALUES.VALET_TROLLEY) {\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hub: { ...ordersActiveFilters.hub, value: hubsToAdd } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n } else {\n setIsRouteSearched(false);\n updatedFilters = { ...routesActiveFilters, hub: { ...routesActiveFilters.hub, value: hubsToAdd } };\n if (!onLoadRef.current) {\n routesFilterCallback(updatedFilters);\n }\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'orderType') {\n header.filterObj.items = ordersFiltersDropdowns.typeList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = ordersFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = ordersFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = ordersFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = ordersFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'deliveryFailedReason') {\n header.filterObj.items = ordersFiltersDropdowns.undeliveredReasonList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n if (routesTableWrapperData && routesTableWrapperData.HeaderData) {\n let headerData = routesTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = routesFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = routesFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlot') {\n header.filterObj.items = routesFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'routeId') {\n header.filterObj.items = routesFiltersDropdowns.routeIdList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = routesFiltersDropdowns.deliveryAreaList || [];\n }\n if (header.filterObj.fieldName === 'carrier') {\n header.filterObj.items = routesFiltersDropdowns.carrierList || [];\n }\n if (header.filterObj.fieldName === 'deliveryProposition') {\n header.filterObj.items = routesFiltersDropdowns.deliveryPropositionList || [];\n }\n if (header.filterObj.fieldName === 'routeStatus') {\n header.filterObj.items = routesFiltersDropdowns.routeStatusList || [];\n }\n if (header.filterObj.fieldName === 'driver') {\n header.filterObj.items = routesFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = routesFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'helper') {\n header.filterObj.items = routesFiltersDropdowns.helperList || [];\n }\n if (header.filterObj.fieldName === 'createdBy') {\n header.filterObj.items = routesFiltersDropdowns.createdByList || [];\n }\n }\n return header;\n });\n setRoutesTableWrapperData({ ...routesTableWrapperData, HeaderData: headerData });\n }\n if (isLastMileViewer || isOnlyStdLastMileViewer) {\n const routesHeaderData = routesTableWrapperData.HeaderData.map((header: any) => {\n let newHeader = {...header};\n if (newHeader.field === \"actions\") {\n newHeader.hide = true;\n }\n return newHeader;\n });\n setRoutesTableWrapperData({...routesTableWrapperData, HeaderData: routesHeaderData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns, routesFiltersDropdowns, isLastMileViewer, isOnlyStdLastMileViewer]);\n\n useEffect(() => {\n handleHeaderButtonsHideState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeOrdersFilterChip]);\n\n useEffect(() => {\n handleHeaderButtonsHideState(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeRoutesFilterChip]);\n\n return (\n
\n {loading && }\n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n \n \n \n \n {\n getFilterChips(true)\n }\n \n \n \n \n \n \n {\n openPublishErrorMsgPopup &&\n \n \n \n \n {`${publishedRoutesErrors.length} Route(s) ${AppConstants.CARREFOUR_HOME_DLVRY_CONSTANTS.ROUTES_DATA.PUBLISH_ROUTES_ERROR_MSG}`}\n \n \n \n \n \n \n \n \n \n \n {getPublishedErrorContentItems()}\n \n \n \n }\n \n\n \n\n\n \n \n \n \n \n \n \n\n
\n );\n};\n\nexport default CarrefourDelivery;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: \"100%\",\n flexGrow: 1,\n margin: theme.spacing(2),\n },\n content: {\n fontSize: \"14px\",\n fontWeight: 600\n }\n })\n);","import { Grid, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './AccessDenied.styles';\nimport AppConstants from \"../../constants/AppConstants\";\n\nconst AccessDenied = () => {\n const classes = useStyles();\n return (\n \n {AppConstants.ACCESS_DENIED}\n \n );\n}\n\nexport default AccessDenied;","import {createSlice, createAsyncThunk} from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport {EApiMiddlewareMethods} from \"../../network/networkHandler.types\";\nimport {ExpressDashboardState} from \"./expressSlice.types\";\nimport AppConstants from \"../../constants\";\nimport moment from \"moment\";\nimport {transformSelectValues, saveFile} from \"../../utils/helpers.utils\";\nimport {transformBundleData} from \"../../mocks/routePlanning/response.transforms\";\nimport {getCrateDetails} from '../../utils/business/crate'\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"Express/FetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchPlanningOrderListByFilter = createAsyncThunk(\n \"Express/FetchOrdersByFilter\",\n async (\n {\n filters\n }: {\n filters: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersFilterChipsDisplayCount = createAsyncThunk(\n \"Express/FetchOrdersFilterChipsDisplayCount\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/displayFilterCount',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchConsignmentHistory = createAsyncThunk(\n \"ExpressOrderDetails/FetchConsignmentHistory\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `status/getOrderStatuses?type=ORDER&sort=DESC&orderBy=updatedAt&consignmentCode=${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchStatusOnClick = createAsyncThunk(\n \"ConsignmentDetails/FetchStatusOnClick\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `delayedUpdates/fetch/snapshot/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const {data} = await networkHandler(request, false, false, false, false, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const getAddressStatus = createAsyncThunk(\n \"ExpressOrderDetails/GetAddressStatus\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `order/address-status`,\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrderLogs = createAsyncThunk(\n \"ExpressOrderDetails/FetchOrderLogs\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `log/getOrderLogs?type=ORDER&consignmentCode=${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\n\nexport const fetchDriversList = createAsyncThunk(\n \"DriversAssignment/FetchDriversList\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `driver/getAllDrivers`,\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const assignDriverManually = createAsyncThunk(\n \"DriverAssignment/AssignDriverManually\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `order/assign-driver`,\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"Express/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/export',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n const errorResponse = await error?.response?.data?.text();\n const errorObj = JSON.parse(errorResponse);\n return rejectWithValue(errorObj?.error);\n }\n }\n);\n\nexport const downloadOrderLogs = createAsyncThunk(\n \"Express/ExportOrderLogs\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/export-logs',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportInvoicePdf = createAsyncThunk(\n \"Express/ExportInvoicePdf\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'v2/order/view-invoice',\n method: EApiMiddlewareMethods.POST,\n data: params,\n responseType: \"bytes\"\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchExpressOrderDeliveryStatuses = createAsyncThunk(\n \"Express/FetchExpressOrderDeliveryStatuses\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `order/statuses/${params}`,\n method: EApiMiddlewareMethods.GET,\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDeliveryReasons = createAsyncThunk(\n \"Express/FetchDeliveryReasons\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'reasons/get',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchBundleProducts = createAsyncThunk(\n \"Express/FetchBundleProducts\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: `product/${params}`,\n method: EApiMiddlewareMethods.GET,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const expressOrderReplanning = createAsyncThunk(\n \"Express/ExpressOrderReplanning\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/replanning',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const replanDuringPartialRejection = createAsyncThunk(\n \"Express/ReplanAndPartialRejection\",\n async (\n {\n params\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'v2/order/replan-order-line-items',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const submitOrderComments = createAsyncThunk(\n \"Express/SubmitOrderComments\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: 'order/add-comment',\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const {data} = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"Express/CloseDialog\", () => {\n return false;\n});\nexport const resetStatusRefreshButton = createAsyncThunk(\"Planning/resetStatusRefreshButton\", () => {\n return false;\n});\nexport const resetBundleList = createAsyncThunk(\"Planning/resetBundleList\", () => {\n return false;\n});\n\nexport const driverAssignmentSuccess = createAsyncThunk(\"Express/DriverAssignmentSuccess\", () => {\n return false;\n});\n\nexport const userLogout = createAsyncThunk(\"UserLogin/Logout\", () => {\n return false;\n});\n\n\nconst initialState: ExpressDashboardState = {\n loading: false,\n tableLoading: false,\n exportError: \"\",\n ordersFilterChipsDisplayCount: {\n consignmentCount: {\n UNASSIGNED: 0,\n ON_HOLD: 0,\n ASSIGNED: 0,\n OUT_FOR_DELIVERY: 0,\n COMPLETED: 0,\n }\n },\n ordersFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n deliverySlotList: [],\n deliveryZonesList: [],\n addressStatusList: [],\n activityList:[],\n statusList: [],\n driverList: [],\n vehicleList: [],\n paymentTypeList: [],\n deliveryArea: [],\n orderStatusList: [],\n executionStatusList: []\n },\n ordersData: {\n elements: [],\n pageNumber: 0\n },\n error: \"\",\n errorCode: \"\",\n isPolled: false,\n consignmentStatuses: [],\n orderLogs: [],\n driversList: [],\n excelLoading: false,\n invoiceData: \"\",\n invoiceUrl: \"\",\n displayInvoice: false,\n invoiceMessage: \"\",\n invoiceConsignment: \"\",\n driverAssigned: false,\n orderDeliveryStatuses: [],\n reasonsDropdownList: [],\n orderCommentsList: [],\n deliveryReasons: {},\n rejectionReasons: {},\n orderCommentsReasons: {},\n consignmentDataAfterReplanning: {},\n replanningConsignmentSuccess: false,\n rejectionReasonList: [],\n productsAfterUpdateLineItem: [],\n bundleProductAfterUpdateLineItem: [],\n revisedAmountAfterCalculation: \"\",\n consignmentDataAfterAddressUpdate: {},\n isAddressUpdated: false,\n orderCommentsAfterSubmit: {},\n areOrderCommentsAdded: false,\n bundleProductList: [],\n productList: [],\n crateInfo: [],\n};\nconst ADDRESS_STATUS_TEMP = [{code: \"PENDING\", value: \"PENDING\"}, {\n code: \"UNVERIFIED\",\n value: \"UNVERIFIED\"\n}, {code: \"VERIFIED\", value: \"VERIFIED\"}]\nconst expressSlice = createSlice({\n name: \"Express\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchOrdersFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = false;\n state.isAddressUpdated = false;\n state.ordersFilterChipsDisplayCount = payload && payload.results;\n })\n .addCase(fetchOrdersFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchPlanningOrderListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchPlanningOrderListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: {filters}\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = false;\n state.isAddressUpdated = false;\n state.ordersData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.results.elements]\n : [...state.ordersData.elements, ...payload.results.elements],\n pageNumber: payload.results.pageNumber,\n totalElements: payload.results.totalElements,\n totalPages: payload.results.totalPages\n };\n if (payload && payload.results && payload.results.filters) {\n state.ordersFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.results.filters.hubCodes || []),\n hubNameList: transformSelectValues(payload.results.filters.hubNames || []),\n deliverySlotList: transformSelectValues(payload.results.filters.deliverySlots || []),\n deliveryZonesList: transformSelectValues(payload.results.filters.deliveryZones || []),\n statusList: transformSelectValues(payload.results.filters.statuses || []),\n orderStatusList: transformSelectValues(payload.results.filters.orderStatuses || []),\n driverList: transformSelectValues(payload.results.filters.drivers || []),\n vehicleList: transformSelectValues(payload.results.filters.vehicles || []),\n paymentTypeList: transformSelectValues(payload.results.filters.paymentTypes || []),\n deliveryArea: transformSelectValues(payload.results.filters.areas || []),\n addressStatusList: transformSelectValues(ADDRESS_STATUS_TEMP),\n activityList: transformSelectValues(payload.results.filters.activities || []),\n executionStatusList: transformSelectValues(payload.results.filters.deliveryExecutionStatus || [])\n };\n }\n })\n .addCase(fetchPlanningOrderListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchConsignmentHistory.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchConsignmentHistory.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.consignmentStatuses = payload.results.statuses || [];\n state.orderLogs = [];\n })\n .addCase(fetchConsignmentHistory.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchStatusOnClick.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchStatusOnClick.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isPolled = payload.polled;\n })\n .addCase(fetchStatusOnClick.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrderLogs.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchOrderLogs.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderLogs = payload.results.logs || [];\n })\n .addCase(fetchOrderLogs.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchBundleProducts.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchBundleProducts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.productList = payload?.results?.products\n state.bundleProductList = payload?.results?.bundleProducts?.length ? transformBundleData(payload?.results?.bundleProducts) : [];\n state.crateInfo = getCrateDetails(payload?.results)\n\n })\n .addCase(fetchBundleProducts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n const filename = `Express_Orders_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload?.errorCode : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload?.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(downloadOrderLogs.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(downloadOrderLogs.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n const filename = `Order_Logs_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(downloadOrderLogs.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportInvoicePdf.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(exportInvoicePdf.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n const data = payload.results.Invoices && payload.results.Invoices.length ? payload.results.Invoices[0] : [];\n state.invoiceConsignment = payload.results.Invoices && payload.results.Invoices.length ? payload.results.Invoices[0].ConsignmentNo : \"\";\n state.displayInvoice = payload.results.Invoices && payload.results.Invoices.length;\n if (data?.FileUrl) {\n state.invoiceUrl = data?.FileUrl\n } else if (data?.FileDataBytes) {\n const pdfData = `data:application/pdf;base64,${data.FileDataBytes}`;\n state.invoiceData = pdfData;\n }\n state.invoiceMessage = payload.results.Message;\n })\n .addCase(exportInvoicePdf.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDriversList.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDriversList.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversList = payload.results || [];\n state.driverAssigned = false;\n })\n .addCase(fetchDriversList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(assignDriverManually.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(assignDriverManually.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driverAssigned = payload && payload.status === \"SUCCESS\";\n })\n .addCase(assignDriverManually.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.error.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchExpressOrderDeliveryStatuses.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchExpressOrderDeliveryStatuses.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderDeliveryStatuses = transformSelectValues(payload.results && payload.results.length ? payload.results : []);\n })\n .addCase(fetchExpressOrderDeliveryStatuses.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDeliveryReasons.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDeliveryReasons.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n let deliveryReasonsList: any = [];\n let rejectionReasonsList: any = [];\n let orderCommentsList: any = [];\n if (payload.results && payload.results.type === AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.LINE_ITEM_REJECTION) {\n if (payload.results && payload.results.reasons) {\n rejectionReasonsList = payload.results.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.rejectionReasonList = transformSelectValues(rejectionReasonsList);\n state.rejectionReasons = payload.results.reasons;\n } else {\n if (payload.results && payload.results.reasons) {\n deliveryReasonsList = payload.results.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.reasonsDropdownList = transformSelectValues(deliveryReasonsList);\n state.deliveryReasons = payload.results.reasons;\n }\n if (payload.results && payload.results.type === AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.ORDER_COMMENTS) {\n if (payload.results && payload.results.reasons) {\n orderCommentsList = payload.results.reasons.map((reason: any) => {\n return {\n code: reason.reasonCode,\n value: reason.reasonDescription\n };\n });\n }\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderCommentsList = transformSelectValues(orderCommentsList);\n state.orderCommentsReasons = payload.results.reasons;\n }\n })\n .addCase(fetchDeliveryReasons.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(expressOrderReplanning.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(expressOrderReplanning.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.replanningConsignmentSuccess = true;\n state.consignmentDataAfterReplanning = payload && payload.results;\n })\n .addCase(expressOrderReplanning.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.error.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.replanningConsignmentSuccess = false;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.consignmentDataAfterReplanning = {};\n state.productsAfterUpdateLineItem = [];\n state.bundleProductAfterUpdateLineItem = [];\n state.consignmentDataAfterAddressUpdate = {};\n state.isPolled = false;\n state.orderCommentsAfterSubmit = {};\n state.areOrderCommentsAdded = false;\n })\n .addCase(resetBundleList.fulfilled, (state, action) => {\n state.bundleProductList = []\n state.crateInfo = []\n state.productList = []\n })\n .addCase(resetStatusRefreshButton.fulfilled, (state, action) => {\n state.isPolled = false\n })\n .addCase(replanDuringPartialRejection.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(replanDuringPartialRejection.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.revisedAmountAfterCalculation = payload && payload.results.metadata && payload.results.metadata.collectedAmount ? payload.results.metadata.collectedAmount : \"\";\n state.productsAfterUpdateLineItem = payload && payload.results.products;\n state.bundleProductAfterUpdateLineItem = payload?.results?.bundleProducts?.length && transformBundleData(payload?.results?.bundleProducts)\n state.consignmentDataAfterReplanning = payload.results;\n state.replanningConsignmentSuccess = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(replanDuringPartialRejection.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.error.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n state.replanningConsignmentSuccess = false;\n })\n .addCase(getAddressStatus.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getAddressStatus.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.consignmentDataAfterAddressUpdate = payload && payload.results;\n state.isAddressUpdated = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(getAddressStatus.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(submitOrderComments.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(submitOrderComments.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.orderCommentsAfterSubmit = payload?.results;\n state.areOrderCommentsAdded = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(submitOrderComments.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n },\n});\n\nexport default expressSlice.reducer;","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 44\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: 0,\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"16px 16px 16px 0px\",\n '& .chipsContainer': {\n display: \"flex\",\n justifyContent: \"space-between\",\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"16%\",\n borderRadius: \"30px\",\n boxShadow: \"0px 4px 48px rgb(0 0 0 / 8%)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n boxShadow: `0px 0px 10px 4px ${COLORS.BOX_SHADOW_PRIMARY}`,\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: COLORS.PRIMARY_MAIN,\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .actionsLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14\n }\n }\n }\n },\n infoSection: {\n display: \"flex\",\n alignItems: \"center\"\n },\n infoIconStyle: {\n height: \"12px\",\n width: \"12px\",\n marginLeft: \"6px\"\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n },\n '& .orderTag': {\n background: \"#FFFFFF\",\n border: \"1px solid #319E60\",\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n fontWeight: 600,\n fontSize: 12,\n color: \"#319E60\",\n lineHeight: \"14px\",\n height: \"24px\",\n textTransform: \"uppercase\",\n '&.GOLDEN_BELL': {\n color: COLORS.GOLDEN_BELL,\n borderColor: COLORS.GOLDEN_BELL\n },\n '&.MINSK': {\n color: COLORS.SCAMPI,\n borderColor: COLORS.SCAMPI\n },\n '&.READY_BLUE': {\n color: COLORS.READY_BLUE,\n borderColor: COLORS.READY_BLUE\n },\n '&.SCAMPI': {\n color: COLORS.SCAMPI,\n borderColor: COLORS.SCAMPI\n },\n '&.INFO_BLUE': {\n color: COLORS.INFO_BLUE,\n borderColor: COLORS.INFO_BLUE\n },\n '&.MINSK_DARK': {\n color: COLORS.MINSK_DARK,\n borderColor: COLORS.MINSK_DARK\n },\n '&.DRIFT_WOOD': {\n color: COLORS.DRIFT_WOOD,\n borderColor: COLORS.DRIFT_WOOD\n },\n '&.TAG_YEllOW': {\n color: COLORS.TAG_YEllOW,\n borderColor: COLORS.TAG_YEllOW\n },\n '&.PERSIAN_GREEN_DARK': {\n color: COLORS.PERSIAN_GREEN_DARK,\n borderColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n color: COLORS.PARTIAL_SUCCESS_GREEN,\n borderColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.SILVER_CHALICE2': {\n color: COLORS.SILVER_CHALICE2,\n borderColor: COLORS.SILVER_CHALICE2\n },\n '&.PALE_RED': {\n color: COLORS.PALE_RED,\n borderColor: COLORS.PALE_RED\n },\n '&.GREEN_BLUE': {\n color: COLORS.GREEN_BLUE,\n borderColor: COLORS.GREEN_BLUE\n },\n '&.MAROON': {\n color: COLORS.MAROON,\n borderColor: COLORS.MAROON\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n colSettings: {\n float: \"right\",\n marginTop: -3\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2)\n }\n },\n }),\n);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.4276 20V11.6H21.2436C22.1556 11.6 22.9596 11.776 23.6556 12.128C24.3516 12.472 24.8956 12.956 25.2876 13.58C25.6796 14.204 25.8756 14.944 25.8756 15.8C25.8756 16.648 25.6796 17.388 25.2876 18.02C24.8956 18.644 24.3516 19.132 23.6556 19.484C22.9596 19.828 22.1556 20 21.2436 20H17.4276ZM19.3716 18.404H21.1476C21.7076 18.404 22.1916 18.3 22.5996 18.092C23.0156 17.876 23.3356 17.572 23.5596 17.18C23.7916 16.788 23.9076 16.328 23.9076 15.8C23.9076 15.264 23.7916 14.804 23.5596 14.42C23.3356 14.028 23.0156 13.728 22.5996 13.52C22.1916 13.304 21.7076 13.196 21.1476 13.196H19.3716V18.404ZM30.2817 20.096C29.5937 20.096 28.9817 19.952 28.4457 19.664C27.9177 19.376 27.4977 18.984 27.1857 18.488C26.8817 17.984 26.7297 17.412 26.7297 16.772C26.7297 16.124 26.8817 15.552 27.1857 15.056C27.4977 14.552 27.9177 14.16 28.4457 13.88C28.9817 13.592 29.5937 13.448 30.2817 13.448C30.9617 13.448 31.5697 13.592 32.1057 13.88C32.6417 14.16 33.0617 14.548 33.3657 15.044C33.6697 15.54 33.8217 16.116 33.8217 16.772C33.8217 17.412 33.6697 17.984 33.3657 18.488C33.0617 18.984 32.6417 19.376 32.1057 19.664C31.5697 19.952 30.9617 20.096 30.2817 20.096ZM30.2817 18.56C30.5937 18.56 30.8737 18.488 31.1217 18.344C31.3697 18.2 31.5657 17.996 31.7097 17.732C31.8537 17.46 31.9257 17.14 31.9257 16.772C31.9257 16.396 31.8537 16.076 31.7097 15.812C31.5657 15.548 31.3697 15.344 31.1217 15.2C30.8737 15.056 30.5937 14.984 30.2817 14.984C29.9697 14.984 29.6897 15.056 29.4417 15.2C29.1937 15.344 28.9937 15.548 28.8417 15.812C28.6977 16.076 28.6257 16.396 28.6257 16.772C28.6257 17.14 28.6977 17.46 28.8417 17.732C28.9937 17.996 29.1937 18.2 29.4417 18.344C29.6897 18.488 29.9697 18.56 30.2817 18.56ZM36.3732 20L34.0452 13.544H35.8092L37.7412 19.1H36.9012L38.9172 13.544H40.5012L42.4572 19.1H41.6172L43.6092 13.544H45.2652L42.9252 20H41.1132L39.3972 15.236H39.9492L38.1732 20H36.3732ZM50.0595 13.448C50.5715 13.448 51.0275 13.552 51.4275 13.76C51.8355 13.96 52.1555 14.272 52.3875 14.696C52.6195 15.112 52.7355 15.648 52.7355 16.304V20H50.8635V16.592C50.8635 16.072 50.7475 15.688 50.5155 15.44C50.2915 15.192 49.9715 15.068 49.5555 15.068C49.2595 15.068 48.9915 15.132 48.7515 15.26C48.5195 15.38 48.3355 15.568 48.1995 15.824C48.0715 16.08 48.0075 16.408 48.0075 16.808V20H46.1355V13.544H47.9235V15.332L47.5875 14.792C47.8195 14.36 48.1515 14.028 48.5835 13.796C49.0155 13.564 49.5075 13.448 50.0595 13.448ZM54.4324 20V11.096H56.3044V20H54.4324ZM61.1137 20.096C60.4257 20.096 59.8137 19.952 59.2777 19.664C58.7497 19.376 58.3297 18.984 58.0177 18.488C57.7137 17.984 57.5617 17.412 57.5617 16.772C57.5617 16.124 57.7137 15.552 58.0177 15.056C58.3297 14.552 58.7497 14.16 59.2777 13.88C59.8137 13.592 60.4257 13.448 61.1137 13.448C61.7937 13.448 62.4017 13.592 62.9377 13.88C63.4737 14.16 63.8937 14.548 64.1977 15.044C64.5017 15.54 64.6537 16.116 64.6537 16.772C64.6537 17.412 64.5017 17.984 64.1977 18.488C63.8937 18.984 63.4737 19.376 62.9377 19.664C62.4017 19.952 61.7937 20.096 61.1137 20.096ZM61.1137 18.56C61.4257 18.56 61.7057 18.488 61.9537 18.344C62.2017 18.2 62.3977 17.996 62.5417 17.732C62.6857 17.46 62.7577 17.14 62.7577 16.772C62.7577 16.396 62.6857 16.076 62.5417 15.812C62.3977 15.548 62.2017 15.344 61.9537 15.2C61.7057 15.056 61.4257 14.984 61.1137 14.984C60.8017 14.984 60.5217 15.056 60.2737 15.2C60.0257 15.344 59.8257 15.548 59.6737 15.812C59.5297 16.076 59.4577 16.396 59.4577 16.772C59.4577 17.14 59.5297 17.46 59.6737 17.732C59.8257 17.996 60.0257 18.2 60.2737 18.344C60.5217 18.488 60.8017 18.56 61.1137 18.56ZM69.7595 20V18.74L69.6395 18.464V16.208C69.6395 15.808 69.5155 15.496 69.2675 15.272C69.0275 15.048 68.6555 14.936 68.1515 14.936C67.8075 14.936 67.4675 14.992 67.1315 15.104C66.8035 15.208 66.5235 15.352 66.2915 15.536L65.6195 14.228C65.9715 13.98 66.3955 13.788 66.8915 13.652C67.3875 13.516 67.8915 13.448 68.4035 13.448C69.3875 13.448 70.1515 13.68 70.6955 14.144C71.2395 14.608 71.5115 15.332 71.5115 16.316V20H69.7595ZM67.7915 20.096C67.2875 20.096 66.8555 20.012 66.4955 19.844C66.1355 19.668 65.8595 19.432 65.6675 19.136C65.4755 18.84 65.3795 18.508 65.3795 18.14C65.3795 17.756 65.4715 17.42 65.6555 17.132C65.8475 16.844 66.1475 16.62 66.5555 16.46C66.9635 16.292 67.4955 16.208 68.1515 16.208H69.8675V17.3H68.3555C67.9155 17.3 67.6115 17.372 67.4435 17.516C67.2835 17.66 67.2035 17.84 67.2035 18.056C67.2035 18.296 67.2955 18.488 67.4795 18.632C67.6715 18.768 67.9315 18.836 68.2595 18.836C68.5715 18.836 68.8515 18.764 69.0995 18.62C69.3475 18.468 69.5275 18.248 69.6395 17.96L69.9275 18.824C69.7915 19.24 69.5435 19.556 69.1835 19.772C68.8235 19.988 68.3595 20.096 67.7915 20.096ZM76.0247 20.096C75.4167 20.096 74.8687 19.96 74.3807 19.688C73.8927 19.408 73.5047 19.02 73.2167 18.524C72.9367 18.028 72.7967 17.444 72.7967 16.772C72.7967 16.092 72.9367 15.504 73.2167 15.008C73.5047 14.512 73.8927 14.128 74.3807 13.856C74.8687 13.584 75.4167 13.448 76.0247 13.448C76.5687 13.448 77.0447 13.568 77.4527 13.808C77.8607 14.048 78.1767 14.412 78.4007 14.9C78.6247 15.388 78.7367 16.012 78.7367 16.772C78.7367 17.524 78.6287 18.148 78.4127 18.644C78.1967 19.132 77.8847 19.496 77.4767 19.736C77.0767 19.976 76.5927 20.096 76.0247 20.096ZM76.3487 18.56C76.6527 18.56 76.9287 18.488 77.1767 18.344C77.4247 18.2 77.6207 17.996 77.7647 17.732C77.9167 17.46 77.9927 17.14 77.9927 16.772C77.9927 16.396 77.9167 16.076 77.7647 15.812C77.6207 15.548 77.4247 15.344 77.1767 15.2C76.9287 15.056 76.6527 14.984 76.3487 14.984C76.0367 14.984 75.7567 15.056 75.5087 15.2C75.2607 15.344 75.0607 15.548 74.9087 15.812C74.7647 16.076 74.6927 16.396 74.6927 16.772C74.6927 17.14 74.7647 17.46 74.9087 17.732C75.0607 17.996 75.2607 18.2 75.5087 18.344C75.7567 18.488 76.0367 18.56 76.3487 18.56ZM78.0407 20V18.68L78.0767 16.76L77.9567 14.852V11.096H79.8287V20H78.0407ZM85.0917 20V11.6H87.0357V18.416H91.2477V20H85.0917ZM95.2387 20.096C94.5507 20.096 93.9387 19.952 93.4027 19.664C92.8747 19.376 92.4547 18.984 92.1427 18.488C91.8387 17.984 91.6867 17.412 91.6867 16.772C91.6867 16.124 91.8387 15.552 92.1427 15.056C92.4547 14.552 92.8747 14.16 93.4027 13.88C93.9387 13.592 94.5507 13.448 95.2387 13.448C95.9187 13.448 96.5267 13.592 97.0627 13.88C97.5987 14.16 98.0187 14.548 98.3227 15.044C98.6267 15.54 98.7787 16.116 98.7787 16.772C98.7787 17.412 98.6267 17.984 98.3227 18.488C98.0187 18.984 97.5987 19.376 97.0627 19.664C96.5267 19.952 95.9187 20.096 95.2387 20.096ZM95.2387 18.56C95.5507 18.56 95.8307 18.488 96.0787 18.344C96.3267 18.2 96.5227 17.996 96.6667 17.732C96.8107 17.46 96.8827 17.14 96.8827 16.772C96.8827 16.396 96.8107 16.076 96.6667 15.812C96.5227 15.548 96.3267 15.344 96.0787 15.2C95.8307 15.056 95.5507 14.984 95.2387 14.984C94.9267 14.984 94.6467 15.056 94.3987 15.2C94.1507 15.344 93.9507 15.548 93.7987 15.812C93.6547 16.076 93.5827 16.396 93.5827 16.772C93.5827 17.14 93.6547 17.46 93.7987 17.732C93.9507 17.996 94.1507 18.2 94.3987 18.344C94.6467 18.488 94.9267 18.56 95.2387 18.56ZM103.066 22.424C102.458 22.424 101.87 22.348 101.302 22.196C100.742 22.052 100.274 21.832 99.898 21.536L100.642 20.192C100.914 20.416 101.258 20.592 101.674 20.72C102.098 20.856 102.514 20.924 102.922 20.924C103.586 20.924 104.066 20.776 104.362 20.48C104.666 20.184 104.818 19.744 104.818 19.16V18.188L104.938 16.568L104.914 14.936V13.544H106.69V18.92C106.69 20.12 106.378 21.004 105.754 21.572C105.13 22.14 104.234 22.424 103.066 22.424ZM102.778 19.688C102.178 19.688 101.634 19.56 101.146 19.304C100.666 19.04 100.278 18.676 99.982 18.212C99.694 17.74 99.55 17.192 99.55 16.568C99.55 15.936 99.694 15.388 99.982 14.924C100.278 14.452 100.666 14.088 101.146 13.832C101.634 13.576 102.178 13.448 102.778 13.448C103.322 13.448 103.802 13.56 104.218 13.784C104.634 14 104.958 14.34 105.19 14.804C105.422 15.26 105.538 15.848 105.538 16.568C105.538 17.28 105.422 17.868 105.19 18.332C104.958 18.788 104.634 19.128 104.218 19.352C103.802 19.576 103.322 19.688 102.778 19.688ZM103.15 18.152C103.478 18.152 103.77 18.088 104.026 17.96C104.282 17.824 104.482 17.636 104.626 17.396C104.77 17.156 104.842 16.88 104.842 16.568C104.842 16.248 104.77 15.972 104.626 15.74C104.482 15.5 104.282 15.316 104.026 15.188C103.77 15.052 103.478 14.984 103.15 14.984C102.822 14.984 102.53 15.052 102.274 15.188C102.018 15.316 101.814 15.5 101.662 15.74C101.518 15.972 101.446 16.248 101.446 16.568C101.446 16.88 101.518 17.156 101.662 17.396C101.814 17.636 102.018 17.824 102.274 17.96C102.53 18.088 102.822 18.152 103.15 18.152Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M124 9.99976V19.4998\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.5 14.9998L124 19.4998L128.5 14.9998\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M118.5 21.4998H129.5\",\n stroke: \"#0E5AA7\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.75,\n y: 0.75,\n width: 138.5,\n height: 30.5,\n rx: 11.25,\n stroke: \"#0E5AA7\",\n strokeWidth: 1.5\n});\n\nvar SvgDownloadLogsButton = function SvgDownloadLogsButton(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 140,\n height: 32,\n viewBox: \"0 0 140 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownloadLogsButton, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/download-logs-button.1bd37aea.svg\";\nexport { ForwardRef as ReactComponent };","export enum TextConstants {\n EDIT_CONSIGNMENT_TITLE = \"EDIT CONSIGNMENT : \",\n UPDATE_CONSIGNMENT_STATUS = \"Update Status\",\n REASON = \"Reason\",\n COMMENTS = \"Comments\",\n CONSIGNMENT_WARNING = \"This consignment will no longer be delivered\",\n REJECT_ITEMS_TITLE = \"Edit Rejected Items\",\n REJECT_ITEMS_CONTENT = \"You will not be able to edit the order details after this status change.\",\n REJECT_ITEMS_CONTENT_DESC = \"Please go ahead and make changes to the item summary if you have any\",\n STORES_LABEL = \"Stores\",\n DATE_LABEL = \"Date\",\n VALID_END_TIME = \"Please enter valid end time\",\n ADD_COMMENT = \"Add a new comment\",\n ADDITIONAL_INFO = \"Additional information\",\n ORDERS_VERIFIED = \"Orders Verified (% of Total)\",\n ORDERS_WITH_ISSUES = \"Orders with Issues (% of Verified)\",\n COLLECTED = \"Collected\",\n COLLECT = \"Collect\",\n TOTAL_COD_ORDERS = \"Total COD orders\",\n TOTAL_ORDERS_AMOUNT = \"Total Orders amount\",\n TOTAL_COD_COLLECTED = \"Total COD collected\",\n COD_AMOUNT_RECEIVED = \"COD amount received\",\n TOTAL_COD_AMOUNT = \"Total COD amount\",\n REASON_ATTEMPTED_DELIVERY = \"Reason for Attempted delivery\",\n CONSIGNMENT_VERIFIED = \"Consignment Verified (% of Total)\",\n CONSIGNMENT_WITH_ISSUES = \"Consignment with Issues (% of Verified)\",\n}\n","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n lineHeight: \"15px\",\n '&.link': {\n cursor: \"pointer\"\n }\n },\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\",\n fill: \"none\",\n },\n \"& .refreshText\": {\n color: COLORS.MYSTIC_GREY,\n fontSize: 12\n },\n \"& .refresh-block\": {\n cursor: \"default !important\",\n },\n }\n },\n iconDownlod: {\n display: 'flex',\n justifyContent: 'flex-end',\n marginBottom: 12,\n marginTop: '-24px',\n '& .icon': {\n fill: 'none',\n width: 'auto',\n height: 'auto'\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .tabValues': {\n padding: \"8px 0px 0px 0px\",\n },\n '& .geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .detailsHeader': {\n padding: \"12px 20px\",\n marginTop: \"18px\",\n borderRadius: \"4px\",\n background: \"#FFFFFF\",\n boxShadow: \"0px 4px 48px rgba(0, 0, 0, 0.08)\",\n backdropFilter: \"blur(24px)\",\n '& .vehicleType': {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"10px\",\n fontWeight: 700,\n marginRight: \"4px\",\n textTransform: \"capitalize\"\n }\n },\n '& .deliveryDetails': {\n marginTop: \"12px\",\n '& .delivery': {\n fontSize: \"14px\",\n fontWeight: 400\n },\n '& .deliveryTimeDetails': {\n fontSize: \"14px\",\n fontWeight: 700,\n lineHeight: \"16px\"\n },\n '& .location': {\n width: \"16px\",\n height: \"16px\",\n marginRight: \"8px\"\n }\n },\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(1),\n paddingTop: \"16px\",\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n paddingTop: theme.spacing(3),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '&.hubDetails': {\n paddingBottom: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n }\n }\n },\n '& .sellerDetails': {\n paddingTop: theme.spacing(1.75),\n '& .detailsHeader': {\n backgroundColor: theme.palette.secondary.main\n }\n },\n '& .driverDetails': {\n paddingBottom: theme.spacing(1)\n },\n '& .deliveryProofSection': {\n paddingBottom: theme.spacing(1),\n '& .content': {\n width: \"100%\",\n '& .deliveryProofContainer': {\n flexDirection: \"column\",\n '& .deliveryProofItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .imagesContainer': {\n flexWrap: \"nowrap\",\n '& .imagesItem': {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n '&:last-child': {\n marginRight: 0\n },\n '& .imageItemContainer': {\n flexDirection: \"column\",\n '& .imageItem': {\n paddingBottom: theme.spacing(2),\n '& .heading': {\n fontSize: 14,\n fontWeight: 500\n },\n '& .allImagesContainer': {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n '& .viewerContainer': {\n display: \"flex\"\n },\n '&.sign': {\n justifyContent: \"space-around\",\n },\n '& img': {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0\n }\n }\n }\n }\n }\n }\n },\n '& .commentsContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n '& .commentsItem': {\n paddingBottom: theme.spacing(0.75),\n '& p': {\n fontWeight: 500,\n fontSize: 12\n },\n '& .heading': {\n fontSize: 14\n }\n }\n }\n }\n }\n }\n },\n '& .consignmentHistory': {\n paddingBottom: theme.spacing(1)\n },\n '& .tabularSection': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.crates': {\n '& .itemsContainer .item .itemContainer .itemColumn.item1 p': {\n fontWeight: 600,\n },\n '& .itemsContainer .item .itemContainer .itemColumn.item1 .header p': {\n fontWeight: 500,\n },\n '& .crateBarcode': {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3)\n },\n '& .crateStageLocationIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n '& .itemDiv': {\n padding: theme.spacing(0),\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }, '& .itemRow': {\n padding: theme.spacing(1),\n '&.item1': {\n \"& p\": {\n fontWeight: 500\n },\n },\n '&.item2': {\n '& p': {\n fontWeight: 400\n }\n }\n }\n }\n }\n },\n '& .paymentContainer': {\n padding: 16,\n paddingTop: 13,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontWeight: 600\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .vat': {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25)\n },\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n }\n }\n }\n },\n accordionSummary: {\n minHeight: \"54px\",\n marginTop: \"8px\",\n '& .header': {\n fontSize: 14,\n fontWeight: 600,\n paddingBottom: theme.spacing(0.5),\n margin: 'auto 0px',\n '&:last-child': {\n paddingBottom: 0\n },\n '& .smallHeading': {\n fontSize: 12\n }\n },\n '& .content': {\n flexGrow: 1\n }\n },\n checkbox: {\n marginLeft: \"0px\"\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '&.error': {\n color: COLORS.DARK_RED\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY_DARK,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n },\n },\n '& .lastModifiedContent': {\n fontSize: \"12px\",\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_DARK,\n paddingTop: \"6px\",\n '& .name': {\n marginLeft: \"4px\",\n }\n },\n '& .timelineContentItem': {\n padding: \"8px 0px\"\n },\n }\n },\n tabs: {\n paddingTop: \"0px\",\n paddingLeft: \"0px\",\n minHeight: \"38px\",\n '& .tabLabel': {\n fontSize: \"14px\",\n fontWeight: 700\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n lineHeight: 1.2,\n },\n '&.heading': {\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n '& .dialogBtn': {\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\"\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\"\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\"\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\"\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\"\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\"\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n '& .react-pdf__Page': {\n marginTop: \"56px\",\n '& .react-pdf__Page__canvas': {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\"\n },\n },\n '& .react-pdf__Page__annotations.annotationLayer': {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\"\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeButton: {\n position: 'absolute',\n right: \"12px\",\n top: \"12px\",\n color: theme.palette.primary.main\n },\n closeNoPdfModalIcon: {\n position: 'absolute',\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500,\n marginTop: \"24px\"\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n executionStatus: {\n display: \"flex\",\n \"& .tag\": {\n fontSize: \"10px\",\n fontWeight: 600,\n borderRadius: \"8px\",\n background: \"#FAFAFB\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"4px\",\n '&.ORANGE': {\n color: COLORS.GOLDEN_BELL\n },\n '&.SUCCESS_GREEN': {\n color: COLORS.PERSIAN_GREEN_DARK\n },\n },\n },\n orderCommentsContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .comments': {\n padding: \"20px\",\n borderRadius: \"4px\",\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 48px rgba(0, 0, 0, 0.08)\",\n backdropFilter: \"blur(24px)\",\n marginBottom: theme.spacing(2),\n display: \"flex\",\n flexDirection: \"column\",\n '& .item': {\n display: \"flex\",\n '&.second': {\n marginTop: theme.spacing(1)\n }\n },\n '& .title': {\n fontSize: \"12px\",\n fontWeight: 600,\n color: COLORS.MINE_SHAFT,\n '&.second': {\n whiteSpace: \"nowrap\"\n }\n },\n '& .content': {\n fontSize: \"12px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n '&.second': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n }\n },\n buttons: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n accordianVerticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"auto 8px auto 8px\",\n },\n titleContent: {\n fontSize: 12,\n fontWeight: 600,\n margin: 'auto 0px',\n color: COLORS.PERSIAN_GREEN_DARK \n },\n topLevelShieldCheckStyle: {\n margin: 'auto 0px auto 8px',\n fill: COLORS.WHITE\n },\n shieldCheckStyle: {\n margin: 'auto 4px auto 0px',\n fill: COLORS.WHITE\n }\n }),\n);","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\nimport { EXPRESS_DELIVERY_TYPE } from '../../constants/ExpressConstants';\nimport { getUniqueValues, fixDecimals, transformIntoObj, transformIntoObjArrays, calculateTimeBetweenSlots, isUndefined, transformForScalable, displayUnitGrams, getValueFromArray } from \"../../utils/helpers.utils\";\n\nexport interface MetaData {\n paymentType: string;\n totalAmount: string;\n transactionDate: Date;\n amountToCollect: string;\n collectedAmount: string;\n currency: string;\n category: string;\n deliveryType: string;\n modeOfCollection: string;\n invoiceNumber: string;\n internalExternal: string;\n origin: string;\n status: string;\n deliveryStatus: string;\n routeId: string;\n routeName: string;\n routeStatus: string;\n numberOfItems: number;\n lastStatusUpdatedTime: string;\n deliveryZone: string;\n activity: string;\n}\nexport interface Name {\n ar: string;\n en: string;\n}\nexport interface Product {\n sku: string;\n entryNumber: string;\n hasRejectedProducts: boolean;\n name: Name;\n quantity: string;\n acceptedQty: string\n unitPrice: string;\n imgUrl: string;\n vatPercentage: string;\n uom: string;\n orderedBarcode: string;\n associatedBarcodes: string[];\n substitution: boolean;\n}\nexport interface Address {\n area: string;\n landmark: string;\n building: string;\n apartment: string;\n zoneNumber: string;\n makani: string;\n streetNumber: string;\n streetName: string;\n city: string;\n postalCode: string;\n countryName: string;\n countryIsoCode: string;\n longitude: string;\n latitude: string;\n status: string;\n}\nexport interface ContactInfo {\n name: string;\n phone: string;\n altphone: string;\n email: string;\n address: Address;\n}\n\nexport interface PosInformation {\n store: string;\n storeName: string;\n contactInfo: ContactInfo;\n}\n\nexport interface DeliverySlot {\n startTime: Date;\n endTime: Date;\n promiseDeliveryTime: any;\n deliverySlotTime: string;\n}\n\nexport interface CustomerContactInfo {\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface DeliveryInformation {\n deliveryInstructions: string;\n deliveryCost: string;\n carrier: string;\n carrierTrackingId: string;\n shipmentSize: string;\n totalCratesCount: number;\n deliverySlot: DeliverySlot;\n customerContactInfo: CustomerContactInfo;\n driver: Driver;\n helper: Driver;\n preferredVehicle: string;\n transitTime: string;\n actualTransitTimeInMin: string;\n dynamicTransitTime: string;\n estimatedTransitTime: string;\n deliveryExecutionStatus: string;\n}\n\nexport interface PickUpContactInfo {\n companyName: string;\n name: string;\n phone: string;\n email: string;\n address: Address;\n}\n\nexport interface PickupSlot {\n startTime: Date;\n endTime: Date;\n}\n\nexport interface PickUpInformation {\n pickUpContactInfo: PickUpContactInfo;\n pickupSlot: PickupSlot;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\n\nexport interface Reason {\n deliveryStatus: string;\n reasonCode: string;\n reasonDescription: string;\n}\nexport interface Order {\n id: string;\n orderCode: string,\n consignmentCode: string,\n metadata: MetaData;\n posInformation: PosInformation;\n deliveryInformation: DeliveryInformation;\n reason: Reason;\n products: Product[];\n createdAt: string;\n}\n\nexport interface CountryDetails {\n countryCode: string;\n countryName: string;\n}\n\nexport interface AssignedStatus {\n vehicleAssigned: boolean;\n helperAssigned: boolean;\n driverAssigned: boolean;\n consignmentsAvailable: boolean;\n}\n\nexport interface Vehicle {\n brand: string;\n country: string;\n crateCapacity: number;\n fleetId: string;\n id: string;\n orderCapacity: number;\n type: string;\n name: string;\n}\n\nexport interface Driver {\n countryIsoCode: string;\n countryName: string;\n licenseNumber: number;\n driverId: string;\n driverName: string;\n type: string;\n}\n\nexport interface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface Pageable {\n sort: Sort;\n offset: number;\n requestContinuation: string;\n pageNumber: number;\n pageSize: number;\n paged: boolean;\n unpaged: boolean;\n}\n\nexport interface Sort2 {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\nexport interface ExpressOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Order[];\n}\n\nexport interface Statuses {\n statusCode: string;\n statusName: string;\n statusDate: string;\n reason: Reason;\n}\n\nexport interface SubsProducts {\n sku: string;\n name: Name;\n quantity: string;\n shippedQty: string;\n rejectedQty: string\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n}\nexport interface ProductsDataTransform {\n sku: string;\n name: Name;\n entryNumber: string;\n quantity: string;\n shippedQty: any;\n rejectedQty: string;\n unitPrice: string;\n vatPercentage: string;\n uom: string;\n reason: Reason;\n substitution: boolean;\n substitutedProducts: SubsProducts[];\n}\n\nexport interface StandardProducts {\n products: ProductsDataTransform[]\n}\n\nexport const expressOrdersDataTransform = (response: ExpressOrdersDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((order: Order) => {\n const {\n id,\n metadata,\n posInformation,\n deliveryInformation,\n orderCode,\n createdAt,\n products,\n reason,\n consignmentCode,\n } = order;\n const deliveryDate = moment(deliveryInformation && deliveryInformation.deliverySlot && deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND);\n const customerContactInfo = (deliveryInformation && deliveryInformation.customerContactInfo) || {\n address: {}\n };\n const transactionDate = moment(createdAt, AppConstants.DATE_FORMAT_BACKEND);\n //const timeBetweenSlots = calculateTimeBetweenSlots(startTime, endTime);\n transformedArray.push({\n id: id,\n hubCode: posInformation && posInformation.store,\n hubNames: posInformation && posInformation.storeName,\n consignmentId: consignmentCode,\n status: metadata && metadata.status,\n deliveryStatus: metadata && metadata.deliveryStatus,\n deliveryArea: customerContactInfo && customerContactInfo.address ? customerContactInfo.address.area : \"\",\n deliveryDate: deliveryDate.format(AppConstants.DATE_FORMAT),\n numberOfItems: products && products.length ? products.length : 0,\n deliverySlotTime: deliveryInformation?.deliverySlot?.deliverySlotTime,\n promiseTime: deliveryInformation && deliveryInformation.deliverySlot && deliveryInformation.deliverySlot.promiseDeliveryTime ? deliveryInformation.deliverySlot.promiseDeliveryTime + \" mins\" : \"-\",\n orderId: orderCode,\n transactionDate: transactionDate.format(AppConstants.DATE_FORMAT),\n customerName: customerContactInfo.name,\n deliveryStreetAddress: getAddressInfo(customerContactInfo.address),\n deliveryZone: metadata && metadata?.deliveryZone ? metadata?.deliveryZone : \"\",\n driverName: deliveryInformation && deliveryInformation.driver ? deliveryInformation.driver.driverName : \"\",\n vehicle: deliveryInformation && deliveryInformation.preferredVehicle ? deliveryInformation.preferredVehicle : \"\",\n paymentType: metadata && metadata.paymentType,\n totalAmount: fixDecimals(2, metadata && metadata.totalAmount ? metadata.totalAmount.toString() : \"\"),\n codAmount: fixDecimals(2, metadata && metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"),\n collectedAmount: metadata && metadata.collectedAmount ? parseFloat(metadata.collectedAmount.toString()).toFixed(2) : \"0.00\",\n deliveryActualTime: deliveryInformation.actualTransitTimeInMin,\n deliveryExecutionStatus: deliveryInformation ? deliveryInformation.deliveryExecutionStatus : \"-\",\n address: customerContactInfo && customerContactInfo.address ? getAddressInfo(customerContactInfo.address) : \"-\",\n actions: getActionItem(deliveryInformation, metadata?.deliveryStatus),\n activity: metadata && metadata?.activity,\n addressStatus: customerContactInfo && customerContactInfo.address ? customerContactInfo.address.status : \"\",\n undeliveredReason: reason ? reason.reasonDescription : \"\",\n customerEmail: customerContactInfo?.email || \"\"\n });\n });\n return [...transformedArray];\n};\n\nexport const getActionItem = (deliveryInformation: any, status: any) => {\n switch (status) {\n case EXPRESS_DELIVERY_TYPE.UNASSIGNED:\n return \"Assign\";\n case EXPRESS_DELIVERY_TYPE.ASSIGNED:\n return \"Reassign\";\n case EXPRESS_DELIVERY_TYPE.DELIVERY_ATTEMPTED:\n return \"Reassign\";\n case EXPRESS_DELIVERY_TYPE.ON_HOLD:\n return deliveryInformation?.driver?.driverId ? \"Reassign\" : \"Assign\";\n default:\n return \"\";\n }\n}\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const driverStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES;\n let newStatus = statusCode.toUpperCase();\n return statusCode && statuses[newStatus] ? statuses[newStatus][fieldName] : \"\";\n}\n\nexport const getOrderStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.ORDER_STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nexport const getDeliveryExecutionStatusField = (fieldName: string, statusCode:string) =>{\n let statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DELIVERY_EXECUTION_STATUS;\n if(statusCode === \"ON-TIME\"){\n statuses[statusCode] = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DELIVERY_EXECUTION_STATUS.ON_TIME;\n }\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n}\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n}\n\nexport const createChipsCountFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, countryCode?: any) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = countryCode\n }\n if (payload.dateRange) {\n if (payload.dateRange && payload.dateRange.value) {\n payload.isDateRange = true;\n payload.dateRange = {\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n };\n }\n }\n if (payload.hub.value.length > 0) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n if (hubValue.length) {\n payload.attributes.push({\n key: payload.hub.key,\n value: getUniqueValues(hubValue)\n })\n }\n delete payload.hub;\n } else {\n delete payload.hub;\n }\n if (payload.hubName.value.length > 0) {\n let attrValue = [];\n if (payload.hubName.value) {\n attrValue = getFilterAttributeValue(payload.hubName.value);\n payload.attributes.push({\n key: \"hubNames\",\n value: attrValue\n })\n }\n } else {\n delete payload.hubName;\n }\n if (payload.deliveryArea.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n payload.attributes.push({\n key: payload.deliveryArea.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryArea;\n }\n if (payload.deliveryStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n payload.attributes.push({\n key: payload.deliveryStatus.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryStatus;\n }\n\n if (payload.activity.value.length > 0) {\n let attrValue = [];\n if (payload.activity.value) {\n attrValue = getFilterAttributeValue(payload.activity.value);\n payload.attributes.push({\n key: payload.activity.key,\n value: attrValue\n })\n }\n } else {\n delete payload.activity;\n }\n if (payload.status.value.length > 0) {\n let attrValue = [];\n if (payload.status.value) {\n attrValue = getFilterAttributeValue(payload.status.value);\n payload.attributes.push({\n key: payload.status.key,\n value: attrValue\n })\n }\n } else {\n delete payload.status;\n }\n if (payload.deliveryExecutionStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryExecutionStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryExecutionStatus.value);\n payload.attributes.push({\n key: payload.deliveryExecutionStatus.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryExecutionStatus;\n }\n if (payload.driverId.value.length > 0) {\n let attrValue = [];\n if (payload.driverId.value) {\n attrValue = getFilterAttributeValue(payload.driverId.value);\n payload.attributes.push({\n key: payload.driverId.key,\n value: attrValue\n })\n }\n } else {\n delete payload.driverId;\n }\n if (payload.deliverySlotTime.value.length > 0) {\n let attrValue = [];\n if (payload.deliverySlotTime.value) {\n attrValue = getFilterAttributeValue(payload.deliverySlotTime.value);\n payload.attributes.push({\n key: payload.deliverySlotTime.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliverySlotTime;\n }\n if (payload.paymentType.value.length > 0) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n payload.attributes.push({\n key: payload.paymentType.key,\n value: attrValue\n })\n }\n } else {\n delete payload.paymentType;\n }\n\n delete payload.deliveryArea;\n delete payload.deliveryStatus;\n delete payload.status;\n delete payload.deliveryExecutionStatus;\n delete payload.deliverySlotTime;\n delete payload.driverId;\n delete payload.hub;\n delete payload.hubName;\n delete payload.paymentType;\n delete payload.vehicle;\n delete payload.reset;\n delete payload.activity;\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n payload.isDateRange = true;\n return payload;\n};\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, countryCode?: any, selectedChip?: any) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = countryCode\n }\n if (payload.dateRange) {\n if (payload.dateRange && payload.dateRange.value) {\n payload.isDateRange = true;\n payload.dateRange = {\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n };\n }\n }\n if (payload.hub.value.length > 0) {\n let hubValue = payload.hub.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n if (hubValue.length) {\n payload.attributes.push({\n key: payload.hub.key,\n value: getUniqueValues(hubValue)\n })\n }\n delete payload.hub;\n } else {\n delete payload.hub;\n }\n if (payload.hubName.value.length > 0) {\n let attrValue = [];\n if (payload.hubName.value) {\n attrValue = getFilterAttributeValue(payload.hubName.value);\n payload.attributes.push({\n key: \"hubNames\",\n value: attrValue\n })\n }\n } else {\n delete payload.hubName;\n }\n if (payload.deliveryArea.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryArea.value) {\n attrValue = getFilterAttributeValue(payload.deliveryArea.value);\n payload.attributes.push({\n key: payload.deliveryArea.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryArea;\n }\n if (payload.addressStatus.value.length > 0) {\n let attrValue = [];\n if (payload.addressStatus.value) {\n attrValue = getFilterAttributeValue(payload.addressStatus.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.addressStatus.key,\n value: attrValue,\n });\n }\n else {\n delete payload.addressStatus;\n }\n if (payload.activity.value.length > 0) {\n let attrValue = [];\n if (payload.activity.value) {\n attrValue = getFilterAttributeValue(payload.activity.value);\n } else {\n attrValue = [];\n }\n payload.attributes.push({\n key: payload.activity.key,\n value: attrValue,\n });\n }\n else {\n delete payload.activity;\n }\n if (payload.deliveryZone.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryZone.value) {\n attrValue = getFilterAttributeValue(payload.deliveryZone.value);\n payload.attributes.push({\n key: payload.deliveryZone.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryZone;\n }\n if (payload.deliveryStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n payload.attributes.push({\n key: payload.deliveryStatus.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryStatus;\n }\n if (payload.deliveryExecutionStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryExecutionStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryExecutionStatus.value);\n payload.attributes.push({\n key: payload.deliveryExecutionStatus.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliveryExecutionStatus;\n }\n if (payload.status.value.length > 0) {\n let attrValue = [];\n if (payload.status.value) {\n attrValue = getFilterAttributeValue(payload.status.value);\n payload.attributes.push({\n key: payload.status.key,\n value: attrValue\n })\n }\n } else {\n delete payload.status;\n }\n if (payload.driverId.value.length > 0) {\n let attrValue = [];\n if (payload.driverId.value) {\n attrValue = getFilterAttributeValue(payload.driverId.value);\n payload.attributes.push({\n key: payload.driverId.key,\n value: attrValue\n })\n }\n } else {\n delete payload.driverId;\n }\n if (payload.deliverySlotTime.value.length > 0) {\n let attrValue = [];\n if (payload.deliverySlotTime.value) {\n attrValue = getFilterAttributeValue(payload.deliverySlotTime.value);\n payload.attributes.push({\n key: payload.deliverySlotTime.key,\n value: attrValue\n })\n }\n } else {\n delete payload.deliverySlotTime;\n }\n if (payload.paymentType.value.length > 0) {\n let attrValue = [];\n if (payload.paymentType.value) {\n attrValue = getFilterAttributeValue(payload.paymentType.value);\n payload.attributes.push({\n key: payload.paymentType.key,\n value: attrValue\n })\n }\n } else {\n delete payload.paymentType;\n }\n if (selectedChip !== \"UNASSIGNED\") {\n if (selectedChip === \"ALL\") {\n let obj = {\n key: \"deliveryGroupStatus\",\n value: []\n }\n payload.attributes.push(obj);\n } else {\n let obj = {\n key: \"deliveryGroupStatus\",\n value: [selectedChip]\n }\n payload.attributes.push(obj);\n }\n } else {\n let obj = {\n key: \"deliveryGroupStatus\",\n value: [\"UNASSIGNED\"]\n }\n payload.attributes.push(obj);\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n payload.isDateRange = true;\n delete payload.hub;\n delete payload.hubName;\n delete payload.paymentType;\n delete payload.vehicle;\n delete payload.addressStatus;\n delete payload.reset;\n delete payload.deliveryArea;\n delete payload.deliveryStatus;\n delete payload.deliveryExecutionStatus;\n delete payload.status;\n delete payload.deliverySlotTime;\n delete payload.driverId;\n delete payload.deliveryZone;\n delete payload.activity;\n return payload;\n}\n\n\n\nexport const createPayloadForExcelExport = (payload: any, data?: any, countryCode?: any) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = countryCode\n }\n if (payload.dateRange) {\n if (payload.dateRange && payload.dateRange.value) {\n payload.isDateRange = true;\n payload.dateRange = {\n startTime: moment(payload.dateRange.value.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_BACKEND),\n endTime: moment(payload.dateRange.value.endDate, AppConstants.DATE_FORMAT).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT_BACKEND)\n };\n }\n }\n payload.isDateRange = true;\n payload.pageNumber = 0;\n delete payload.hub;\n delete payload.hubName;\n delete payload.paymentType;\n delete payload.reset;\n delete payload.deliveryArea;\n delete payload.deliveryStatus;\n delete payload.deliverySlotTime;\n delete payload.driver;\n return payload;\n};\n\nexport const getCratesFromProducts = (items: any) => {\n let crates: any = [];\n items && items.forEach((item: any) => {\n if (item.substitutedProducts && item.substitutedProducts.length) {\n item.substitutedProducts && item.substitutedProducts.filter(({ shippedQty }: any) => { return +shippedQty > 0 }).forEach((element: any) => {\n if (element.associatedCrates) {\n let productCrates = element.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n })\n }\n });\n } else {\n if (item.shippedQty > 0 && item.associatedCrates) {\n let productCrates = item.associatedCrates;\n productCrates.forEach((crate: any) => {\n const crateValue = getValueFromArray(crates, \"crateId\", crate, \"crateId\");\n if (crateValue.length) {\n const crateIndex = crates.findIndex((value: any) => value.crateId === crate.crateId);\n const newCrate = { ...crate, quantity: parseInt(crates[crateIndex].quantity) + 1 };\n crates.splice(crateIndex, 1, newCrate);\n } else {\n const newCrate = { ...crate, quantity: 1 };\n crates.push(newCrate);\n }\n })\n }\n }\n });\n return crates;\n}\n\nexport const createCratesInfoPayload = (payload: any) => {\n if (payload) {\n let consignmentCode;\n let storeCode;\n if (payload.consignmentCode) {\n consignmentCode = payload.consignmentCode;\n }\n if (payload.posInformation) {\n storeCode = payload.posInformation.store\n };\n var consignmentCodePosCodeMap = {\n consignmentCodePosCodeMap: {\n [consignmentCode]: storeCode\n }\n }\n return consignmentCodePosCodeMap;\n }\n}\n\nexport const createPayloadToFetchDriverList = (countryCode: any, pos: any) => {\n const payload = {\n hubCode: pos && pos.store,\n countryCode: countryCode\n }\n return payload;\n}\n\nexport const createPayloadToAssignDriver = (selectedItem: any, consignment: any) => {\n const payload = {\n consignmentCode: consignment.consignmentCode,\n driverId: selectedItem.driverId\n }\n return payload;\n}\n\nexport const rejectionDataTransform = (response: any) => {\n const transformedArray: any[] = [];\n response &&\n response.forEach((product: ProductsDataTransform) => {\n const { sku, entryNumber, rejectedQty, name, unitPrice } = product;\n let showReason = false;\n let qty = product.quantity;\n let isSubstitution =\n product.hasOwnProperty(\"substitutedProducts\") \n\n let isScalable = isSubstitution\n ? product?.substitutedProducts?.length && product.substitutedProducts[0].uom ?\n product.substitutedProducts[0].uom?.toLowerCase() === \"grams\"\n :product.uom?.toLowerCase() === \"grams\"\n : product.uom?.toLowerCase() === \"grams\";\n\n let totalQty = `${qty} ${\n product.uom && product.uom === \"Grams\" ? displayUnitGrams(product.uom) : \"\"\n }`;\n\n const rejectedItems = isSubstitution\n ? (product &&\n product.substitutedProducts &&\n product.substitutedProducts.length &&\n +product.substitutedProducts[0].rejectedQty) ||\n 0\n : +product.rejectedQty || 0;\n\n const initialQty = isScalable\n ? rejectedItems > 0\n ? 1\n : 0\n : rejectedItems;\n\n let shipedQty = product.substitutedProducts &&\n product.substitutedProducts.length\n ? product.substitutedProducts[0].shippedQty\n : product.shippedQty;\n \n\n let shipedQtyDisplay =\n ((product.substitutedProducts &&\n product.substitutedProducts.length &&\n Number(product.substitutedProducts[0].shippedQty)===0)) ||\n (Number(product.shippedQty) === 0)\n ? 0\n : isScalable\n ? 1\n : product.substitutedProducts && product.substitutedProducts.length\n ? product.substitutedProducts[0].shippedQty\n : product.shippedQty\n ? product.shippedQty\n : 0;\n \n let newObj: any = [];\n let selectRejected = [];\n if(isScalable){\n for (let i = 0; i <= shipedQtyDisplay; i++) {\n newObj = transformForScalable(shipedQty, shipedQtyDisplay);\n }\n }\n else{\n for (let i = 0; i <= shipedQty; i++) {\n newObj = transformIntoObjArrays(i, shipedQty);\n }\n }\n \n if (initialQty === 0) {\n selectRejected = transformIntoObj(initialQty);\n } else {\n selectRejected = transformIntoObj(initialQty);\n }\n \n let deliveryReason = [];\n if (product.reason) {\n deliveryReason.push({\n name: product.reason.reasonDescription,\n value: product.reason.reasonCode,\n });\n } else {\n if (product.substitutedProducts) {\n product.substitutedProducts.forEach((subProd: any) => {\n if (subProd.reason) {\n deliveryReason.push({\n name: subProd.reason.reasonDescription,\n value: subProd.reason.reasonCode,\n });\n }\n });\n }\n }\n const uom = isSubstitution\n ? product?.substitutedProducts?.length && product.substitutedProducts[0]?.uom ?\n product.substitutedProducts[0].uom?.toLowerCase() === \"grams\" ? displayUnitGrams(product.substitutedProducts[0].uom) : \"\" \n : product.uom?.toLowerCase() === \"grams\" ? displayUnitGrams(product.uom) : \"\"\n : product.uom?.toLowerCase() === \"grams\" ? displayUnitGrams(product.uom) : \"\"\n \n //Logic to showReason only when the rejectedQty is not zero\n if (rejectedQty !== \"0\" && !isUndefined(rejectedQty)) {\n showReason = true;\n }\n transformedArray.push({\n id: sku,\n name: name,\n entryNumber: entryNumber,\n shippedQty: shipedQty || 0,\n rejectedQty: rejectedQty || 0,\n unitPrice: unitPrice,\n totalQty: totalQty,\n rejectedQtyList: newObj,\n selectedRejectedQty: selectRejected,\n itemDeliveryReason: deliveryReason,\n substitutedProducts: product.substitutedProducts,\n showReason: showReason,\n error: \"\",\n uom: uom\n });\n });\n return [...transformedArray];\n};\n\n\nexport const getDropdownsData = (payload: any, codeKey?: string, valueKey?: string) => {\n return payload.length ? payload.map((item: any) => {\n return {\n code: codeKey ? item[codeKey] : item.id,\n value: valueKey ? item[valueKey] : item.name\n }\n }) : [];\n}\n\nexport const getAddressInfo = (addressObj: Address) => {\n return addressObj ? `${addressObj.building ? addressObj.building + ', ' : \"\"}${addressObj.apartment ? addressObj.apartment + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber + ', ' : \"\"}${addressObj.makani ? addressObj.makani + ', ' : \"\"}${addressObj.streetNumber ? addressObj.streetNumber + ', ' : \"\"}${addressObj.streetName ? addressObj.streetName + ', ' : \"\"}${addressObj.area ? addressObj.area + ', ' : \"\"}${addressObj.landmark ? addressObj.landmark + ', ' : \"\"}${addressObj.zoneNumber ? addressObj.zoneNumber : \"\"}\n ${addressObj.city ? addressObj.city + ', ' : \"\"}${addressObj.postalCode ? addressObj.postalCode + ', ' : \"\"}${addressObj.countryIsoCode ? addressObj.countryIsoCode : \"\"}` : \"\";\n}\n\nexport const getLatLong = (addressObj: Address) => {\n return addressObj ? `${addressObj.latitude ? parseFloat(addressObj.latitude).toFixed(5) + ', ' : \"\"}${addressObj.longitude ? parseFloat(addressObj.longitude).toFixed(5) : \"\"}` : \"\";\n}\n\nexport const getWaitTimeForDriver = (checkinTime: any) => {\n const d = new Date();\n let checkTimeString = checkinTime && checkinTime.split('.')[0];\n const d2 = d.toISOString();\n const slot = moment.utc(d2).format(AppConstants.SLOT_FORMAT_BACKEND);\n let waitTime = calculateTimeBetweenSlots(checkTimeString && checkTimeString.split('T')[1], slot);\n return waitTime;\n}\n\nexport const createExpressOrderReplanningPayload = (params: any) => {\n if (params.selection === \"DELIVERED\") {\n let payload: any = {\n consignmentCodes: [params.id]\n };\n payload.deliveryStatus = params.selection;\n payload.comments = params.commentsValue;\n return payload;\n } else {\n let payload: any = {\n consignmentCodes: [params.id]\n };\n payload.deliveryStatus = params.selection;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus,\n comment: params.commentsValue\n } : {};\n return payload;\n }\n}\n\nexport const createPayloadForReasons = (country: any, rejectionType: any) => {\n let deliveryType = '';\n if (rejectionType === EXPRESS_DELIVERY_TYPE.ON_HOLD) {\n deliveryType = AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.ON_HOLD\n } else if (rejectionType === EXPRESS_DELIVERY_TYPE.UNDELIVERED) {\n deliveryType = AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.DISPATCHER\n } else {\n deliveryType = AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.LINE_ITEM_REJECTION\n }\n const payload = {\n countryISOCode: country,\n type: deliveryType\n }\n return payload;\n}\n\nexport const createPayloadForReplanDuringPartialRejection = (params: any, consignment: any) => {\n let payload: any = {};\n let prodLineItems: any = {};\n let lineItems: any = {};\n if (params.length > 0) {\n params.forEach((item: any) => {\n lineItems[item.entryNumber] = {\n rejectedQty: item.rejectedQty,\n }\n })\n }\n if (params.length > 0) {\n params.forEach((item: any) => {\n prodLineItems[item.entryNumber] = {\n entryNumber: item.entryNumber,\n rejectedQty: item.rejectedQty,\n sku: item.substitutedProducts?.length === 1\n ? item.substitutedProducts[0]?.sku\n : item.id,\n reason: {\n reasonCode: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].value : \"\",\n reasonDescription: item.itemDeliveryReason?.length === 1 ? item.itemDeliveryReason[0].name : \"\"\n }\n }\n });\n }\n payload.consignmentCodes = [consignment.consignmentCode];\n payload.lineItems = prodLineItems;\n payload.rejectedLineItems = lineItems;\n payload.deliveryStatus = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_STATUS_SELECTION;\n payload.reason = params.reason ? {\n reasonCode: params.reason.reasonCode,\n reasonDescription: params.reason.reasonDescription,\n deliveryStatus: params.reason.deliveryStatus\n } : {}\n return payload;\n}\n\nexport const createPayloadToMarkAddressUnverified = (consignment: any, address: any) => {\n const payload = {\n consignmentCode: consignment.consignmentCode,\n addressStatus: \"UNVERIFIED\"\n }\n return payload;\n}\n\nexport const createPayloadToSubmitOrderComments = (consignment:any, reason:any, comments:string, desc:string)=>{\n const payload = {\n consignmentCode: consignment.consignmentCode,\n code: reason,\n description: desc,\n comment: comments\n }\n return payload;\n}","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n }\n },\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .selectionArea': {\n paddingBottom: theme.spacing(3),\n '& .selectionFormControlContainer': {\n '& .formHeading': {\n fontSize: 14,\n fontWeight: 400,\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(2)\n },\n '& .radioGroup': {\n flexDirection: 'row',\n '& .radioItem': {\n marginRight: theme.spacing(3)\n },\n '& .MuiFormControlLabel-label': {\n fontSize: 14,\n fontWeight: 500,\n color: theme.palette.text.primary,\n }\n }\n }\n },\n '& .selectedContentArea': {\n '& .contentAreaContainer': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '&.reschedule .MuiOutlinedInput-root': {\n height: 40\n },\n '& .contentAreaItem': {\n paddingBottom: theme.spacing(3),\n flexGrow: 1,\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n '&.warning': {\n height: \"55px\",\n background: \"#E79832\",\n borderRadius: \"8px\"\n },\n '& .warningItem': {\n display: \"flex\",\n margin: \"16px\"\n },\n '& .warningTitle': {\n fontSize: \"14px\",\n marginLeft: \"10px\",\n lineHeight: \"17px\",\n fontWeight: 500,\n color: \"#FFFFFF\",\n display: \"flex\",\n alignItems: \"center\",\n }\n }\n }\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680\n },\n confirmDialogTitleContainer: {\n paddingTop: \"8px\",\n '& .titleItem': {\n display: \"flex\",\n alignItems: \"center\",\n '&.icon': {\n width: \"18px\",\n height: \"18px\"\n },\n '&.text': {\n fontSize: \"14px\",\n fontWeight: 700,\n textTransform: \"uppercase\",\n color: \"#252525\",\n paddingLeft: \"12px\",\n }\n }\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n fontSize: 24,\n fontWeight: 600,\n '& p': {\n lineHeight: 1.2,\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n },\n '& .contentDetail': {\n fontSize: \"12px\",\n fontWeight: 500,\n color: \"#252525\",\n '&.secondItem': {\n paddingTop: \"12px\"\n }\n }\n },\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n '& .dialogBtn': {\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 24,\n fontWeight: 600,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.PICTON_BLUE': {\n backgroundColor: COLORS.PICTON_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.SCAMPI\n },\n '&.AMBER': {\n backgroundColor: COLORS.AMBER\n },\n '&.SEA_GREEN': {\n backgroundColor: COLORS.PERSIAN_GREEN_DARK\n },\n '&.RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.MADISON_BLUE': {\n backgroundColor: COLORS.GREEN_BLUE\n },\n '&.DUSTY_GRAY': {\n backgroundColor: COLORS.DUSTY_GRAY\n }\n }\n },\n },\n contentContainer: {\n borderTop: \"1px solid #E6E6E5\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n height: \"58px\",\n '& .content': {\n padding: \"12px\",\n /* '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n } */\n },\n '& .itemContainer': {\n borderBottom: \"1px solid #E6E6E6\",\n padding: \"14px\",\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n },\n '& .itemsContent': {\n fontSize: 14,\n fontWeight: 500,\n color: \"#252525\",\n lineHeight: \"17px\",\n '& p': {\n textAlign: \"center\",\n },\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n },\n '& .new': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n '& .MuiSelect': {\n select: {\n fontSize: \"10px\",\n fontWeight: 500\n }\n }\n },\n '& .select': {\n borderRadius: \"4px\",\n minWidth: \"0px\",\n width: \"62px\"\n },\n '& .MuiOutlinedInput': {\n root: {\n borderRadius: \"4px\",\n minWidth: \"0px\"\n }\n }\n },\n '& .paymentContainer': {\n padding: 12,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontSize: 16,\n fontWeight: 600\n },\n '& .vat': {\n fontWeight: 500,\n fontSize: 14,\n marginLeft: \"4px\"\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n },\n selectRoot: {\n color: \"#2D2D2D\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n icon: {\n color: \"#000000\"\n },\n generalReasonRoot: {\n fontSize: \"12px\",\n fontWeight: 600,\n color: \"#0E5AA7\"\n },\n generalReasonIcon: {\n color: \"#000000\"\n },\n menuPropsList: {\n '& .MuiListItem-root': {\n fontSize: 20,\n whiteSpace: \"normal\",\n height: \"55px\"\n },\n },\n menuPropsPaper: {\n maxHeight: 200,\n minWidth: 200,\n border: `1px solid ${COLORS.WHITE}`,\n background: \"#FFFFFF\",\n borderRadius: \"0px\",\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n overflow: \"auto\",\n boxShadow: \"0px 4px 20px rgba(0, 0, 0, 0.1)\",\n '& .MuiList-padding': {\n paddingTop: \"0px\",\n paddingBottom: \"0px\"\n }\n },\n title: {\n fontSize: \"14px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#505050\"\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680,\n },\n '& .react-pdf__Page': {\n marginTop: \"10px\",\n },\n '& .react - pdf__Page__textContent': {\n border: \"1px solid darkgrey\",\n boxShadow: \"5px 5px 5px 1px #ccc\",\n borderRadius: \"5px\",\n },\n '& .react - pdf__Page__annotations.annotationLayer': {\n padding: \"20px\",\n },\n '& .react - pdf__Page__canvas': {\n margin: \"0 auto\",\n },\n })\n);","import React, {forwardRef, ReactElement, Ref, useCallback, useState, useEffect} from 'react';\nimport CustomDialog from '../common/Dialog';\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {AppState} from \"../config/redux/reducers\";\nimport {useStyles} from './ExpUpdatePartialRejection.styles';\nimport {TransitionProps} from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport {Button, Grid, Typography} from '@material-ui/core';\nimport AppConstants from '../constants';\nimport {fixDecimals} from 'utils/helpers.utils';\nimport SelectBox from '../common/SelectBox';\nimport {fetchDeliveryReasons} from './redux/expressSlice';\nimport {rejectionDataTransform} from '../mocks/express/response.transforms';\nimport {createPayloadForReasons} from '../mocks/express/response.transforms';\nimport {bundleRejectionDataTransform} from './../mocks/routePlanning/response.transforms';\nimport BundleProducts from '../BundleProducts/index'\nimport {decodeHtmlEntities} from 'utils/textUtils';\n\ninterface ExpUpdatePartialRejectionProps {\n open: boolean;\n consignment: any;\n items: any;\n closePopup: () => void;\n bundleProduct?: any;\n handleDialogAction?: (params: any) => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ExpUpdatePartialRejection = (props: ExpUpdatePartialRejectionProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const {rejectionReasonList, revisedAmountAfterCalculation} = useSelector(\n (state: AppState) => state.expressDashboard\n );\n const {countryCode} = useSelector(\n (state: AppState) => state.common\n );\n const {open, consignment, items, closePopup, handleDialogAction, bundleProduct} = props;\n const generalReason = AppConstants.SELECT_NONE.value;\n const [rejections, setRejections] = useState([] as any);\n const [products, setProducts] = useState([] as any);\n const [bundleProducts, setBundleProducts] = useState([] as any);\n let metadata: any = {};\n\n if (consignment) {\n metadata = consignment.metadata;\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n },\n [closePopup],\n );\n\n const validateForm = ((products: any, bundleItems: any) => {\n let newProducts = [...products];\n let newBundleItems = [...bundleItems];\n let rejectionReason = false;\n newProducts.forEach((element: any) => {\n if ((element?.rejectedQty !== \"0\" && element?.showReason === true && element?.itemDeliveryReason && element?.itemDeliveryReason?.length === 0) ||\n (element?.rejectedQty !== \"0\" && element?.itemDeliveryReason && element?.itemDeliveryReason?.length > 0 && element?.itemDeliveryReason[0]?.name === '')) {\n element.error = \"Please select reason\";\n rejectionReason = true;\n }\n })\n newBundleItems.forEach((element: any) => {\n if ((element.rejectedQty !== \"0\" && element.showReason === true && element.itemDeliveryReason && element.itemDeliveryReason.length === 0) ||\n (element.rejectedQty !== \"0\" && element.itemDeliveryReason && element.itemDeliveryReason.length > 0 && element.itemDeliveryReason[0].name === '')) {\n element.error = \"Please select reason\";\n rejectionReason = true;\n }\n })\n setBundleProducts([...newBundleItems]);\n setProducts([...newProducts]);\n return rejectionReason;\n });\n\n\n const dialogActionHandler = useCallback(\n (type: string, values?: any, bundleItems?: any, consignment?: any) => {\n if (type === 'save') {\n if (!validateForm(values, bundleItems)) {\n handleDialogAction && handleDialogAction({\n type: type,\n values: values,\n bundleItems: bundleItems,\n consignment: consignment\n });\n }\n } else {\n closePopup();\n }\n },\n [closePopup, handleDialogAction],\n );\n\n const handleCommonReasonChange = ((event: any) => {\n let commonReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopy: any = [...products];\n let bundleProductCopy: any = [...bundleProducts]\n if (reason.value === event) {\n commonReason.push(reason);\n productsCopy.forEach((prod: any) => {\n if (prod.showReason) {\n prod.itemDeliveryReason = commonReason\n }\n });\n bundleProductCopy?.forEach((prod: any) => {\n if (prod.showReason) {\n prod.itemDeliveryReason = commonReason\n }\n });\n }\n setBundleProducts([...bundleProductCopy])\n setProducts([...productsCopy]);\n return productsCopy;\n })\n setRejections(commonReason);\n });\n\n const handleBundleReasonChange = ((event: any, fieldName: any) => {\n let itemReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let bundleProductCopy: any = [...bundleProducts];\n if (reason.value === event) {\n itemReason.push(reason);\n bundleProductCopy.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.itemDeliveryReason = itemReason;\n prod.error = \"\"\n }\n });\n }\n setBundleProducts([...bundleProductCopy]);\n })\n });\n\n const handleItemReasonChange = ((event: any, fieldName: any) => {\n let itemReason: any = [];\n rejectionReasonList.map((reason: any) => {\n let productsCopyNew: any = [...products];\n if (reason.value === event) {\n itemReason.push(reason);\n productsCopyNew.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.itemDeliveryReason = itemReason;\n prod.error = \"\"\n }\n });\n }\n setProducts([...productsCopyNew]);\n return productsCopyNew;\n })\n setRejections(itemReason);\n });\n\n const handleUpdatedRejectedQty = ((event: any, fieldName: any, isBundleProduct?: boolean) => {\n let updateProducts: any;\n if (isBundleProduct) {\n updateProducts = [...bundleProducts];\n } else {\n updateProducts = [...products];\n }\n updateProducts.forEach((prod: any) => {\n if (prod.id === fieldName) {\n prod.rejectedQty = event;\n //conditionally rendering the rejection reason if rejected qty > 0\n if (event === \"0\") {\n prod.showReason = false;\n prod.itemDeliveryReason.pop();\n } else {\n prod.showReason = true;\n }\n }\n if (isBundleProduct) {\n setBundleProducts([...updateProducts])\n } else {\n setProducts([...updateProducts]);\n }\n });\n });\n\n const checkIfDisabled = () => {\n let counter = 0;\n let isDisabled = false;\n if (products && products.length) {\n products.forEach((item: any) => {\n if (item.rejectedQty === 0) {\n counter = counter + 1;\n }\n })\n }\n if (bundleProducts && bundleProducts.length) {\n bundleProducts.forEach((item: any) => {\n if (item.rejectedQty === 0) {\n counter = counter + 1;\n }\n })\n }\n isDisabled = counter === products?.length + bundleProducts?.length;\n return isDisabled;\n }\n\n const getBundleProduct = () => {\n return bundleProducts.map((item: any, index: number) => (\n \n ));\n };\n\n const getItems = () => {\n return products.map((item: any, index: number) => (\n \n \n \n {item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].name && item.substitutedProducts[0].name.en ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase()) : item.name && item.name.en ? decodeHtmlEntities(item.name.en.toLowerCase()) : \"\"}\n \n \n \n handleUpdatedRejectedQty(e, item.id)}\n >\n \n \n \n \n {` ${item.shippedQty || 0} ${item.uom}`} \n \n \n \n \n {`${item.totalQty || \"\"}`}\n \n \n {`${fixDecimals(2, item.substitutedProducts && item.substitutedProducts.length && item.substitutedProducts[0].unitPrice ? item.substitutedProducts[0]?.unitPrice : item.unitPrice ? item.unitPrice.toString() : \"\")} ${metadata && metadata.currency}`}\n \n {item.showReason ?\n (\n \n \n \n Rejection\n Reason : \n \n \n handleItemReasonChange(e, item.id)}\n >\n \n \n \n ) : null}\n {item.error ? (\n \n Please select reason\n \n ) : null}\n \n \n ))\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n Update Rejected Items\n \n \n\n \n \n \n Common\n Rejection Reason : \n \n \n handleCommonReasonChange(e)}\n >\n \n \n \n \n \n \n \n \n )\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n Product Name\n \n \n Rejected\n Qty\n \n \n Shipped\n \n \n Ordered Qty\n \n \n Unit Price\n \n \n \n {products?.length > 0 && getItems()}\n {bundleProduct?.length > 0 && getBundleProduct()}\n {products?.length === 0 && bundleProduct?.length === 0 && (\n \n \n No Items to display\n \n \n )}\n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Grand Total(Inclusive of VAT)\n \n \n {metadata ? `${fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"} ${(metadata && metadata.currency) || \"\"}` : \"\"}\n \n \n \n {metadata && metadata.paymentType === \"COD\" ? (\n \n \n \n Revised Total\n \n {(revisedAmountAfterCalculation !== \"\") ?\n \n {`${revisedAmountAfterCalculation} ${(metadata && metadata.currency) || \"\"}`}\n \n :\n \n {`${(metadata.collectedAmount ? parseFloat(metadata.collectedAmount.toString()).toFixed(2) : \"0.00\")} ${(metadata && metadata.currency) || \"\"}`}\n \n }\n \n \n ) : null}\n\n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n \n \n \n \n );\n };\n\n const fetchAllRejectionReasons = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n const payload = createPayloadForReasons(countryCode, AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.LINE_ITEM_REJECTION);\n dispatch(\n fetchDeliveryReasons({\n params: payload\n })\n );\n }\n },\n [dispatch, countryCode]\n );\n\n useEffect(() => {\n if (open && consignment != null) {\n fetchAllRejectionReasons(countryCode);\n }\n }, [open, consignment, countryCode, fetchAllRejectionReasons]);\n\n useEffect(() => {\n setBundleProducts(bundleRejectionDataTransform(bundleProduct) as any)\n setProducts(rejectionDataTransform(items) as any);\n }, [items, bundleProduct])\n\n return (\n \n )\n}\n\nexport default ExpUpdatePartialRejection;","import React, {useCallback, forwardRef, ReactElement, Ref, useState, useEffect} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {AppState} from \"../config/redux/reducers\";\nimport {\n getConsignmentStatusField,\n createExpressOrderReplanningPayload,\n createPayloadForReasons,\n createPayloadForReplanDuringPartialRejection,\n} from \"../mocks/express/response.transforms\";\nimport {createPayloadBundlePartialRejection} from '../mocks/routePlanning/response.transforms';\nimport {\n fetchExpressOrderDeliveryStatuses,\n fetchDeliveryReasons,\n expressOrderReplanning,\n replanDuringPartialRejection,\n} from \"./redux/expressSlice\";\n//common components\nimport CustomDialog from \"../common/Dialog\";\nimport SelectBox from \"../common/SelectBox\";\nimport TextBox from \"../common/TextBox\";\n\n//Material UI Components\nimport {useStyles} from \"./ExpressOrderEdit.styles\";\nimport {TransitionProps} from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport {Grid, Typography, Button} from \"@material-ui/core\";\n\n//constants\nimport AppConstants from \"../constants\";\nimport {EXPRESS_DELIVERY_TYPE} from \"constants/ExpressConstants\";\nimport {TextConstants} from \"constants/TextConstants\";\n\n//Assets\nimport warning from \"../assets/icons/warning.svg\";\nimport warningIcon from \"./../assets/icons/warningOctagon.svg\";\n\nimport ExpUpdatePartialRejection from \"./ExpUpdatePartialRejection\";\n\ninterface ConsignmentEditProps {\n open: boolean;\n consignment: any;\n isExpress?: any;\n shippingStatus?: any;\n items: any;\n bundleProduct?: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\nconst ConsignmentEdit = (props: ConsignmentEditProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const {open, consignment, items, closePopup, bundleProduct} = props;\n\n const {\n orderDeliveryStatuses,\n reasonsDropdownList,\n deliveryReasons,\n consignmentDataAfterReplanning,\n replanningConsignmentSuccess,\n } = useSelector((state: AppState) => state.expressDashboard);\n const {countryCode} = useSelector((state: AppState) => state.common);\n const [selectedStatus, setSelectedStatus] = useState(AppConstants.SELECT_NONE.value);\n const [selectedReason, setSelectedReason] = useState(AppConstants.SELECT_NONE.value);\n const [showReason, setShowReason] = useState(false);\n const [commentsValue, setCommentsValue] = useState(\"\");\n const [errors, setErrors] = useState({\n reason: \"\",\n comments: \"\",\n });\n const [isStatusDelivered, setIsStatusDelivered] = useState(true);\n const [openExpUpdateRejectedDialog, setOpenExpUpdateRejectedDialog] = useState(false);\n const [openPartialRejectionPopup, setOpenPartailRejectionPopup] = useState(false);\n let consignmentData = consignment;\n let metadata: any = {};\n let metadataAfterReplanning: any = {};\n\n if (consignment) {\n metadata = consignment.metadata;\n }\n if (consignmentDataAfterReplanning) {\n metadataAfterReplanning = consignmentDataAfterReplanning.metadata\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot,\n },\n square: true,\n };\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot,\n },\n };\n\n const validateForm = useCallback(() => {\n let newErrors = {};\n if (selectedReason === AppConstants.SELECT_NONE.value) {\n newErrors = {...newErrors, reason: \"Please select reason\"};\n }\n if (selectedReason === \"OH04\" || selectedReason === \"DRD5\") {\n if (commentsValue === \"\") {\n newErrors = {...newErrors, comments: \"Please provide comments\"};\n }\n }\n setErrors({...errors, ...newErrors});\n return Object.keys(newErrors).length;\n }, [errors, selectedReason, commentsValue]);\n\n const handleReasonChange = useCallback(\n (value: any) => {\n setSelectedReason(value);\n if (value) {\n setErrors({...errors, reason: \"\", comments: \"\"});\n }\n },\n [errors]\n );\n\n const handleCommentsTextChange = useCallback(\n (event: React.ChangeEvent) => {\n setCommentsValue(event.target.value);\n if (event.target.value) {\n setErrors({...errors, comments: \"\"});\n }\n },\n [errors]\n );\n\n const closePartialRejectionPopup = useCallback(() => {\n setOpenPartailRejectionPopup(false);\n }, []);\n\n const handleReplanningForDelivered = useCallback(() => {\n const payload = createExpressOrderReplanningPayload({\n id: consignment.consignmentCode,\n commentsValue: commentsValue,\n selection: selectedStatus,\n });\n dispatch(\n expressOrderReplanning({\n params: payload,\n })\n );\n closePartialRejectionPopup();\n }, [consignment, selectedStatus, commentsValue, closePartialRejectionPopup, dispatch]);\n\n const handleOrderReplanning = useCallback(() => {\n if (validateForm() === 0) {\n const payload = createExpressOrderReplanningPayload({\n id: consignment.consignmentCode,\n selection: selectedStatus,\n reason: selectedReason,\n commentsValue: commentsValue,\n });\n if (selectedReason !== AppConstants.SELECT_NONE.value) {\n let updatedReason;\n const deliveryReason =\n deliveryReasons &&\n deliveryReasons.length &&\n deliveryReasons.filter((reason: any) => reason.reasonCode === selectedReason);\n if (deliveryReason.length) {\n updatedReason = Object.assign({comment: commentsValue}, deliveryReason[0]);\n payload.reason = updatedReason;\n }\n dispatch(\n expressOrderReplanning({\n params: payload,\n })\n );\n }\n }\n }, [consignment, selectedStatus, commentsValue, deliveryReasons, selectedReason, validateForm, dispatch]);\n\n const dialogActionHandler = useCallback(\n (type: string) => {\n if (type === \"update\") {\n if (isStatusDelivered) {\n setOpenExpUpdateRejectedDialog(true);\n } else {\n handleOrderReplanning();\n }\n } else {\n closePopup();\n }\n },\n [isStatusDelivered, closePopup, handleOrderReplanning]\n );\n\n const fetchReasons = useCallback(\n (value: any, consignment: any) => {\n if (Object.keys(consignment).length) {\n const payload = createPayloadForReasons(countryCode, value);\n dispatch(\n fetchDeliveryReasons({\n params: payload,\n })\n );\n }\n },\n [dispatch, countryCode]\n );\n\n const handleStatusChange = useCallback(\n (value: any, consignment: any) => {\n setSelectedStatus(value);\n if (value !== AppConstants.VALET_TROLLEY_CONSTANTS.CONSIGNMENTS_DATA.DELIVERED) {\n fetchReasons(value, consignment);\n setShowReason(true);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n setIsStatusDelivered(false);\n } else {\n setIsStatusDelivered(true);\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n }\n },\n [fetchReasons]\n );\n\n const fetchDeliveryFailedReasons = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n const payload = createPayloadForReasons(countryCode, false);\n dispatch(\n fetchDeliveryReasons({\n params: payload,\n })\n );\n }\n },\n [dispatch, countryCode]\n );\n\n const handleExpressOrderStatuses = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchExpressOrderDeliveryStatuses({\n params: consignmentCode,\n })\n );\n }\n },\n [dispatch]\n );\n\n const handleRejectedDialogClose = useCallback(() => {\n setOpenExpUpdateRejectedDialog(false);\n }, []);\n\n const updateRejectedDialogActionHandler = useCallback(\n (type: string) => {\n if (type === \"save\") {\n handleReplanningForDelivered();\n } else {\n setOpenPartailRejectionPopup(true);\n }\n handleRejectedDialogClose();\n },\n [handleRejectedDialogClose, handleReplanningForDelivered]\n );\n\n const handlePartialRejectionUpdateActions = useCallback(\n (params: any) => {\n if (params.type === \"save\") {\n const payload1 = createPayloadForReplanDuringPartialRejection(params.values, params.consignment);\n let payload = payload1\n if (params?.bundleItems?.length) {\n const payload2 = createPayloadBundlePartialRejection(params.bundleItems)\n payload = {...payload1, ...payload2};\n }\n dispatch(\n replanDuringPartialRejection({\n params: payload,\n })\n );\n closePartialRejectionPopup();\n closePopup();\n }\n },\n [dispatch, closePartialRejectionPopup, closePopup]\n );\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n {TextConstants.EDIT_CONSIGNMENT_TITLE} \n {consignment.consignmentCode} \n \n \n {metadataAfterReplanning?.deliveryStatus ? (\n \n \n {metadataAfterReplanning?.deliveryStatus && metadataAfterReplanning.deliveryStatus}\n \n \n ) : (\n metadata?.deliveryStatus && (\n \n \n {metadata?.deliveryStatus && metadata.deliveryStatus}\n \n \n )\n )}\n \n \n \n \n \n );\n };\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n {TextConstants.UPDATE_CONSIGNMENT_STATUS}\n \n \n handleStatusChange(e, consignmentData)}\n items={orderDeliveryStatuses || []}\n >\n \n \n \n \n \n \n \n {showReason ? (\n \n \n \n {TextConstants.REASON}\n \n \n \n \n \n \n ) : null}\n \n \n \n Comments\n \n \n \n \n \n \n {selectedStatus === EXPRESS_DELIVERY_TYPE.UNDELIVERED && (\n \n \n warning\n {TextConstants.CONSIGNMENT_WARNING}\n \n \n )}\n \n \n \n );\n };\n\n const getDialogActions = () => {\n return (\n \n {\n dialogActionHandler(\"cancel\");\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n dialogActionHandler(\"update\");\n }}\n >\n {AppConstants.BUTTONS.SAVE}\n \n \n );\n };\n\n const getRejectedDialogTitleContent = () => {\n return (\n \n \n warning\n \n \n {TextConstants.REJECT_ITEMS_TITLE}\n \n \n );\n };\n\n const getRejectedDialogDetailsContent = () => {\n return (\n \n \n {TextConstants.REJECT_ITEMS_CONTENT}\n {TextConstants.REJECT_ITEMS_CONTENT_DESC}\n \n \n );\n };\n\n const getRejectedDialogActions = () => {\n return (\n \n {\n updateRejectedDialogActionHandler(\"edit\");\n }}\n >\n {AppConstants.BUTTONS.EDIT_ITEMS}\n \n {\n updateRejectedDialogActionHandler(\"save\");\n }}\n >\n {AppConstants.BUTTONS.SAVE}\n \n \n );\n };\n\n const handleDialogClose = () => {\n setErrors({...errors, reason: \"\", comments: \"\"});\n closePopup();\n };\n\n useEffect(() => {\n if (replanningConsignmentSuccess) {\n closePopup();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [replanningConsignmentSuccess]);\n\n useEffect(() => {\n if (consignment) {\n setCommentsValue(\"\");\n setShowReason(false);\n setSelectedReason(AppConstants.SELECT_NONE.value);\n setSelectedStatus(AppConstants.SELECT_NONE.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consignment, open]);\n\n useEffect(() => {\n if (open && consignment != null) {\n handleExpressOrderStatuses(consignment);\n }\n }, [open, consignment, fetchDeliveryFailedReasons, handleExpressOrderStatuses]);\n\n return (\n <>\n \n \n {openPartialRejectionPopup && (\n )}\n \n );\n};\n\nexport default ConsignmentEdit;\n","import React, {useCallback, forwardRef, ReactElement, Ref, useState, useEffect} from 'react';\nimport CustomDialog from '../common/Dialog';\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {\n fetchConsignmentHistory,\n closeDialog,\n exportInvoicePdf,\n fetchOrderLogs,\n getAddressStatus,\n fetchStatusOnClick,\n resetStatusRefreshButton,\n fetchDeliveryReasons,\n submitOrderComments,\n fetchBundleProducts,\n resetBundleList\n} from './redux/expressSlice';\nimport mobileLogoIcon from './../assets/icons/mobileLogo.svg';\nimport emailLogoIcon from './../assets/icons/emailLogo.svg';\nimport {AppState} from \"../config/redux/reducers\";\nimport {ReactComponent as activeTimelineDot} from './../assets/icons/active-timeline-dot.svg';\nimport {ReactComponent as errorTimelineDot} from './../assets/icons/timeline-dot-error.svg';\nimport {ReactComponent as timelineDot} from './../assets/icons/timeline-dot.svg';\nimport {ReactComponent as downArrowIcon} from './../assets/icons/down-arrow.svg';\nimport {ReactComponent as zoomInIcon} from './../assets/icons/zoom-in.svg';\nimport {ReactComponent as zoomOutIcon} from './../assets/icons/zoom-out.svg';\nimport {useFormik} from 'formik';\nimport * as yup from 'yup';\nimport {ReactComponent as editIconNew} from './../assets/icons/edit-icon-new.svg';\nimport {ReactComponent as refreshIconNew} from './../assets/icons/refresh-icon-new.svg';\nimport {ReactComponent as refreshIconGrey} from './../assets/icons/refresh-icon-grey.svg';\nimport {ReactComponent as downloadLogsIcon} from './../assets/icons/download-logs-button.svg';\nimport verifiedIcon from './../assets/icons/verified-icon.svg';\nimport unverifiedIcon from './../assets/icons/unverified-icon.svg';\nimport pendingIcon from './../assets/icons/pending-icon.svg';\nimport IconButton from '@material-ui/core/IconButton';\nimport {ReactComponent as crateStageLocationIcon} from './../assets/icons/crate-staging-location-icon.svg';\nimport CloseIcon from '@material-ui/icons/Close';\nimport closeButton from \"./../assets/icons/close-circle-icon.svg\";\nimport locationIcon from './../assets/icons/map-pin.svg';\nimport {useStyles} from './ExpressOrderDetails.styles';\nimport {TransitionProps} from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport RcViewer from '@hanyk/rc-viewer';\nimport {\n Grid,\n Typography,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n SvgIcon,\n Collapse,\n Link,\n Divider,\n Tab,\n Tabs,\n FormControlLabel,\n Checkbox,\n Button\n} from '@material-ui/core';\nimport {\n Timeline,\n TimelineItem,\n TimelineSeparator,\n TimelineDot,\n TimelineConnector,\n TimelineContent\n} from '@material-ui/lab';\nimport {COLORS} from '../config/theme/baseTheme';\nimport {Document, Page} from 'react-pdf';\nimport Modal from '@material-ui/core/Modal';\nimport Loader from \"../common/Loader\";\nimport AppConstants from \"../constants\";\nimport {getAddressInfo} from 'mocks/routePlanning/response.transforms';\nimport {\n fixDecimals,\n localTimeString,\n displayUnitGrams,\n isCardOnDelivery,\n isExisty,\n getObjectKeys,\n isArrayNonEmpty,\n isModifiedBySystem,\n isNonEmptyObject,\n isRapydActivity\n} from 'utils/helpers.utils';\nimport moment from 'moment';\nimport KeyboardArrowDownRoundedIcon from \"@material-ui/icons/KeyboardArrowDownRounded\";\nimport clsx from \"clsx\";\nimport {pdfjs} from 'react-pdf';\nimport {TabContext, TabPanel} from '@material-ui/lab';\nimport ExpressOrderEdit from './ExpressOrderEdit';\nimport {\n createPayloadToMarkAddressUnverified,\n getDeliveryExecutionStatusField,\n createPayloadToSubmitOrderComments,\n getCratesFromProducts\n} from './../mocks/express/response.transforms';\nimport {ADDRESS_STATUS} from '../constants/CommonConstants';\nimport {Countdown} from '../utils/countdownTimer'\nimport {EXPRESS_DELIVERY_TYPE} from 'constants/ExpressConstants';\nimport {TIMER_CONST} from \"../constants/CommonConstants\";\nimport {getDateOrTimeInReqFormat} from '../utils/dateUtils';\nimport SelectBox from \"../common/SelectBox\";\nimport {TextConstants} from \"constants/TextConstants\";\nimport TextBox from \"../common/TextBox\";\nimport CustomBarcode from 'common/CustomBarcode';\nimport BundleProducts from '../BundleProducts/index'\nimport {getCrateDetails} from '../utils/business/crate'\nimport {decodeHtmlEntities} from 'utils/textUtils';\nimport {ReactComponent as ShieldCheck} from '../assets/icons/ShieldCheck.svg';\n\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ninterface ExpressOrderDetailsProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n handleTimerInstances?: (id: any) => void;\n timerStarted?: boolean;\n setShowTime?: (showTime: boolean) => void;\n handleDownloadLogs: (consignment: any) => void;\n getRapydActivityImage: () => JSX.Element;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst ExpressOrderDetails = (props: ExpressOrderDetailsProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const {\n loading,\n consignmentStatuses,\n invoiceConsignment,\n invoiceData,\n invoiceUrl,\n invoiceMessage,\n displayInvoice,\n orderLogs,\n consignmentDataAfterReplanning,\n productsAfterUpdateLineItem,\n revisedAmountAfterCalculation,\n consignmentDataAfterAddressUpdate,\n isPolled,\n orderCommentsList,\n orderCommentsAfterSubmit,\n bundleProductList,\n crateInfo,\n productList,\n bundleProductAfterUpdateLineItem\n } = useSelector(\n (state: AppState) => state.expressDashboard\n )\n const {countryCode} = useSelector(\n (state: AppState) => state.common\n );\n const {isLastMileViewer, isOnlyExpLastMileViewer} = useSelector(\n (state: AppState) => state.userLogin\n );\n const [remainingTime, setRemainingTime] = useState(TIMER_CONST.pullTimeForRefresh);\n const [timersValue, setTimersValue] = useState({});\n const {open, consignment, closePopup, handleTimerInstances, timerStarted, setShowTime, handleDownloadLogs, getRapydActivityImage} = props;\n const [toggleCustMap, setToggleCustMap] = useState(false);\n const [toggleSellerMap, setToggleSellerMap] = useState(false);\n const [numPages, setNumPages] = useState(null);\n const [showOriginalName, setShowOriginalName] = useState(false);\n const [showInvoiceModal, setShowInvoiceModal] = useState(false);\n const [scale, setScale] = useState(1);\n const [scaleNumber, setScaleNumber] = useState(100);\n const [tabValue, setTabValue] = useState(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.ORDER_DETAIL);\n const [openExpressOrderEditPopup, setOpenExpressOrderEditPopup] = useState(false);\n const [addressVerified, setAddressVerified] = useState(false);\n const [openAddressPopup, setOpenAddressPopup] = useState(false);\n const [isCratesAvailable, setIsCratesAvailable] = useState(false);\n const [items, setItems] = useState(consignment?.products)\n const [totalNumberOfItems, setTotalNumberOfItems] = useState(0)\n const [crateDetails, setCrateDetails] = useState(getCrateDetails(consignment))\n const [bundleProducts, setBundleProducts] = useState(bundleProductList)\n\n let deliveryInformation: any = {};\n let reason: any = {};\n let deliveryAttemptReasons: any = {}\n let metadata: any = {};\n let custInfo: any = {\n address: {}\n };\n let custGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let sellerGeoLocation: any = {\n name: \"\",\n location: {\n lat: 0,\n lng: 0\n }\n };\n let posInfo: any = {\n address: {}\n };\n //let items: any = [];\n let historyItems: any = [];\n let driver: any = [];\n let crates: any = [];\n let deliveryDate = \"\";\n let deliverySlot = \"\";\n let hubName = \"\";\n let isCheckboxDisabled = false;\n let deliveryInformationAfterAddressUpdate: any = {};\n let custInfoAfterAddressUpdate: any = {\n address: {}\n }\n let addressStatusAfterUpdate = \"\"\n let metadataAfterReplanning: any = {};\n\n const handleOrderStatusHistory = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchConsignmentHistory({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n reason = consignment.reason;\n const orderLevelCrateInfo = consignment?.associatedCrates\n const productsList = consignment?.products\n crates = orderLevelCrateInfo?.length ? orderLevelCrateInfo : getCratesFromProducts(productsList);\n const deliveryAttempts = consignment.deliveryAttempts ? consignment.deliveryAttempts : 1;\n const deliveryAttemptsLength = consignment?.deliveryAttemptReasons && Object.keys(consignment?.deliveryAttemptReasons).length - 1;\n deliveryAttemptReasons =\n consignment.deliveryAttemptReasons &&\n (consignment.deliveryAttemptReasons.hasOwnProperty(deliveryAttempts)\n ? consignment.deliveryAttemptReasons[deliveryAttempts]\n : Object.values(consignment.deliveryAttemptReasons)[deliveryAttemptsLength]);\n\n if (custInfo && custInfo.address) {\n custGeoLocation.name = custInfo.name;\n custGeoLocation.location.lat = parseFloat(custInfo.address.latitude) || 0;\n custGeoLocation.location.lng = parseFloat(custInfo.address.longitude) || 0;\n }\n if (consignment.posInformation) {\n posInfo = consignment.posInformation.contactInfo;\n hubName = consignment.posInformation.storeName || consignment.posInformation.store;\n }\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const startTime = new Date(deliveryInformation.deliverySlot.startTime);\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryDate = moment(deliveryInformation.deliverySlot.startTime, AppConstants.DATE_FORMAT_BACKEND).format(AppConstants.DATE_FORMAT);\n deliverySlot = `${localTimeString(startTime)} - ${localTimeString(endTime)}`\n }\n if (posInfo && posInfo.address) {\n sellerGeoLocation.name = hubName;\n sellerGeoLocation.location.lat = parseFloat(posInfo.address.latitude) || 0;\n sellerGeoLocation.location.lng = parseFloat(posInfo.address.longitude) || 0;\n }\n if (consignmentStatuses) {\n let statuses = consignmentStatuses.slice();\n historyItems = statuses;\n }\n // setItems(consignment?.products)\n //items = consignment.products;\n if (productsAfterUpdateLineItem && productsAfterUpdateLineItem.length > 0) {\n //setItems(productsAfterUpdateLineItem)\n //items = productsAfterUpdateLineItem; need to work on this after rejection\n }\n driver = deliveryInformation && deliveryInformation.driver ? deliveryInformation.driver : {};\n metadataAfterReplanning = consignmentDataAfterReplanning && consignmentDataAfterReplanning.metadata;\n }\n\n if (consignmentDataAfterAddressUpdate) {\n deliveryInformationAfterAddressUpdate = consignmentDataAfterAddressUpdate.deliveryInformation;\n custInfoAfterAddressUpdate = deliveryInformationAfterAddressUpdate && deliveryInformationAfterAddressUpdate.customerContactInfo;\n addressStatusAfterUpdate = custInfoAfterAddressUpdate && custInfoAfterAddressUpdate.address && custInfoAfterAddressUpdate.address.status;\n if (addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED) {\n isCheckboxDisabled = true;\n }\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const handleTrackingLink = () => {\n const trackingUrl = `${deliveryInformation.carrierTrackingUrl}&source=portal`\n window.open(trackingUrl, '_blank');\n }\n const handleOriginalName = () => {\n if (!showOriginalName) {\n setShowOriginalName(true);\n } else {\n setShowOriginalName(false);\n }\n }\n\n const handleInvoiceModalClose = () => {\n setShowInvoiceModal(false);\n setScale(1);\n };\n\n const zoomIn = (scaleNumber: any) => {\n setScaleNumber(scaleNumber + 15);\n setScale(scale + 0.4);\n };\n\n const zoomOut = (scaleNumber: any) => {\n if (scale > 1) {\n setScaleNumber(scaleNumber - 15);\n setScale(scale - 0.4);\n } else {\n setScale(1);\n }\n };\n\n const onDocumentLoadSuccess = ({numPages}: any) => {\n setNumPages(numPages);\n }\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const checkEditable = () => {\n if (isArrayNonEmpty(getObjectKeys(consignmentDataAfterReplanning))) {\n let statusAfterReplanning = metadataAfterReplanning && metadataAfterReplanning.deliveryStatus;\n return AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(statusAfterReplanning) === -1;\n } else {\n let status = metadata && metadata.deliveryStatus;\n return AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.NON_EDITABLE_STATUSES.indexOf(status) === -1;\n }\n }\n\n const fetchExpressBundleProducts = useCallback(\n (consignmentCode: any) => {\n if (consignmentCode) {\n dispatch(\n fetchBundleProducts({\n params: consignmentCode,\n })\n );\n }\n },\n [dispatch]\n );\n\n useEffect(() => {\n const itemLength = items?.length + bundleProductList?.length\n setTotalNumberOfItems(itemLength)\n\n }, [items, bundleProductList]);\n\n useEffect(() => {\n if (isNonEmptyObject(consignment) && consignment?.metadata?.bundledProducts) {\n fetchExpressBundleProducts(consignment?.consignmentCode)\n }\n return () => {\n dispatch(resetBundleList());\n }\n }, []);\n\n useEffect(() => {\n setBundleProducts(bundleProductList)\n }, [bundleProductList]);\n\n useEffect(() => {\n setItems(productList)\n }, [productList]);\n\n useEffect(() => {\n setItems(productsAfterUpdateLineItem)\n setBundleProducts(bundleProductAfterUpdateLineItem)\n }, [productsAfterUpdateLineItem, bundleProductAfterUpdateLineItem]);\n\n useEffect(() => {\n if (crateInfo?.length) {\n setCrateDetails(crateInfo)\n }\n }, [crateInfo]);\n\n const getBundleProduct = () => {\n return bundleProducts.map((item: any, index: number) => (\n \n ))\n }\n\n const getItems = () => {\n return items && items.length && (\n items.map((item: any, index: number) => (\n \n \n \n \n {item.substitutedProducts &&\n item.substitutedProducts.length &&\n item.substitutedProducts[0].name &&\n item.substitutedProducts[0].name.en\n ? decodeHtmlEntities(item.substitutedProducts[0].name.en.toLowerCase())\n : item.name && item.name.en\n ? decodeHtmlEntities(item.name.en.toLowerCase())\n : \"\"}\n \n {isExisty(item.reason) &&\n isExisty(item.reason.reasonCode) &&\n isExisty(item.reason.reasonCode) ? (\n {`Rejection Reason - ${item.reason.reasonDescription}`}\n ) : isExisty(item.substitutedProducts) &&\n item.substitutedProducts.length &&\n isExisty(item.substitutedProducts[0].reason) &&\n isExisty(item.substitutedProducts[0].reason.reasonCode) ? (\n {`Rejection Reason - ${\n item.substitutedProducts &&\n item.substitutedProducts.length &&\n item.substitutedProducts[0].reason &&\n item.substitutedProducts[0].reason.reasonDescription\n }`}\n ) : (\n {\"\"}\n )}\n {item.substitutedProducts && (\n
\n \n {\" \"}\n View Original\n \n handleOriginalName()}\n />\n
\n )}\n
\n \n \n \n {item.substitutedProducts &&\n item.substitutedProducts.length &&\n (item.substitutedProducts[0]?.rejectedQty !== undefined && item.substitutedProducts[0]?.rejectedQty !== '0')\n ? `${item.substitutedProducts[0]?.rejectedQty} ${\n item.substitutedProducts[0].uom ?\n item.substitutedProducts[0].uom === \"Grams\"\n ? displayUnitGrams(item.substitutedProducts[0].uom)\n : \"\"\n : item.uom && item.uom === \"Grams\" ? displayUnitGrams(item.uom) : \"\"\n }`\n : item?.rejectedQty && Number(item?.rejectedQty) ? `${item?.rejectedQty || '-'} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }` : \"-\"}\n \n \n \n \n \n \n {item.substitutedProducts && item.substitutedProducts.length\n ? `${item.substitutedProducts[0].shippedQty} ${\n item.substitutedProducts[0].uom ?\n item.substitutedProducts[0].uom === \"Grams\"\n ? displayUnitGrams(item.substitutedProducts[0].uom)\n : \"\"\n : item.uom && item.uom === \"Grams\" ? displayUnitGrams(item.uom) : \"\"\n }`\n : `${item.shippedQty || 0} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}{\" \"}\n \n \n \n \n \n {`${item.quantity || \"\"} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}\n \n \n \n {`${fixDecimals(\n 2,\n item.substitutedProducts &&\n item.substitutedProducts.length &&\n item.substitutedProducts[0].unitPrice\n ? item.substitutedProducts[0]?.unitPrice\n : item.unitPrice\n ? item.unitPrice.toString()\n : \"\"\n )} ${metadata && metadata.currency}`}\n \n
\n {showOriginalName && item.substitutedProducts && (\n \n \n \n {item.name.en.toLowerCase()}\n \n \n \n \n {item.rejectedQty || \"-\"}\n \n \n \n \n {'-'}\n {/* {`${item.shippedQty || \"\"} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`} */}\n \n \n \n \n {`${item.quantity || \"\"} ${\n item.uom && item.uom === \"Grams\"\n ? displayUnitGrams(item.uom)\n : \"\"\n }`}\n \n \n \n {`${fixDecimals(\n 2,\n item.unitPrice ? item.unitPrice.toString() : \"\"\n )} ${metadata && metadata.currency}`}\n \n \n )}\n
\n ))\n )\n }\n\n const renderInvoiceModal = () => {\n return (\n \n <>\n {loading && }\n {!loading && displayInvoice &&\n <>\n \n \n {numPages === 1 ? (\n {invoiceConsignment}.pdf\n ({numPages} Page)\n ) : (\n {invoiceConsignment}.pdf\n ({numPages} Pages)\n )}\n \n \n zoomOut(scaleNumber)}/>\n {scaleNumber}\n zoomIn(scaleNumber)}\n className={classes.zoomInStyle}/>\n \n \"Modal\n \n\n \n
\n
\n \n {Array.from(new Array(numPages), (el, index) => (\n \n ))}\n \n
\n
\n \n }\n {!loading && !displayInvoice &&\n \n \n setShowInvoiceModal(false)}>\n setShowInvoiceModal(false)}>\n \n \n \n {invoiceMessage}\n \n \n\n }\n \n
\n );\n };\n\n const closeConsignmentEditPopup = useCallback(\n () => {\n setOpenExpressOrderEditPopup(false);\n },\n [],\n );\n\n const handleEditPopup = useCallback(\n () => {\n setOpenExpressOrderEditPopup(true);\n },\n [dispatch],\n );\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n inputFormik.resetForm()\n dispatch(\n closeDialog()\n );\n setTabValue(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.ORDER_DETAIL);\n },\n [closePopup, dispatch],\n );\n\n const handelCancel = () => {\n inputFormik.resetForm();\n setTabValue(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.ORDER_DETAIL);\n }\n\n const handleSubmitOrderComments = useCallback(\n (consignment: any, values: any, desc: string) => {\n const payload = createPayloadToSubmitOrderComments(consignment, values?.reason, values?.comments, desc);\n dispatch(\n submitOrderComments({\n params: payload\n })\n )\n inputFormik.resetForm();\n },\n [dispatch],\n );\n\n const handleInvoicePdf = useCallback(\n (consignment) => {\n const paramsInvoice = {\n consignmentNo: [consignment.consignmentCode]\n };\n setShowInvoiceModal(true);\n dispatch(\n exportInvoicePdf({\n params: paramsInvoice\n })\n )\n },\n [dispatch]\n );\n\n const getCustomerImages = useCallback(\n () => {\n return deliveryInformation && deliveryInformation.deliveryProof && deliveryInformation.deliveryProof.imageURLs ? deliveryInformation.deliveryProof.imageURLs.map((image: any, index: number) => (\n \"customer-delivery-proofs\"\n\n )) : null;\n },\n [deliveryInformation],\n );\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n },\n []\n )\n\n const handleChange = (event: React.ChangeEvent) => {\n setAddressVerified(event.target.checked);\n setOpenAddressPopup(true)\n };\n\n const handleAddressDialogClose = useCallback(\n () => {\n setOpenAddressPopup(false);\n },\n [],\n );\n\n const handleOrderLogs = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchOrderLogs({\n params: consignmentCode\n })\n );\n }\n },\n [dispatch]\n );\n\n const handleOrderComments = useCallback(() => {\n const payload = {\n countryISOCode: countryCode,\n type: AppConstants.EXPRESS_CONSTANTS.DELIVERY_TYPE.ORDER_COMMENTS\n }\n dispatch(\n fetchDeliveryReasons({\n params: payload\n })\n );\n },\n [dispatch]\n );\n\n const handleMarkAddressVerified = useCallback(\n (consignment: any, address: boolean) => {\n const payload = createPayloadToMarkAddressUnverified(consignment, address);\n dispatch(\n getAddressStatus({\n params: payload\n })\n );\n setOpenAddressPopup(false);\n },\n [dispatch]\n )\n\n const updateAddressDialogActionHandler = useCallback(\n (type: string, order?: string, address?: any) => {\n if (type === 'yes') {\n setAddressVerified(true);\n handleMarkAddressVerified(order, true);\n } else {\n setOpenAddressPopup(false);\n setAddressVerified(false);\n }\n },\n [handleMarkAddressVerified],\n )\n\n const getHistoryTimelineItems = () => {\n return historyItems && historyItems.length ? (\n historyItems.map((item: any, index: number) => (\n \n \n {index === 0 ? (\n \n \n \n ) : (\n \n \n \n )}\n {index !== historyItems.length - 1 && }\n \n \n \n {item.displayStatus}\n {`(${getDateOrTimeInReqFormat(\n item.updatedAt,\n AppConstants.DATE_FORMAT\n )} at ${getDateOrTimeInReqFormat(item.updatedAt, AppConstants.SLOT_FORMAT_UI)})`}\n \n {item.reason ? (\n \n {item.reason ? item.reason.reasonDescription : \"\"}\n {`By System on (${new Date(\n item.updatedAt\n ).toLocaleDateString()} at ${new Date(item.updatedAt).toLocaleTimeString(\"en-US\", {\n hour12: false,\n hour: \"numeric\",\n minute: \"numeric\",\n })})`}\n \n ) : consignment.reason && consignment.reason.deliveryStatus === item.displayStatus ? (\n \n \n {consignment.reason ? consignment.reason.reasonDescription : \"\"}\n \n {`By System on (${new Date(\n item.updatedAt\n ).toLocaleDateString()} at ${new Date(item.updatedAt).toLocaleTimeString(\"en-US\", {\n hour12: false,\n hour: \"numeric\",\n minute: \"numeric\",\n })})`}\n \n ) : (\n \"\"\n )}\n {/* {\n checkStatusReason(statusErrorReason, item.statusCode) && \n {statusErrorReason ? statusErrorReason.reasonDescription : \"\"}\n {`By System on (${new Date(item.statusDate).toLocaleDateString()} at ${new Date(item.statusDate).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n \n } */}\n \n \n ))\n ) : (\n No Items to display\n );\n };\n\n const getOrderLogs = () => {\n return orderLogs && orderLogs.length ? (\n orderLogs.map((item: any, index: number) => (\n \n \n {index === 0 ? (\n \n \n \n ) : (\n \n \n \n )}\n {index !== orderLogs.length - 1 && }\n \n \n \n {item.message}\n {isModifiedBySystem(item.lastModifiedBy) && (\n {` (${getDateOrTimeInReqFormat(\n item.updatedAt,\n AppConstants.DATE_FORMAT\n )} at ${getDateOrTimeInReqFormat(item.updatedAt, AppConstants.SLOT_FORMAT_UI)})`}\n )}\n \n {!isModifiedBySystem(item.lastModifiedBy) && (\n \n Updated by\n {item.lastModifiedBy}\n {` (${getDateOrTimeInReqFormat(\n item.updatedAt,\n AppConstants.DATE_FORMAT\n )} at ${getDateOrTimeInReqFormat(item.updatedAt, AppConstants.SLOT_FORMAT_UI)})`}\n \n )}\n \n \n \n ))\n ) : (\n No Items to display\n );\n };\n\n const validationSchemaComment = yup.object({\n reason: yup\n .string()\n .required(AppConstants.EXPRESS_CONSTANTS.VALIDTION_ADDITIONAL_COMMENT.REASON.REQUIRED.msg),\n comments: yup\n .string().when('reason', {\n is: (reason: any) => reason === 'OC21',\n then: yup.string().required(AppConstants.EXPRESS_CONSTANTS.VALIDTION_ADDITIONAL_COMMENT.COMMENT.REQUIRED.msg),\n })\n });\n\n const inputFormik = useFormik({\n initialValues: {\n reason: '',\n comments: '',\n },\n validationSchema: validationSchemaComment,\n onSubmit: (values) => {\n let desc = ''\n orderCommentsList.filter((item: any) => {\n if (values.reason === item.value) {\n desc = item.name\n }\n });\n handleSubmitOrderComments(consignment, values, desc)\n }\n });\n\n const getOrderComments = () => {\n return (\n \n \n \n Comments:\n {orderCommentsAfterSubmit?.comment ?\n {orderCommentsAfterSubmit?.comment?.description}\n :\n {consignment?.comment?.description}\n }\n \n \n Additional Information:\n {orderCommentsAfterSubmit?.comment ?\n {orderCommentsAfterSubmit?.comment?.comments}\n :\n {consignment?.comment?.comments}\n }\n \n \n
\n \n \n \n {TextConstants.ADD_COMMENT}\n \n \n \n \n \n \n \n \n \n {TextConstants.ADDITIONAL_INFO}\n \n \n \n \n \n \n \n \n \n \n {AppConstants.BUTTONS.SUBMIT}\n \n \n \n
\n
\n );\n };\n\n const getAddressDialogTitleContent = () => {\n return (\n \n \n )\n }\n\n\n const fetchStatus = useCallback(\n (consignment: any) => {\n if (Object.keys(consignment).length) {\n let consignmentCode = consignment && consignment.consignmentCode;\n dispatch(\n fetchStatusOnClick({\n params: consignmentCode,\n })\n );\n }\n },\n [dispatch]\n );\n\n const checkRefreshableStatus = () => {\n let status = metadata && metadata.status;\n return (\n AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.REFRESHABLE_STATUSES.indexOf(\n status\n ) !== -1\n );\n };\n\n const handleClick = () => {\n fetchStatus(consignment);\n setRemainingTime(TIMER_CONST.pullTimeForRefresh);\n handleTimerInstances && handleTimerInstances(consignment.consignmentCode);\n };\n\n useEffect(() => {\n let timer: any = {};\n if (timerStarted) {\n timer = setInterval(() => {\n setRemainingTime((prevTime) => prevTime - 1);\n const countdownInstance = Countdown.getInstance();\n setTimersValue(countdownInstance);\n }, 1000); // update every second\n }\n\n return () => {\n clearTimeout(timer);\n };\n }, [timerStarted === true]);\n\n useEffect(() => {\n if (remainingTime === Number(0)) {\n dispatch(resetStatusRefreshButton());\n setShowTime && setShowTime(false);\n }\n }, [remainingTime]);\n\n const getTitleContent = () => {\n return (\n \n \n \n \n \n \n \n CONSIGNMENT ID : \n {consignment.consignmentCode} \n \n \n {consignment && consignment?.secureInfo && consignment?.secureInfo?.isVerified && (\n \n \n \n )} \n {isRapydActivity(consignment?.metadata?.activity) && (\n \n {getRapydActivityImage()}\n \n )} \n {consignmentDataAfterReplanning?.metadata ? (\n \n \n {consignmentDataAfterReplanning?.metadata?.deliveryStatus &&\n consignmentDataAfterReplanning?.metadata?.deliveryStatus}\n \n \n ) : (\n metadata &&\n metadata.deliveryStatus && (\n \n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n \n )\n )}\n {!(isLastMileViewer || isOnlyExpLastMileViewer) && (\n <>\n {consignmentDataAfterReplanning?.metadata\n ? (consignmentDataAfterReplanning.metadata?.deliveryStatus ===\n EXPRESS_DELIVERY_TYPE.DELIVERY_ATTEMPTED ||\n consignmentDataAfterReplanning.metadata?.deliveryStatus ===\n EXPRESS_DELIVERY_TYPE.ON_HOLD) && (\n \n \n \n )\n : checkEditable() && (\n \n \n \n )}\n {checkRefreshableStatus() && (\n \n {!timersValue[consignment.consignmentCode as keyof typeof timersValue] && (\n \n )}\n {setShowTime && timersValue[consignment.consignmentCode as keyof typeof timersValue] && (\n <>\n \n \n {\" \"}\n Refresh in {\n timersValue[consignment.consignmentCode as keyof typeof timersValue]\n } secounds{\" \"}\n \n \n )}\n \n )}\n \n )}\n \n \n {(deliveryInformation && deliveryInformation.carrierTrackingId) || consignment.orderReference ? (\n \n \n {deliveryInformation && deliveryInformation.carrierTrackingUrl ? (\n
\n {`Live Tracking (#${\n deliveryInformation && deliveryInformation.carrierTrackingId\n ? deliveryInformation.carrierTrackingId\n : consignment.orderReference\n ? consignment.orderReference\n : \"\"\n })`}\n
\n handleInvoicePdf(consignment)}>\n {\" \"}\n View Invoice\n \n
\n ) : (\n {`Track Consignment (#${\n deliveryInformation && deliveryInformation.carrierTrackingId\n ? deliveryInformation.carrierTrackingId\n : consignment.orderReference\n ? consignment.orderReference\n : \"\"\n })`}\n )}\n \n {deliveryInformation?.deliveryExecutionStatus && (\n \n
\n \n {deliveryInformation.deliveryExecutionStatus}\n \n \n )}\n \n ) : (\n \"\"\n )}\n \n \n \n );\n };\n\n const addressStatus = (status: any) => {\n if (status === ADDRESS_STATUS.VERIFIED) {\n return \"verified-icon\"/\n } else {\n if (status === ADDRESS_STATUS.UNVERIFIED) {\n return \"unverified-icon\"/\n } else {\n return \"pending-icon\"/\n }\n }\n }\n\n const getCrateItems = () => {\n return crateDetails && crateDetails.length ? crateDetails.map((crate: any, index: number) => (\n \n \n \n \n {crate.crateId}\n \n \n \n \n {crate.productsCountPerCrate !== 0 && crate.productsCountPerCrate}\n \n \n \n \n {crate.locationCode}\n \n \n \n \n )) : (No Items to display)\n }\n\n const handleCrateSummary = () => {\n setIsCratesAvailable(false);\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n handleOrderLogs(consignment)}\n />\n {!(isLastMileViewer || isOnlyExpLastMileViewer) && (\n handleOrderComments()}\n />\n )}\n \n \n \n \n Customer Details\n \n \n \n {custInfo && custInfo.name}\n \n {addressStatusAfterUpdate ? (\n \n {addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED ? (\n info-icon\n ) : (\n \"\"\n )}\n \n ) : (\n \n {addressStatus(custInfo && custInfo.address && custInfo.address.status)}\n \n )}\n \n \n location\n \n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")}\n \n \n \n \n \n \n Mobile\n \n {custInfo ? {custInfo.phone || \"\"} : \"\"}\n \n \n \n \n \n Email\n \n {custInfo ? {custInfo.email || \"\"} : \"\"}\n \n \n \n \n \n {!(isLastMileViewer || isOnlyExpLastMileViewer) && (\n <>\n {!(custInfo && custInfo.address && custInfo.address.status === ADDRESS_STATUS.UNVERIFIED) && (\n \n \n Mark address as inaccurate\n \n }\n control={\n \n }\n />\n \n )}\n \n )}\n \n \n \n \n \n \n \n \n Order No.\n \n \n {consignment.orderCode || \"-\"}\n \n \n \n \n \n \n Delivery Date\n \n \n {deliveryDate || \"-\"}\n \n \n \n \n \n \n Delivery Slot\n \n \n {deliverySlot || \"-\"}\n \n \n \n \n \n \n \n \n \n \n Delivery Proposition\n \n \n {metadata ? metadata.deliveryType : \"-\"}\n \n \n \n \n \n \n Delivery Area\n \n \n \n {custInfo && custInfo.address ? custInfo.address.area : \"-\"}\n \n \n \n \n \n \n \n Payment Mode\n \n \n {metadata ? metadata.paymentType : \"-\"}\n \n \n \n \n \n {metadata && metadata.routeName && (\n \n \n \n \n \n Route No.\n \n \n {metadata.routeName || \"-\"}\n \n \n \n \n \n \n Driver\n \n \n \n {deliveryInformation && deliveryInformation.driver && deliveryInformation.driver.driverName || \"-\"}\n \n \n \n \n \n \n \n Vehicle\n \n \n \n {deliveryInformation && deliveryInformation.vehicle && deliveryInformation.vehicle.name || \"-\"}\n \n \n \n \n \n \n )}\n \n \n \n \n \n Payment Status\n \n \n \n {metadata && metadata.isPaymentReceived ? \"Payment Accepted\" : \"-\"}\n \n \n \n \n\n {deliveryInformation && deliveryInformation.deliveryInstructions && (\n \n \n \n Delivery Instructions\n \n \n \n {deliveryInformation && deliveryInformation.deliveryInstructions || \"-\"}\n \n \n \n \n )}\n\n \n \n {deliveryInformation && deliveryInformation.helper && (\n <>\n \n Helper\n \n \n \n {deliveryInformation && deliveryInformation.helper && deliveryInformation.helper.name || \"-\"}\n \n \n \n )}\n \n \n \n \n\n \n {metadata && metadata?.deliveryStatus === EXPRESS_DELIVERY_TYPE.DELIVERY_ATTEMPTED && (\n \n \n {deliveryAttemptReasons && (\n <>\n \n \n {TextConstants.REASON_ATTEMPTED_DELIVERY}\n \n \n \n \n {deliveryAttemptReasons?.reasonDescription}\n \n \n \n )}\n \n \n )}\n {(metadata?.deliveryStatus ===\n AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA\n .ORDER_STATUS.DELIVERY_FAILED ||\n consignmentDataAfterReplanning?.metadata?.deliveryStatus ===\n AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA\n .ORDER_STATUS.DELIVERY_FAILED) && (\n \n \n {consignmentDataAfterReplanning?.reason ? (\n <>\n \n \n Undelivered Reason\n \n \n \n \n {consignmentDataAfterReplanning.reason &&\n consignmentDataAfterReplanning.reason\n .reasonDescription}\n \n \n \n ) : (\n reason && (\n <>\n \n \n Undelivered Reason\n \n \n \n \n {reason && reason.reasonDescription}\n \n \n \n )\n )}\n \n \n )}\n \n \n \n \n \n Hub Details\n \n \n {hubName}\n \n \n location\n \n {getAddressInfo(posInfo && posInfo.address ? posInfo.address : \"\")}\n \n \n \n {(metadata &&\n metadata.deliveryStatus === AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_STATUS_SELECTION) ||\n (metadata &&\n metadata.deliveryStatus === AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.PARTIALLY_DELIVERED) ? (\n \n \n }\n aria-controls='delivery-proof-content'\n id='delivery-proof-header'\n className={classes.accordionSummary}\n >\n Proof of Delivery\n {consignment && consignment?.secureInfo && consignment?.secureInfo?.isVerified && (\n <> \n
\n \n OTP Delivery\n \n )}\n \n \n \n \n \n \n \n \n \n Images\n \n \n \n {getCustomerImages()}\n \n \n \n \n \n \n \n Customer's\n Signature\n \n \n \n {deliveryInformation &&\n deliveryInformation.deliveryProof &&\n deliveryInformation.deliveryProof.signURL && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n Comments:\n \n \n \n {deliveryInformation && deliveryInformation.deliveryProof\n ? deliveryInformation.deliveryProof.comments\n : \"\"}\n \n \n \n \n \n \n \n \n \n ) : (\n \"\"\n )}\n {metadata && metadata.deliveryGroupStatus !== \"UNASSIGNED\" ? (\n \n \n }\n aria-controls='driver-details-content'\n id='driver-details-header'\n className={classes.accordionSummary}\n >\n Driver Details\n \n \n \n \n \n \n Driver\n Name\n Phone\n Number\n Vehicle\n Type\n Vendor\n \n \n \n \n {driver.driverName || \"-\"}\n {driver.phone || \"-\"}\n {driver.vehicleType || \"-\"}\n {driver.vendor || \"-\"}\n \n \n \n \n \n \n \n ) : (\n \"\"\n )}\n \n \n }\n aria-controls='consignment-history-content'\n id='consignment-history-header'\n className={classes.accordionSummary}\n >\n Items Summary ({totalNumberOfItems})\n \n \n \n \n \n \n \n Product Name\n \n \n Rejected Qty\n \n \n Shipped Qty\n \n \n Ordered Qty\n \n \n Unit Price\n \n \n \n {items?.length > 0 && getItems()}\n {bundleProductList?.length > 0 && getBundleProduct()}\n {items?.length === 0 && bundleProductList?.length === 0 && (\n No Items to display\n )}\n \n \n \n \n \n \n Payment Method\n \n \n {metadata ? metadata.paymentType : \"\"}\n \n \n \n \n \n \n Delivery Charges\n \n \n \n {deliveryInformation && metadata\n ? `${\n fixDecimals(\n 2,\n deliveryInformation.deliveryCost\n ? deliveryInformation.deliveryCost.toString()\n : \"\"\n ) || \"\"\n } ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n \n \n \n \n \n Grand Total(inclusive of VAT)\n \n \n \n \n {metadata\n ? `${\n fixDecimals(2, metadata.totalAmount ? metadata.totalAmount.toString() : \"\") || \"\"\n } ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n \n {metadata &&\n (metadata.paymentType === AppConstants.PLANNING_CONSTANTS.CONSIGNMENTS_DATA.COD_TEXT || metadata?.paymentType && isCardOnDelivery(metadata.paymentType)) ? (\n <>\n \n \n \n \n \n Amount to be Collected\n \n \n \n {metadata\n ? `${\n fixDecimals(\n 2,\n metadata.amountToCollect ? metadata.amountToCollect.toString() : \"\"\n ) || \"\"\n } ${(metadata && metadata.currency) || \"\"}`\n : \"\"}\n \n \n \n \n \n \n \n Collected Amount\n \n {revisedAmountAfterCalculation !== \"\" ? (\n \n {`${revisedAmountAfterCalculation} ${\n (metadata && metadata.currency) || \"\"\n }`}\n \n ) : (\n \n {`${\n metadata.collectedAmount\n ? parseFloat(metadata.collectedAmount.toString()).toFixed(2)\n : \"0.00\"\n } ${(metadata && metadata.currency) || \"\"}`}\n \n )}\n \n \n \n \n ) : null}\n \n \n \n \n \n \n }\n aria-controls='consignment-history-content'\n id='consignment-history-header'\n className={classes.accordionSummary}\n >\n Consignment History\n \n \n \n \n {getHistoryTimelineItems()}\n \n \n \n \n \n \n \n }\n aria-controls='crate-section-content'\n id='crate-section-content'\n className={classes.accordionSummary}\n onClick={() => handleCrateSummary()}\n >\n \n Crate Summary\n \n Total Crates\n {` : ${crateDetails.length} (Estimated ${\n deliveryInformation ? deliveryInformation.estimatedCrates : \"\"\n } Actual ${deliveryInformation ? deliveryInformation.totalCratesCount : \"\"})`}\n \n \n \n \n \n {crateDetails && crateDetails.length ? (\n \n \n \n Crate ID\n \n \n Number of Items\n \n \n Staging Location\n \n \n {getCrateItems()}\n \n ) : (\n <>\n No Crates to display\n \n )}\n \n \n \n \n \n \n \n handleDownloadLogs(consignment)}\n component={downloadLogsIcon} viewBox='0 0 140 32'/>\n \n \n {getOrderLogs()}\n \n \n \n {getOrderComments()}\n \n \n \n );\n }\n\n const getAddressDialogDetailsContent = () => {\n return (\n \n \n \n Do you want to mark this address unverified?\n \n \n )\n };\n\n const getAddressDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n useEffect(() => {\n if (Object.keys(consignmentDataAfterReplanning).length !== 0 || isPolled) {\n let consignmentCode = (consignmentDataAfterReplanning && consignmentDataAfterReplanning.consignmentCode) || consignment?.consignmentCode;\n dispatch(\n fetchConsignmentHistory({\n params: consignmentCode\n })\n );\n }\n }, [consignmentDataAfterReplanning, isPolled, dispatch])\n\n useEffect(() => {\n if (consignment != null) {\n setAddressVerified(false);\n setItems(consignment?.products)\n handleOrderStatusHistory(consignment);\n }\n }, [handleOrderStatusHistory, consignment]);\n\n return (\n <>\n \n {renderInvoiceModal()}\n \n {openExpressOrderEditPopup && }\n \n )\n}\n\nexport default ExpressOrderDetails;","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 20,\n fontWeight: 700,\n lineHeight: \"28px\",\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n }\n },\n '& .tagContainer': {\n marginLeft: theme.spacing(1),\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .detailsHeader': {\n flexDirection: \"column\",\n backgroundColor: COLORS.TRANSPARENT_BLUE,\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .headerItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& .contactItemContainer': {\n alignItems: \"center\",\n flexWrap: \"nowrap\"\n },\n '& p': {\n lineHeight: \"17px\",\n fontSize: 14\n },\n '& .name': {\n fontWeight: 600\n },\n '&.geocodedAddress': {\n paddingBottom: theme.spacing(2),\n '& .addressColItem': {\n alignSelf: \"flex-start\"\n },\n '& .geoLocAddressContainer': {\n cursor: \"pointer\",\n '& .address': {\n fontSize: 12,\n fontWeight: 600,\n color: theme.palette.primary.main,\n lineHeight: \"14px\",\n paddingRight: 3\n },\n '& .addressLogo': {\n width: 12,\n height: 12,\n transform: \"rotate(0deg)\",\n transition: \"transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n '&.open': {\n transform: \"rotate(180deg)\",\n }\n }\n },\n '& .addressMapContainer': {\n height: 243,\n border: `1px solid ${COLORS.SILVER}`,\n borderRadius: theme.spacing(1),\n marginTop: theme.spacing(1),\n backgroundColor: COLORS.SILVER\n }\n },\n '& .contactMobile': {\n marginRight: theme.spacing(5)\n },\n '& .logo': {\n width: 24,\n height: 24\n },\n '& .contact': {\n '& a': {\n lineHeight: \"17px\",\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(0.25)\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '&.hubDetails': {\n paddingBottom: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n }\n }\n },\n '& .sellerDetails': {\n paddingTop: theme.spacing(1.75),\n '& .detailsHeader': {\n backgroundColor: theme.palette.secondary.main\n }\n },\n '& .driverDetails': {\n paddingBottom: theme.spacing(1)\n },\n '& .deliveryProofSection': {\n paddingBottom: theme.spacing(1),\n '& .content': {\n width: \"100%\",\n '& .deliveryProofContainer': {\n flexDirection: \"column\",\n '& .deliveryProofItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .imagesContainer': {\n flexWrap: \"nowrap\",\n '& .imagesItem': {\n marginRight: theme.spacing(1.5),\n width: \"50%\",\n height: 145,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n padding: theme.spacing(2),\n '&:last-child': {\n marginRight: 0\n },\n '& .imageItemContainer': {\n flexDirection: \"column\",\n '& .imageItem': {\n paddingBottom: theme.spacing(2),\n '& .heading': {\n fontSize: 14,\n fontWeight: 500\n },\n '& .allImagesContainer': {\n flexWrap: \"nowrap\",\n overflow: \"auto\",\n '& .viewerContainer': {\n display: \"flex\"\n },\n '&.sign': {\n justifyContent: \"space-around\",\n },\n '& img': {\n width: \"auto\",\n height: 64,\n cursor: \"pointer\",\n marginRight: theme.spacing(1.5),\n \"&:last-child\": {\n marginRight: 0\n }\n }\n }\n }\n }\n }\n },\n '& .commentsContainer': {\n flexDirection: \"column\",\n padding: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n borderRadius: theme.spacing(1),\n '& .commentsItem': {\n paddingBottom: theme.spacing(0.75),\n '& p': {\n fontWeight: 500,\n fontSize: 12\n },\n '& .heading': {\n fontSize: 14\n }\n }\n }\n }\n }\n }\n },\n '& .consignmentHistory': {\n paddingBottom: theme.spacing(1)\n },\n '& .tabularSection': {\n paddingBottom: theme.spacing(1),\n '&:last-child': {\n paddingBottom: 0\n },\n '&.crates': {\n '& .itemsContainer .item .itemContainer .itemColumn.item1 p': {\n fontWeight: 600,\n },\n '& .itemsContainer .item .itemContainer .itemColumn.item1 .header p': {\n fontWeight: 500,\n },\n '& .crateBarcode': {\n width: 40,\n height: 15,\n marginLeft: theme.spacing(3)\n },\n '& .crateStageLocationIcon': {\n width: 16,\n height: 16,\n marginRight: theme.spacing(1)\n }\n },\n '& .itemDiv': {\n padding: theme.spacing(0),\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"right\"\n }\n }\n }\n }\n }\n },\n '& .paymentContainer': {\n padding: 16,\n paddingTop: 13,\n '& .totalDivider': {\n margin: \"11px 0px\"\n },\n '& .paymentItem': {\n '&:last-child p': {\n fontWeight: 600\n },\n padding: \"5px 0\",\n '& .paymentItemColumn': {\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .vat': {\n fontWeight: 400,\n paddingLeft: theme.spacing(0.25)\n },\n '&.right': {\n marginLeft: \"auto\"\n }\n }\n }\n }\n }\n }\n }\n },\n mycontentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .detailsHeader': {\n padding: theme.spacing(3),\n borderRadius: \"4px\",\n background: \"#FFFFFF\",\n boxShadow: \"0px 4px 48px rgba(0, 0, 0, 0.08)\",\n backdropFilter: \"blur(24px)\",\n '& .vehicleType': {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"12px\",\n fontWeight: 700,\n marginRight: \"8px\",\n textTransform: \"capitalize\"\n }\n },\n '& .deliveryDetails': {\n marginTop: \"12px\",\n '& .delivery': {\n fontSize: \"14px\",\n fontWeight: 400\n },\n '& .deliveryTimeDetails': {\n fontSize: \"14px\",\n fontWeight: 700,\n lineHeight: \"16px\",\n '&.time': {\n marginLeft: \"6px\"\n }\n },\n '& .location': {\n width: \"16px\",\n height: \"16px\",\n marginRight: \"8px\"\n }\n },\n '& .driverComponent': {\n marginTop: \"8px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n height: \"40px\",\n background: \"#FAFAFB\",\n padding: \"12px\",\n '& .driverTitle': {\n fontSize: \"14px\",\n fontWeight: 700,\n lineHeight: \"16px\"\n },\n '& .refresh': {\n height: \"24px\",\n width: \"24px\"\n }\n },\n '& .driverListContainer': {\n paddingBottom: theme.spacing(1),\n marginTop: \"16px\",\n '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.header': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 600,\n height: \"56px\",\n background: \"#e6e6e6\",\n },\n },\n '& .list-container': {\n display: \"flex\",\n height: \"60px\",\n background: \"#FFFFFF\",\n boxShadow: \"0px 4px 48px rgb(0 0 0 / 8%)\",\n backdropFilter: \"blur(24px)\",\n marginTop: \"8px\",\n borderLeft: \"6px solid #c4c4c4\",\n '&.assignedList': {\n borderLeft: \"6px solid #F5C45D\",\n },\n '&.unassignedList': {\n borderLeft: \"6px solid #3ABA71\"\n },\n \"&$selected\": {\n border: \"2px solid #0E5AA7\"\n },\n },\n '& .driverStatus': {\n background: \"#FFFFFF\",\n border: \"1.5px solid #319E60\",\n borderRadius: \"4px\",\n fontWeight: 600,\n fontSize: 12,\n color: \"#319E60\",\n maxWidth: \"117px\",\n height: \"24px\",\n padding: \"4px\",\n '&.INFO_BLUE': {\n borderColor: COLORS.INFO_BLUE,\n color: COLORS.INFO_BLUE\n },\n '&.SEA_GREEN': {\n borderColor: COLORS.SEA_GREEN,\n color: COLORS.SEA_GREEN\n },\n '&.OCEAN_GREEN': {\n borderColor: COLORS.OCEAN_GREEN,\n color: COLORS.OCEAN_GREEN\n },\n '&.GOLDEN_BELL': {\n borderColor: COLORS.GOLDEN_BELL,\n color: COLORS.GOLDEN_BELL\n },\n '&.GREY_SCALE': {\n borderColor: COLORS.GREY_SCALE,\n color: COLORS.GREY_SCALE\n }\n },\n '& .buttonsContainer': {\n marginTop: \"8px\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n /* '&.primary': {\n background: \"#DD2326\",\n\n } */\n }\n }\n /* '& .itemContainer': {\n padding: theme.spacing(0, 2),\n '&.items': {\n backgroundColor: COLORS.SECONDARY_MAIN,\n padding: theme.spacing(2),\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n },\n '& .itemColumn': {\n padding: theme.spacing(0),\n '&.item1': {\n \"& p\": {\n fontWeight: 400,\n textTransform: \"capitalize\"\n },\n '& .rejectedReason': {\n fontSize: 10,\n color: COLORS.ALIZARIN_CRIMSON\n },\n '& .viewOriginalLink': {\n fontSize: 9,\n color: COLORS.COPY,\n cursor: \"pointer\",\n paddingRight: 6\n },\n '& .originalName': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 400,\n }\n },\n '&.item2': {\n '& p': {\n textAlign: \"center\",\n '& .green': {\n color: COLORS.PERSIAN_GREEN\n }\n }\n },\n '&.item3': {\n '& p': {\n textAlign: \"center\"\n }\n }\n }\n } */\n },\n '& .tagContainer': {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '& .contentRowContainer': {\n justifyContent: \"space-between\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1.5 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600\n }\n },\n '&.twoItems': {\n '& .contentColumn': {\n '&:last-child': {\n flex: \"2.5 0 0\"\n }\n }\n },\n '&.btnContainer': {\n '& .contentColumn': {\n flex: \"1 0 auto\",\n '& .resetPasswordBtn': {\n width: \"100%\"\n },\n '& .endSessionBtn': {\n width: \"300px\"\n },\n }\n }\n }\n },\n '& .hubItemsSection': {\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n paddingBottom: theme.spacing(2)\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n justifyContent: \"space-between\",\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n }\n }\n }\n }\n }\n }\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '&.error': {\n color: COLORS.DARK_RED,\n '&.active': {\n paddingBottom: 17\n }\n },\n '&.active': {\n // paddingBottom: 17\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n }\n }\n }\n },\n noData: {\n fontSize: \"14px\",\n padding: \"24px\"\n },\n selected: {\n background: \"yellow\"\n },\n searchTextbox: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n '& .MuiOutlinedInput-root': {\n minWidth: 300\n },\n },\n main: {\n display: \"flex\"\n },\n checkbox: {\n marginLeft: \"0px\"\n },\n legend: {\n fontSize: 14,\n fontWeight: 500,\n lineHeight: \"16px\",\n color: COLORS.TEXT_PRIMARY,\n marginRight: theme.spacing(2)\n },\n assignedStatusIcon: {\n color: COLORS.GOLDEN_BELL,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n unassignedStatusIcon: {\n color: COLORS.OCEAN_GREEN,\n width: 10,\n height: 10,\n marginRight: theme.spacing(0.75),\n marginTop: \"2px\"\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 680\n },\n confirmDialogPaperPropsRoot: {\n width: 338,\n height: 214,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n confirmDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n lineHeight: 1.2,\n },\n '&.heading': {\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n confirmDialogButtonsContainer: {\n justifyContent: \"center\",\n '& .dialogBtn': {\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n verticalDiv: {\n color: \"#0E5AA7\",\n height: \"16px\",\n background: \"#0E5AA7\",\n width: \"2px\",\n margin: \"2px 16px 0px 16px\"\n },\n pdfDocStyle: {\n overflow: \"scroll\",\n height: \"890px\"\n },\n pdfHeader: {\n position: \"absolute\",\n backgroundColor: \"#393939\",\n height: \"56px\",\n width: \"100%\",\n zIndex: 1,\n },\n pdfRoot: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n zoomOutStyle: {\n marginRight: \"10px\",\n cursor: \"pointer\",\n marginTop: \"20px\"\n },\n zoomInStyle: {\n cursor: \"pointer\",\n marginTop: \"12px\",\n marginLeft: \"16px\"\n },\n pdfName: {\n fontSize: 14,\n fontWeight: 600,\n color: COLORS.WHITE,\n lineHeight: \"17px\",\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\"\n },\n pdfScaleNo: {\n backgroundColor: \"#000408\",\n width: \"44px\",\n height: \"24px\",\n padding: \"6px\",\n color: \"white\"\n },\n invoiceModalBody: {\n borderRadius: \"8px\",\n '& .react-pdf__Page': {\n marginTop: \"56px\",\n '& .react-pdf__Page__canvas': {\n margin: \"0 auto\",\n height: \"100% !important\",\n overflow: \"auto\",\n minWidth: \"1064px\"\n },\n },\n '& .react-pdf__Page__annotations.annotationLayer': {\n padding: \"8px\",\n },\n },\n countSection: {\n margin: 'auto',\n width: 100,\n height: 40,\n borderRadius: 100,\n backgroundColor: COLORS.FOOTER_COUNT_BACKGROUND,\n color: COLORS.WHITE,\n left: \"calc(50% - 40px)\",\n bottom: \"38px\",\n position: \"fixed\",\n zIndex: 100,\n '& .countContainer': {\n height: \"100%\",\n '& .countItem': {\n margin: \"auto\",\n '& p': {\n fontSize: 16,\n fontWeight: 400\n },\n '& .current': {\n fontWeight: 500\n },\n '& .separator': {\n padding: \"0 2px\"\n }\n }\n }\n },\n closeModalIcon: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingRight: \"48px\"\n },\n modalTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n padding: \"24px\",\n },\n applyModalBodyTitle: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n fontWeight: 600,\n fontSize: \"16px\",\n lineHeight: \"20px\",\n paddingTop: \"16px\",\n },\n noPdfModal: {\n border: \"none\",\n minWidth: \"800px\",\n minHeight: \"500px\",\n maxHeight: \"890px\",\n backgroundColor: COLORS.SECONDARY_LIGHT,\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-40%, -50%)\",\n padding: \"24px\",\n textAlign: \"center\",\n borderRadius: \"8px\",\n },\n closeButton: {\n position: 'absolute',\n right: \"12px\",\n top: \"12px\",\n color: theme.palette.primary.main\n },\n closeNoPdfModalIcon: {\n position: 'absolute',\n right: \"-20px\",\n top: \"-21px\",\n width: \"40px\",\n height: \"40px\",\n zIndex: 1,\n cursor: \"pointer\",\n },\n noInvoiceMsg: {\n fontSize: \"18px\",\n fontWeight: 500,\n marginTop: \"24px\"\n },\n openX: {\n transform: \"scaleX(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeX: {\n transform: \"scaleX(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n openY: {\n transform: \"scaleY(1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n },\n closeY: {\n transform: \"scaleY(-1)\",\n height: 18,\n width: 20,\n color: COLORS.COPY\n }\n }),\n);","import React, {useCallback, forwardRef, ReactElement, Ref, useState, useEffect} from 'react';\nimport {useDispatch, useSelector} from \"react-redux\";\n//common components\nimport CustomDialog from '../common/Dialog';\nimport TextBox from '../common/TextBox';\n//redux\nimport {closeDialog, fetchDriversList, assignDriverManually, getAddressStatus} from './redux/expressSlice';\nimport {AppState} from \"../config/redux/reducers\";\n//material-ui components\nimport {TransitionProps} from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport Lens from \"@material-ui/icons/Lens\";\nimport {\n Grid,\n Typography,\n ListItemText,\n Box,\n List,\n ListItem,\n Button,\n IconButton,\n InputAdornment,\n SvgIcon,\n FormControlLabel,\n Checkbox\n} from '@material-ui/core';\n//assets\nimport bikeCircledIcon from './../assets/icons/bike-icon.svg';\nimport carCircledIcon from './../assets/icons/car-circled.svg';\nimport carIcon from './../assets/icons/Car.svg';\nimport bikeIcon from './../assets/icons/bike.svg';\nimport locationIcon from './../assets/icons/map-pin.svg';\nimport refreshIcon from './../assets/icons/refresh.svg';\nimport clockIcon from './../assets/icons/clock.svg';\nimport verifiedIcon from './../assets/icons/verified-icon.svg';\nimport unverifiedIcon from './../assets/icons/unverified-icon.svg';\nimport pendingIcon from './../assets/icons/pending-icon.svg';\n//styles\nimport {useStyles} from './DriverAssignment.styles';\nimport AppConstants from \"../constants\";\nimport {getAddressInfo} from 'mocks/routePlanning/response.transforms';\n//utils\nimport {localTimeString} from 'utils/helpers.utils';\nimport {\n createPayloadToFetchDriverList,\n driverStatusField,\n createPayloadToAssignDriver,\n getWaitTimeForDriver,\n createPayloadToMarkAddressUnverified\n} from './../mocks/express/response.transforms';\n//constants\nimport {ADDRESS_STATUS} from '../constants/CommonConstants';\n\ninterface DriverAssignmentProps {\n open: boolean;\n consignment: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst DriverAssignment = (props: DriverAssignmentProps) => {\n\n const dispatch = useDispatch();\n const classes = useStyles();\n const {driversList, consignmentDataAfterAddressUpdate} = useSelector(\n (state: AppState) => state.expressDashboard\n )\n const {countryCode} = useSelector(\n (state: AppState) => state.common\n );\n const {open, consignment, closePopup} = props;\n\n const [selectedIndex, setSelectedIndex] = useState(null);\n const [isDriverSelected, setIsDriverSelected] = useState(false);\n const [searchValue, setSearchValue] = useState(\"\");\n const [listToShow, setListToShow] = useState([]);\n const [addressVerified, setAddressVerified] = useState(false);\n const [openAddressPopup, setOpenAddressPopup] = useState(false);\n let deliveryInformation: any = {};\n let metadata: any = {};\n let custInfo: any = {\n address: {}\n };\n let deliveryTime: any;\n let items: any = [];\n let deliveryInformationAfterAddressUpdate: any = {};\n let custInfoAfterAddressUpdate: any = {\n address: {}\n }\n let addressStatusAfterUpdate = \"\"\n let isCheckboxDisabled = false;\n\n if (consignment) {\n deliveryInformation = consignment.deliveryInformation;\n metadata = consignment.metadata;\n custInfo = deliveryInformation && deliveryInformation.customerContactInfo;\n if (deliveryInformation && deliveryInformation.deliverySlot) {\n const endTime = new Date(deliveryInformation.deliverySlot.endTime);\n deliveryTime = `${localTimeString(endTime)}`;\n }\n items = consignment.products;\n }\n if (consignmentDataAfterAddressUpdate) {\n deliveryInformationAfterAddressUpdate = consignmentDataAfterAddressUpdate.deliveryInformation;\n custInfoAfterAddressUpdate = deliveryInformationAfterAddressUpdate?.customerContactInfo;\n addressStatusAfterUpdate = custInfoAfterAddressUpdate?.address?.status;\n if (addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED) {\n isCheckboxDisabled = true;\n }\n }\n\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const confirmDialogPaperProps = {\n classes: {\n root: classes.confirmDialogPaperPropsRoot\n }\n };\n\n const fetchDriversLists = useCallback(\n (consignment: any, countryCode: any) => {\n if (Object.keys(consignment).length) {\n const payload = createPayloadToFetchDriverList(countryCode, consignment.posInformation);\n dispatch(\n fetchDriversList({\n payload: payload\n })\n );\n setSelectedIndex(null);\n }\n },\n [dispatch]\n );\n\n const getStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n }\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n setSelectedIndex(null);\n dispatch(\n closeDialog()\n );\n },\n [closePopup, dispatch],\n );\n\n const manuallyAssignDriver = useCallback(\n (selectedDriver: any, consignment: any) => {\n const payload = createPayloadToAssignDriver(selectedDriver, consignment);\n dispatch(\n assignDriverManually({\n payload: payload\n })\n );\n closePopup();\n },\n [dispatch, closePopup]\n );\n\n const handleListItemClick = (event: any, index: any) => {\n setSelectedIndex(index);\n let selectedItem = driversList.at(index);\n if (selectedItem.status === AppConstants.EXPRESS_CONSTANTS.DRIVER_STATUS.OUT_FOR_DELIVERY || selectedItem.category === AppConstants.EXPRESS_CONSTANTS.DRIVERS_CATEGORY.OTHERS) {\n setIsDriverSelected(false);\n } else {\n setIsDriverSelected(true);\n }\n };\n\n const handleSearchBoxTextChange = (event: any) => {\n const searchValue = event.target.value;\n setSearchValue(searchValue);\n };\n\n const handleSearch = () => {\n if (searchValue === \"\") {\n setListToShow(driversList);\n } else {\n const searchedDriverList = [...driversList].filter((driver: any) => {\n const name = driver.driverName.toLowerCase();\n const search = searchValue.toLowerCase();\n return name.includes(search);\n });\n setListToShow(searchedDriverList);\n }\n };\n\n const handleAssignDriver = () => {\n let selectedDriver = listToShow.at(selectedIndex);\n if (selectedDriver) {\n manuallyAssignDriver(selectedDriver, consignment);\n }\n };\n\n const handleCancel = () => {\n setSelectedIndex(null);\n setListToShow(driversList);\n setSearchValue(\"\");\n setIsDriverSelected(false);\n };\n\n const handleChange = (event: React.ChangeEvent) => {\n setAddressVerified(event.target.checked);\n setOpenAddressPopup(true)\n };\n\n const handleMarkAddressVerified = useCallback(\n (consignment: any, address: boolean) => {\n const payload = createPayloadToMarkAddressUnverified(consignment, address);\n dispatch(\n getAddressStatus({\n params: payload\n })\n );\n setOpenAddressPopup(false);\n },\n [dispatch]\n )\n\n const updateAddressDialogActionHandler = useCallback(\n (type: string, order?: string, address?: any) => {\n if (type === 'yes') {\n setAddressVerified(true);\n handleMarkAddressVerified(order, true);\n } else {\n setOpenAddressPopup(false);\n setAddressVerified(false);\n }\n },\n [handleMarkAddressVerified],\n )\n\n const addressStatus = (status: any) => {\n if (status === ADDRESS_STATUS.VERIFIED) {\n return \"verified-icon\"/\n } else {\n if (status === ADDRESS_STATUS.UNVERIFIED) {\n return \"unverified-icon\"/\n } else {\n return \"pending-icon\"/\n }\n }\n }\n\n const getTitleContent = () => {\n return (\n \n \n \n \n Driver Assignment \n \n \n \n \n )\n }\n\n const getDriversList = () => {\n return listToShow && listToShow.length ? listToShow.map((driver: any, index: number) => (\n handleListItemClick(event, index)}\n classes={{\n selected: classes.selected\n }}>\n < ListItemText>\n \n \n {driver.driverName}\n \n {driver.vehicleType === AppConstants.EXPRESS_CONSTANTS.VEHICLE_TYPE.BIKE ?\n \"Bike\"/ : \"car\"}\n {driver.status}\n \n \n {driver.category === AppConstants.EXPRESS_CONSTANTS.DRIVERS_CATEGORY.OTHERS ? \"-\" : driver.proximityToHub === 0.0 ? \"In hub\" : driver.proximityToHub + \" km\"}\n {(driver.status === AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES.AVAILABLE.value || (driver.status === AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES.ASSIGNED.value && driver.proximityToHub === 0.0)) ? (\n \n \"clock\"\n\n {getWaitTimeForDriver(driver.hubCheckInTime) + \" mins\"}\n \n ) : ''}\n \n \n {driver.assignments}\n \n \n \n )) : (No Drivers to display)\n }\n\n const getDetailsContent = () => {\n return (\n \n\n \n \n \n \n Consignment ID :\n {consignment.consignmentCode}\n \n {\n metadata && metadata.deliveryStatus &&\n \n {metadata && metadata.deliveryStatus ? metadata.deliveryStatus : \"\"}\n \n }\n \n \n {deliveryInformation && deliveryInformation.preferredVehicle ? deliveryInformation.preferredVehicle : \"\"} Delivery\n {deliveryInformation && deliveryInformation.preferredVehicle === AppConstants.EXPRESS_CONSTANTS.VEHICLE_TYPE.BIKE ?\n \"bike\"/\n :\n \"car-circled\"/\n }\n \n \n \n \n Delivery Time\n \n \n \n {deliveryTime}\n {deliveryInformation && deliveryInformation.deliverySlot && deliveryInformation.deliverySlot.promiseDeliveryTime &&\n ({deliveryInformation.deliverySlot.promiseDeliveryTime + \" mins\"})\n }\n \n \n\n \n \n \n Total Items\n \n \n \n {items && items.length}\n {deliveryInformation && deliveryInformation.totalWeight &&\n ({deliveryInformation.totalWeight + \" kg\"})\n }\n \n \n \n \n Customer Details\n \n \n \n {custInfo && custInfo.name}\n \n {addressStatusAfterUpdate ? (\n \n {addressStatusAfterUpdate === ADDRESS_STATUS.UNVERIFIED ?\n \"info-icon\"/\n : \"\"}\n \n ) :\n \n {addressStatus(custInfo?.address?.status)}\n \n }\n \n \n \"location\"\n {getAddressInfo(custInfo && custInfo.address ? custInfo.address : \"\")}\n\n \n {!(custInfo?.address?.status === ADDRESS_STATUS.UNVERIFIED) &&\n \n Mark address as inaccurate}\n control={\n \n }\n />\n \n }\n \n \n Drivers List\n \"refresh\" fetchDriversLists(consignment, countryCode)}/>\n \n \n \n \n \n \n Unassigned\n \n \n \n Assigned\n \n \n \n \n \n \n \n \n \n Driver Name\n Vehicle\n Status\n \n Proximity
to hub
\n
\n \n Orders\n \n
\n \n \n {getDriversList()}\n \n \n \n \n \n \n \n \n \n\n
\n
\n )\n }\n\n const handleAddressDialogClose = useCallback(\n () => {\n setOpenAddressPopup(false);\n },\n [],\n );\n\n const getAddressDialogTitleContent = () => {\n return (\n \n \n )\n }\n\n const getAddressDialogDetailsContent = () => {\n return (\n \n \n \n Do you want to mark this address unverified?\n \n \n )\n };\n\n const getAddressDialogActions = () => {\n return (\n \n \n \n \n )\n }\n\n useEffect(() => {\n if (driversList && driversList.length) {\n setListToShow(driversList);\n setSelectedIndex(null);\n }\n }, [driversList])\n\n useEffect(() => {\n if (consignment !== null) {\n setSelectedIndex(null);\n fetchDriversLists(consignment, countryCode);\n }\n }, [fetchDriversLists, countryCode, consignment]);\n\n useEffect(() => {\n handleSearch();\n }, [searchValue]);\n\n return (\n <>\n \n \n \n )\n}\n\nexport default DriverAssignment;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8487 9.23168C16.8252 9.13165 16.7775 9.03895 16.7096 8.96178C16.6417 8.88462 16.5559 8.82538 16.4597 8.78929L11.9573 7.10091L13.1031 1.37207C13.1298 1.23873 13.1122 1.10033 13.0531 0.977862C12.994 0.855397 12.8966 0.755549 12.7756 0.693462C12.6546 0.631376 12.5167 0.610438 12.3827 0.633826C12.2488 0.657214 12.1261 0.72365 12.0333 0.823058L3.28333 10.1981C3.21322 10.2732 3.16271 10.3644 3.13627 10.4637C3.10984 10.563 3.10829 10.6673 3.13177 10.7673C3.15525 10.8674 3.20304 10.9601 3.27089 11.0372C3.33875 11.1144 3.42458 11.1736 3.52079 11.2097L8.02317 12.8981L6.87738 18.6269C6.85071 18.7603 6.86825 18.8987 6.92735 19.0212C6.98645 19.1436 7.08388 19.2435 7.20487 19.3056C7.32586 19.3677 7.4638 19.3886 7.59776 19.3652C7.73172 19.3418 7.8544 19.2754 7.94718 19.1759L16.6972 9.80095C16.7673 9.72583 16.8178 9.63458 16.8442 9.53529C16.8707 9.436 16.8722 9.33172 16.8487 9.23168Z\",\n fill: \"#FFDF28\"\n});\n\nvar SvgLightning = function SvgLightning(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLightning, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Lightning.d2efa559.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useCallback, useEffect, useRef, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\n//common components\nimport {AppState} from \"../config/redux/reducers\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\n//redux\nimport {userLogout} from \"../Login/redux/loginSlice\";\nimport {\n fetchOrdersFilterChipsDisplayCount,\n fetchPlanningOrderListByFilter,\n exportToExcel,\n downloadOrderLogs\n} from './redux/expressSlice';\n//Material UI Components\nimport {CellParams, SortModel} from \"../common/GridWrapper/DataTable\";\nimport {Grid, IconButton, SvgIcon, Typography} from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close';\n//styles\nimport {useStyles} from \"./express.styles\";\n//assets\nimport {ReactComponent as checkIcon} from './../assets/icons/circle-checked-icon.svg';\nimport locationIcon from './../assets/icons/map-pin.svg';\n//other components\nimport {TIMER_CONST} from \"../constants/CommonConstants\"\nimport {Countdown} from '../utils/countdownTimer'\nimport { isRapydActivity } from \"../utils/helpers.utils\";\nimport ExpressOrderDetails from \"./ExpressOrderDetails\";\nimport DriverAssignment from './DriverAssignment';\nimport {\n createChipsCountFilterPayload,\n createFilterPayload,\n expressOrdersDataTransform,\n getConsignmentStatusField,\n getOrderStatusField\n} from \"../mocks/express/response.transforms\";\nimport {ReactComponent as RapydIcon} from './../assets/icons/Lightning.svg';\n\ninterface ExpressProps {\n match?: any;\n location?: any;\n}\n\nconst Express = (props: ExpressProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n const {\n ordersData,\n ordersFilterChipsDisplayCount,\n ordersFiltersDropdowns,\n tableLoading,\n loading,\n error,\n errorCode,\n excelLoading,\n exportError,\n driverAssigned,\n replanningConsignmentSuccess,\n isAddressUpdated,\n isPolled,\n areOrderCommentsAdded\n } = useSelector(\n (state: AppState) => state.expressDashboard\n );\n const {countryCode, hubCode} = useSelector(\n (state: AppState) => state.common\n );\n const {isLastMileViewer, isOnlyExpLastMileViewer} = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const hubCountryCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n\n const [showTime, setShowTime] = useState(false);\n\n const onLoadRef = useRef(true);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isTabChange, setIsTabChange] = useState(false);\n \n const getRapydActivityImage = () => {\n return (\n \n );\n \n };\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = {...header};\n if (newHeader.field === \"consignmentId\") {\n newHeader.renderCell = (params: CellParams) => (\n \n \n {params.value}\n \n {isRapydActivity(params?.rowData?.activity) && (\n <> {getRapydActivityImage()}\n )}\n \n );\n }\n if (newHeader.field === 'status') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'deliveryStatus') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'deliveryArea') {\n newHeader.renderCell = (params: CellParams) => (\n \n {params.value}\n \n \"info-icon\"\n \n \n )\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj, dateRange: {\n ...AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange,\n value: {\n startDate: moment().format(AppConstants.DATE_FORMAT),\n endDate: moment().format(AppConstants.DATE_FORMAT)\n }\n }\n }\n });\n\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({...ordersTableWrapperData.defaultFiltersObj});\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const [openConsignmentDetailsPopup, setOpenConsignmentDetailsPopup] = useState(false);\n const [openDriverAssignmentPopup, setOpenDriverAssignmentPopup] = useState(false);\n const [consignmentData, setConsignmentData] = useState({});\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const handleDownloadLogs = useCallback(\n (consignment: any) => {\n if (ordersActiveFilters) {\n let payloadFilters: any = _.cloneDeep(ordersActiveFilters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payload = createFilterPayload(payloadFilters, ordersData, false, hubCountryCode, activeOrdersFilterChip);\n payload.searchAttribute = {\n key: 'consignmentCode',\n value: consignment?.consignmentCode\n }\n dispatch(\n downloadOrderLogs({\n payload: payload\n })\n );\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ordersData, hubCountryCode, activeOrdersFilterChip, ordersActiveFilters]\n )\n\n const handleExcelExport = useCallback(\n (filters: any) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payload = createFilterPayload(payloadFilters, ordersData, false, hubCountryCode, activeOrdersFilterChip);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n }\n setRenderExcelProgress(true);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ordersData, hubCountryCode, activeOrdersFilterChip]\n )\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'excel':\n handleExcelExport(ordersActiveFilters);\n break;\n default:\n break;\n }\n }\n },\n [ordersActiveFilters, handleExcelExport]\n );\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n \n\n const getFilterChipsCount = useCallback(\n (payload: any) => {\n setIsDisplayCount(false);\n dispatch(\n fetchOrdersFilterChipsDisplayCount({\n payload: payload\n })\n );\n setIsDisplayCount(true);\n },\n [dispatch],\n )\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean, selectedChip?: any, isChipClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n selectedChip = activeOrdersFilterChip;\n }\n const payload = createFilterPayload(payloadFilters, ordersData, isLoadMore, hubCountryCode, selectedChip);\n let payloadFilters2 = _.cloneDeep(filters);\n payloadFilters2.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payloadForCount = createChipsCountFilterPayload(payloadFilters2, ordersData, isLoadMore, hubCountryCode);\n getFilterChipsCount(payloadForCount);\n if (isLoadMore) {\n setIsTabChange(false);\n }\n dispatch(\n fetchPlanningOrderListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [ordersData, ordersTableWrapperData, activeOrdersFilterChip, dispatch, hubCountryCode, getFilterChipsCount],\n );\n\n const getFilterChips = () => {\n const filterChips = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n handleChipFilter(chip, ordersActiveFilters)}>\n \n \n {chip.value}\n \n \n {ordersFilterChipsDisplayCount.consignmentCount[chip.code]}\n \n \n \n ))\n };\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'consignmentId') {\n const selectedRow: any = params.rowData;\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenConsignmentDetailsPopup(true);\n }\n if (params.field === 'actions') {\n const selectedRow: any = params.rowData;\n if (selectedRow.actions !== null) {\n const selectedConsignment = ordersData.elements.filter((item: any) => item.consignmentCode === selectedRow.consignmentId);\n setConsignmentData(selectedConsignment.length ? selectedConsignment[0] : {});\n setOpenDriverAssignmentPopup(true);\n }\n }\n },\n [ordersData]\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.EXPRESS_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({...ordersTableWrapperData, loadMore: loadMoreState});\n },\n [ordersTableWrapperData, ordersData]\n );\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any) => {\n let filters = {...activeFilters};\n setIsTabChange(true);\n onLoadRef.current = false;\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n let isChipClicked = true;\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true, chip.code, isChipClicked);\n }\n setRenderExcelProgress(false);\n },\n [ordersFilterCallback, activeOrdersFilterChip]\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenConsignmentDetailsPopup(false);\n },\n [],\n );\n\n const closeDriverAssignmentPopup = useCallback(\n () => {\n setOpenDriverAssignmentPopup(false);\n setConsignmentData({});\n }, []\n );\n\n useEffect(() => {\n if (isLastMileViewer || isOnlyExpLastMileViewer) {\n let headerDataWithoutActions = ordersTableWrapperData.HeaderData.map((data: any) => {\n if (data.field === \"actions\") {\n data.hide = true;\n }\n return data;\n });\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: headerDataWithoutActions});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLastMileViewer, isOnlyExpLastMileViewer]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(ordersFilterChipsDisplayCount.consignmentCount).filter((key: string) => ordersFilterChipsDisplayCount.consignmentCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({code: chips.length ? selectedChipValue : activeOrdersFilterChip}, ordersActiveFilters)\n } else {\n setOrdersListToShow(expressOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFilterChipsDisplayCount, ordersData]);\n\n useEffect(() => {\n if (driverAssigned) {\n openSnackbarPopup(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_ASSIGNED_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [driverAssigned])\n\n useEffect(() => {\n if (isAddressUpdated) {\n openSnackbarPopup(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.ADDRESS_MARKED_UNVERIFIED, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAddressUpdated])\n\n useEffect(() => {\n if (replanningConsignmentSuccess || isPolled) {\n openSnackbarPopup(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.REPLANNING_CONSIGNMENT_SUCCESS_MSG, AppConstants.SNACKBAR.TYPES.SUCCESS);\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [replanningConsignmentSuccess, isPolled])\n\n useEffect(() => {\n if (areOrderCommentsAdded) {\n setIsOrderSearched(false);\n ordersFilterCallback(ordersActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [areOrderCommentsAdded])\n\n\n useEffect(() => {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlotTime') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = ordersFiltersDropdowns.orderStatusList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryArea || [];\n }\n if (header.filterObj.fieldName === \"addressStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.addressStatusList || [];\n }\n if (header.filterObj.fieldName === \"activity\") {\n header.filterObj.items = ordersFiltersDropdowns.activityList || [];\n }\n if (header.filterObj.fieldName === \"deliveryZone\") {\n header.filterObj.items = ordersFiltersDropdowns.deliveryZonesList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'driverId') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'deliveryExecutionStatus') {\n header.filterObj.items = ordersFiltersDropdowns.executionStatusList || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: ordersHeaderData});\n setActiveOrdersFilterChip(AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n setIsOrderSearched(false);\n updatedFilters = {...ordersActiveFilters, hub: {...ordersActiveFilters.hub, value: hubsToAdd}};\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hub') {\n header.filterObj.items = ordersFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = ordersFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'deliverySlotTime') {\n header.filterObj.items = ordersFiltersDropdowns.deliverySlotList || [];\n }\n if (header.filterObj.fieldName === 'deliveryStatus') {\n header.filterObj.items = ordersFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'deliveryArea') {\n header.filterObj.items = ordersFiltersDropdowns.deliveryArea || [];\n }\n if (header.filterObj.fieldName === \"addressStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.addressStatusList || [];\n }\n if (header.filterObj.fieldName === \"activity\") {\n header.filterObj.items = ordersFiltersDropdowns.activityList || [];\n }\n if (header.filterObj.fieldName === \"deliveryZone\") {\n header.filterObj.items = ordersFiltersDropdowns.deliveryZonesList || [];\n }\n if (header.filterObj.fieldName === 'paymentType') {\n header.filterObj.items = ordersFiltersDropdowns.paymentTypeList || [];\n }\n if (header.filterObj.fieldName === 'driverId') {\n header.filterObj.items = ordersFiltersDropdowns.driverList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = ordersFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = ordersFiltersDropdowns.orderStatusList || [];\n }\n if (header.filterObj.fieldName === 'deliveryExecutionStatus') {\n header.filterObj.items = ordersFiltersDropdowns.executionStatusList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: headerData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns]);\n\n const handleTimerInstances = (id: any) => {\n Countdown.startCountdown(id, TIMER_CONST.globalTimeForRefresh);\n setShowTime(true);\n };\n\n return (\n
\n {loading && }\n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n \n Your files are getting downloaded\n \n ) : (\n \n \n Your files have been downloaded\n \n \n )}\n {excelLoading ? :\n \n \n \n \n \n \n }\n ) : (\n exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null)}\n {openConsignmentDetailsPopup &&\n }\n \n \n \n
\n );\n}\n\nexport default Express;","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../network/networkHandler.types\";\nimport { DriversDashboardState } from \"./driversSlice.types\";\nimport AppConstants from \"../../constants\";\nimport moment from \"moment\";\nimport { transformSelectValues, saveFile } from \"../../utils/helpers.utils\";\n\nexport const fetchDynamicFiltersOrdersDropdownValues = createAsyncThunk(\n \"Drivers/FetchDynamicFiltersOrdersDropdownValues\",\n async ({\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'order/dynamic-filter-count',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDriversListByFilter = createAsyncThunk(\n \"Drivers/FetchDriversListByFilter\",\n async (\n {\n filters\n }: {\n filters: any\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'driver/filter',\n method: EApiMiddlewareMethods.POST,\n data: filters\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchDriversFilterChipsDisplayCount = createAsyncThunk(\n \"Drivers/FetchDriversFilterChipsDisplayCount\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'driver/displayFilterCount',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const releaseDriver = createAsyncThunk(\n \"Drivers/ReleaseDriver\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'v2/driver/releaseStuckDriver',\n method: EApiMiddlewareMethods.POST,\n } as any;\n request.headers = params\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const closeDialog = createAsyncThunk(\"Drivers/CloseDialog\", () => {\n return false;\n});\n\nexport const driverAssignmentSuccess = createAsyncThunk(\"Drivers/DriverAssignmentSuccess\", () => {\n return false;\n});\n\nexport const userLogout = createAsyncThunk(\"UserLogin/Logout\", () => {\n return false;\n});\n\nexport const fetchDriverActivityLogs = createAsyncThunk(\n \"Drivers/FetchDriverActivityLogs\",\n async (\n {\n params\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: `driver/status/getDriverStatuses`,\n method: EApiMiddlewareMethods.POST,\n data: params\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const markDriverAway = createAsyncThunk(\n \"DriverDetails/MarkDriverAway\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'driver/manageStatus/web',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const updateAssignmentMode = createAsyncThunk(\n \"DriverDetails/UpdateAssignmentMode\",\n async (\n {\n payload\n }: {\n payload: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'driver/updateAssignmentMode',\n method: EApiMiddlewareMethods.POST,\n data: payload\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"Drivers/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: 'driver/export',\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\"\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true, true);\n return data;\n } catch (error:any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nconst initialState: DriversDashboardState = {\n loading: false,\n tableLoading: false,\n exportError: \"\",\n driversFilterChipsDisplayCount: {\n driverStatusCount: {\n ACTIVE: 0,\n AVAILABLE: 0,\n ASSIGNED: 0,\n OUT_FOR_DELIVERY: 0,\n AWAY: 0,\n BACK_TO_STORE: 0,\n OFFLINE: 0\n }\n },\n driversFiltersDropdowns: {\n hubCodeList: [],\n hubNameList: [],\n statusList: [],\n vehicleList: [],\n vendorList: [],\n modes: []\n },\n driversData: {\n elements: [],\n pageNumber: 0\n },\n error: \"\",\n errorCode: \"\",\n driverLogs: [],\n excelLoading: false,\n userUpdateStatus: false,\n userUpdateMsg: \"\",\n driversAfterMarkingAway: {},\n assignmentModeStatus: false,\n assignmentModeMsg: \"\",\n releaseDriverStatus: false,\n releaseDriverMsg:\"\"\n};\n\nconst DriversSlice = createSlice({\n name: \"Drivers\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchDriversFilterChipsDisplayCount.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDriversFilterChipsDisplayCount.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversFilterChipsDisplayCount = payload && payload.results;\n })\n .addCase(fetchDriversFilterChipsDisplayCount.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDriversListByFilter.pending, (state) => {\n state.tableLoading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDriversListByFilter.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { filters }\n }\n } = action;\n state.tableLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.userUpdateStatus = false;\n state.assignmentModeStatus = false;\n state.releaseDriverStatus = false;\n state.driversData = {\n ...payload,\n elements:\n filters.pageNumber === 0\n ? [...payload.results.elements]\n : [...state.driversData.elements, ...payload.results.elements],\n pageNumber: payload.results.pageNumber,\n totalElements: payload.results.totalElements,\n totalPages: payload.results.totalPages\n };\n if (payload && payload.results && payload.results.filters) {\n state.driversFiltersDropdowns = {\n hubCodeList: transformSelectValues(payload.results.filters.hubCodes || []),\n hubNameList: transformSelectValues(payload.results.filters.hubNames || []),\n statusList: transformSelectValues(payload.results.filters.status || []),\n vehicleList: transformSelectValues(payload.results.filters.vehicleType || []),\n vendorList: transformSelectValues(payload.results.filters.vendor || []),\n modes: transformSelectValues(payload.results.filters.modes || []),\n };\n }\n })\n .addCase(fetchDriversListByFilter.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.tableLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchDriverActivityLogs.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(fetchDriverActivityLogs.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driverLogs = payload.results.statuses || [];\n })\n .addCase(fetchDriverActivityLogs.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.driverLogs = [];\n state.loading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(markDriverAway.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(markDriverAway.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n if (payload.status === \"SUCCESS\") {\n state.userUpdateStatus = true;\n state.userUpdateMsg = payload.message;\n }\n state.driversAfterMarkingAway = payload && payload.results;\n }\n })\n .addCase(markDriverAway.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.userUpdateStatus = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(updateAssignmentMode.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(updateAssignmentMode.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n if (payload.error) {\n state.errorCode = payload.error || AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n } else {\n state.errorCode = \"\";\n state.error = \"\";\n if (payload.status === \"SUCCESS\") {\n state.assignmentModeStatus = true;\n state.assignmentModeMsg = payload.message;\n }\n state.driversAfterMarkingAway = payload && payload.results;\n }\n })\n .addCase(updateAssignmentMode.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.assignmentModeStatus = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(releaseDriver.pending, (state) => {\n state.loading = true;\n state.errorCode = \"\";\n state.error = \"\";\n })\n .addCase(releaseDriver.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload?.status === \"SUCCESS\") {\n state.releaseDriverStatus = true;\n state.releaseDriverMsg = payload?.message;\n }\n else{\n state.errorCode = AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = payload\n ? payload?.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n }\n })\n .addCase(releaseDriver.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.releaseDriverStatus = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n\n \n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `Drivers_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload ? errorPayload.error : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(closeDialog.fulfilled, (state, action) => {\n state.driversAfterMarkingAway = {};\n })\n },\n});\n\nexport default DriversSlice.reducer;","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n },\n container: {\n flexDirection: \"column\",\n '& .planningItem': {\n width: '100%',\n '& .MuiTab-root': {\n marginRight: 44\n },\n '&.heading': {\n '& p': {\n fontSize: 20,\n lineHeight: \"30px\",\n color: COLORS.PRIMARY_MAIN,\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n }\n },\n '&.content': {\n backgroundColor: COLORS.WHITE,\n borderRadius: theme.spacing(1),\n height: \"calc(100vh - 172px)\",\n '& .tabPanel': {\n height: \"calc(100% - 56px)\",\n padding: 0,\n '&.routes': {\n position: \"relative\"\n }\n }\n }\n }\n },\n tabPanelContainer: {\n flexDirection: \"column\",\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.chipFilter': {\n padding: \"16px 16px 16px 0px\",\n '& .chipsContainer': {\n display: \"flex\",\n justifyContent: \"space-between\",\n '& .chipFilterItem': {\n height: 36,\n minWidth: \"11%\",\n borderRadius: \"30px\",\n boxShadow: \"0px 4px 48px rgb(0 0 0 / 8%)\",\n backgroundColor: \"#FFFFFF\",\n cursor: \"pointer\",\n '&:last-child': {\n marginRight: 0\n },\n '&.firstItem': {\n boxShadow: `0px 0px 10px 4px ${COLORS.BOX_SHADOW_PRIMARY}`,\n border: `2px solid ${theme.palette.primary.main}`\n },\n '&.active': {\n background: COLORS.PRIMARY_MAIN,\n border: \"none\",\n boxShadow: \"none\",\n '& .chipItem p': {\n color: COLORS.WHITE\n }\n },\n '& .chipContainer': {\n alignItems: \"center\",\n height: \"100%\",\n '& .chipItem': {\n padding: theme.spacing(0, 1.5),\n '& p': {\n fontWeight: 500,\n color: COLORS.MINE_SHAFT,\n },\n '&.name': {\n '& p': {\n fontSize: 14\n }\n },\n '&.count': {\n marginLeft: \"auto\",\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n }\n }\n }\n }\n }\n },\n '&.gridWrapper': {\n height: \"calc(100% - 98px)\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .actionsLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14\n },\n '& .multiple': {\n color: \"#2D2D2D\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"capitalize\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n },\n publishDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n deleteDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '& p': {\n textAlign: \"center\",\n lineHeight: 1.2\n },\n '&.heading': {\n padding: theme.spacing(0, 15.75, 5),\n '& p': {\n fontSize: 24,\n fontWeight: 600\n }\n },\n '&.desc': {\n padding: theme.spacing(0, 2.5),\n '& p': {\n fontSize: 18,\n fontWeight: 400,\n '& .count': {\n fontWeight: 600\n }\n }\n }\n }\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n publishDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n deleteDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(8.25),\n '& .dialogBtn': {\n '&.secondary': {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n publishDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n deleteDialogPaperPropsRoot: {\n width: 600,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n publishErrorPopupContainer: {\n position: \"absolute\",\n bottom: 0,\n height: 100,\n backgroundColor: \"#FEECEC\",\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(2),\n '& .titleBlock': {\n '& .titleContainer': {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n '& .titleItem': {\n '& .title': {\n fontSize: 14,\n fontWeight: 600\n },\n '& .closeBtn': {\n padding: theme.spacing(0)\n }\n }\n },\n },\n '& .contentBlock': {\n flexGrow: 1,\n overflow: \"auto\",\n '& .contentContainer': {\n flexDirection: \"column\",\n '& .contentItem': {\n paddingBottom: theme.spacing(1.25),\n '&:last-child': {\n paddingBottom: theme.spacing(0)\n },\n '& .content': {\n alignItems: \"center\",\n '& .dotIcon': {\n width: 8,\n height: 8,\n borderRadius: \"50%\",\n backgroundColor: \"#F34041\",\n marginRight: theme.spacing(2)\n },\n '& .text': {\n fontSize: 14,\n fontWeight: 500\n }\n }\n }\n }\n }\n },\n actionsHeader: {\n alignItems: \"center\",\n '& .actionItem': {\n cursor: \"pointer\",\n '& .icon': {\n padding: theme.spacing(0.25),\n '&.editIcon': {\n marginRight: theme.spacing(0.75)\n }\n }\n }\n },\n deliveryAreaHeader: {\n alignItems: \"center\",\n '& .columnValue': {\n fontSize: 12\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n background: \"#FFFFFF\",\n border: \"1px solid #319E60\",\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n fontWeight: 600,\n fontSize: 12,\n color: \"#319E60\",\n lineHeight: \"14px\",\n height: \"24px\",\n textTransform: \"uppercase\",\n '&.INFO_BLUE': {\n borderColor: COLORS.INFO_BLUE,\n color: COLORS.INFO_BLUE\n },\n '&.SEA_GREEN': {\n borderColor: COLORS.SEA_GREEN,\n color: COLORS.SEA_GREEN\n },\n '&.OCEAN_GREEN': {\n borderColor: COLORS.OCEAN_GREEN,\n color: COLORS.OCEAN_GREEN\n },\n '&.GOLDEN_BELL': {\n borderColor: COLORS.GOLDEN_BELL,\n color: COLORS.GOLDEN_BELL\n },\n '&.GREY_SCALE': {\n borderColor: COLORS.GREY_SCALE,\n color: COLORS.GREY_SCALE\n }\n }\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n colSettings: {\n float: \"right\",\n marginTop: -3\n },\n buttonContainer: {\n marginLeft: \"auto\",\n '& .clearAllFilterBtn': {\n fontSize: 14,\n fontWeight: 600,\n marginRight: theme.spacing(2)\n }\n },\n }),\n);\n","import moment from \"moment\";\nimport AppConstants from \"../../constants\";\nimport { getUniqueValues, localTimeString, calculateTimeBetweenSlots, fixDecimals } from \"../../utils/helpers.utils\";\n\nexport interface DriversDataTransform {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n elements: Driver[];\n}\n\nexport interface Driver {\n driverId: string;\n vendor: string,\n driverName: string,\n phone: string;\n status: string;\n hubCodes: any;\n hubNames: any;\n vehicleType: string;\n assignmentMode: string;\n}\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n}\n\nexport const driversDataTransform = (response: DriversDataTransform): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((driver: Driver) => {\n const {\n driverId,\n vendor,\n driverName,\n phone,\n status,\n hubCodes,\n hubNames,\n vehicleType,\n assignmentMode\n } = driver;\n transformedArray.push({\n driverId: driverId,\n hubCode: hubCodes,\n hubNames: hubNames,\n vendor: vendor,\n driverName: driverName,\n phone: phone,\n status: status,\n vehicle: vehicleType,\n modes: assignmentMode\n });\n });\n return [...transformedArray];\n};\n\nexport const createChipsCountFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, countryCode?: any) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = countryCode\n }\n if (payload.hubCode.value.length > 0) {\n let hubValue = payload.hubCode.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n if (hubValue.length) {\n payload.attributes.push({\n key: payload.hubCode.key,\n value: getUniqueValues(hubValue)\n })\n }\n delete payload.hubCode;\n } else {\n delete payload.hubCode;\n }\n if (payload.hubName.value.length > 0) {\n let attrValue = [];\n if (payload.hubName.value) {\n attrValue = getFilterAttributeValue(payload.hubName.value);\n payload.attributes.push({\n key: payload.hubName.key,\n value: attrValue\n })\n }\n } else {\n delete payload.hubName;\n }\n if (payload.status.value.length > 0) {\n let attrValue = [];\n if (payload.status.value) {\n attrValue = getFilterAttributeValue(payload.status.value);\n payload.attributes.push({\n key: payload.status.key,\n value: attrValue\n })\n }\n } else {\n delete payload.status;\n }\n if (payload.modes.value.length > 0) {\n let attrValue = [];\n if (payload.modes.value) {\n attrValue = getFilterAttributeValue(payload.modes.value);\n payload.attributes.push({\n key: \"assignmentMode\",\n value: attrValue\n })\n }\n } else {\n delete payload.modes;\n }\n if (payload.vendor.value.length > 0) {\n let attrValue = [];\n if (payload.vendor.value) {\n attrValue = getFilterAttributeValue(payload.vendor.value);\n payload.attributes.push({\n key: payload.vendor.key,\n value: attrValue\n })\n }\n } else {\n delete payload.vendor;\n }\n\n delete payload.status;\n delete payload.modes;\n delete payload.hubCode;\n delete payload.hubName;\n delete payload.vehicle;\n delete payload.reset;\n delete payload.vendor;\n return payload;\n};\n\nexport const createFilterPayload = (payload: any, data?: any, isLoadMore?: boolean, countryCode?: any, selectedChip?: any) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = countryCode\n }\n if (selectedChip === \"ALL\") {\n\n if (payload.status.value.length > 0) {\n let attrValue = [];\n if (payload.status.value) {\n attrValue = getFilterAttributeValue(payload.status.value);\n payload.attributes.push({\n key: payload.status.key,\n value: attrValue\n })\n }\n } else {\n let obj = {\n key: \"status\",\n value: []\n }\n payload.attributes.push(obj);\n delete payload.status;\n }\n } else {\n let obj = {\n key: \"status\",\n value: [selectedChip]\n }\n payload.attributes.push(obj);\n }\n if (payload.hubCode.value.length > 0) {\n let hubValue = payload.hubCode.value.map((item: any) => item.value);\n let hubNameValue = [];\n if (payload.hubName && payload.hubName.value.length) {\n hubNameValue = payload.hubName.value.map((item: any) => item.value);\n }\n hubValue = hubValue.concat(hubNameValue);\n const selectAllIdx = hubValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = hubValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n hubValue = [];\n }\n if (selectNoneIdx > -1) {\n hubValue = [];\n }\n if (hubValue.length) {\n payload.attributes.push({\n key: payload.hubCode.key,\n value: getUniqueValues(hubValue)\n })\n }\n delete payload.hubCode;\n } else {\n delete payload.hubCode;\n }\n if (payload.hubName.value.length > 0) {\n let attrValue = [];\n if (payload.hubName.value) {\n attrValue = getFilterAttributeValue(payload.hubName.value);\n payload.attributes.push({\n key: payload.hubName.key,\n value: attrValue\n })\n }\n } else {\n delete payload.hubName;\n }\n if (payload.vendor.value.length > 0) {\n let attrValue = [];\n if (payload.vendor.value) {\n attrValue = getFilterAttributeValue(payload.vendor.value);\n payload.attributes.push({\n key: payload.vendor.key,\n value: attrValue\n })\n }\n } else {\n delete payload.vendor;\n }\n if (payload.modes.value.length > 0) {\n let attrValue = [];\n if (payload.modes.value) {\n attrValue = getFilterAttributeValue(payload.modes.value);\n payload.attributes.push({\n key: \"assignmentMode\",\n value: attrValue\n })\n }\n } else {\n delete payload.modes;\n }\n if (payload.vehicle.value.length > 0) {\n let attrValue = [];\n if (payload.vehicle.value) {\n attrValue = getFilterAttributeValue(payload.vehicle.value);\n payload.attributes.push({\n key: \"vehicleType\",\n value: attrValue\n })\n }\n } else {\n delete payload.vehicle;\n }\n if (isLoadMore && data) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n delete payload.status;\n delete payload.hubCode;\n delete payload.hubName;\n delete payload.vehicle;\n delete payload.reset;\n delete payload.vendor;\n delete payload.modes;\n return payload;\n};\n\nexport const getDriverStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES;\n let newStatus = statusCode && statusCode.toUpperCase();\n const driverStatuses: any = AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n let convertedStatus = newStatus && driverStatuses[newStatus] ? driverStatuses[newStatus] : \"\";\n return statusCode && statuses[convertedStatus.value] ? statuses[convertedStatus.value][fieldName] : \"\";\n}\n\nexport const getDriverStatusFieldAfterMarkingAway = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES;\n let newStatus = statusCode && statusCode.toUpperCase();\n return statusCode && statuses[newStatus] ? statuses[newStatus][fieldName] : \"\";\n}\n\nexport const getFieldName = (fieldName: string) => {\n const statuses: any = AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.DRIVER_STATUSES;\n return fieldName && statuses[fieldName] ? statuses[fieldName].value : \"\";\n}\n\nexport const createPayloadForDriverActivity = (user: any, time: any, country: any) => {\n const startDate = moment(time.startDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_API);\n const endDate = moment(time.endDate, AppConstants.DATE_FORMAT).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT_API);\n const payload = {\n driverId: user.driverId,\n countryCode: country,\n startTime: startDate,\n endTime: endDate\n }\n return payload;\n};\n\n\nexport const createPayloadToUpdateDriverAway = (user: any, status: any, country: any) => {\n const payload = {\n driverId: user.driverId,\n countryCode: country,\n driverAway: status\n }\n return payload;\n};\n\nexport const createPayloadToUpdateAssignmentMode = (user: any, status: any, country: any) => {\n const payload = {\n driverId: user.driverId,\n countryCode: country,\n assignmentMode: status\n }\n return payload;\n};\n\nexport const createPayloadToReleaseDriver = (user: Driver) => {\n const payload = {\n driverId: user.driverId,\n }\n return payload;\n};","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n icon: {\n width: 18,\n height: 18\n }\n })\n);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 0C7.21997 0 5.47991 0.527841 3.99987 1.51677C2.51983 2.50571 1.36628 3.91131 0.685088 5.55585C0.00389956 7.20038 -0.17433 9.00998 0.172937 10.7558C0.520203 12.5016 1.37737 14.1053 2.63604 15.364C3.89472 16.6226 5.49836 17.4798 7.24419 17.8271C8.99002 18.1743 10.7996 17.9961 12.4442 17.3149C14.0887 16.6337 15.4943 15.4802 16.4832 14.0001C17.4722 12.5201 18 10.78 18 9C18 7.8181 17.7672 6.64778 17.3149 5.55585C16.8626 4.46392 16.1997 3.47177 15.364 2.63604C14.5282 1.80031 13.5361 1.13738 12.4442 0.685084C11.3522 0.232792 10.1819 0 9 0Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.99967 17.0789C13.462 17.0789 17.0794 13.4615 17.0794 8.99918C17.0794 4.53686 13.462 0.919434 8.99967 0.919434C4.53735 0.919434 0.919922 4.53686 0.919922 8.99918C0.919922 13.4615 4.53735 17.0789 8.99967 17.0789Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.99941 14.0569C11.7929 14.0569 14.0574 11.7924 14.0574 8.99892C14.0574 6.20546 11.7929 3.94092 8.99941 3.94092C6.20595 3.94092 3.94141 6.20546 3.94141 8.99892C3.94141 11.7924 6.20595 14.0569 8.99941 14.0569Z\",\n fill: \"#0E5AA7\"\n});\n\nvar SvgRadioCheckedIcon = function SvgRadioCheckedIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRadioCheckedIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/radio-checked-icon.a3ddfb87.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 0C7.21997 0 5.47991 0.527841 3.99987 1.51677C2.51983 2.50571 1.36628 3.91131 0.685088 5.55585C0.00389956 7.20038 -0.17433 9.00998 0.172937 10.7558C0.520203 12.5016 1.37737 14.1053 2.63604 15.364C3.89472 16.6226 5.49836 17.4798 7.24419 17.8271C8.99002 18.1743 10.7996 17.9961 12.4442 17.3149C14.0887 16.6337 15.4943 15.4802 16.4832 14.0001C17.4722 12.5201 18 10.78 18 9C18 7.8181 17.7672 6.64778 17.3149 5.55585C16.8626 4.46392 16.1997 3.47177 15.364 2.63604C14.5282 1.80031 13.5361 1.13738 12.4442 0.685084C11.3522 0.232792 10.1819 0 9 0Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.99967 17.0789C13.462 17.0789 17.0794 13.4615 17.0794 8.99918C17.0794 4.53686 13.462 0.919434 8.99967 0.919434C4.53735 0.919434 0.919922 4.53686 0.919922 8.99918C0.919922 13.4615 4.53735 17.0789 8.99967 17.0789Z\",\n fill: \"white\"\n});\n\nvar SvgRadioUncheckedIcon = function SvgRadioUncheckedIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRadioUncheckedIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/radio-unchecked-icon.51442bff.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Radio, RadioProps, SvgIcon } from '@material-ui/core';\nimport { useStyles } from './CustomRadio.styles';\nimport { ReactComponent as radioCheckedIcon } from './../../assets/icons/radio-checked-icon.svg';\nimport { ReactComponent as radioUncheckedIcon } from './../../assets/icons/radio-unchecked-icon.svg';\n\ninterface CustomRadioProps extends RadioProps {\n\n}\n\nconst CustomRadio = (props: CustomRadioProps) => {\n const classes = useStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n}\n\nexport default CustomRadio;","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flexGrow: 1,\n },\n titleContainer: {\n '& .headingContainer': {\n flexDirection: \"column\",\n '& .titleHeading': {\n fontSize: 18,\n fontWeight: 500,\n '& .content': {\n fontWeight: 600\n }\n },\n '& .titleContent': {\n fontSize: 12,\n fontWeight: 600,\n '&.link': {\n cursor: \"pointer\"\n }\n },\n \"& .statusContainer\": {\n \"& .statusIcon\": {\n width: 12,\n height: 12,\n borderRadius: \"50%\",\n '&.yellow': {\n backgroundColor: COLORS.STATUS_YELLOW\n },\n '&.black': {\n backgroundColor: COLORS.TEXT_PRIMARY\n },\n '&.green': {\n backgroundColor: COLORS.PERSIAN_GREEN\n },\n '&.red': {\n backgroundColor: COLORS.DARK_RED\n },\n '&.gray': {\n backgroundColor: COLORS.GRAY_DARK\n },\n },\n '& .statusMsg': {\n paddingLeft: theme.spacing(1),\n '& .status': {\n fontSize: 12\n }\n }\n },\n '& .editIcon': {\n paddingLeft: theme.spacing(1.5),\n '& .icon': {\n cursor: \"pointer\",\n verticalAlign: \"middle\"\n }\n }\n },\n '& .tagContainer': {\n cursor: \"pointer\",\n marginLeft: theme.spacing(2),\n alignSelf: \"center\"\n }\n },\n contentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: \"0px\",\n '& .tabValues': {\n padding: \"0px\",\n paddingTop: \"16px\"\n },\n '& .userDetails': {\n backgroundColor: \"#F4FBFE\",\n },\n '& .detailsHeader': {\n padding: theme.spacing(3),\n borderRadius: theme.spacing(1),\n '& .detailsHeaderItem': {\n padding: theme.spacing(2.5, 0, 0, 2),\n '&:first-child': {\n padding: 0\n },\n '& .profileIcon': {\n width: 100,\n height: 100\n },\n '& .rightPanelContainer': {\n flexDirection: \"column\",\n '& .rightPanelItem': {\n paddingBottom: theme.spacing(1.5),\n '&:last-child': {\n paddingBottom: 0\n },\n '& .endSessionBtn': {\n minWidth: \"245px\",\n width: \"100%\"\n },\n '& .fullname': {\n fontSize: 24,\n fontWeight: 600\n },\n '& .logo': {\n width: 20,\n height: 20\n },\n '& .contact': {\n '& a': {\n fontSize: 14,\n fontWeight: 600,\n textDecoration: \"none\",\n color: theme.palette.text.primary\n },\n paddingLeft: theme.spacing(1),\n '&.mobile': {\n paddingLeft: theme.spacing(1)\n }\n }\n }\n }\n }\n },\n '& .detailsContent': {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n padding: theme.spacing(3, 0, 2, 0),\n '& .contentRow': {\n paddingBottom: theme.spacing(3),\n '& .contentRowContainer': {\n justifyContent: \"space-between\"\n },\n '&:last-child': {\n paddingBottom: 0\n },\n '& .contentColumn': {\n flex: \"2 0 0\",\n '&:last-child': {\n flex: \"1.5 0 0\"\n },\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\"\n },\n '& .label': {\n paddingBottom: theme.spacing(1)\n },\n '& .content': {\n fontWeight: 600,\n },\n '& .lastItem': {\n display: \"flex\",\n justifyContent: \"center\"\n }\n },\n '&.twoItems': {\n '& .contentColumn': {\n '&:last-child': {\n flex: \"2.5 0 0\"\n }\n }\n },\n '&.btnContainer': {\n '& .contentColumn': {\n flex: \"1 0 auto\",\n '& .resetPasswordBtn': {\n width: \"100%\"\n },\n '& .endSessionBtn': {\n width: \"300px\"\n },\n }\n }\n }\n },\n '& .hubItemsSection': {\n '& .content': {\n width: \"100%\",\n '& .itemsContainer': {\n flexWrap: \"nowrap\",\n '& .item': {\n padding: theme.spacing(2, 0),\n borderBottom: `1px solid ${theme.palette.secondary.dark}`,\n \"&:first-child\": {\n padding: 0,\n paddingBottom: theme.spacing(2)\n },\n '&:last-child': {\n borderBottom: \"none\"\n },\n '& .itemContainer': {\n justifyContent: \"space-between\",\n '& p': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '&.header p': {\n color: COLORS.DOVE_GRAY,\n fontWeight: 500,\n }\n }\n }\n }\n }\n }\n },\n tabs: {\n paddingTop: \"0px\",\n paddingLeft: \"0px\",\n minHeight: \"38px\",\n '& .tabLabel': {\n fontSize: \"16px\",\n fontWeight: 700\n }\n },\n timeline: {\n padding: \"0 !important\",\n margin: 0,\n '& .timelineItem': {\n minHeight: 50,\n '&:last-child': {\n minHeight: \"auto\"\n },\n '&:before': {\n content: \"none\"\n },\n '& .timelineDot': {\n padding: 0,\n margin: 0,\n border: \"none\",\n boxShadow: \"none\",\n backgroundColor: \"transparent\",\n '& .dotIcon': {\n width: 18,\n height: 18,\n padding: 5,\n '&.active': {\n padding: 0\n }\n },\n },\n '& .primaryConnector': {\n backgroundColor: COLORS.TRANSPARENT,\n borderLeft: `1px dashed ${COLORS.SILVER}`\n },\n '& .timelineContent': {\n padding: 0,\n paddingLeft: theme.spacing(1),\n '& .heading': {\n paddingTop: 1,\n fontSize: 14,\n lineHeight: \"14px\",\n fontWeight: 600,\n color: theme.palette.primary.main,\n '& .order': {\n fontSize: \"12px\"\n },\n '&.error': {\n color: COLORS.DARK_RED,\n '&.active': {\n paddingBottom: 17\n }\n },\n '&.active': {\n // paddingBottom: 17\n },\n '& .dateTime': {\n fontSize: 12,\n lineHeight: \"15px\",\n fontWeight: 500,\n color: COLORS.DOVE_GRAY,\n paddingLeft: theme.spacing(0.5),\n verticalAlign: \"bottom\",\n }\n },\n '& .metadataContainer': {\n paddingBottom: theme.spacing(1.5),\n '& .title': {\n fontSize: 12,\n lineHeight: \"10px\",\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 500,\n color: COLORS.COPY\n },\n '& .description': {\n fontSize: 10,\n lineHeight: \"10px\",\n color: COLORS.DOVE_GRAY_LIGHT\n }\n }\n }\n }\n },\n statusHeaderContainer: {\n '& .tag': {\n background: \"#FFFFFF\",\n border: \"1px solid #319E60\",\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n fontWeight: 600,\n fontSize: 12,\n color: \"#319E60\",\n lineHeight: \"14px\",\n height: \"24px\",\n textTransform: \"uppercase\",\n '&.INFO_BLUE': {\n borderColor: COLORS.INFO_BLUE,\n color: COLORS.INFO_BLUE\n },\n '&.SEA_GREEN': {\n borderColor: COLORS.SEA_GREEN,\n color: COLORS.SEA_GREEN\n },\n '&.OCEAN_GREEN': {\n borderColor: COLORS.OCEAN_GREEN,\n color: COLORS.OCEAN_GREEN\n },\n '&.GOLDEN_BELL': {\n borderColor: COLORS.GOLDEN_BELL,\n color: COLORS.GOLDEN_BELL\n },\n '&.GREY_SCALE': {\n borderColor: COLORS.GREY_SCALE,\n color: COLORS.GREY_SCALE\n }\n }\n },\n accordionSummary: {\n '& .header': {\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 600\n },\n '& .content': {\n flexGrow: 1\n }\n },\n buttons: {\n width: \"100%\",\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n },\n radioLabel: {\n fontSize: \"14px\"\n },\n dialogPaperPropsRoot: {\n margin: 0,\n marginLeft: \"auto\",\n maxHeight: \"none\",\n height: \"100vh\",\n width: 580\n },\n endSessionSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n padding: \"6px 0px 0px 12px\"\n },\n endSessionSelectionDialogPaperPropsRoot: {\n width: 428,\n height: 242,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n content: {\n fontWeight: 500,\n fontSize: \"14px\",\n lineHeight: \"15px\",\n color: \"#252525\"\n },\n endSessionSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n endSessionDialogButtonsContainer: {\n justifyContent: \"center\",\n paddingBottom: theme.spacing(1),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n }),\n);","import React, {forwardRef, ReactElement, Ref, useCallback, useState, useEffect} from 'react';\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {AppState} from \"../config/redux/reducers\";\nimport moment from 'moment';\n//common components\nimport CustomDialog from '../common/Dialog';\nimport CustomSnackbar from '../common/CustomSnackbar';\nimport SwitchButton from \"../common/SwitchButton/SwitchButton\";\nimport DateRangePickerComponent from '../common/DateRangeComponent';\nimport Loader from './../common/Loader';\nimport CustomRadio from '../common/CustomRadioButton/CustomRadio';\n\n//assets\nimport {ReactComponent as userProfileIcon} from './../assets/icons/user-profile-icon.svg';\nimport {ReactComponent as mobileLogoIcon} from './../assets/icons/new-mobile-icon.svg';\nimport {ReactComponent as activeTimelineDot} from './../assets/icons/active-timeline-dot.svg';\nimport {ReactComponent as errorTimelineDot} from './../assets/icons/timeline-dot-error.svg';\nimport {ReactComponent as timelineDot} from './../assets/icons/timeline-dot.svg';\nimport calendarIcon from './../assets/icons/calendar-icon.svg';\n//redux slice\nimport {\n fetchDriverActivityLogs,\n markDriverAway,\n closeDialog,\n updateAssignmentMode,\n releaseDriver\n} from './redux/driversSlice';\n//styles\nimport {useStyles} from './DriverDetails.styles';\n//Material UI Components\nimport {TransitionProps} from \"@material-ui/core/transitions\";\nimport Slide from \"@material-ui/core/Slide\";\nimport {\n Grid,\n SvgIcon,\n Typography,\n Tab,\n Tabs,\n FormControl,\n FormLabel,\n RadioGroup,\n FormControlLabel,\n Button,\n Box\n} from '@material-ui/core';\nimport {TabContext, TabPanel} from '@material-ui/lab';\nimport {\n Timeline,\n TimelineItem,\n TimelineSeparator,\n TimelineDot,\n TimelineConnector,\n TimelineContent\n} from '@material-ui/lab';\nimport AppConstants from '../constants/index';\nimport {\n createPayloadForDriverActivity,\n createPayloadToUpdateDriverAway,\n getDriverStatusField,\n getDriverStatusFieldAfterMarkingAway,\n getFieldName,\n createPayloadToUpdateAssignmentMode,\n createPayloadToReleaseDriver,\n Driver\n} from '../mocks/drivers/response.transforms';\n\ninterface DriverDetailsProps {\n open: boolean;\n user: any;\n defaultTab: any;\n closePopup: () => void;\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & { children?: ReactElement },\n ref: Ref\n) {\n return ;\n});\n\nconst DriverDetails = (props: DriverDetailsProps) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const {open, user, defaultTab, closePopup} = props;\n const {\n driverLogs,\n errorCode,\n loading,\n userUpdateStatus,\n userUpdateMsg,\n driversAfterMarkingAway,\n assignmentModeMsg,\n assignmentModeStatus,\n releaseDriverStatus,\n releaseDriverMsg\n } = useSelector(\n (state: AppState) => state.drivers\n );\n const {countryCode} = useSelector(\n (state: AppState) => state.common\n );\n const {isAdmin, isLastMileViewer, isOnlyExpLastMileViewer,} = useSelector(\n (state: AppState) => state.userLogin\n );\n const [tabValue, setTabValue] = useState(defaultTab);\n const [openAwaySnackbar, setOpenAwaySnackbar] = useState(false);\n const [openModeUpdateSnackbar, setOpenModeUpdateSnackbar] = useState(false);\n const [openDriverReleaseSnackbar, setOpenDriverReleaseSnackbar] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isAuto, setIsAuto] = useState(\"MANUAL\");\n const [currentDate, setCurrentDate] = useState({\n startDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT)\n });\n const [minDate, setMinDate] = useState(new Date(new Date().setDate(new Date().getDate() - 30)));\n let hubItems: any = [];\n\n if (user) {\n if (user.countryDetails) {\n for (let country in user.countryDetails) {\n let countryHubs = user.countryDetails[country];\n countryHubs.filter((hub: any) => {\n hubItems.push(hub);\n return true;\n })\n }\n }\n }\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot\n },\n square: true\n }\n\n const handleAwaySnackbarClose = useCallback(\n () => {\n setOpenAwaySnackbar(false);\n },\n [],\n );\n\n const handleModeSnackbarClose = useCallback(\n () => {\n setOpenModeUpdateSnackbar(false);\n },\n [],\n );\n\n const handleDriverReleaseClose = useCallback(\n () => {\n setOpenDriverReleaseSnackbar(false);\n },\n [],\n );\n\n const handleDialogClose = useCallback(\n () => {\n closePopup();\n setTabValue(defaultTab);\n dispatch(\n closeDialog()\n );\n },\n [closePopup, dispatch],\n );\n\n const getTitleContent = () => {\n return (\n <>\n )\n }\n\n const handleDateChange = useCallback(\n (user: any, dateRange: any) => {\n setCurrentDate(dateRange);\n const payload = createPayloadForDriverActivity(user, dateRange, countryCode);\n dispatch(\n fetchDriverActivityLogs({\n params: payload\n })\n );\n },\n [dispatch, countryCode],\n );\n\n const handleReleaseDriver = useCallback(\n (user: Driver) => {\n const payload = createPayloadToReleaseDriver(user);\n dispatch(\n releaseDriver({\n params: payload\n })\n );\n setOpenDriverReleaseSnackbar(true)\n },\n [dispatch, countryCode],\n );\n\n\n const handleDriverActivityLogs = useCallback(\n (user: any) => {\n if (Object.keys(user).length) {\n const payload = createPayloadForDriverActivity(user, currentDate, countryCode);\n dispatch(\n fetchDriverActivityLogs({\n params: payload\n })\n );\n }\n },\n [dispatch, countryCode, currentDate]\n );\n\n const handleUpdateUserStatus = useCallback(\n (user: any, status: any) => {\n if (Object.keys(user).length) {\n const payload = createPayloadToUpdateDriverAway(user, status, countryCode);\n dispatch(\n markDriverAway({\n payload: payload\n })\n );\n setOpenAwaySnackbar(true);\n }\n },\n [dispatch, countryCode]\n );\n\n const handleUpdateAssignmentModeForRadio = useCallback(\n (user: any, value: any) => {\n if (Object.keys(user).length) {\n const payload = createPayloadToUpdateAssignmentMode(user, value, countryCode);\n dispatch(\n updateAssignmentMode({\n payload: payload\n })\n );\n setOpenModeUpdateSnackbar(true);\n }\n },\n [dispatch, countryCode]\n );\n\n\n const handleSwitch = (e: any) => {\n if (isActive) {\n setIsActive(false);\n handleUpdateUserStatus(user, false);\n } else {\n handleUpdateUserStatus(user, true);\n setIsActive(true);\n }\n\n };\n\n const handleAutoManualUpdate = (event: React.ChangeEvent) => {\n let value = (event.target as HTMLInputElement).value;\n setIsAuto((event.target as HTMLInputElement).value);\n handleUpdateAssignmentModeForRadio(user, value);\n };\n\n const handleTabChange = useCallback(\n (event: React.ChangeEvent<{}>, value: string) => {\n setTabValue(value);\n },\n []\n )\n\n const getDriverLogs = () => {\n return driverLogs && driverLogs.length ? driverLogs.map((item: any, index: number) => (\n < TimelineItem key={`${item.key} - ${index}`} className=\"timelineItem\">\n \n {index === 0 ?\n \n \n \n :\n \n \n \n }\n {index !== driverLogs.length - 1 && }\n \n \n {item.status}{`(${new Date(item.updatedAt).toLocaleDateString()} at ${new Date(item.updatedAt).toLocaleTimeString('en-US', {\n hour12: false,\n hour: 'numeric',\n minute: 'numeric',\n })})`}\n {item.status === \"Assigned\" ? (\n <>\n {`${\"-\"} ${\"Consignment Number\"}`}\n {`${\":\"} ${item.consignmentCode}`}\n \n ) : \"\"}\n \n \n \n )) : (\n {errorCode.message})\n }\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n handleDriverActivityLogs(user)}/>\n \n \n \n \n \n \n {user.images ? (\n \"Profile\"\n\n \n ) : (\n \n )}\n \n \n \n \n \n \n {`${user.driverName}`}\n \n \n \n \n \n {driversAfterMarkingAway && driversAfterMarkingAway.status ? (\n \n {driversAfterMarkingAway.status ? getFieldName(driversAfterMarkingAway.status) : \"\"}\n \n ) : (\n \n {user.status ? user.status : \"\"}\n \n )}\n {!(isLastMileViewer || isOnlyExpLastMileViewer) &&\n <>\n {user.status === \"Available\" || user.status === \"Active\" || user.status === \"Back to Store\" || user.status === \"Away\" ? (\n \n {loading && }\n e.stopPropagation()}\n />\n Away\n \n ) : null}\n \n }\n \n \n \n \n \n {user.phone ?\n {user.phone} : \"\"}\n \n \n \n \n \n \n {!(isLastMileViewer || isOnlyExpLastMileViewer) &&\n <>\n \n \n Assignment Mode\n \n \n \n }\n label=\"Manual\"\n classes={{label: classes.radioLabel}}/>\n }\n label=\"Auto\"\n classes={{label: classes.radioLabel}}/>\n \n \n \n \n \n \n }\n \n \n {isAdmin && \n \n \n \n \n }\n \n \n \n \n \n \n \n \n \n \n \n POS Number\n \n \n {user.hubCodes}\n \n \n \n \n \n \n POS Name\n \n \n {user.hubNames}\n \n \n \n \n \n \n Vehicle\n \n \n {user.vehicleType}\n \n \n \n \n \n \n \n \n \n \n Vendor\n \n \n {user.vendor}\n \n \n \n \n \n \n User created date\n \n \n {user && moment(user.updatedAt && user.updatedAt.split('.')[0]).format(AppConstants.DATE_FORMAT_UI)}\n \n \n \n \n \n \n User updated date\n \n \n {user && moment(user.updatedAt && user.updatedAt.split('.')[0]).format(AppConstants.DATE_FORMAT_UI)}\n \n \n \n \n \n \n \n \n \n \n Modified By\n \n \n {user && user.modifiedBy}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {`${user.driverName}`}\n \n \n \n \n {user.phone ?\n {user.phone} : \"\"}\n \n \n \n \n \n \n \n Date:\n \n \n handleDateChange(user, e)}\n />\n \n \n \n {loading && }\n \n \n {getDriverLogs()}\n \n \n \n \n \n \n )\n }\n\n const getDialogActions = () => {\n return (\n <>\n );\n };\n\n useEffect(() => {\n setCurrentDate({\n startDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(0).minutes(0).seconds(0).format(AppConstants.DATE_FORMAT),\n endDate: moment(new Date(), AppConstants.DATE_FORMAT_BACKEND).hours(23).minutes(59).seconds(59).format(AppConstants.DATE_FORMAT)\n })\n if (user.status === \"Away\") {\n setIsActive(true);\n } else {\n setIsActive(false);\n }\n if (user.assignmentMode === \"MANUAL\") {\n setIsAuto(\"MANUAL\");\n } else {\n setIsAuto(\"AUTO\")\n }\n }, [user])\n\n return (\n <>\n \n {openAwaySnackbar && userUpdateStatus ? (\n \n ) : \"\"}\n {openModeUpdateSnackbar && assignmentModeStatus ? (\n \n ) : \"\"}\n {openDriverReleaseSnackbar && releaseDriverStatus ? (\n \n ) : \"\"}\n \n )\n}\n\nexport default DriverDetails;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport _ from \"lodash\";\n//common components\nimport { AppState } from \"../config/redux/reducers\";\nimport AppConstants from \"../constants\";\nimport GridWrapper from \"../common/GridWrapper\";\nimport Loader from \"../common/Loader\";\nimport CustomSnackbar from \"../common/CustomSnackbar\";\n//redux\nimport { userLogout } from \"../Login/redux/loginSlice\";\nimport { fetchDriversFilterChipsDisplayCount, fetchDriversListByFilter, exportToExcel } from './redux/driversSlice';\n//Material UI Components\nimport { CellParams, SortModel } from \"../common/GridWrapper/DataTable\";\nimport { Grid, IconButton, SvgIcon, Typography } from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close';\n//styles\nimport { useStyles } from \"./drivers.styles\";\n//assets\nimport { ReactComponent as checkIcon } from './../assets/icons/circle-checked-icon.svg';\nimport viewIcon from './../assets/icons/Eye.svg';\n//other components\nimport { createChipsCountFilterPayload, driversDataTransform, createFilterPayload, getDriverStatusField } from \"../mocks/drivers/response.transforms\";\nimport DriverDetails from './DriverDetails';\n\ninterface DriversProps {\n match?: any;\n location?: any;\n}\n\nconst Drivers = (props: DriversProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n const { tableLoading, driversFilterChipsDisplayCount, driversData, driversFiltersDropdowns, userUpdateStatus, loading, error, errorCode, excelLoading, exportError, assignmentModeStatus, releaseDriverStatus } = useSelector(\n (state: AppState) => state.drivers\n )\n const { countryCode, hubCode } = useSelector(\n (state: AppState) => state.common\n );\n\n const onLoadRef = useRef(true);\n const [activeOrdersFilterChip, setActiveOrdersFilterChip] = useState(AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isTabChange, setIsTabChange] = useState(false);\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA, HeaderData: AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = { ...header };\n if (newHeader.field === 'driverName') {\n newHeader.renderCell = (params: CellParams) => (\n {params.value}\n )\n }\n if (newHeader.field === 'status') {\n newHeader.renderCell = (params: any) => (\n params.value ?\n \n {params.value ? params.value : \"\"}\n \n : <>\n );\n }\n if (newHeader.field === 'hubCode') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n if (newHeader.field === 'hubNames') {\n newHeader.renderCell = (params: CellParams) => (\n {params && params.value && params.value.join(\" , \")}\n );\n }\n if (newHeader.field === 'actions') {\n newHeader.renderCell = (params: CellParams) => (\n \"view\"\n )\n }\n return newHeader;\n }),\n });\n\n const [ordersActiveFilters, setOrdersActiveFilters] = useState({ ...ordersTableWrapperData.defaultFiltersObj });\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [isDisplayCount, setIsDisplayCount] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const [openDriverProfilePopup, setOpenDriverProfilePopup] = useState(false);\n const [driverData, setDriverData] = useState({});\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const [tabValue, setTabValue] = useState(AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.DRIVER_PROFILE);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = _.cloneDeep(filters);\n onLoadRef.current = false;\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey]\n }\n ordersFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const handleExcelExport = useCallback(\n (filters: any) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payload = createFilterPayload(payloadFilters, driversData, false, countryCode, activeOrdersFilterChip);\n dispatch(\n exportToExcel({\n payload: payload\n })\n );\n }\n setRenderExcelProgress(true);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, driversData, countryCode, activeOrdersFilterChip]\n )\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case 'excel':\n handleExcelExport(ordersActiveFilters);\n break;\n default:\n break;\n }\n }\n },\n [ordersActiveFilters, handleExcelExport]\n );\n\n const getFilterChipsCount = useCallback(\n (payload: any) => {\n setIsDisplayCount(false);\n dispatch(\n fetchDriversFilterChipsDisplayCount({\n payload: payload\n })\n );\n setIsDisplayCount(true);\n },\n [dispatch],\n )\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, isChipFilterClicked?: boolean, selectedChip?: any, isChipClicked?: boolean) => {\n if (filters) {\n let payloadFilters = _.cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n if (!isChipFilterClicked) {\n selectedChip = activeOrdersFilterChip;\n }\n const payload = createFilterPayload(payloadFilters, driversData, isLoadMore, countryCode, selectedChip);\n let payloadFilters2 = _.cloneDeep(filters);\n payloadFilters2.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const payloadForCount = createChipsCountFilterPayload(payloadFilters2, driversData, isLoadMore, countryCode);\n getFilterChipsCount(payloadForCount);\n if(isLoadMore){\n setIsTabChange(false);\n }\n dispatch(\n fetchDriversListByFilter({\n filters: payload\n })\n );\n setOrdersActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [driversData, ordersTableWrapperData, activeOrdersFilterChip, dispatch, countryCode, getFilterChipsCount],\n );\n\n const getFilterChips = () => {\n const filterChips = AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.FILTER_CHIPS;\n return filterChips.map((chip: any, index: number) => (\n handleChipFilter(chip, ordersActiveFilters)}>\n \n \n {chip.value}\n \n \n {driversFilterChipsDisplayCount.driverStatusCount[chip.code]}\n \n \n \n ))\n };\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (params.field === 'driverName') {\n const selectedRow: any = params.rowData;\n const selectedDriver = driversData.elements.filter((item: any) => item.driverName === selectedRow.driverName);\n setDriverData(selectedDriver.length ? selectedDriver[0] : {});\n setOpenDriverProfilePopup(true);\n setTabValue(AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.DRIVER_PROFILE);\n }\n if (params.field === 'actions') {\n const selectedRow: any = params.rowData;\n const selectedDriver = driversData.elements.filter((item: any) => item.driverName === selectedRow.driverName);\n setDriverData(selectedDriver.length ? selectedDriver[0] : {});\n setOpenDriverProfilePopup(true);\n setTabValue(AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.TAB_VALUES.ACTIVITY_LOG);\n }\n },\n [driversData]\n );\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n }\n\n const handleSnackbarClose = useCallback(\n () => {\n setOpenSnackbar(false);\n },\n [],\n );\n\n const handleSnackbarExited = useCallback(\n () => {\n if (errorCode === AppConstants.DRIVERS_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(\n userLogout()\n );\n }\n },\n [dispatch, errorCode]\n );\n\n const handleProgressClose = useCallback(\n () => {\n setRenderExcelProgress(false);\n },\n [],\n );\n\n const handleLoadMoreDisableState = useCallback(\n () => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = driversData.totalPages ? driversData.pageNumber + 1 >= driversData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n },\n [ordersTableWrapperData, driversData]\n );\n\n const handleChipFilter = useCallback(\n (chip: any, activeFilters: any) => {\n let filters = { ...activeFilters };\n setIsTabChange(true);\n onLoadRef.current = false;\n setIsOrderSearched(false);\n if (chip.code !== activeOrdersFilterChip) {\n let isChipClicked = true;\n setActiveOrdersFilterChip(chip.code);\n ordersFilterCallback(filters, false, true, chip.code, isChipClicked);\n }\n setRenderExcelProgress(false);\n },\n [ordersFilterCallback, activeOrdersFilterChip]\n )\n\n const closeConsignmentDetailsPopup = useCallback(\n () => {\n setOpenDriverProfilePopup(false);\n },\n [],\n );\n\n useEffect(() => {\n if (userUpdateStatus) {\n ordersFilterCallback(ordersActiveFilters)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userUpdateStatus])\n\n useEffect(() => {\n if (assignmentModeStatus) {\n ordersFilterCallback(ordersActiveFilters)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [assignmentModeStatus])\n\n useEffect(() => {\n if (releaseDriverStatus) {\n ordersFilterCallback(ordersActiveFilters);\n setOpenDriverProfilePopup(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [releaseDriverStatus])\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error])\n\n useEffect(() => {\n if (isOrderSearched && isDisplayCount) {\n const chips = Object.keys(driversFilterChipsDisplayCount.driverStatusCount).filter((key: string) => driversFilterChipsDisplayCount.driverStatusCount[key] > 0);\n let selectedChip;\n let selectedChipValue;\n if (chips.length === 2) {\n selectedChip = chips.filter((key: string) => key !== AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n } else {\n selectedChip = chips.filter((key: string) => key === AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.ALL_FILTER_CHIP);\n selectedChipValue = selectedChip[0];\n }\n handleChipFilter({ code: chips.length ? selectedChipValue : activeOrdersFilterChip }, ordersActiveFilters)\n } else {\n setOrdersListToShow(driversDataTransform(driversData) as any);\n handleLoadMoreDisableState();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [driversFilterChipsDisplayCount, driversData]);\n\n useEffect(() => {\n const ordersHeaderData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hubCode') {\n header.filterObj.items = driversFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = driversFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = driversFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = driversFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'vendor') {\n header.filterObj.items = driversFiltersDropdowns.vendorList || [];\n }\n if (header.filterObj.fieldName === 'modes') {\n header.filterObj.items = driversFiltersDropdowns.modes || [];\n }\n }\n return header;\n });\n const hubsToAdd = hubCode.map((hub: string) => ({\n name: hub,\n value: hub\n }));\n let updatedFilters: any = {};\n\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: ordersHeaderData });\n setActiveOrdersFilterChip(AppConstants.DRIVERS_CONSTANTS.CONSIGNMENTS_DATA.DEFAULT_FILTER_CHIP);\n setIsOrderSearched(false);\n updatedFilters = { ...ordersActiveFilters, hubCode: { ...ordersActiveFilters.hubCode, value: hubsToAdd } };\n if (!onLoadRef.current) {\n ordersFilterCallback(updatedFilters);\n }\n onLoadRef.current = false;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubCode]);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === 'hubCode') {\n header.filterObj.items = driversFiltersDropdowns.hubCodeList || [];\n }\n if (header.filterObj.fieldName === 'hubName') {\n header.filterObj.items = driversFiltersDropdowns.hubNameList || [];\n }\n if (header.filterObj.fieldName === 'status') {\n header.filterObj.items = driversFiltersDropdowns.statusList || [];\n }\n if (header.filterObj.fieldName === 'vehicle') {\n header.filterObj.items = driversFiltersDropdowns.vehicleList || [];\n }\n if (header.filterObj.fieldName === 'vendor') {\n header.filterObj.items = driversFiltersDropdowns.vendorList || [];\n }\n if (header.filterObj.fieldName === 'modes') {\n header.filterObj.items = driversFiltersDropdowns.modes || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [driversFiltersDropdowns]);\n\n return (\n
\n {loading && }\n \n \n \n \n \n {\n getFilterChips()\n }\n \n \n \n \n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n \n Your files are getting downloaded\n \n ) : (\n \n \n Your files have been downloaded\n \n \n )}\n {excelLoading ? :\n \n \n \n \n \n \n }\n ) : (\n exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null)}\n \n\n \n \n
\n );\n}\n\nexport default Drivers;","\nimport _ from \"lodash\";\nimport lodashIsNull from 'lodash/isNull';\nimport lodashCloneDeep from 'lodash/cloneDeep';\n\nexport function isNull(value: any): value is null {\n return lodashIsNull(value);\n}\n\nexport function cloneDeep(obj: any) {\n return lodashCloneDeep(obj);\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n '& .panelItem': {\n width: \"100%\",\n '&.gridWrapper': {\n height: \"calc(100% - 230px)\",\n paddingTop: \"8px\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .actionsLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14\n }\n }\n }\n },\n container: {\n display: \"flex\",\n justifyContent: \"flex-start\"\n },\n dialogPaperPropsRoot: {\n minWidth: \"95vw\",\n height: \"95vh\",\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n collectionConfirmationDialogPaperPropsRoot: {\n width: 500,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1)\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .contentItem': {\n '&.heading': {\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '&.hub': {\n paddingTop: theme.spacing(3.75)\n }\n }\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n tilesView: {\n flexGrow: 1,\n },\n title: {\n fontSize: \"24px\",\n fontWeight: 600\n },\n subHeadingBold:{\n fontWeight: \"600!important\" as any,\n },\n bucketHeader:{\n flexWrap: \"nowrap\",\n paddingTop: \"30px\"\n },\n icon: {\n \"& .MuiOutlinedInput-input\": {\n height: \"40px\",\n },\n },\n select: {\n borderRadius: 8,\n background: COLORS.WHITE,\n minWidth: 150\n },\n button: {\n margin: theme.spacing(0.5),\n '&:last-child': {\n marginRight: theme.spacing(0)\n }\n },\n buttonContainer: {\n marginLeft: \"auto\",\n },\n gridWrapper: {\n width: \"100%\",\n paddingTop: \"20px\",\n '& .idLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12\n },\n '& .actionsLink': {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14,\n '& .statusIcon': {\n fill: \"none\",\n height: 'unset',\n width: 'unset'\n }, \n }\n },\n statusHeaderContainer: {\n '& .tag': {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n '&.INFO_BLUE': {\n backgroundColor: COLORS.INFO_BLUE\n },\n '&.READY_BLUE': {\n backgroundColor: COLORS.READY_BLUE\n },\n '&.MINSK': {\n backgroundColor: COLORS.MINSK\n },\n '&.PRIMARY_BLUE': {\n backgroundColor: COLORS.PRIMARY_MAIN\n },\n '&.JUNGLE_GREEN': {\n backgroundColor: COLORS.JUNGLE_GREEN\n },\n '&.PARTIAL_SUCCESS_GREEN': {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN\n },\n '&.ERROR_RED': {\n backgroundColor: COLORS.PALE_RED\n },\n '&.PALE_GRAY': {\n backgroundColor: COLORS.PALE_GRAY\n },\n '&.ALERT_ORANGE': {\n backgroundColor: COLORS.ALERT_ORANGE\n },\n },\n },\n confirmationContent: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n '& .itemContainer': {\n flexDirection: \"column\",\n '&.area': {\n paddingTop: \"24px\"\n },\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n }\n }\n },\n },\n confimationDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n '& .dialogBtn': {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n '&.secondary': {\n marginRight: theme.spacing(1)\n },\n '&.primary': {\n marginLeft: theme.spacing(1)\n }\n }\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\"\n },\n close: {\n color: COLORS.WHITE\n },\n closeIcon: {\n width: 16,\n height: 16\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\"\n },\n contentItem: {\n paddingTop: theme.spacing(3),\n '& .itemContainer': {\n flexDirection: \"column\",\n '& .itemLabel': {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n '& p': {\n fontSize: 14,\n fontWeight: 400\n }\n },\n '& .itemInput': {\n '& .MuiOutlinedInput-input': {\n fontSize: 14,\n fontWeight: 400\n },\n '& .userIdContainer .input': {\n flexGrow: 1,\n paddingRight: theme.spacing(2)\n }\n }\n },\n },\n uploadContainer: {\n '& .buttonsContainer': {\n '& .userBtn': {\n '&.secondary': {\n marginRight: theme.spacing(2)\n },\n flexGrow: 1\n }\n }\n },\n }),\n);","import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport { EApiMiddlewareMethods } from \"../../../network/networkHandler.types\";\nimport { CODReconState } from \"./codPortalSlice.types\";\nimport AppConstants from \"../../../constants\";\nimport { transformSelectValues, saveFile } from \"../../../utils/helpers.utils\";\nimport moment from \"moment\";\n\nexport const fetchDriversList = createAsyncThunk(\n \"CODPortal/FetchDriversList\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/filter-drivers\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersList = createAsyncThunk(\n \"CODPortal/FetchOrdersList\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/filter-orders\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"CODPortal/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/export\",\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\",\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const reconcileCollectedAmtForOrder = createAsyncThunk(\n \"CODPortal/ReconcileCollectedAmtForOrder\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/collect\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const createReceiptDraft = createAsyncThunk(\n \"CODPortal/CreateReceiptDraft\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt/draft\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const uploadReceipt = createAsyncThunk(\n \"CODPortal/UploadReceipt\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n request.headers = {\n \"content-type\": \"multipart/form-data\",\n };\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const deletePrevUploadedReceipt = createAsyncThunk(\n \"CODPortal/DeletePrevUploadedReceipt\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt\",\n method: EApiMiddlewareMethods.DELETE,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const submitReceipts = createAsyncThunk(\n \"CODPortal/SubmitReceipts\",\n async (\n {\n params,\n }: {\n params: any;\n },\n { rejectWithValue }\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt/submit\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const { data } = await networkHandler(request, false, true, false, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n)\n\nexport const openCollectionConfirmation = createAsyncThunk(\"CODPortal/OpenCollectionConfirmation\", () => {\n return false;\n});\n\nexport const uploadClick = createAsyncThunk(\"CODPortal/UploadClick\", () => {\n return false;\n});\n\nconst initialState: CODReconState = {\n loading: false,\n error: \"\",\n errorCode: \"\",\n expDriversData: {\n elements: [],\n pageNumber: 0,\n },\n expOrdersData: {\n elements: [],\n pageNumber: 0,\n },\n excelLoading: false,\n expDriversFiltersDropdowns: {\n driverNameList: [],\n vendorNameList: [],\n },\n expOrdersFiltersDropdowns: {\n deliveryStatusList: [],\n },\n orderAfterCollection: {},\n isAmtCollectedForExpressOrders: false,\n draftReceiptData: {},\n receiptDataAfterUpload: {},\n isFileUploaded: false,\n uploadError: \"\",\n uploadErrorCode: \"\",\n receiptDataAfterSubmit: {},\n receiptsSubmittedFlag: false,\n expOrdersOnDriverDetails: '',\n expCodAmtOnDriverDetails: '',\n expCodPendingOnDriverDetails: '',\n expCodReceivedOnDriverDetails: '',\n isErrorOnUpload: false,\n expTotalOrdersAmtOnDriverDetails: ''\n};\n\nconst codPortalSlice = createSlice({\n name: \"CODPortal\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchDriversList.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchDriversList.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params },\n },\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.expDriversData = {\n ...payload,\n elements:\n params.pageNumber === 0\n ? payload?.results?.elements\n : [...state.expDriversData.elements, ...payload?.results?.elements],\n pageNumber: payload?.results?.pageNumber,\n totalElements: payload?.results?.totalElements,\n totalPages: payload?.results?.totalPages,\n };\n if (payload?.results?.filters) {\n state.expDriversFiltersDropdowns = {\n driverNameList: transformSelectValues(payload.results.filters.driverNames || []),\n vendorNameList: transformSelectValues(payload.results.filters.vendorNames || []),\n };\n }\n state.receiptDataAfterUpload = {};\n state.isFileUploaded = false\n })\n .addCase(fetchDriversList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersList.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchOrdersList.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: { params },\n },\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.expOrdersData = {\n ...payload,\n elements:\n params.pageNumber === 0\n ? payload.results.elements\n : [...state.expOrdersData.elements, ...payload.results.elements],\n pageNumber: payload.results.pageNumber,\n totalElements: payload.results.totalElements,\n totalPages: payload.results.totalPages,\n };\n if (payload?.results?.filters) {\n state.expOrdersFiltersDropdowns = {\n deliveryStatusList: transformSelectValues(payload.results.filters.statuses || []),\n };\n }\n state.expOrdersOnDriverDetails = payload?.results?.totalOrders;\n state.expCodAmtOnDriverDetails = payload?.results?.totalCODAmount;\n state.expCodPendingOnDriverDetails = payload?.results?.totalCODPending;\n state.expCodReceivedOnDriverDetails = payload?.results?.totalCODReceived;\n state.expTotalOrdersAmtOnDriverDetails = payload?.results?.totalOrdersCODAmount;\n })\n .addCase(fetchOrdersList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const { payload } = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `COD_RECON_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(reconcileCollectedAmtForOrder.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(reconcileCollectedAmtForOrder.fulfilled, (state, action) => {\n const { payload } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderAfterCollection = payload?.results;\n state.isAmtCollectedForExpressOrders = true;\n })\n .addCase(reconcileCollectedAmtForOrder.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(openCollectionConfirmation.fulfilled, (state, action) => {\n state.isAmtCollectedForExpressOrders = false;\n })\n .addCase(uploadClick.fulfilled, (state,action)=>{\n state.isFileUploaded = false;\n state.receiptsSubmittedFlag = false;\n state.isErrorOnUpload = false;\n })\n .addCase(createReceiptDraft.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(createReceiptDraft.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.draftReceiptData = payload?.results;\n })\n .addCase(createReceiptDraft.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(deletePrevUploadedReceipt.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(deletePrevUploadedReceipt.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.draftReceiptData = payload?.results;\n })\n .addCase(deletePrevUploadedReceipt.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(uploadReceipt.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(uploadReceipt.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isFileUploaded = true;\n state.receiptsSubmittedFlag =false;\n state.receiptDataAfterUpload = payload?.results;\n })\n .addCase(uploadReceipt.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.isErrorOnUpload = true;\n state.uploadErrorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.uploadError = errorPayload\n ? errorPayload.error.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(submitReceipts.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(submitReceipts.fulfilled, (state, action) => {\n const {\n payload\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.receiptsSubmittedFlag = true;\n state.isFileUploaded= false;\n state.receiptDataAfterSubmit = payload?.results;\n })\n .addCase(submitReceipts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n });\n },\n});\n\nexport default codPortalSlice.reducer;\n","import { TextConstants } from \"constants/TextConstants\";\nimport AppConstants from \"../../constants\";\nimport { startOfDay, endOfDay } from \"../../utils/dateUtils\";\n\nexport interface CODPortalDriversDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Drivers[];\n}\n\nexport interface Drivers {\n driverId: string;\n driverName: string;\n ordersCount: any;\n amountCollected: any;\n amountReceived: any;\n amountPending: any;\n vendorName: string;\n}\n\nexport interface CODPortalOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Orders[];\n}\n\nexport interface Orders {\n consignmentCode: string;\n driverId: any;\n driverName: string;\n deliveryStatus: string;\n deliveryDate: any;\n deliverySlot: any;\n codAmountCollected: string;\n codAmountReceived: string;\n codAmountPending: string;\n collected: boolean;\n remarks: string;\n}\n\nexport const codPortalDriversDataTransform = (response: CODPortalDriversDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((driver: Drivers) => {\n const { driverId, driverName, ordersCount, amountCollected, amountReceived, amountPending, vendorName } = driver;\n transformedArray.push({\n id: driverId,\n driverName: driverName,\n totalOrders: ordersCount,\n codCollected: amountCollected,\n codReceived: amountReceived,\n codPending: amountPending,\n vendor: vendorName,\n });\n });\n return [...transformedArray];\n};\n\nexport const codPortalOrdersDataTransform = (response: CODPortalOrdersDataResponse): any[] => {\n const transformedOrderArray: any[] = [];\n response.elements.forEach((order: Orders) => {\n const {\n consignmentCode,\n deliveryStatus,\n deliveryDate,\n deliverySlot,\n codAmountCollected,\n codAmountPending,\n codAmountReceived,\n collected,\n remarks,\n } = order;\n transformedOrderArray.push({\n orderNo: consignmentCode,\n deliveryStatus: deliveryStatus,\n orderDate: deliveryDate,\n slot: deliverySlot,\n codCollected: codAmountCollected,\n codReceived: codAmountReceived,\n codAmountDue: codAmountPending,\n collectionStatus: collected ? TextConstants.COLLECTED : TextConstants.COLLECT,\n remarks: remarks,\n });\n });\n return [...transformedOrderArray];\n};\n\nexport const createPayloadToFetchDriversList = (\n payload: any,\n params: any,\n data?: any,\n isLoadMore?: boolean,\n countryCode?: string,\n dateValue?: any,\n dashboardHub?: string\n) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n }\n if (params && params.dateRange) {\n payload.dateRange = {\n startTime: startOfDay(params.dateRange.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(params.dateRange.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n } else {\n payload.dateRange = {\n startTime: startOfDay(dateValue.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(dateValue.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n }\n if (isLoadMore && payload) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (params && params.hubCode) {\n payload.attributes.push({\n key: \"hub\",\n value: [params.hubCode],\n });\n } else {\n payload.attributes.push({\n key: \"hub\",\n value: [dashboardHub],\n });\n }\n if (payload.driverName.value.length > 0) {\n let attrValue = [];\n if (payload.driverName.value) {\n attrValue = getFilterAttributeValue(payload.driverName.value);\n payload.attributes.push({\n key: payload.driverName.fieldName,\n value: attrValue,\n });\n }\n } else {\n delete payload.driverName;\n }\n if (payload.vendorName.value.length > 0) {\n let attrValue = [];\n if (payload.vendorName.value) {\n attrValue = getFilterAttributeValue(payload.vendorName.value);\n payload.attributes.push({\n key: payload.vendorName.fieldName,\n value: attrValue,\n });\n }\n } else {\n delete payload.vendorName;\n }\n delete payload.reset;\n delete payload.driverName;\n delete payload.vendorName;\n payload.isDateRange = true;\n return payload;\n};\n\nexport const createPayloadToFetchOrdersList = (\n payload: any,\n data?: any,\n isLoadMore?: boolean,\n countryCode?: any,\n dashboardHub?: any,\n dateValue?: any\n) => {\n payload.attributes = [];\n if (countryCode) {\n payload.countryISOCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE);\n }\n payload.isDateRange = true;\n if (dateValue) {\n payload.dateRange = {\n startTime: startOfDay(dateValue.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(dateValue.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n }\n if (isLoadMore && payload) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (dashboardHub && dashboardHub !== AppConstants.SELECT_NONE.value) {\n payload.attributes.push({\n key: \"hub\",\n value: [dashboardHub],\n });\n }\n if (data) {\n payload.attributes.push({\n key: \"driverId\",\n value: [data.id],\n });\n }\n if (payload.deliveryStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue,\n });\n }\n } else {\n delete payload.deliveryStatus;\n }\n delete payload.reset;\n delete payload.deliveryStatus;\n return payload;\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n};\n\nexport const createPayloadToCollectAmount = (data: any, amt: any, comments: any) => {\n const payload = {\n consignmentCode: data.orderNo,\n collected: Number(amt).toFixed(2) === '0.00' ? false : true,\n amount: amt,\n remarks: comments,\n };\n return payload;\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n};\n\nexport const createPayloadToDeleteUploadedFile = (item: any, data: any, isTemp: boolean) => {\n let payload = {\n id: data,\n removeImages: [item.name],\n removeTempImage: isTemp\n }\n return payload;\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n tilesView: {\n flexGrow: 1,\n },\n globalStatusTiles: {\n background: \"#FFFFFF\",\n borderRadius: \"8px\",\n height: \"58px\",\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.08)\",\n padding: \"8px 20px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n },\n tileHeading: {\n fontSize: \"16px\",\n lineHeight: \"21px\",\n fontWeight: 600\n },\n tileSubHeading: {\n fontSize: \"14px\",\n lineHeight: \"21px\",\n fontWeight: 400\n },\n tileData: {\n fontSize: \"20px\",\n fontWeight: 700,\n lineHeight: \"24px\"\n },\n title: {\n fontSize: \"24px\",\n fontWeight: 600\n },\n \n }),\n);","import React, {CSSProperties} from \"react\";\n//Material UI Components\nimport { Grid } from \"@material-ui/core\";\n//styles\nimport { useStyles } from \"./bucket.styles\";\n\ninterface Classes {\n subHeading?: string;\n tileHeading?: string;\n tileData?: string;\n}\ninterface StyleType {\n tile?: CSSProperties;\n content?: CSSProperties;\n}\n\ninterface IBucketComponent{\n tileHeading: string\n tileData?: string;\n subHeading?: string;\n classes?: Classes;\n style?: StyleType;\n}\n interface CODPortalHeaderProps {\n config : IBucketComponent[];\n}\n\nconst BucketComponent = (props: CODPortalHeaderProps) => {\n const classes = useStyles();\n const {config } = props;\n \n const HeaderContent = () => {\n return (\n <>\n {config.map(function (conf: any, index: number) {\n return (\n \n \n \n \n {conf.tileHeading}\n \n {conf.subHeading && (\n \n {conf.subHeading}\n \n )}\n \n {conf.tileData !== null && (\n \n {conf.tileData}\n \n )}\n \n \n );\n })}\n \n );\n };\n\n return (\n <>\n \n \n \n \n );\n};\n\nexport default BucketComponent;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.2015 20.144C36.5535 20.144 35.9495 20.04 35.3895 19.832C34.8375 19.616 34.3575 19.312 33.9495 18.92C33.5415 18.528 33.2215 18.068 32.9895 17.54C32.7655 17.012 32.6535 16.432 32.6535 15.8C32.6535 15.168 32.7655 14.588 32.9895 14.06C33.2215 13.532 33.5415 13.072 33.9495 12.68C34.3655 12.288 34.8495 11.988 35.4015 11.78C35.9535 11.564 36.5575 11.456 37.2135 11.456C37.9415 11.456 38.5975 11.584 39.1815 11.84C39.7735 12.088 40.2695 12.456 40.6695 12.944L39.4215 14.096C39.1335 13.768 38.8135 13.524 38.4615 13.364C38.1095 13.196 37.7255 13.112 37.3095 13.112C36.9175 13.112 36.5575 13.176 36.2295 13.304C35.9015 13.432 35.6175 13.616 35.3775 13.856C35.1375 14.096 34.9495 14.38 34.8135 14.708C34.6855 15.036 34.6215 15.4 34.6215 15.8C34.6215 16.2 34.6855 16.564 34.8135 16.892C34.9495 17.22 35.1375 17.504 35.3775 17.744C35.6175 17.984 35.9015 18.168 36.2295 18.296C36.5575 18.424 36.9175 18.488 37.3095 18.488C37.7255 18.488 38.1095 18.408 38.4615 18.248C38.8135 18.08 39.1335 17.828 39.4215 17.492L40.6695 18.644C40.2695 19.132 39.7735 19.504 39.1815 19.76C38.5975 20.016 37.9375 20.144 37.2015 20.144ZM44.6997 20.096C44.0117 20.096 43.3997 19.952 42.8637 19.664C42.3357 19.376 41.9157 18.984 41.6037 18.488C41.2997 17.984 41.1477 17.412 41.1477 16.772C41.1477 16.124 41.2997 15.552 41.6037 15.056C41.9157 14.552 42.3357 14.16 42.8637 13.88C43.3997 13.592 44.0117 13.448 44.6997 13.448C45.3797 13.448 45.9877 13.592 46.5237 13.88C47.0597 14.16 47.4797 14.548 47.7837 15.044C48.0877 15.54 48.2397 16.116 48.2397 16.772C48.2397 17.412 48.0877 17.984 47.7837 18.488C47.4797 18.984 47.0597 19.376 46.5237 19.664C45.9877 19.952 45.3797 20.096 44.6997 20.096ZM44.6997 18.56C45.0117 18.56 45.2917 18.488 45.5397 18.344C45.7877 18.2 45.9837 17.996 46.1277 17.732C46.2717 17.46 46.3437 17.14 46.3437 16.772C46.3437 16.396 46.2717 16.076 46.1277 15.812C45.9837 15.548 45.7877 15.344 45.5397 15.2C45.2917 15.056 45.0117 14.984 44.6997 14.984C44.3877 14.984 44.1077 15.056 43.8597 15.2C43.6117 15.344 43.4117 15.548 43.2597 15.812C43.1157 16.076 43.0437 16.396 43.0437 16.772C43.0437 17.14 43.1157 17.46 43.2597 17.732C43.4117 17.996 43.6117 18.2 43.8597 18.344C44.1077 18.488 44.3877 18.56 44.6997 18.56ZM49.491 20V11.096H51.363V20H49.491ZM53.1003 20V11.096H54.9723V20H53.1003ZM59.9137 20.096C59.1777 20.096 58.5297 19.952 57.9697 19.664C57.4177 19.376 56.9897 18.984 56.6857 18.488C56.3817 17.984 56.2297 17.412 56.2297 16.772C56.2297 16.124 56.3777 15.552 56.6737 15.056C56.9777 14.552 57.3897 14.16 57.9097 13.88C58.4297 13.592 59.0177 13.448 59.6737 13.448C60.3057 13.448 60.8737 13.584 61.3777 13.856C61.8897 14.12 62.2937 14.504 62.5897 15.008C62.8857 15.504 63.0337 16.1 63.0337 16.796C63.0337 16.868 63.0297 16.952 63.0217 17.048C63.0137 17.136 63.0057 17.22 62.9977 17.3H57.7537V16.208H62.0137L61.2937 16.532C61.2937 16.196 61.2257 15.904 61.0897 15.656C60.9537 15.408 60.7657 15.216 60.5257 15.08C60.2857 14.936 60.0057 14.864 59.6857 14.864C59.3657 14.864 59.0817 14.936 58.8337 15.08C58.5937 15.216 58.4057 15.412 58.2697 15.668C58.1337 15.916 58.0657 16.212 58.0657 16.556V16.844C58.0657 17.196 58.1417 17.508 58.2937 17.78C58.4537 18.044 58.6737 18.248 58.9537 18.392C59.2417 18.528 59.5777 18.596 59.9617 18.596C60.3057 18.596 60.6057 18.544 60.8617 18.44C61.1257 18.336 61.3657 18.18 61.5817 17.972L62.5777 19.052C62.2817 19.388 61.9097 19.648 61.4617 19.832C61.0137 20.008 60.4977 20.096 59.9137 20.096ZM67.4 20.096C66.704 20.096 66.084 19.956 65.54 19.676C64.996 19.388 64.568 18.992 64.256 18.488C63.952 17.984 63.8 17.412 63.8 16.772C63.8 16.124 63.952 15.552 64.256 15.056C64.568 14.552 64.996 14.16 65.54 13.88C66.084 13.592 66.704 13.448 67.4 13.448C68.08 13.448 68.672 13.592 69.176 13.88C69.68 14.16 70.052 14.564 70.292 15.092L68.84 15.872C68.672 15.568 68.46 15.344 68.204 15.2C67.956 15.056 67.684 14.984 67.388 14.984C67.068 14.984 66.78 15.056 66.524 15.2C66.268 15.344 66.064 15.548 65.912 15.812C65.768 16.076 65.696 16.396 65.696 16.772C65.696 17.148 65.768 17.468 65.912 17.732C66.064 17.996 66.268 18.2 66.524 18.344C66.78 18.488 67.068 18.56 67.388 18.56C67.684 18.56 67.956 18.492 68.204 18.356C68.46 18.212 68.672 17.984 68.84 17.672L70.292 18.464C70.052 18.984 69.68 19.388 69.176 19.676C68.672 19.956 68.08 20.096 67.4 20.096ZM74.1036 20.096C73.3436 20.096 72.7516 19.904 72.3276 19.52C71.9036 19.128 71.6916 18.548 71.6916 17.78V12.116H73.5636V17.756C73.5636 18.028 73.6356 18.24 73.7796 18.392C73.9236 18.536 74.1196 18.608 74.3676 18.608C74.6636 18.608 74.9156 18.528 75.1236 18.368L75.6276 19.688C75.4356 19.824 75.2036 19.928 74.9316 20C74.6676 20.064 74.3916 20.096 74.1036 20.096ZM70.6956 15.128V13.688H75.1716V15.128H70.6956Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.75,\n y: 0.75,\n width: 106.5,\n height: 30.5,\n rx: 11.25,\n stroke: \"#0E5AA7\",\n strokeWidth: 1.5\n});\n\nvar SvgCollectButton = function SvgCollectButton(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 108,\n height: 32,\n viewBox: \"0 0 108 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCollectButton, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/collect-button.81a35a1f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 108,\n height: 32,\n rx: 12,\n fill: \"#0E5AA7\",\n fillOpacity: 0.05\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.3617 20.144C20.7137 20.144 20.1097 20.04 19.5497 19.832C18.9977 19.616 18.5177 19.312 18.1097 18.92C17.7017 18.528 17.3817 18.068 17.1497 17.54C16.9257 17.012 16.8137 16.432 16.8137 15.8C16.8137 15.168 16.9257 14.588 17.1497 14.06C17.3817 13.532 17.7017 13.072 18.1097 12.68C18.5257 12.288 19.0097 11.988 19.5617 11.78C20.1137 11.564 20.7177 11.456 21.3737 11.456C22.1017 11.456 22.7577 11.584 23.3417 11.84C23.9337 12.088 24.4297 12.456 24.8297 12.944L23.5817 14.096C23.2937 13.768 22.9737 13.524 22.6217 13.364C22.2697 13.196 21.8857 13.112 21.4697 13.112C21.0777 13.112 20.7177 13.176 20.3897 13.304C20.0617 13.432 19.7777 13.616 19.5377 13.856C19.2977 14.096 19.1097 14.38 18.9737 14.708C18.8457 15.036 18.7817 15.4 18.7817 15.8C18.7817 16.2 18.8457 16.564 18.9737 16.892C19.1097 17.22 19.2977 17.504 19.5377 17.744C19.7777 17.984 20.0617 18.168 20.3897 18.296C20.7177 18.424 21.0777 18.488 21.4697 18.488C21.8857 18.488 22.2697 18.408 22.6217 18.248C22.9737 18.08 23.2937 17.828 23.5817 17.492L24.8297 18.644C24.4297 19.132 23.9337 19.504 23.3417 19.76C22.7577 20.016 22.0977 20.144 21.3617 20.144ZM28.8598 20.096C28.1718 20.096 27.5598 19.952 27.0238 19.664C26.4958 19.376 26.0758 18.984 25.7638 18.488C25.4598 17.984 25.3078 17.412 25.3078 16.772C25.3078 16.124 25.4598 15.552 25.7638 15.056C26.0758 14.552 26.4958 14.16 27.0238 13.88C27.5598 13.592 28.1718 13.448 28.8598 13.448C29.5398 13.448 30.1478 13.592 30.6838 13.88C31.2198 14.16 31.6398 14.548 31.9438 15.044C32.2478 15.54 32.3998 16.116 32.3998 16.772C32.3998 17.412 32.2478 17.984 31.9438 18.488C31.6398 18.984 31.2198 19.376 30.6838 19.664C30.1478 19.952 29.5398 20.096 28.8598 20.096ZM28.8598 18.56C29.1718 18.56 29.4518 18.488 29.6998 18.344C29.9478 18.2 30.1438 17.996 30.2878 17.732C30.4318 17.46 30.5038 17.14 30.5038 16.772C30.5038 16.396 30.4318 16.076 30.2878 15.812C30.1438 15.548 29.9478 15.344 29.6998 15.2C29.4518 15.056 29.1718 14.984 28.8598 14.984C28.5478 14.984 28.2678 15.056 28.0198 15.2C27.7718 15.344 27.5718 15.548 27.4198 15.812C27.2758 16.076 27.2038 16.396 27.2038 16.772C27.2038 17.14 27.2758 17.46 27.4198 17.732C27.5718 17.996 27.7718 18.2 28.0198 18.344C28.2678 18.488 28.5478 18.56 28.8598 18.56ZM33.6511 20V11.096H35.5231V20H33.6511ZM37.2605 20V11.096H39.1325V20H37.2605ZM44.0739 20.096C43.3379 20.096 42.6899 19.952 42.1299 19.664C41.5779 19.376 41.1499 18.984 40.8459 18.488C40.5419 17.984 40.3899 17.412 40.3899 16.772C40.3899 16.124 40.5379 15.552 40.8339 15.056C41.1379 14.552 41.5499 14.16 42.0699 13.88C42.5899 13.592 43.1779 13.448 43.8339 13.448C44.4659 13.448 45.0339 13.584 45.5379 13.856C46.0499 14.12 46.4539 14.504 46.7499 15.008C47.0459 15.504 47.1939 16.1 47.1939 16.796C47.1939 16.868 47.1899 16.952 47.1819 17.048C47.1739 17.136 47.1659 17.22 47.1579 17.3H41.9139V16.208H46.1739L45.4539 16.532C45.4539 16.196 45.3859 15.904 45.2499 15.656C45.1139 15.408 44.9259 15.216 44.6859 15.08C44.4459 14.936 44.1659 14.864 43.8459 14.864C43.5259 14.864 43.2419 14.936 42.9939 15.08C42.7539 15.216 42.5659 15.412 42.4299 15.668C42.2939 15.916 42.2259 16.212 42.2259 16.556V16.844C42.2259 17.196 42.3019 17.508 42.4539 17.78C42.6139 18.044 42.8339 18.248 43.1139 18.392C43.4019 18.528 43.7379 18.596 44.1219 18.596C44.4659 18.596 44.7659 18.544 45.0219 18.44C45.2859 18.336 45.5259 18.18 45.7419 17.972L46.7379 19.052C46.4419 19.388 46.0699 19.648 45.6219 19.832C45.1739 20.008 44.6579 20.096 44.0739 20.096ZM51.5602 20.096C50.8642 20.096 50.2442 19.956 49.7002 19.676C49.1562 19.388 48.7282 18.992 48.4162 18.488C48.1122 17.984 47.9602 17.412 47.9602 16.772C47.9602 16.124 48.1122 15.552 48.4162 15.056C48.7282 14.552 49.1562 14.16 49.7002 13.88C50.2442 13.592 50.8642 13.448 51.5602 13.448C52.2402 13.448 52.8322 13.592 53.3362 13.88C53.8402 14.16 54.2122 14.564 54.4522 15.092L53.0002 15.872C52.8322 15.568 52.6202 15.344 52.3642 15.2C52.1162 15.056 51.8442 14.984 51.5482 14.984C51.2282 14.984 50.9402 15.056 50.6842 15.2C50.4282 15.344 50.2242 15.548 50.0722 15.812C49.9282 16.076 49.8562 16.396 49.8562 16.772C49.8562 17.148 49.9282 17.468 50.0722 17.732C50.2242 17.996 50.4282 18.2 50.6842 18.344C50.9402 18.488 51.2282 18.56 51.5482 18.56C51.8442 18.56 52.1162 18.492 52.3642 18.356C52.6202 18.212 52.8322 17.984 53.0002 17.672L54.4522 18.464C54.2122 18.984 53.8402 19.388 53.3362 19.676C52.8322 19.956 52.2402 20.096 51.5602 20.096ZM58.2638 20.096C57.5038 20.096 56.9118 19.904 56.4878 19.52C56.0638 19.128 55.8518 18.548 55.8518 17.78V12.116H57.7238V17.756C57.7238 18.028 57.7958 18.24 57.9398 18.392C58.0838 18.536 58.2798 18.608 58.5278 18.608C58.8238 18.608 59.0758 18.528 59.2838 18.368L59.7878 19.688C59.5958 19.824 59.3638 19.928 59.0918 20C58.8278 20.064 58.5518 20.096 58.2638 20.096ZM54.8558 15.128V13.688H59.3318V15.128H54.8558ZM63.8434 20.096C63.1074 20.096 62.4594 19.952 61.8994 19.664C61.3474 19.376 60.9194 18.984 60.6154 18.488C60.3114 17.984 60.1594 17.412 60.1594 16.772C60.1594 16.124 60.3074 15.552 60.6034 15.056C60.9074 14.552 61.3194 14.16 61.8394 13.88C62.3594 13.592 62.9474 13.448 63.6034 13.448C64.2354 13.448 64.8034 13.584 65.3074 13.856C65.8194 14.12 66.2234 14.504 66.5194 15.008C66.8154 15.504 66.9634 16.1 66.9634 16.796C66.9634 16.868 66.9594 16.952 66.9514 17.048C66.9434 17.136 66.9354 17.22 66.9274 17.3H61.6834V16.208H65.9434L65.2234 16.532C65.2234 16.196 65.1554 15.904 65.0194 15.656C64.8834 15.408 64.6954 15.216 64.4554 15.08C64.2154 14.936 63.9354 14.864 63.6154 14.864C63.2954 14.864 63.0114 14.936 62.7634 15.08C62.5234 15.216 62.3354 15.412 62.1994 15.668C62.0634 15.916 61.9954 16.212 61.9954 16.556V16.844C61.9954 17.196 62.0714 17.508 62.2234 17.78C62.3834 18.044 62.6034 18.248 62.8834 18.392C63.1714 18.528 63.5074 18.596 63.8914 18.596C64.2354 18.596 64.5354 18.544 64.7914 18.44C65.0554 18.336 65.2954 18.18 65.5114 17.972L66.5074 19.052C66.2114 19.388 65.8394 19.648 65.3914 19.832C64.9434 20.008 64.4274 20.096 63.8434 20.096ZM70.9817 20.096C70.3737 20.096 69.8257 19.96 69.3377 19.688C68.8497 19.408 68.4617 19.02 68.1737 18.524C67.8937 18.028 67.7537 17.444 67.7537 16.772C67.7537 16.092 67.8937 15.504 68.1737 15.008C68.4617 14.512 68.8497 14.128 69.3377 13.856C69.8257 13.584 70.3737 13.448 70.9817 13.448C71.5257 13.448 72.0017 13.568 72.4097 13.808C72.8177 14.048 73.1337 14.412 73.3577 14.9C73.5817 15.388 73.6937 16.012 73.6937 16.772C73.6937 17.524 73.5857 18.148 73.3697 18.644C73.1537 19.132 72.8417 19.496 72.4337 19.736C72.0337 19.976 71.5497 20.096 70.9817 20.096ZM71.3057 18.56C71.6097 18.56 71.8857 18.488 72.1337 18.344C72.3817 18.2 72.5777 17.996 72.7217 17.732C72.8737 17.46 72.9497 17.14 72.9497 16.772C72.9497 16.396 72.8737 16.076 72.7217 15.812C72.5777 15.548 72.3817 15.344 72.1337 15.2C71.8857 15.056 71.6097 14.984 71.3057 14.984C70.9937 14.984 70.7137 15.056 70.4657 15.2C70.2177 15.344 70.0177 15.548 69.8657 15.812C69.7217 16.076 69.6497 16.396 69.6497 16.772C69.6497 17.14 69.7217 17.46 69.8657 17.732C70.0177 17.996 70.2177 18.2 70.4657 18.344C70.7137 18.488 70.9937 18.56 71.3057 18.56ZM72.9977 20V18.68L73.0337 16.76L72.9137 14.852V11.096H74.7857V20H72.9977Z\",\n fill: \"#0E5AA7\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.5 12.5L90.5 19.4997L87 16\",\n stroke: \"#0E5AA7\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar SvgCollectedButton = function SvgCollectedButton(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 108,\n height: 32,\n viewBox: \"0 0 108 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCollectedButton, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/collected-button.b55a9e52.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useState, useEffect, useMemo } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { cloneDeep } from \"../../utils/loadash.utils\";\nimport { fetchOrdersList, reconcileCollectedAmtForOrder, openCollectionConfirmation } from \"./redux/codPortalSlice\";\n//common components\nimport { AppState } from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport CustomDialog from \"../../common/Dialog\";\nimport { CellParams } from \"../../common/GridWrapper/DataTable\";\nimport GridWrapper from \"../../common/GridWrapper\";\nimport TextBox from \"../../common/TextBox\";\nimport { ReactComponent as collectIcon } from '../../assets/icons/collect-button.svg';\nimport { ReactComponent as collectedIcon } from '../../assets/icons/collected-button.svg';\n//Material UI Components\nimport { Grid, Typography, Button, SvgIcon } from \"@material-ui/core\";\n//styles\nimport { useStyles } from \"./codportal.styles\";\nimport BucketComponent from \"../../common/BucketComponent\";\nimport {\n codPortalOrdersDataTransform,\n getConsignmentStatusField,\n createPayloadToFetchOrdersList,\n createPayloadToCollectAmount,\n} from \"../../mocks/codPortal/response.transforms\";\nimport { TextConstants } from \"constants/TextConstants\";\n\ninterface CODDriverDetailsProps {\n open: boolean;\n driverDetails: any;\n dashboardHub: any;\n dateRange: any;\n closePopup: () => void;\n}\n\n\nconst CODDriverDetails = (props: CODDriverDetailsProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const { open, driverDetails, dashboardHub, dateRange, closePopup } = props;\n const { expOrdersData, loading, isAmtCollectedForExpressOrders, expOrdersFiltersDropdowns, expOrdersOnDriverDetails, expCodAmtOnDriverDetails, \n expCodPendingOnDriverDetails, \n expCodReceivedOnDriverDetails, \n expTotalOrdersAmtOnDriverDetails } = useSelector(\n (state: AppState) => state.codPortal\n );\n const { isLastMileViewer, isOnlyExpLastMileViewer, isAdmin, isDispatcher, isOnlyExpressDispatcher } = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const collectionStatus = (status: any) => {\n if (status.toLowerCase() === \"collect\") {\n return (\n \n );\n } else {\n return (\n \n );\n }\n };\n \n const { countryCode } = useSelector((state: AppState) => state.common);\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.COD_RECON_CONSTANTS.ORDERS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.COD_RECON_CONSTANTS.ORDERS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = header;\n if (newHeader.field === \"orderNo\") {\n newHeader.renderCell = (params: CellParams) => {params.value};\n }\n if (newHeader.field === \"deliveryStatus\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n \n {params.value ? params.value : \"\"}\n \n \n ) : (\n <>\n );\n }\n if (newHeader.field === \"collectionStatus\") {\n newHeader.renderCell = (params: CellParams) => {collectionStatus(params.value)};\n }\n return newHeader;\n }),\n });\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [activeFilters, setActiveFilters] = useState(ordersTableWrapperData.defaultFiltersObj);\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot,\n },\n };\n const createCollectionConfirmationDialogPaperProps = {\n classes: {\n root: classes.collectionConfirmationDialogPaperPropsRoot,\n },\n };\n const [consignmentData, setConsignmentData] = useState({\n orderNo: \"\",\n });\n const [openCollectionConfirmationPopup, setOpenCollectionConfirmationPopup] = useState(false);\n const [collectedAmt, setCollectedAmt] = useState(\"\");\n const [comments, setComments] = useState(\"\");\n const [errors, setErrors] = useState(\"\");\n let driverDetailsForOrders = {};\n let hub = \"\";\n let dateValue = {};\n if (driverDetails) {\n driverDetailsForOrders = driverDetails;\n }\n if (dashboardHub) {\n hub = dashboardHub;\n }\n if (dateRange) {\n dateValue = dateRange;\n }\n\n const handleDialogClose = () => {\n closePopup();\n setOrdersSearchValue(\"\");\n setActiveFilters(ordersTableWrapperData.defaultFiltersObj);\n };\n\n const getTitleContent = () => {\n return (\n \n COD Reconciliation - {driverDetails.driverName}\n \n );\n };\n\n const validateForm = useCallback(\n (amt: any) => {\n let newErrors = \"\";\n if (Math.sign(Number(amt)) === -1) {\n newErrors = \"Amount should only be positive\";\n }\n setErrors(newErrors);\n return newErrors.length;\n },\n [errors]\n );\n\n const ordersSearchFilterHandler = (data: { [key: string]: string }, updatedSearchValue: string, filters: any) => {\n const activeFilters = cloneDeep(filters);\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey],\n };\n ordersFilterCallback(activeFilters, false);\n return;\n }\n }\n }\n };\n\n const ordersDataCallback = useCallback(\n (filters: any, isLoadMore?: boolean, driverDetails?: any, countryCode?: any, hub?: any, dateRange?: any) => {\n if (driverDetails) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n const orderFilters = createPayloadToFetchOrdersList(\n payloadFilters,\n driverDetails,\n isLoadMore,\n countryCode,\n hub,\n dateRange\n );\n dispatch(\n fetchOrdersList({\n params: orderFilters,\n })\n );\n setActiveFilters(filters);\n }\n },\n [dispatch, ordersTableWrapperData]\n );\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean) => {\n ordersDataCallback(filters, isLoadMore, driverDetailsForOrders, countryCode, hub, dateValue);\n },\n [ordersDataCallback, hub, dateValue, countryCode, driverDetailsForOrders]\n );\n\n const getHeaderConfig = useMemo(() => {\n return [\n {\n tileHeading: TextConstants.TOTAL_COD_ORDERS,\n tileData: expOrdersOnDriverDetails,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_ORDERS_AMOUNT,\n tileData: expTotalOrdersAmtOnDriverDetails,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_COD_COLLECTED,\n tileData: expCodAmtOnDriverDetails,\n subHeading: \"(By Driver)\",\n },\n {\n tileHeading: TextConstants.COD_AMOUNT_RECEIVED,\n tileData: expCodReceivedOnDriverDetails,\n subHeading: \"(By Dispatcher)\",\n },\n {\n tileHeading: TextConstants.TOTAL_COD_AMOUNT,\n tileData: expCodPendingOnDriverDetails,\n subHeading: \"pending\",\n classes: {subHeading: classes.subHeadingBold},\n },\n ];\n }, [\n expOrdersOnDriverDetails,\n expTotalOrdersAmtOnDriverDetails,\n expCodAmtOnDriverDetails,\n expCodReceivedOnDriverDetails,\n expCodPendingOnDriverDetails,\n country,\n classes.subHeadingBold,\n ]);\n\n const HeaderComponent = () => {\n const config = getHeaderConfig\n return ;\n };\n\n\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n );\n };\n\n const getCollectionConfirmationDialogTitleContent = () => {\n return (\n \n Confirm collection - ({consignmentData && consignmentData.orderNo})\n \n );\n };\n\n const handleCollectedAmtChange = useCallback(\n (event: React.ChangeEvent) => {\n setCollectedAmt(event.target.value);\n if (event.target.value) {\n setErrors(\"\");\n }\n },\n [errors]\n );\n\n const handleCommentsChange = useCallback((event: React.ChangeEvent) => {\n setComments(event.target.value);\n }, []);\n\n const collectionConfirmationDialogActionHandler = useCallback(\n (type: string, data: any, amt: any, comments: any) => {\n if (validateForm(amt) === 0) {\n const payload = createPayloadToCollectAmount(data, amt, comments);\n dispatch(\n reconcileCollectedAmtForOrder({\n params: payload,\n })\n );\n setOpenCollectionConfirmationPopup(false);\n }\n },\n [dispatch, validateForm]\n );\n\n const getCollectionConfirmationDialogDetailsContent = () => {\n return (\n \n \n \n Collect amount\n \n \n \n \n \n \n \n Comments\n \n \n \n \n \n \n );\n };\n\n const getCollectionConfirmationDialogActions = () => {\n return (\n \n {\n handleCollectionConfirmationDialogClose();\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n collectionConfirmationDialogActionHandler(\"submit\", consignmentData, collectedAmt, comments);\n }}\n >\n {AppConstants.BUTTONS.SUBMIT}\n \n \n );\n };\n\n const handleCollectionConfirmationDialogClose = () => {\n setOpenCollectionConfirmationPopup(false);\n };\n\n const handleLoadMoreDisableState = useCallback(() => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = expOrdersData.totalPages ? expOrdersData.pageNumber + 1 >= expOrdersData.totalPages : true;\n setOrdersTableWrapperData({ ...ordersTableWrapperData, loadMore: loadMoreState });\n }, [ordersTableWrapperData, expOrdersData]);\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (isAdmin && params.field === \"collectionStatus\") {\n const selectedRow: any = params.rowData;\n setConsignmentData(selectedRow);\n setCollectedAmt(selectedRow && selectedRow.codCollected);\n setComments(selectedRow && selectedRow.remarks);\n dispatch(openCollectionConfirmation());\n setOpenCollectionConfirmationPopup(true);\n } else {\n if (\n (isDispatcher || isOnlyExpressDispatcher) &&\n params?.rowData?.collectionStatus === TextConstants.COLLECT &&\n params.field === \"collectionStatus\"\n ) {\n const selectedRow: any = params.rowData;\n setConsignmentData(selectedRow);\n setCollectedAmt(selectedRow && selectedRow.codCollected);\n setComments(selectedRow && selectedRow.remarks);\n dispatch(openCollectionConfirmation());\n setOpenCollectionConfirmationPopup(true);\n }\n }\n },\n [dispatch, isAdmin, isDispatcher, isOnlyExpressDispatcher]\n );\n\n useEffect(() => {\n if (isAmtCollectedForExpressOrders) {\n setIsOrderSearched(false);\n setOrdersSearchValue(\"\");\n ordersFilterCallback(activeFilters, false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAmtCollectedForExpressOrders]);\n\n useEffect(() => {\n setIsOrderSearched(false);\n setOrdersSearchValue(\"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = expOrdersFiltersDropdowns.deliveryStatusList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({ ...ordersTableWrapperData, HeaderData: headerData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expOrdersFiltersDropdowns]);\n\n useEffect(() => {\n if (isLastMileViewer || isOnlyExpLastMileViewer) {\n let headerDataWithoutActions = ordersTableWrapperData.HeaderData.map((data: any) => {\n if (data.field === \"collectionStatus\") {\n data.hide = true;\n }\n return data;\n });\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: headerDataWithoutActions});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLastMileViewer, isOnlyExpLastMileViewer]);\n\n useEffect(() => {\n setOrdersListToShow(codPortalOrdersDataTransform(expOrdersData) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expOrdersData]);\n\n return (\n <>\n \n \n \n );\n};\n\nexport default CODDriverDetails;\n","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogPaperPropsRoot: {\n minWidth: \"95vw\",\n height: \"95vh\",\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n uploadContainer: {\n \"& .buttonsContainer\": {\n \"& .userBtn\": {\n \"&.secondary\": {\n marginRight: theme.spacing(2),\n },\n flexGrow: 1,\n },\n },\n },\n uploadButtonsContainer: {\n justifyContent: \"flex-start\",\n paddingBottom: theme.spacing(3),\n \"& .dialogBtn\": {\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1),\n },\n },\n },\n contentItem: {\n paddingTop: theme.spacing(3),\n \"& .itemContainer\": {\n flexDirection: \"column\",\n \"& .itemLabel\": {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"& .itemInput\": {\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"& .userIdContainer .input\": {\n flexGrow: 1,\n paddingRight: theme.spacing(2),\n },\n },\n },\n },\n errorMsg:{\n color: COLORS.ERROR_RED,\n fontSize: 14,\n marginTop: 8\n },\n uploadDialogTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n },\n container: {\n padding: \"4px 0px 0px 8px\", \n \"& .prevContainer\": {\n padding: theme.spacing(3),\n \"& .receiptsPanel\": {\n background: \"rgba(250, 250, 251, 0.89)\",\n padding: theme.spacing(5),\n display: \"flex\",\n flexDirection: \"column\",\n height: \"678px\",\n overflow: \"auto\",\n },\n \"& .panelTitle\": {\n color: \"#505050\",\n fontSize: \"20px\",\n fontWeight: 600,\n },\n \"& .defaultPanel\": {\n height: \"405px\",\n \"& .title\": {\n margin: \"0 auto\",\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .content\": {\n color: \"#505050\",\n fontSize: \"20px\",\n fontWeight: 600,\n },\n },\n \"& .uploadedFilePanel\": {\n \"& .container\": {\n height: \"52px\",\n border: `1px solid ${COLORS.SEA_GREEN}`,\n borderRadius: \"12px\",\n marginTop: theme.spacing(2),\n \"& .item\": {\n padding: \"12px 20px\",\n },\n \"& .content\": {\n display: \"flex\",\n justifyContent: \"space-between\",\n \"& .fileName\": {\n fontSize: \"14px\",\n fontWeight: 500,\n color: \"#141414\",\n },\n \"& .fileTimestamp\": {\n fontSize: \"10px\",\n fontWeight: 400,\n color: \"#505050\",\n paddingTop: theme.spacing(1),\n },\n \"& .icon\": {\n height: \"24px\",\n width: \"24px\",\n cursor: \"pointer\",\n \"&.delete\": {\n marginLeft: theme.spacing(1.5),\n },\n },\n },\n },\n },\n },\n },\n tempContainer: {\n \"& .content\": {\n paddingTop: theme.spacing(5),\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .imgItem\": {\n display: \"flex\",\n paddingLeft: theme.spacing(3),\n \"& .name\": {\n color: COLORS.MINE_SHAFT,\n fontSize: \"14px\",\n fontWeight: 600,\n },\n \"& .icon\": {\n width: \"18px\",\n height: \"18px\",\n marginLeft: theme.spacing(3),\n cursor: \"pointer\",\n },\n },\n },\n attachItem: {\n paddingTop: theme.spacing(5),\n paddingLeft: theme.spacing(2.75),\n display: \"flex\",\n alignItems: \"center\",\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"& .input\": {\n display: \"none\",\n },\n \"& .btnDiv\": {\n display: \"flex\",\n borderRadius: \"12px\",\n cursor: \"pointer\",\n },\n \"& .btnText\": {\n color: COLORS.PRIMARY_MAIN,\n fontSize: \"14px\",\n fontWeight: 700,\n padding: \"4px 0px 0px 16px\",\n },\n },\n })\n);\n","import React from \"react\";\nimport {saveAs} from \"file-saver\";\nimport { Typography } from \"@material-ui/core\";\ninterface DownloadFileProps {\n children?: any;\n icon: any;\n item: any;\n}\ninterface UploadFileProps {\n children?: any;\n value?: any;\n accept: any;\n disabled?: boolean;\n onChange: any;\n icon?: any;\n Text?: any;\n}\n\nexport const FileStorageUpload = (props: UploadFileProps) => {\n const {\n value,\n accept,\n disabled,\n icon,\n Text,\n onChange,\n } = props;\n\n\n function handleUpload(event: any) {\n let selectedFile = event.target.files[0];\n onChange(selectedFile)\n }\n\n\n return (\n \n );\n};\n\n\nexport const FileStorageSave = (props: DownloadFileProps) => {\n const { children, icon, item } = props;\n\n const downloadFile = () => {\n if (item) {\n saveAs(item.url, item.name);\n }\n };\n\n return (\n <>\n {\n downloadFile()}\n />\n }\n \n );\n};\n","import React, {useCallback, useState, useEffect, useRef} from \"react\";\nimport {useSelector, useDispatch} from \"react-redux\";\nimport {uploadReceipt, submitReceipts, uploadClick, deletePrevUploadedReceipt} from \"./redux/codPortalSlice\";\n//common components\nimport {AppState} from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport CustomDialog from \"../../common/Dialog\";\nimport TextBox from \"../../common/TextBox\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\n\n//assets\nimport attachIcon from \"../../assets/icons/attach-key.svg\";\nimport trashIcon from \"../../assets/icons/trash.svg\";\nimport downloadIcon from \"../../assets/icons/download.svg\";\nimport closeIcon from \"../../assets/icons/circled-cancel.svg\";\n\n//Material UI Components\nimport {Grid, Typography, Button} from \"@material-ui/core\";\n\n//styles\nimport {useStyles} from \"./codUploadReceipt.styles\";\n\nimport {userLogout} from \"../../Login/redux/loginSlice\";\nimport {createPayloadToDeleteUploadedFile} from \"../../mocks/codPortal/response.transforms\";\nimport {dateWithReqFormat} from \"../../utils/dateUtils\";\nimport {FileStorageUpload, FileStorageSave} from \"../../common/FileStorageOprations\"\nimport { saveAs } from 'file-saver';\n\ninterface CODUploadReceiptProps {\n open: boolean;\n hub: any;\n date: any;\n closePopup: () => void;\n}\n\nconst CODUploadReceipt = (props: CODUploadReceiptProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const {open, hub, date, closePopup} = props;\n const {\n draftReceiptData,\n isFileUploaded,\n receiptDataAfterUpload,\n uploadError,\n uploadErrorCode,\n receiptsSubmittedFlag,\n receiptDataAfterSubmit,\n isErrorOnUpload\n } = useSelector((state: AppState) => state.codPortal);\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot,\n },\n };\n const [receiptNo, setReceiptNo] = useState(\"\");\n const [file, setFile] = useState({\n name: \"\",\n });\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [tempReceipts, setTempReceipts] = useState([]);\n const [permanentReceipts, setPermanentReceipts] = useState([]);\n const [draftId, setDraftId] = useState(\"\");\n const [enableAttachBtn, setEnableAttachBtn] = useState(false);\n const [maxSize, setMaxSize] = useState(false);\n const maxSizeSnackbarType = useRef(AppConstants.SNACKBAR.TYPES.ERROR);\n const maxSizeMessage = AppConstants.COD_RECON_CONSTANTS.MAX_FILE_SIZE;\n const handleDialogClose = () => {\n closePopup();\n setReceiptNo(\"\");\n };\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n setMaxSize(false);\n };\n\n const handleSnackbarExited = useCallback(() => {\n if (uploadErrorCode === AppConstants.COD_RECON_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }, [dispatch, uploadErrorCode]);\n\n const handleReceiptTextboxChange = (event: any) => {\n const receiptNumber = event.target.value;\n setReceiptNo(receiptNumber);\n if (event.target.value.length > 0) {\n setEnableAttachBtn(true);\n } else {\n setEnableAttachBtn(false);\n } \n };\n\n function handleUpload(selectedFile: any) {\n setFile(selectedFile);\n dispatch(uploadClick());\n let data = new FormData();\n if (selectedFile.size > AppConstants.COD_RECON_CONSTANTS.MAX_FILE_SIZE_ALLOWED) {\n setMaxSize(true);\n setEnableAttachBtn(false);\n } else {\n data.append(\"images\", selectedFile);\n const request = JSON.stringify({\n id: draftReceiptData && draftReceiptData.id,\n receiptNumber: receiptNo,\n });\n data.append(\"request\", request);\n dispatch(\n uploadReceipt({\n params: data,\n })\n );\n }\n //event.target.value = \"\";\n setReceiptNo(\"\");\n }\n \n const deleteUploadedFile = (item: any, id: any, isTemp: boolean) => {\n const payload = createPayloadToDeleteUploadedFile(item, id, isTemp);\n dispatch(\n deletePrevUploadedReceipt({\n params: payload,\n })\n );\n };\n\n\n const downloadFile = (item: any) => {\n if (item) {\n saveAs(item.url, item.name);\n }\n };\n\n const handleSubmitReceipt = useCallback((draftId: any) => {\n const payload = { id: draftId };\n dispatch(\n submitReceipts({\n params: payload,\n })\n );\n setReceiptNo(\"\");\n }, [dispatch]);\n\n const getUploadedFiles = () => {\n return permanentReceipts?.length\n ? permanentReceipts.map((item: any, index: number) => (\n \n \n \n \n \n {item.name}\n \n Uploaded on {dateWithReqFormat(item.createdAt, AppConstants.DATE_FORMAT)}\n \n \n \n \n deleteUploadedFile(item, draftId, false)}\n />\n \n \n \n \n \n ))\n : null;\n };\n\n const getPreviousUploads = () => {\n return (\n <>\n {permanentReceipts?.length ? (\n
\n Previous Uploads\n {getUploadedFiles()}\n
\n ) : (\n \n \n No previous uploads available\n \n \n )}\n \n );\n };\n\n const renderTempReceiptsContainer = () => {\n return (\n tempReceipts?.length ?\n tempReceipts.map((item: any, index: number) => (\n \n \n \n \n \n \n {item.name}\n deleteUploadedFile(item, draftId, true)} \n />\n \n \n \n )) : null\n );\n };\n\n const renderReceiptConfig = () => {\n return (\n \n \n \n \n Receipt No\n \n \n \n \n \n \n \n <>\n \n \n \n \n );\n };\n\n const getTitleContent = () => {\n return Cash Receipts;\n };\n\n const getDetailsContent = () => {\n return (\n
\n \n \n Store Name : {hub}\n \n \n Date : {date.startDate}\n \n \n \n \n \n {renderReceiptConfig()}\n {renderTempReceiptsContainer()}\n \n \n \n {getPreviousUploads()}\n \n \n \n \n
\n );\n };\n\n const getUploadActions = () => {\n return (\n \n \n \n \n );\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n useEffect(() => {\n if (receiptsSubmittedFlag) {\n setTempReceipts(receiptDataAfterSubmit?.tempReceiptImages);\n setPermanentReceipts(receiptDataAfterSubmit?.images);\n setEnableAttachBtn(false);\n }\n }, [receiptsSubmittedFlag, receiptDataAfterSubmit]);\n\n useEffect(() => {\n if (isFileUploaded) {\n setTempReceipts(receiptDataAfterUpload?.tempReceiptImages);\n setPermanentReceipts(receiptDataAfterUpload?.images);\n setEnableAttachBtn(false);\n }\n }, [isFileUploaded, receiptDataAfterUpload]);\n\n useEffect(() => {\n setDraftId(draftReceiptData?.id);\n setTempReceipts(draftReceiptData?.tempReceiptImages);\n setPermanentReceipts(draftReceiptData?.images);\n setEnableAttachBtn(false);\n }, [draftReceiptData]);\n\n useEffect(() => {\n if (isErrorOnUpload) {\n openSnackbarPopup(uploadError, AppConstants.SNACKBAR.TYPES.ERROR);\n setReceiptNo(\"\");\n }\n }, [isErrorOnUpload]);\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport default CODUploadReceipt;","import React, {useCallback, useEffect, useRef, useState, useMemo} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {cloneDeep} from \"../../utils/loadash.utils\";\nimport {currentDate, startOfDay} from \"../../utils/dateUtils\";\nimport {isUndefined} from \"utils/helpers.utils\";\n//common components\nimport {AppState} from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport GridWrapper from \"../../common/GridWrapper\";\nimport Loader from \"../../common/Loader\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\nimport SelectBox from \"../../common/SelectBox\";\nimport DateRangePickerComponent from \"../../common/DateRangeComponent/index\";\nimport {TextConstants} from \"constants/TextConstants\";\n//Material UI Components\nimport {CellParams} from \"../../common/GridWrapper/DataTable\";\nimport {Grid, Typography, Button, IconButton, SvgIcon} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n//styles\nimport {useStyles} from \"./codportal.styles\";\n//assets\nimport calendarIcon from \"../../assets/icons/calendar-icon.svg\";\nimport arrowIcon from \"../../assets/icons/CaretCircleRight.svg\";\nimport {ReactComponent as checkIcon} from \"../../assets/icons/circle-checked-icon.svg\";\n//redux\nimport {fetchDriversList, exportToExcel, createReceiptDraft} from \"./redux/codPortalSlice\";\nimport {userLogout} from \"../../Login/redux/loginSlice\";\n\nimport {\n createPayloadToFetchDriversList,\n codPortalDriversDataTransform,\n} from \"../../mocks/codPortal/response.transforms\";\nimport BucketComponent from \"../../common/BucketComponent\";\nimport CODDriverDetails from \"./codDriverDetails\";\nimport CODUploadReceipt from \"./codUploadReceipt\";\ninterface CODPortalProps {\n match?: any;\n location?: any;\n}\n\nconst CODPortal = (props: CODPortalProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const {countryCode, hubRecordList, hubRecordListWithCodeAndName} = useSelector((state: AppState) => state.common);\n const {\n expDriversData,\n loading,\n expDriversFiltersDropdowns,\n error,\n errorCode,\n excelLoading,\n exportError,\n isAmtCollectedForExpressOrders,\n } = useSelector((state: AppState) => state.codPortal);\n const {isLastMileViewer, isOnlyExpLastMileViewer} = useSelector((state: AppState) => state.userLogin);\n\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [openDriverDetails, setOpenDriverDetails] = useState(false);\n const [dashboardHub, setDashboardHub] = useState(\n isUndefined(hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode])\n ? \"\"\n : hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode][0].value\n );\n const [datePickerValue, setDatePickerValue] = useState({\n startDate: currentDate(AppConstants.DATE_FORMAT),\n endDate: currentDate(AppConstants.DATE_FORMAT),\n });\n const [driversTableWrapperData, setDriversTableWrapperData] = useState({\n ...AppConstants.COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = header;\n if (newHeader.field === \"actions\") {\n newHeader.renderCell = (params: CellParams) => arrow;\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj,\n dateRange: {\n ...AppConstants.COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange,\n value: {\n datePickerValue,\n },\n },\n },\n });\n const [driversActiveFilters, setDriversActiveFilters] = useState(driversTableWrapperData.defaultFiltersObj);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n\n const [driversListToShow, setDriversListToShow] = useState([]);\n const [driverDetails, setDriverDetails] = useState([]);\n\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const [openViewAndUploadPopup, setOpenViewAndUploadPopup] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const closeDriverDetailsPopup = () => {\n setOpenDriverDetails(false);\n };\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n };\n\n const handleProgressClose = () => {\n setRenderExcelProgress(false);\n };\n\n const handleSnackbarExited = useCallback(() => {\n if (errorCode === AppConstants.COD_RECON_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }, [dispatch, errorCode]);\n\n const driversFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, params?: any) => {\n if (filters) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = driversTableWrapperData.loadMore.pageSize;\n const payload = createPayloadToFetchDriversList(\n payloadFilters,\n params,\n expDriversData,\n isLoadMore,\n countryCode,\n datePickerValue,\n dashboardHub\n );\n dispatch(\n fetchDriversList({\n params: payload,\n })\n );\n setDriversActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [dispatch, expDriversData, driversTableWrapperData, countryCode, dashboardHub, datePickerValue]\n );\n\n const handleExcelExport = useCallback(\n (filters: any, hub: any, dateValue: any, country: string) => {\n if (filters) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = driversTableWrapperData.loadMore.pageSize;\n const payload = createPayloadToFetchDriversList(\n payloadFilters,\n expDriversData,\n expDriversData,\n false,\n country,\n dateValue,\n hub\n );\n dispatch(\n exportToExcel({\n payload: payload,\n })\n );\n }\n setRenderExcelProgress(true);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, expDriversData, country, dashboardHub, datePickerValue]\n );\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case \"excel\":\n handleExcelExport(driversActiveFilters, dashboardHub, datePickerValue, country);\n break;\n default:\n break;\n }\n }\n },\n [driversActiveFilters, dashboardHub, datePickerValue, country, handleExcelExport]\n );\n\n const handleViewAndUploadDialogClose = () => {\n setOpenViewAndUploadPopup(false);\n };\n\n const handleFetchDriverParameters = useCallback(\n (params: any) => {\n driversFilterCallback(driversActiveFilters, false, params);\n },\n [driversActiveFilters, driversFilterCallback]\n );\n\n const handleViewAndUploadClick = useCallback(\n (hubId: any, date: any) => {\n const payload = {\n hubId: hubId,\n reconcileDate: startOfDay(date.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n dispatch(\n createReceiptDraft({\n params: payload,\n })\n );\n setOpenViewAndUploadPopup(true);\n },\n [dispatch]\n );\n\n const handleDateChange = (dateRange: any) => {\n setDatePickerValue(dateRange);\n handleFetchDriverParameters({\n dateRange: dateRange,\n hubCode: dashboardHub,\n });\n };\n\n const handleHubChange = useCallback(\n (value: any) => {\n setDashboardHub(value);\n handleFetchDriverParameters({\n dateRange: datePickerValue,\n hubCode: value,\n });\n },\n [datePickerValue, handleFetchDriverParameters]\n );\n\n const handleLoadMoreDisableState = useCallback(() => {\n let loadMoreState = driversTableWrapperData.loadMore;\n loadMoreState.disabled = expDriversData.totalPages\n ? expDriversData.pageNumber + 1 >= expDriversData.totalPages\n : true;\n setDriversTableWrapperData({...driversTableWrapperData, loadMore: loadMoreState});\n }, [driversTableWrapperData, expDriversData]);\n\n const ordersSearchFilterHandler = (data: {[key: string]: string}, updatedSearchValue: string, filters: any) => {\n const activeFilters = cloneDeep(filters);\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey],\n };\n driversFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n const handleDriverCellClick = (params: CellParams) => {\n if (params.field === \"actions\") {\n const selectedRow: any = params.rowData;\n setDriverDetails(selectedRow);\n setOpenDriverDetails(true);\n }\n };\n\n useEffect(() => {\n if (driversTableWrapperData && driversTableWrapperData.HeaderData) {\n let headerData = driversTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"driverName\") {\n header.filterObj.items = expDriversFiltersDropdowns.driverNameList || [];\n }\n if (header.filterObj.fieldName === \"vendorName\") {\n header.filterObj.items = expDriversFiltersDropdowns.vendorNameList || [];\n }\n }\n return header;\n });\n setDriversTableWrapperData({...driversTableWrapperData, HeaderData: headerData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expDriversFiltersDropdowns]);\n\n useEffect(() => {\n setDriversListToShow(codPortalDriversDataTransform(expDriversData) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expDriversData]);\n\n useEffect(() => {\n setDatePickerValue({\n startDate: currentDate(AppConstants.DATE_FORMAT),\n endDate: currentDate(AppConstants.DATE_FORMAT),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [country]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error]);\n\n useEffect(() => {\n if (isAmtCollectedForExpressOrders) {\n driversFilterCallback(driversActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAmtCollectedForExpressOrders]);\n\n const getHeaderConfig = useMemo(() => {\n const driverCodDetails = expDriversData && expDriversData.results;\n return [\n {\n tileHeading: TextConstants.TOTAL_COD_ORDERS,\n tileData: driverCodDetails?.totalOrders,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_ORDERS_AMOUNT,\n tileData: driverCodDetails?.totalOrdersCODAmount,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_COD_COLLECTED,\n tileData: driverCodDetails?.totalCODAmount,\n subHeading: \"(By Driver)\",\n },\n {\n tileHeading: TextConstants.COD_AMOUNT_RECEIVED,\n tileData: driverCodDetails?.totalCODReceived,\n subHeading: \"(By Dispatcher)\",\n },\n {\n tileHeading: TextConstants.TOTAL_COD_AMOUNT,\n tileData: driverCodDetails?.totalCODPending,\n subHeading: \"pending\",\n classes: {subHeading: classes.subHeadingBold},\n },\n ];\n }, [expDriversData, country, classes.subHeadingBold]);\n\n const HeaderComponent = () => {\n const config = getHeaderConfig;\n\n return (\n \n \n \n );\n };\n useEffect(() => {\n setDashboardHub(\n isUndefined(hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode])\n ? \"\"\n : hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode][0].value\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubRecordList]);\n\n return (\n <>\n
\n {loading && }\n \n \n \n \n \n \n \n \n \n \n {!(isLastMileViewer || isOnlyExpLastMileViewer) && (\n <>\n {datePickerValue.startDate === datePickerValue.endDate ? (\n \n {\n dashboardHub && handleViewAndUploadClick(dashboardHub, datePickerValue);\n }}\n >\n {AppConstants.BUTTONS.VIEW_AND_UPLOAD}\n \n \n ) : null}\n \n )}\n \n \n \n \n\n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n Your files are getting downloaded\n \n ) : (\n \n Your files have been downloaded\n \n )}\n {excelLoading ? (\n \n ) : (\n \n \n \n \n \n \n )}\n \n ) : exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null}\n \n \n \n
\n \n );\n};\n\nexport default CODPortal;\n","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n \"& .panelItem\": {\n width: \"100%\",\n \"&.gridWrapper\": {\n height: \"calc(100% - 230px)\",\n paddingTop: \"8px\",\n \"& .idLink\": {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12,\n },\n \"& .actionsLink\": {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14,\n },\n },\n },\n },\n container: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n dialogPaperPropsRoot: {\n minWidth: \"95vw\",\n height: \"95vh\",\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n hubSelectionDialogPaperPropsRoot: {\n width: 500,\n height: 300,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n collectionConfirmationDialogPaperPropsRoot: {\n width: 500,\n height: 350,\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n hubSelectionDialogTitle: {\n fontSize: 20,\n fontWeight: 600,\n },\n hubSelectionDialogContentContainer: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .contentItem\": {\n \"&.heading\": {\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"&.hub\": {\n paddingTop: theme.spacing(3.75),\n },\n },\n },\n hubSelectionDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n paddingBottom: theme.spacing(7),\n \"& .dialogBtn\": {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n \"&.secondary\": {\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n tilesView: {\n flexGrow: 1,\n },\n title: {\n fontSize: \"24px\",\n fontWeight: 600,\n },\n subHeadingBold: {\n fontWeight: \"600!important\" as any,\n },\n bucketHeader: {\n flexWrap: \"nowrap\",\n paddingTop: \"30px\",\n },\n icon: {\n \"& .MuiOutlinedInput-input\": {\n height: \"40px\",\n },\n },\n select: {\n borderRadius: 8,\n background: COLORS.WHITE,\n minWidth: 150,\n },\n button: {\n margin: theme.spacing(0.5),\n \"&:last-child\": {\n marginRight: theme.spacing(0),\n },\n },\n buttonContainer: {\n marginLeft: \"auto\",\n },\n gridWrapper: {\n width: \"100%\",\n paddingTop: \"20px\",\n \"& .idLink\": {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 12,\n },\n \"& .actionsLink\": {\n cursor: \"pointer\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n fontSize: 14,\n \"& .statusIcon\": {\n fill: \"none\",\n height: \"unset\",\n width: \"unset\",\n },\n },\n },\n statusHeaderContainer: {\n \"& .tag\": {\n color: COLORS.WHITE,\n borderRadius: theme.spacing(0.5),\n padding: theme.spacing(0.5, 1),\n lineHeight: \"14px\",\n backgroundColor: COLORS.BLACK,\n fontWeight: 600,\n textTransform: \"uppercase\",\n fontSize: 12,\n \"&.INFO_BLUE\": {\n backgroundColor: COLORS.INFO_BLUE,\n },\n \"&.READY_BLUE\": {\n backgroundColor: COLORS.READY_BLUE,\n },\n \"&.MINSK\": {\n backgroundColor: COLORS.MINSK,\n },\n \"&.PRIMARY_BLUE\": {\n backgroundColor: COLORS.PRIMARY_MAIN,\n },\n \"&.JUNGLE_GREEN\": {\n backgroundColor: COLORS.JUNGLE_GREEN,\n },\n \"&.PARTIAL_SUCCESS_GREEN\": {\n backgroundColor: COLORS.PARTIAL_SUCCESS_GREEN,\n },\n \"&.ERROR_RED\": {\n backgroundColor: COLORS.PALE_RED,\n },\n \"&.PALE_GRAY\": {\n backgroundColor: COLORS.PALE_GRAY,\n },\n \"&.ALERT_ORANGE\": {\n backgroundColor: COLORS.ALERT_ORANGE,\n },\n },\n },\n confirmationContent: {\n flexDirection: \"column\",\n flexWrap: \"nowrap\",\n \"& .itemContainer\": {\n flexDirection: \"column\",\n \"&.area\": {\n paddingTop: \"24px\",\n },\n \"& .itemLabel\": {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"& .itemInput\": {\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n },\n },\n confimationDialogButtonsContainer: {\n justifyContent: \"flex-end\",\n \"& .dialogBtn\": {\n paddingLeft: theme.spacing(4.5),\n paddingRight: theme.spacing(4.5),\n \"&.secondary\": {\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n marginLeft: theme.spacing(1),\n },\n },\n },\n checkedIconStyle: {\n width: 33,\n height: 33,\n padding: \"6px 0px 0px 16px\",\n },\n close: {\n color: COLORS.WHITE,\n },\n closeIcon: {\n width: 16,\n height: 16,\n },\n excelDownloadError: {\n background: COLORS.LIGHT_RED,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"23px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n excelDownloadStatus: {\n background: COLORS.INFO_BLACK,\n borderRadius: \"8px 8px 0px 0px\",\n position: \"fixed\",\n bottom: \"12px\",\n height: 48,\n width: 336,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n excelDownloadStatusText: {\n color: COLORS.WHITE,\n fontSize: 14,\n lineHeight: \"17px\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n },\n contentItem: {\n paddingTop: theme.spacing(3),\n \"& .itemContainer\": {\n flexDirection: \"column\",\n \"& .itemLabel\": {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"& .itemInput\": {\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"& .userIdContainer .input\": {\n flexGrow: 1,\n paddingRight: theme.spacing(2),\n },\n },\n },\n },\n uploadContainer: {\n \"& .buttonsContainer\": {\n \"& .userBtn\": {\n \"&.secondary\": {\n marginRight: theme.spacing(2),\n },\n flexGrow: 1,\n },\n },\n },\n })\n);\n","import {createSlice, createAsyncThunk} from \"@reduxjs/toolkit\";\nimport networkHandler from \"../../../network/networkHandler\";\nimport {EApiMiddlewareMethods} from \"../../../network/networkHandler.types\";\nimport {StdCodReconState} from \"./stdCodPortalSlice.types\";\nimport AppConstants from \"../../../constants\";\nimport {transformSelectValues, saveFile} from \"../../../utils/helpers.utils\";\nimport moment from \"moment\";\n\nexport const fetchDriversList = createAsyncThunk(\n \"StdCodPortal/FetchDriversList\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/filter-drivers\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const fetchOrdersList = createAsyncThunk(\n \"StdCodPortal/FetchOrdersList\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/filter-orders\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const exportToExcel = createAsyncThunk(\n \"StdCodPortal/ExportOrderToExcel\",\n async (\n {\n payload,\n }: {\n payload: object;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"export/cod\",\n method: EApiMiddlewareMethods.POST,\n data: payload,\n responseType: \"blob\",\n } as any;\n const {data} = await networkHandler(request, false, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const reconcileCollectedAmtForStdOrder = createAsyncThunk(\n \"StdCodPortal/ReconcileCollectedAmtForStdOrder\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/collect\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const openCollectionConfirmation = createAsyncThunk(\"StdCodPortal/OpenCollectionConfirmation\", () => {\n return false;\n});\n\nexport const createCodReceiptDraft = createAsyncThunk(\n \"StdCodPortal/CreateCodReceiptDraft\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt/draft\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const uploadCodReceipt = createAsyncThunk(\n \"StdCodPortal/UploadCodReceipt\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n request.headers = {\n \"content-type\": \"multipart/form-data\",\n };\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const deletePrevUploadedCodReceipt = createAsyncThunk(\n \"StdCodPortal/DeletePrevUploadedCodReceipt\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt\",\n method: EApiMiddlewareMethods.DELETE,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const submitCodReceipts = createAsyncThunk(\n \"StdCodPortal/SubmitCodReceipts\",\n async (\n {\n params,\n }: {\n params: any;\n },\n {rejectWithValue}\n ) => {\n try {\n const request = {\n url: \"reconcile/receipt/submit\",\n method: EApiMiddlewareMethods.POST,\n data: params,\n } as any;\n const {data} = await networkHandler(request, false, true, true);\n return data;\n } catch (error: any) {\n return rejectWithValue(error.response.data);\n }\n }\n);\n\nexport const uploadCodClick = createAsyncThunk(\"StdCodPortal/UploadClick\", () => {\n return false;\n});\n\nconst initialState: StdCodReconState = {\n loading: false,\n error: \"\",\n errorCode: \"\",\n driversData: {\n elements: [],\n pageNumber: 0,\n },\n ordersData: {\n elements: [],\n pageNumber: 0,\n },\n excelLoading: false,\n driversFiltersDropdowns: {\n driverNameList: [],\n vendorNameList: [],\n },\n ordersFiltersDropdowns: {\n deliveryStatusList: [],\n },\n orderAfterCollection: {},\n isAmtCollected: false,\n stdDraftReceiptData: {},\n stdReceiptDataAfterUpload: {},\n isStdFileUploaded: false,\n stdUploadError: \"\",\n stdUploadErrorCode: \"\",\n stdReceiptDataAfterSubmit: {},\n stdReceiptsSubmittedFlag: false,\n ordersOnDriverDetails: \"\",\n codAmtOnDriverDetails: \"\",\n codPendingOnDriverDetails: \"\",\n codReceivedOnDriverDetails: \"\",\n isErrorOnStdUpload: false,\n totalOrdersAmtOnDriverDetails: \"\",\n};\n\nconst stdCodPortalSlice = createSlice({\n name: \"StandardCodPortal\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(fetchDriversList.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchDriversList.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: {params},\n },\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.driversData = {\n ...payload,\n elements:\n params.pageNumber === 0 ? [...payload.elements] : [...state.driversData.elements, ...payload.elements],\n pageNumber: payload.pageNumber,\n totalElements: payload.totalElements,\n totalPages: payload.totalPages,\n };\n if (payload?.filters) {\n state.driversFiltersDropdowns = {\n driverNameList: transformSelectValues(payload.filters.driverNames || []),\n vendorNameList: transformSelectValues(payload.filters.vendorNames || []),\n };\n }\n state.stdReceiptDataAfterUpload = {};\n state.isStdFileUploaded = false;\n })\n .addCase(fetchDriversList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(fetchOrdersList.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(fetchOrdersList.fulfilled, (state, action) => {\n const {\n payload,\n meta: {\n arg: {params},\n },\n } = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.ordersData = {\n ...payload,\n elements: params.pageNumber === 0 ? payload?.elements : [...state.ordersData.elements, ...payload?.elements],\n pageNumber: payload.pageNumber,\n totalElements: payload.totalElements,\n totalPages: payload.totalPages,\n };\n if (payload?.filters) {\n state.ordersFiltersDropdowns = {\n deliveryStatusList: transformSelectValues(payload.filters.statuses || []),\n };\n }\n state.ordersOnDriverDetails = payload?.totalOrders;\n state.codAmtOnDriverDetails = payload?.totalCODAmount;\n state.codPendingOnDriverDetails = payload?.totalCODPending;\n state.codReceivedOnDriverDetails = payload?.totalCODReceived;\n state.totalOrdersAmtOnDriverDetails = payload?.totalOrdersCODAmount;\n })\n .addCase(fetchOrdersList.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(exportToExcel.pending, (state) => {\n state.excelLoading = true;\n state.error = \"\";\n })\n .addCase(exportToExcel.fulfilled, (state, action) => {\n const {payload} = action;\n state.excelLoading = false;\n state.errorCode = \"\";\n state.error = \"\";\n if (payload) {\n const currentDate = moment().format(\"YYYY-MM-DD\");\n const currentTime = moment().format(\"HH-mm\");\n let filename = `COD_RECON_${currentDate}_${currentTime}.xlsx`;\n saveFile(payload, filename);\n }\n })\n .addCase(exportToExcel.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.excelLoading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(reconcileCollectedAmtForStdOrder.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(reconcileCollectedAmtForStdOrder.fulfilled, (state, action) => {\n const {payload} = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.orderAfterCollection = payload?.results;\n state.isAmtCollected = true;\n })\n .addCase(reconcileCollectedAmtForStdOrder.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(openCollectionConfirmation.fulfilled, (state, action) => {\n state.isAmtCollected = false;\n })\n .addCase(createCodReceiptDraft.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(createCodReceiptDraft.fulfilled, (state, action) => {\n const {payload} = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.stdDraftReceiptData = payload;\n })\n .addCase(createCodReceiptDraft.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(uploadCodReceipt.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(uploadCodReceipt.fulfilled, (state, action) => {\n const {payload} = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.isStdFileUploaded = true;\n state.stdReceiptsSubmittedFlag = false;\n state.stdReceiptDataAfterUpload = payload;\n })\n .addCase(uploadCodReceipt.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.isErrorOnStdUpload = true;\n state.stdUploadErrorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.stdUploadError = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(submitCodReceipts.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(submitCodReceipts.fulfilled, (state, action) => {\n const {payload} = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.stdReceiptsSubmittedFlag = true;\n state.isStdFileUploaded = false;\n state.stdReceiptDataAfterSubmit = payload;\n })\n .addCase(submitCodReceipts.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(deletePrevUploadedCodReceipt.pending, (state) => {\n state.errorCode = \"\";\n state.error = \"\";\n state.loading = true;\n })\n .addCase(deletePrevUploadedCodReceipt.fulfilled, (state, action) => {\n const {payload} = action;\n state.loading = false;\n state.errorCode = \"\";\n state.error = \"\";\n state.stdDraftReceiptData = payload;\n })\n .addCase(deletePrevUploadedCodReceipt.rejected, (state, action) => {\n const errorPayload: any = action.payload;\n state.loading = false;\n state.errorCode = errorPayload\n ? errorPayload.error\n : AppConstants.RESPONSE_CONSTANTS.ERROR_CODES.DEFAULT_API_FAILED;\n state.error = errorPayload\n ? errorPayload.message\n : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n })\n .addCase(uploadCodClick.fulfilled, (state,action)=>{\n state.isStdFileUploaded = false;\n state.stdReceiptsSubmittedFlag = false;\n state.isErrorOnStdUpload = false;\n });\n },\n});\n\nexport default stdCodPortalSlice.reducer;\n","import {TextConstants} from \"constants/TextConstants\";\nimport AppConstants from \"../../constants\";\nimport {startOfDay, endOfDay} from \"../../utils/dateUtils\";\n\nexport interface CODPortalDriversDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Drivers[];\n}\n\nexport interface Drivers {\n driverId: string;\n driverName: string;\n ordersCount: any;\n amountCollected: any;\n amountReceived: any;\n amountPending: any;\n vendorName: string;\n}\n\nexport interface CODPortalOrdersDataResponse {\n pageNumber: number;\n totalElements: number;\n totalPages: number;\n continuationToken?: string;\n elements: Orders[];\n}\n\nexport interface Orders {\n consignmentCode: string;\n driverId: any;\n driverName: string;\n deliveryStatus: string;\n deliveryDate: any;\n deliverySlot: any;\n codAmountCollected: string;\n codAmountReceived: string;\n codAmountPending: string;\n collected: boolean;\n remarks: string;\n}\n\nexport const codPortalDriversDataTransform = (response: CODPortalDriversDataResponse): any[] => {\n const transformedArray: any[] = [];\n response.elements.forEach((driver: Drivers) => {\n const {driverId, driverName, ordersCount, amountCollected, amountReceived, amountPending, vendorName} = driver;\n transformedArray.push({\n id: driverId,\n driverName: driverName,\n totalOrders: ordersCount,\n codCollected: amountCollected,\n codReceived: amountReceived,\n codPending: amountPending,\n vendor: vendorName\n });\n });\n return [...transformedArray];\n};\n\nexport const codPortalOrdersDataTransform = (response: CODPortalOrdersDataResponse): any[] => {\n const transformedOrderArray: any[] = [];\n response.elements.forEach((order: Orders) => {\n const {\n consignmentCode,\n deliveryStatus,\n deliveryDate,\n deliverySlot,\n codAmountCollected,\n codAmountPending,\n codAmountReceived,\n collected,\n remarks,\n } = order;\n transformedOrderArray.push({\n orderNo: consignmentCode,\n deliveryStatus: deliveryStatus,\n orderDate: deliveryDate,\n slot: deliverySlot,\n codCollected: codAmountCollected,\n codReceived: codAmountReceived,\n codAmountDue: codAmountPending,\n collectionStatus: collected ? TextConstants.COLLECTED : TextConstants.COLLECT,\n remarks: remarks,\n });\n });\n return [...transformedOrderArray];\n};\n\nexport const createPayloadToFetchDriversList = (\n payload: any,\n params: any,\n data?: any,\n isLoadMore?: boolean,\n dateValue?: any,\n dashboardHub?: string\n) => {\n payload.attributes = [];\n if (params && params.dateRange) {\n payload.dateRange = {\n startTime: startOfDay(params.dateRange.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(params.dateRange.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n } else {\n payload.dateRange = {\n startTime: startOfDay(dateValue.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(dateValue.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n }\n if (isLoadMore && payload) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (params && params.hubCode) {\n payload.attributes.push({\n key: \"hub\",\n value: [params.hubCode],\n });\n } else {\n payload.attributes.push({\n key: \"hub\",\n value: [dashboardHub],\n });\n }\n if (payload.driverName.value.length > 0) {\n let attrValue = [];\n if (payload.driverName.value) {\n attrValue = getFilterAttributeValue(payload.driverName.value);\n payload.attributes.push({\n key: \"driverId\",\n value: attrValue,\n });\n }\n } else {\n delete payload.driverName;\n }\n if (payload.vendorName.value.length > 0) {\n let attrValue = [];\n if (payload.vendorName.value) {\n attrValue = getFilterAttributeValue(payload.vendorName.value);\n payload.attributes.push({\n key: payload.vendorName.fieldName,\n value: attrValue,\n });\n }\n } else {\n delete payload.vendorName;\n }\n delete payload.reset;\n delete payload.driverName;\n delete payload.vendorName;\n payload.isDateRange = true;\n return payload;\n};\n\nexport const createPayloadToFetchOrdersList = (\n payload: any,\n data?: any,\n isLoadMore?: boolean,\n dashboardHub?: any,\n dateValue?: any\n) => {\n payload.attributes = [];\n payload.isDateRange = true;\n if (dateValue) {\n payload.dateRange = {\n startTime: startOfDay(dateValue.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n endTime: endOfDay(dateValue.endDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n }\n if (isLoadMore && payload) {\n payload.pageNumber = data.pageNumber + 1 < data.totalPages ? data.pageNumber + 1 : payload.pageNumber;\n }\n if (dashboardHub && dashboardHub !== AppConstants.SELECT_NONE.value) {\n payload.attributes.push({\n key: \"hub\",\n value: [dashboardHub],\n });\n }\n if (data) {\n payload.attributes.push({\n key: \"driverId\",\n value: [data.id],\n });\n }\n if (payload.deliveryStatus.value.length > 0) {\n let attrValue = [];\n if (payload.deliveryStatus.value) {\n attrValue = getFilterAttributeValue(payload.deliveryStatus.value);\n payload.attributes.push({\n key: payload.deliveryStatus.fieldName,\n value: attrValue,\n });\n }\n } else {\n delete payload.deliveryStatus;\n }\n delete payload.reset;\n delete payload.deliveryStatus;\n return payload;\n};\n\nexport const getConsignmentStatusField = (fieldName: string, statusCode: string) => {\n const statuses: any = AppConstants.EXPRESS_CONSTANTS.CONSIGNMENTS_DATA.STATUSES;\n return statusCode && statuses[statusCode] ? statuses[statusCode][fieldName] : \"\";\n};\n\nexport const createPayloadToCollectAmount = (data: any, amt: any, comments: any) => {\n const payload = {\n consignmentCode: data.orderNo,\n collected: Number(amt).toFixed(2) === \"0.00\" ? false : true,\n amount: amt,\n remarks: comments,\n };\n return payload;\n};\n\nconst getFilterAttributeValue = (attrValue: any, noKey?: boolean) => {\n let currentValue = noKey ? attrValue : attrValue.map((item: any) => item.value);\n const selectAllIdx = currentValue.indexOf(AppConstants.SELECT_ALL.value);\n const selectNoneIdx = currentValue.indexOf(AppConstants.SELECT_NONE.value);\n if (selectAllIdx > -1) {\n currentValue = [];\n }\n if (selectNoneIdx > -1) {\n currentValue = [];\n }\n return currentValue;\n};\n","import React, {useCallback, useState, useEffect, useMemo} from \"react\";\nimport {useSelector, useDispatch} from \"react-redux\";\nimport {cloneDeep} from \"../../utils/loadash.utils\";\nimport {fetchOrdersList, reconcileCollectedAmtForStdOrder, openCollectionConfirmation} from \"./redux/stdCodPortalSlice\";\n//common components\nimport {AppState} from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport CustomDialog from \"../../common/Dialog\";\nimport {CellParams} from \"../../common/GridWrapper/DataTable\";\nimport GridWrapper from \"../../common/GridWrapper\";\nimport TextBox from \"../../common/TextBox\";\nimport {ReactComponent as collectIcon} from \"../../assets/icons/collect-button.svg\";\nimport {ReactComponent as collectedIcon} from \"../../assets/icons/collected-button.svg\";\n//Material UI Components\nimport {Grid, Typography, Button, SvgIcon} from \"@material-ui/core\";\n//styles\nimport {useStyles} from \"./codportal.styles\";\nimport BucketComponent from \"../../common/BucketComponent\";\nimport {\n codPortalOrdersDataTransform,\n getConsignmentStatusField,\n createPayloadToFetchOrdersList,\n createPayloadToCollectAmount,\n} from \"../../mocks/stdCodPortal/response.transforms\";\nimport {TextConstants} from \"constants/TextConstants\";\n\ninterface StandardCodDriverDetailsProps {\n open: boolean;\n driverDetails: any;\n dashboardHub: any;\n dateRange: any;\n closePopup: () => void;\n}\n\nconst StandardCodDriverDetails = (props: StandardCodDriverDetailsProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const {open, driverDetails, dashboardHub, dateRange, closePopup} = props;\n const {\n ordersData,\n loading,\n isAmtCollected,\n ordersFiltersDropdowns,\n ordersOnDriverDetails,\n codAmtOnDriverDetails,\n codPendingOnDriverDetails,\n codReceivedOnDriverDetails,\n totalOrdersAmtOnDriverDetails,\n } = useSelector((state: AppState) => state.stdCodPortal);\n const {isLastMileViewer, isOnlyExpLastMileViewer, isAdmin, isDispatcher, isOnlyStandardDispatcher} = useSelector(\n (state: AppState) => state.userLogin\n );\n\n const collectionStatus = (status: any) => {\n if (status.toLowerCase() === \"collect\") {\n return ;\n } else {\n return ;\n }\n };\n\n const {countryCode} = useSelector((state: AppState) => state.common);\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [ordersTableWrapperData, setOrdersTableWrapperData] = useState({\n ...AppConstants.COD_RECON_CONSTANTS.ORDERS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.COD_RECON_CONSTANTS.ORDERS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = header;\n if (newHeader.field === \"orderNo\") {\n newHeader.renderCell = (params: CellParams) => {params.value};\n }\n if (newHeader.field === \"deliveryStatus\") {\n newHeader.renderCell = (params: any) =>\n params.value ? (\n \n \n {params.value ? params.value : \"\"}\n \n \n ) : (\n <>\n );\n }\n if (newHeader.field === \"collectionStatus\") {\n newHeader.renderCell = (params: CellParams) => (\n {collectionStatus(params.value)}\n );\n }\n return newHeader;\n }),\n });\n const [ordersListToShow, setOrdersListToShow] = useState([]);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n const [activeFilters, setActiveFilters] = useState(ordersTableWrapperData.defaultFiltersObj);\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot,\n },\n };\n const createCollectionConfirmationDialogPaperProps = {\n classes: {\n root: classes.collectionConfirmationDialogPaperPropsRoot,\n },\n };\n const [consignmentData, setConsignmentData] = useState({\n orderNo: \"\",\n });\n const [openCollectionConfirmationPopup, setOpenCollectionConfirmationPopup] = useState(false);\n const [collectedAmt, setCollectedAmt] = useState(\"\");\n const [comments, setComments] = useState(\"\");\n const [errors, setErrors] = useState(\"\");\n let driverDetailsForOrders = {};\n let hub = \"\";\n let dateValue = {};\n if (driverDetails) {\n driverDetailsForOrders = driverDetails;\n }\n if (dashboardHub) {\n hub = dashboardHub;\n }\n if (dateRange) {\n dateValue = dateRange;\n }\n\n const handleDialogClose = () => {\n closePopup();\n setOrdersSearchValue(\"\");\n setActiveFilters(ordersTableWrapperData.defaultFiltersObj);\n };\n\n const getTitleContent = () => {\n return (\n \n COD Reconciliation - {driverDetails.driverName}\n \n );\n };\n\n const validateForm = useCallback(\n (amt: any) => {\n let newErrors = \"\";\n if (Math.sign(Number(amt)) === -1) {\n newErrors = \"Amount should only be positive\";\n }\n setErrors(newErrors);\n return newErrors.length;\n },\n [errors]\n );\n\n const ordersSearchFilterHandler = (data: {[key: string]: string}, updatedSearchValue: string, filters: any) => {\n const activeFilters = cloneDeep(filters);\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey],\n };\n ordersFilterCallback(activeFilters, false);\n return;\n }\n }\n }\n };\n\n const ordersDataCallback = useCallback(\n (filters: any, isLoadMore?: boolean, driverDetails?: any, countryCode?: any, hub?: any, dateRange?: any) => {\n if (driverDetails) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = ordersTableWrapperData.loadMore.pageSize;\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const orderFilters = createPayloadToFetchOrdersList(payloadFilters, driverDetails, isLoadMore, hub, dateRange);\n dispatch(\n fetchOrdersList({\n params: orderFilters,\n })\n );\n setActiveFilters(filters);\n }\n },\n [dispatch, ordersTableWrapperData]\n );\n\n const ordersFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean) => {\n ordersDataCallback(filters, isLoadMore, driverDetailsForOrders, countryCode, hub, dateValue);\n },\n [ordersDataCallback, hub, dateValue, countryCode, driverDetailsForOrders]\n );\n\n const getHeaderConfig = useMemo(() => {\n return [\n {\n tileHeading: TextConstants.TOTAL_COD_ORDERS,\n tileData: ordersOnDriverDetails,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_ORDERS_AMOUNT,\n tileData: totalOrdersAmtOnDriverDetails,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_COD_COLLECTED,\n tileData: codAmtOnDriverDetails,\n subHeading: \"(By Driver)\",\n },\n {\n tileHeading: TextConstants.COD_AMOUNT_RECEIVED,\n tileData: codReceivedOnDriverDetails,\n subHeading: \"(By Dispatcher)\",\n },\n {\n tileHeading: TextConstants.TOTAL_COD_AMOUNT,\n tileData: codPendingOnDriverDetails,\n subHeading: \"pending\",\n classes: {subHeading: classes.subHeadingBold},\n },\n ];\n }, [ordersOnDriverDetails, totalOrdersAmtOnDriverDetails, codReceivedOnDriverDetails, codPendingOnDriverDetails, codAmtOnDriverDetails, country, classes.subHeadingBold]);\n\n const HeaderComponent = () => {\n const config = getHeaderConfig;\n return ;\n };\n\n const getDetailsContent = () => {\n return (\n \n \n \n \n \n \n );\n };\n\n const getCollectionConfirmationDialogTitleContent = () => {\n return (\n \n Confirm collection - ({consignmentData && consignmentData.orderNo})\n \n );\n };\n\n const handleCollectedAmtChange = useCallback(\n (event: React.ChangeEvent) => {\n setCollectedAmt(event.target.value);\n if (event.target.value) {\n setErrors(\"\");\n }\n },\n [errors]\n );\n\n const handleCommentsChange = useCallback((event: React.ChangeEvent) => {\n setComments(event.target.value);\n }, []);\n\n const collectionConfirmationDialogActionHandler = useCallback(\n (type: string, data: any, amt: any, comments: any) => {\n if (validateForm(amt) === 0) {\n const payload = createPayloadToCollectAmount(data, amt, comments);\n dispatch(\n reconcileCollectedAmtForStdOrder({\n params: payload,\n })\n );\n setOpenCollectionConfirmationPopup(false);\n }\n },\n [dispatch, validateForm]\n );\n\n const getCollectionConfirmationDialogDetailsContent = () => {\n return (\n \n \n \n Collect amount\n \n \n \n \n \n \n \n Comments\n \n \n \n \n \n \n );\n };\n\n const getCollectionConfirmationDialogActions = () => {\n return (\n \n {\n handleCollectionConfirmationDialogClose();\n }}\n >\n {AppConstants.BUTTONS.CANCEL}\n \n {\n collectionConfirmationDialogActionHandler(\"submit\", consignmentData, collectedAmt, comments);\n }}\n >\n {AppConstants.BUTTONS.SUBMIT}\n \n \n );\n };\n\n const handleCollectionConfirmationDialogClose = () => {\n setOpenCollectionConfirmationPopup(false);\n };\n\n const handleLoadMoreDisableState = useCallback(() => {\n let loadMoreState = ordersTableWrapperData.loadMore;\n loadMoreState.disabled = ordersData.totalPages ? ordersData.pageNumber + 1 >= ordersData.totalPages : true;\n setOrdersTableWrapperData({...ordersTableWrapperData, loadMore: loadMoreState});\n }, [ordersTableWrapperData, ordersData]);\n\n const handleConsignmentCellClick = useCallback(\n (params: CellParams) => {\n if (isAdmin && params.field === \"collectionStatus\") {\n const selectedRow: any = params.rowData;\n setConsignmentData(selectedRow);\n setCollectedAmt(selectedRow && selectedRow.codCollected);\n setComments(selectedRow && selectedRow.remarks);\n dispatch(openCollectionConfirmation());\n setOpenCollectionConfirmationPopup(true);\n } else {\n if (\n (isDispatcher || isOnlyStandardDispatcher) &&\n params?.rowData?.collectionStatus === TextConstants.COLLECT &&\n params.field === \"collectionStatus\"\n ) {\n const selectedRow: any = params.rowData;\n setConsignmentData(selectedRow);\n setCollectedAmt(selectedRow && selectedRow.codCollected);\n setComments(selectedRow && selectedRow.remarks);\n dispatch(openCollectionConfirmation());\n setOpenCollectionConfirmationPopup(true);\n }\n }\n },\n [dispatch, isAdmin, isDispatcher, isOnlyStandardDispatcher]\n );\n\n useEffect(() => {\n if (isAmtCollected) {\n setIsOrderSearched(false);\n setOrdersSearchValue(\"\");\n ordersFilterCallback(activeFilters, false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAmtCollected]);\n\n useEffect(() => {\n setIsOrderSearched(false);\n setOrdersSearchValue(\"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (ordersTableWrapperData && ordersTableWrapperData.HeaderData) {\n let headerData = ordersTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"deliveryStatus\") {\n header.filterObj.items = ordersFiltersDropdowns.deliveryStatusList || [];\n }\n }\n return header;\n });\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: headerData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersFiltersDropdowns]);\n\n useEffect(() => {\n if (isLastMileViewer || isOnlyExpLastMileViewer) {\n let headerDataWithoutActions = ordersTableWrapperData.HeaderData.map((data: any) => {\n if (data.field === \"collectionStatus\") {\n data.hide = true;\n }\n return data;\n });\n setOrdersTableWrapperData({...ordersTableWrapperData, HeaderData: headerDataWithoutActions});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLastMileViewer, isOnlyExpLastMileViewer]);\n\n useEffect(() => {\n setOrdersListToShow(codPortalOrdersDataTransform(ordersData) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ordersData]);\n\n return (\n <>\n \n \n \n );\n};\n\nexport default StandardCodDriverDetails;\n","import {createStyles, makeStyles, Theme} from \"@material-ui/core\";\nimport {COLORS} from \"../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogPaperPropsRoot: {\n minWidth: \"95vw\",\n height: \"95vh\",\n margin: \"auto\",\n borderRadius: theme.spacing(1),\n },\n uploadContainer: {\n \"& .buttonsContainer\": {\n \"& .userBtn\": {\n \"&.secondary\": {\n marginRight: theme.spacing(2),\n },\n flexGrow: 1,\n },\n },\n },\n uploadButtonsContainer: {\n justifyContent: \"flex-start\",\n paddingBottom: theme.spacing(3),\n \"& .dialogBtn\": {\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"&.primary\": {\n paddingLeft: theme.spacing(7.25),\n paddingRight: theme.spacing(7.25),\n marginLeft: theme.spacing(1),\n },\n },\n },\n contentItem: {\n paddingTop: theme.spacing(3),\n \"& .itemContainer\": {\n flexDirection: \"column\",\n \"& .itemLabel\": {\n paddingBottom: theme.spacing(1),\n alignSelf: \"flex-start\",\n \"& p\": {\n fontSize: 14,\n fontWeight: 400,\n },\n },\n \"& .itemInput\": {\n \"& .MuiOutlinedInput-input\": {\n fontSize: 14,\n fontWeight: 400,\n },\n \"& .userIdContainer .input\": {\n flexGrow: 1,\n paddingRight: theme.spacing(2),\n },\n },\n },\n },\n uploadDialogTitle: {\n fontSize: \"24px\",\n fontWeight: 600,\n },\n errorMsg:{\n color: COLORS.ERROR_RED,\n fontSize: 14,\n marginTop: 8\n },\n container: {\n padding: \"4px 0px 0px 8px\", \n \"& .prevContainer\": {\n padding: theme.spacing(3),\n \"& .receiptsPanel\": {\n background: \"rgba(250, 250, 251, 0.89)\",\n padding: theme.spacing(5),\n display: \"flex\",\n flexDirection: \"column\",\n height: \"678px\",\n overflow: \"auto\",\n },\n \"& .panelTitle\": {\n color: \"#505050\",\n fontSize: \"20px\",\n fontWeight: 600,\n },\n \"& .defaultPanel\": {\n height: \"405px\",\n \"& .title\": {\n margin: \"0 auto\",\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .content\": {\n color: \"#505050\",\n fontSize: \"20px\",\n fontWeight: 600,\n },\n },\n \"& .uploadedFilePanel\": {\n \"& .container\": {\n height: \"52px\",\n border: `1px solid ${COLORS.SEA_GREEN}`,\n borderRadius: \"12px\",\n marginTop: theme.spacing(2),\n \"& .item\": {\n padding: \"12px 20px\",\n },\n \"& .content\": {\n display: \"flex\",\n justifyContent: \"space-between\",\n \"& .fileName\": {\n fontSize: \"14px\",\n fontWeight: 500,\n color: \"#141414\",\n },\n \"& .fileTimestamp\": {\n fontSize: \"10px\",\n fontWeight: 400,\n color: \"#505050\",\n paddingTop: theme.spacing(1),\n },\n \"& .icon\": {\n height: \"24px\",\n width: \"24px\",\n cursor: \"pointer\",\n \"&.delete\": {\n marginLeft: theme.spacing(1.5),\n },\n },\n },\n },\n },\n },\n },\n tempContainer: {\n \"& .content\": {\n paddingTop: theme.spacing(5),\n display: \"flex\",\n alignItems: \"center\",\n },\n \"& .imgItem\": {\n display: \"flex\",\n paddingLeft: theme.spacing(3),\n \"& .name\": {\n color: COLORS.MINE_SHAFT,\n fontSize: \"14px\",\n fontWeight: 600,\n },\n \"& .icon\": {\n width: \"18px\",\n height: \"18px\",\n marginLeft: theme.spacing(3),\n cursor: \"pointer\",\n },\n },\n },\n attachItem: {\n paddingTop: theme.spacing(5),\n paddingLeft: theme.spacing(2.75),\n display: \"flex\",\n alignItems: \"center\",\n \"&.secondary\": {\n paddingLeft: theme.spacing(8),\n paddingRight: theme.spacing(8),\n marginRight: theme.spacing(1),\n },\n \"& .input\": {\n display: \"none\",\n },\n \"& .btnDiv\": {\n display: \"flex\",\n borderRadius: \"12px\",\n cursor: \"pointer\",\n },\n \"& .btnText\": {\n color: COLORS.PRIMARY_MAIN,\n fontSize: \"14px\",\n fontWeight: 700,\n padding: \"4px 0px 0px 16px\",\n },\n },\n })\n);\n","import React, {useCallback, useState, useEffect, useRef} from \"react\";\nimport {useSelector, useDispatch} from \"react-redux\";\nimport {uploadCodReceipt, submitCodReceipts, uploadCodClick, deletePrevUploadedCodReceipt} from \"./redux/stdCodPortalSlice\";\n//common components\nimport {AppState} from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport CustomDialog from \"../../common/Dialog\";\nimport TextBox from \"../../common/TextBox\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\n\n//assets\nimport attachIcon from \"../../assets/icons/attach-key.svg\";\nimport trashIcon from \"../../assets/icons/trash.svg\";\nimport downloadIcon from \"../../assets/icons/download.svg\";\nimport closeIcon from \"../../assets/icons/circled-cancel.svg\";\n\n//Material UI Components\nimport {Grid, Typography, Button} from \"@material-ui/core\";\n\n//styles\nimport {useStyles} from \"./stdCodUploadReceipt.styles\";\n\nimport {userLogout} from \"../../Login/redux/loginSlice\";\nimport {createPayloadToDeleteUploadedFile} from \"../../mocks/codPortal/response.transforms\";\nimport {dateWithReqFormat} from \"../../utils/dateUtils\";\nimport {FileStorageUpload, FileStorageSave} from \"../../common/FileStorageOprations\"\nimport { saveAs } from 'file-saver';\n\ninterface StdCodUploadReceiptProps {\n open: boolean;\n hub: any;\n date: any;\n closePopup: () => void;\n}\n\nconst StdCodUploadReceipt = (props: StdCodUploadReceiptProps) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const {open, hub, date, closePopup} = props;\n const {\n stdDraftReceiptData,\n isStdFileUploaded,\n stdReceiptDataAfterUpload,\n stdUploadError,\n stdUploadErrorCode,\n stdReceiptsSubmittedFlag,\n stdReceiptDataAfterSubmit,\n isErrorOnStdUpload\n } = useSelector((state: AppState) => state.stdCodPortal);\n const dialogPaperProps = {\n classes: {\n root: classes.dialogPaperPropsRoot,\n },\n };\n const [receiptNo, setReceiptNo] = useState(\"\");\n const [file, setFile] = useState({\n name: \"\",\n });\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n const [tempReceipts, setTempReceipts] = useState([]);\n const [permanentReceipts, setPermanentReceipts] = useState([]);\n const [draftId, setDraftId] = useState(\"\");\n const [enableAttachBtn, setEnableAttachBtn] = useState(false);\n const [maxSize, setMaxSize] = useState(false);\n const maxSizeSnackbarType = useRef(AppConstants.SNACKBAR.TYPES.ERROR);\n const maxSizeMessage = AppConstants.COD_RECON_CONSTANTS.MAX_FILE_SIZE;\n const handleDialogClose = () => {\n closePopup();\n setReceiptNo(\"\");\n };\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n setMaxSize(false);\n };\n\n const handleSnackbarExited = useCallback(() => {\n if (stdUploadErrorCode === AppConstants.COD_RECON_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }, [dispatch, stdUploadErrorCode]);\n\n const handleReceiptTextboxChange = (event: any) => {\n const receiptNumber = event.target.value;\n setReceiptNo(receiptNumber);\n if (event.target.value.length > 0) {\n setEnableAttachBtn(true);\n } else {\n setEnableAttachBtn(false);\n } \n };\n\n function handleUpload(selectedFile: any) {\n setFile(selectedFile);\n dispatch(uploadCodClick());\n let data = new FormData();\n if (selectedFile.size > AppConstants.COD_RECON_CONSTANTS.MAX_FILE_SIZE_ALLOWED) {\n setMaxSize(true);\n setEnableAttachBtn(false);\n } else {\n data.append(\"images\", selectedFile);\n const request = JSON.stringify({\n id: stdDraftReceiptData && stdDraftReceiptData.id,\n receiptNumber: receiptNo,\n });\n data.append(\"request\", request);\n dispatch(\n uploadCodReceipt({\n params: data,\n })\n );\n }\n //event.target.value = \"\";\n setReceiptNo(\"\");\n }\n \n const deleteUploadedFile = (item: any, id: any, isTemp: boolean) => {\n const payload = createPayloadToDeleteUploadedFile(item, id, isTemp);\n dispatch(\n deletePrevUploadedCodReceipt({\n params: payload,\n })\n );\n };\n\n\n const downloadFile = (item: any) => {\n if (item) {\n saveAs(item.url, item.name);\n }\n };\n\n const handleSubmitReceipt = useCallback((draftId: any) => {\n const payload = { id: draftId };\n dispatch(\n submitCodReceipts({\n params: payload,\n })\n );\n setReceiptNo(\"\");\n }, [dispatch]);\n\n const getUploadedFiles = () => {\n return permanentReceipts?.length\n ? permanentReceipts.map((item: any, index: number) => (\n \n \n \n \n \n {item.name}\n \n Uploaded on {dateWithReqFormat(item.createdAt, AppConstants.DATE_FORMAT)}\n \n \n \n \n deleteUploadedFile(item, draftId, false)}\n />\n \n \n \n \n \n ))\n : null;\n };\n\n const getPreviousUploads = () => {\n return (\n <>\n {permanentReceipts?.length ? (\n
\n Previous Uploads\n {getUploadedFiles()}\n
\n ) : (\n \n \n No previous uploads available\n \n \n )}\n \n );\n };\n\n const renderTempReceiptsContainer = () => {\n return (\n tempReceipts?.length ?\n tempReceipts.map((item: any, index: number) => (\n \n \n \n \n \n \n {item.name}\n deleteUploadedFile(item, draftId, true)} \n />\n \n \n \n )) : null\n );\n };\n\n const renderReceiptConfig = () => {\n return (\n \n \n \n \n Receipt No\n \n \n \n \n \n \n \n <>\n \n \n \n \n );\n };\n\n const getTitleContent = () => {\n return Cash Receipts;\n };\n\n const getDetailsContent = () => {\n return (\n
\n \n \n Store Name : {hub}\n \n \n Date : {date.startDate}\n \n \n \n \n \n {renderReceiptConfig()}\n {renderTempReceiptsContainer()}\n \n \n \n {getPreviousUploads()}\n \n \n \n \n
\n );\n };\n\n const getUploadActions = () => {\n return (\n \n \n \n \n );\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n useEffect(() => {\n if (stdReceiptsSubmittedFlag) {\n setTempReceipts(stdReceiptDataAfterSubmit?.tempReceiptImages);\n setPermanentReceipts(stdReceiptDataAfterSubmit?.images);\n setEnableAttachBtn(false);\n }\n }, [stdReceiptsSubmittedFlag, stdReceiptDataAfterSubmit]);\n\n useEffect(() => {\n if (isStdFileUploaded) {\n setTempReceipts(stdReceiptDataAfterUpload?.tempReceiptImages);\n setPermanentReceipts(stdReceiptDataAfterUpload?.images);\n setEnableAttachBtn(false);\n }\n }, [isStdFileUploaded, stdReceiptDataAfterUpload]);\n\n useEffect(() => {\n setDraftId(stdDraftReceiptData?.id);\n setTempReceipts(stdDraftReceiptData?.tempReceiptImages);\n setPermanentReceipts(stdDraftReceiptData?.images);\n setEnableAttachBtn(false);\n }, [stdDraftReceiptData]);\n\n useEffect(() => {\n if (isErrorOnStdUpload) {\n openSnackbarPopup(stdUploadError, AppConstants.SNACKBAR.TYPES.ERROR);\n setReceiptNo(\"\");\n }\n }, [isErrorOnStdUpload]);\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport default StdCodUploadReceipt;","import React, {useCallback, useEffect, useRef, useState, useMemo} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {cloneDeep} from \"../../utils/loadash.utils\";\nimport {currentDate, startOfDay} from \"../../utils/dateUtils\";\nimport {isUndefined} from \"utils/helpers.utils\";\n//common components\nimport {AppState} from \"../../config/redux/reducers\";\nimport AppConstants from \"../../constants\";\nimport GridWrapper from \"../../common/GridWrapper\";\nimport Loader from \"../../common/Loader\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\nimport SelectBox from \"../../common/SelectBox\";\nimport DateRangePickerComponent from \"../../common/DateRangeComponent/index\";\nimport {TextConstants} from \"constants/TextConstants\";\n//Material UI Components\nimport {CellParams} from \"../../common/GridWrapper/DataTable\";\nimport {Grid, Typography, IconButton, SvgIcon, Button} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n//styles\nimport {useStyles} from \"./codportal.styles\";\n//assets\nimport calendarIcon from \"../../assets/icons/calendar-icon.svg\";\nimport arrowIcon from \"../../assets/icons/CaretCircleRight.svg\";\nimport {ReactComponent as checkIcon} from \"../../assets/icons/circle-checked-icon.svg\";\n//redux\nimport {fetchDriversList, exportToExcel, createCodReceiptDraft} from \"./redux/stdCodPortalSlice\";\nimport {userLogout} from \"../../Login/redux/loginSlice\";\nimport {\n createPayloadToFetchDriversList,\n codPortalDriversDataTransform,\n} from \"../../mocks/stdCodPortal/response.transforms\";\nimport BucketComponent from \"../../common/BucketComponent\";\nimport CODDriverDetails from \"./stdCodDriverDetails\";\nimport CODUploadReceipt from \"./stdCodUploadReceipt\";\ninterface StandardCodPortalProps {\n match?: any;\n location?: any;\n}\n\nconst StandardCodPortal = (props: StandardCodPortalProps) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const {countryCode, hubRecordListWithCodeAndName, hubRecordList} = useSelector((state: AppState) => state.common);\n const {\n driversData,\n loading,\n driversFiltersDropdowns,\n error,\n errorCode,\n excelLoading,\n exportError,\n isAmtCollected,\n } = useSelector((state: AppState) => state.stdCodPortal);\n const {isLastMileViewer, isOnlyStdLastMileViewer} = useSelector((state: AppState)=> state.userLogin);\n\n const country = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode || AppConstants.COUNTRY_OBJ.value;\n const [openDriverDetails, setOpenDriverDetails] = useState(false);\n const [dashboardHub, setDashboardHub] = useState(\n isUndefined(hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode])\n ? \"\"\n : hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode][0].value\n );\n const [datePickerValue, setDatePickerValue] = useState({\n startDate: currentDate(AppConstants.DATE_FORMAT),\n endDate: currentDate(AppConstants.DATE_FORMAT),\n });\n const [driversTableWrapperData, setDriversTableWrapperData] = useState({\n ...AppConstants.STD_COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA,\n HeaderData: AppConstants.STD_COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.HeaderData.map((header: any) => {\n let newHeader = header;\n if (newHeader.field === \"actions\") {\n newHeader.renderCell = (params: CellParams) => arrow;\n }\n return newHeader;\n }),\n defaultFiltersObj: {\n ...AppConstants.STD_COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj,\n dateRange: {\n ...AppConstants.STD_COD_RECON_CONSTANTS.DRIVERS_DATA.TABLE_WRAPPER_DATA.defaultFiltersObj.dateRange,\n value: {\n datePickerValue,\n },\n },\n },\n });\n const [driversActiveFilters, setDriversActiveFilters] = useState(driversTableWrapperData.defaultFiltersObj);\n const [ordersSearchValue, setOrdersSearchValue] = useState(\"\");\n const [isOrderSearched, setIsOrderSearched] = useState(false);\n\n const [driversListToShow, setDriversListToShow] = useState([]);\n const [driverDetails, setDriverDetails] = useState([]);\n\n const [renderExcelProgress, setRenderExcelProgress] = useState(false);\n const [openViewAndUploadPopup, setOpenViewAndUploadPopup] = useState(false);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n const snackbarMessage = useRef(\"\");\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n };\n\n const closeDriverDetailsPopup = () => {\n setOpenDriverDetails(false);\n };\n\n const handleViewAndUploadDialogClose = () => {\n setOpenViewAndUploadPopup(false);\n };\n\n const handleProgressClose = () => {\n setRenderExcelProgress(false);\n };\n\n const handleSnackbarExited = useCallback(() => {\n if (errorCode === AppConstants.COD_RECON_CONSTANTS.RESPONSE_CONSTANTS.ERROR_CODES.SESSION_TIMEOUT) {\n dispatch(userLogout());\n }\n }, [dispatch, errorCode]);\n\n const driversFilterCallback = useCallback(\n (filters: any, isLoadMore?: boolean, params?: any) => {\n if (filters) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = driversTableWrapperData.loadMore.pageSize;\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const payload = createPayloadToFetchDriversList(\n payloadFilters,\n params,\n driversData,\n isLoadMore,\n datePickerValue,\n dashboardHub\n );\n dispatch(\n fetchDriversList({\n params: payload,\n })\n );\n setDriversActiveFilters(filters);\n }\n setRenderExcelProgress(false);\n },\n [dispatch, driversData, driversTableWrapperData, countryCode, dashboardHub, datePickerValue]\n );\n\n const handleExcelExport = useCallback(\n (filters: any, hub: any, dateValue: any, country: string) => {\n if (filters) {\n let payloadFilters = cloneDeep(filters);\n payloadFilters.pageSize = driversTableWrapperData.loadMore.pageSize;\n payloadFilters[AppConstants.COUNTRY_CODE] = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n const payload = createPayloadToFetchDriversList(\n payloadFilters,\n driversData,\n driversData,\n false,\n dateValue,\n hub\n );\n dispatch(\n exportToExcel({\n payload: payload,\n })\n );\n }\n setRenderExcelProgress(true);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, driversData, country, dashboardHub, datePickerValue]\n );\n\n const handleOrdersHeaderButtonClick = useCallback(\n (btnObj: any) => {\n if (btnObj && btnObj.type) {\n switch (btnObj.type) {\n case \"excel\":\n handleExcelExport(driversActiveFilters, dashboardHub, datePickerValue, country);\n break;\n default:\n break;\n }\n }\n },\n [driversActiveFilters, dashboardHub, datePickerValue, country, handleExcelExport]\n );\n\n const handleFetchDriverParameters = useCallback(\n (params: any) => {\n driversFilterCallback(driversActiveFilters, false, params);\n },\n [driversActiveFilters, driversFilterCallback]\n );\n\n const handleViewAndUploadClick = useCallback(\n (hubId: any, date: any) => {\n const payload = {\n hubId: hubId,\n reconcileDate: startOfDay(date.startDate, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND),\n };\n dispatch(\n createCodReceiptDraft({\n params: payload,\n })\n );\n setOpenViewAndUploadPopup(true);\n },\n [dispatch]\n );\n\n const handleDateChange = (dateRange: any) => {\n setDatePickerValue(dateRange);\n handleFetchDriverParameters({\n dateRange: dateRange,\n hubCode: dashboardHub,\n });\n };\n\n const handleHubChange = useCallback(\n (value: any) => {\n setDashboardHub(value);\n handleFetchDriverParameters({\n dateRange: datePickerValue,\n hubCode: value,\n });\n },\n [datePickerValue, handleFetchDriverParameters]\n );\n\n const handleLoadMoreDisableState = useCallback(() => {\n let loadMoreState = driversTableWrapperData.loadMore;\n loadMoreState.disabled = driversData.totalPages ? driversData.pageNumber + 1 >= driversData.totalPages : true;\n setDriversTableWrapperData({...driversTableWrapperData, loadMore: loadMoreState});\n }, [driversTableWrapperData, driversData]);\n\n const ordersSearchFilterHandler = (data: {[key: string]: string}, updatedSearchValue: string, filters: any) => {\n const activeFilters = cloneDeep(filters);\n setOrdersSearchValue(updatedSearchValue);\n setIsOrderSearched(false);\n if (updatedSearchValue) {\n setIsOrderSearched(true);\n for (const searchKey in data) {\n if (data[searchKey]) {\n activeFilters.searchAttribute = {\n key: searchKey,\n value: data[searchKey],\n };\n driversFilterCallback(activeFilters);\n return;\n }\n }\n }\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n const handleDriverCellClick = (params: CellParams) => {\n if (params.field === \"actions\") {\n const selectedRow: any = params.rowData;\n setDriverDetails(selectedRow);\n setOpenDriverDetails(true);\n }\n };\n\n useEffect(() => {\n if (driversTableWrapperData && driversTableWrapperData.HeaderData) {\n let headerData = driversTableWrapperData.HeaderData.map((header: any) => {\n if (header.filterObj) {\n if (header.filterObj.fieldName === \"driverName\") {\n header.filterObj.items = driversFiltersDropdowns.driverNameList || [];\n }\n if (header.filterObj.fieldName === \"vendorName\") {\n header.filterObj.items = driversFiltersDropdowns.vendorNameList || [];\n }\n }\n return header;\n });\n setDriversTableWrapperData({...driversTableWrapperData, HeaderData: headerData});\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [driversFiltersDropdowns]);\n\n useEffect(() => {\n setDriversListToShow(codPortalDriversDataTransform(driversData) as any);\n handleLoadMoreDisableState();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [driversData]);\n\n useEffect(() => {\n setDatePickerValue({\n startDate: currentDate(AppConstants.DATE_FORMAT),\n endDate: currentDate(AppConstants.DATE_FORMAT),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [country]);\n\n useEffect(() => {\n if (error) {\n openSnackbarPopup(error, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }, [error]);\n\n useEffect(() => {\n if (isAmtCollected) {\n driversFilterCallback(driversActiveFilters);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAmtCollected]);\n\n const getHeaderConfig = useMemo(() => {\n const driverCodDetails = driversData;\n return [\n {\n tileHeading: TextConstants.TOTAL_COD_ORDERS,\n tileData: driverCodDetails?.totalOrders,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_ORDERS_AMOUNT,\n tileData: driverCodDetails?.totalOrdersCODAmount,\n subHeading: `(${country})`,\n },\n {\n tileHeading: TextConstants.TOTAL_COD_COLLECTED,\n tileData: driverCodDetails?.totalCODAmount,\n subHeading: \"(By Driver)\",\n },\n {\n tileHeading: TextConstants.COD_AMOUNT_RECEIVED,\n tileData: driverCodDetails?.totalCODReceived,\n subHeading: \"(By Dispatcher)\",\n },\n {\n tileHeading: TextConstants.TOTAL_COD_AMOUNT,\n tileData: driverCodDetails?.totalCODPending,\n subHeading: \"pending\",\n classes: {subHeading: classes.subHeadingBold},\n },\n ];\n }, [driversData, country, classes.subHeadingBold]);\n\n const HeaderComponent = () => {\n const config = getHeaderConfig;\n\n return (\n \n \n \n );\n };\n\n useEffect(() => {\n setDashboardHub(\n isUndefined(hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode])\n ? \"\"\n : hubRecordList[sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode][0].value\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hubRecordList]);\n\n return (\n <>\n
\n {loading && }\n \n \n \n \n \n \n \n \n \n \n {!(isLastMileViewer || isOnlyStdLastMileViewer) && (\n <>\n {datePickerValue.startDate === datePickerValue.endDate ? (\n \n {\n dashboardHub && handleViewAndUploadClick(dashboardHub, datePickerValue);\n }}\n >\n {AppConstants.BUTTONS.VIEW_AND_UPLOAD}\n \n \n ) : null}\n \n )}\n \n \n \n \n\n \n \n \n {!error && renderExcelProgress ? (\n \n {excelLoading ? (\n \n Your files are getting downloaded\n \n ) : (\n \n Your files have been downloaded\n \n )}\n {excelLoading ? (\n \n ) : (\n \n \n \n \n \n \n )}\n \n ) : exportError === \"INTERNAL_SERVER_ERROR\" && renderExcelProgress ? (\n \n \n \n Error Downloading the file. Try Again!!\n \n \n \n \n \n \n \n \n ) : null}\n \n \n \n
\n \n );\n};\n\nexport default StandardCodPortal;\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n formControl: {\n \"& .MuiOutlinedInput-input\": {\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n fontWeight: 600,\n borderWidth: 1,\n borderRadius: theme.spacing(1),\n cursor: \"pointer\",\n fontFamily: \"inherit\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n \"&.hasLabel\": {\n \"& .MuiOutlinedInput-input\": {\n paddingTop: theme.spacing(2),\n },\n },\n },\n })\n);\n","import React from \"react\";\n\nimport { FormControl, InputLabel } from \"@material-ui/core\";\nimport { MuiPickersUtilsProvider, KeyboardTimePicker } from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport AppConstants from \"../../constants/AppConstants\";\n\nimport { useStyles } from \"./CustomTimePickerStyles\";\nimport { isNull, isUndefined } from \"../../utils/helpers.utils\";\n\nimport Clock from \"../../assets/icons/clock.svg\";\n\ninterface CustomTimePickerInterface {\n keyId: any;\n label: any;\n name: any;\n value: any;\n handleChange: any;\n ampmBoolean: any;\n placeholder?: any;\n fullWidth?: boolean;\n}\n\nconst CustomTimePicker = (props: CustomTimePickerInterface) => {\n const { keyId, label, name, placeholder, handleChange, fullWidth, ampmBoolean, value } = props;\n\n const classes = useStyles();\n\n const handleTimeChange = (time: any) => {\n let removedSecTime = !isUndefined(time) && !isNull(time) ? new Date(time.setSeconds(0, 0)) : time;\n handleChange(removedSecTime);\n };\n\n return (\n \n {label && (\n \n {label}\n \n )}\n \n }\n />\n \n \n );\n};\n\nexport default CustomTimePicker;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { Button, Grid, TextField } from \"@material-ui/core\";\n\nimport AppConstants from \"../../../constants\";\nimport DateRangePickerComponent from \"../../../common/DateRangeComponent\";\nimport SelectBox from \"../../../common/SelectBox\";\nimport CustomTimePicker from \"../../../common/CustomTimePicker\";\n\n//Assets\nimport calendarIcon from \"../../../assets/icons/calendar-icon.svg\";\n\nimport { TextConstants } from \"../../../constants/TextConstants\";\n\ninterface DelveDashboardSearchHeaderInterface {\n classes: any;\n dashboardState: any;\n countryCode: any;\n hubRecordListWithCodeAndName: any;\n handleDateChange: any;\n handleDeliverySlotChange: any;\n handleSlotTimeChange: any;\n clearAllFilterHandler: any;\n}\n\nconst DelveDashboardSearchHeader = (props: DelveDashboardSearchHeaderInterface) => {\n const { classes, dashboardState, countryCode, hubRecordListWithCodeAndName, handleDateChange, handleDeliverySlotChange, handleSlotTimeChange, clearAllFilterHandler } = props;\n\n return (\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n {/* Slot Start Time */}\n handleSlotTimeChange(date, \"startTime\")}\n ampmBoolean={false}\n placeholder={AppConstants.SLOT_FORMAT_UI}\n fullWidth\n />\n \n\n \n {/* Slot End Time */}\n handleSlotTimeChange(date, \"endTime\")}\n ampmBoolean={false}\n placeholder={AppConstants.SLOT_FORMAT_UI}\n fullWidth\n />\n \n \n );\n};\n\nexport default React.memo(DelveDashboardSearchHeader);\n","import AppConstants from \"constants/AppConstants\";\nimport moment from \"moment\";\nimport { isNull, isUndefined, isInputAnArray, isNonEmptyArray, checkIfInputIsValidObjectWithKeys, getPercentageValue } from \"../../../utils/helpers.utils\";\nimport { DELVE_DASHBOARD_CONST } from \"../../../constants/DelveDashboardConstant\";\nimport { isDateValid, isEndDateBeforeStartDate } from \"utils/dateUtils\";\n\nexport const fetchDashboardRecordBasedOnFilterUtils = (dashboardStateObjCopy: any, countryCode: any) => {\n let requestDashboardStateObj = {} as any;\n if (!isUndefined(dashboardStateObjCopy)) {\n requestDashboardStateObj.countryIsoCode = sessionStorage.getItem(AppConstants.COUNTRY_CODE) || countryCode;\n\n if (!isUndefined(dashboardStateObjCopy.hubs)) {\n requestDashboardStateObj.hubs = dashboardStateObjCopy.hubs;\n }\n\n if (!isUndefined(dashboardStateObjCopy.dateSlot) && !isUndefined(dashboardStateObjCopy.dateSlot.startDate) && !isUndefined(dashboardStateObjCopy.dateSlot.endDate)) {\n requestDashboardStateObj.dateSlot = {\n startDate: moment(dashboardStateObjCopy.dateSlot.startDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n endDate: moment(dashboardStateObjCopy.dateSlot.endDate, AppConstants.DATE_FORMAT).format(AppConstants.DATE_FORMAT_API),\n };\n }\n\n if (!isUndefined(dashboardStateObjCopy.timeSlot)) {\n const { startTime, endTime } = dashboardStateObjCopy.timeSlot;\n if (!isUndefined(startTime) && !isUndefined(endTime) && isDateValid(startTime) && isDateValid(endTime) && !isEndDateBeforeStartDate(startTime, endTime)) {\n requestDashboardStateObj.timeSlot = {\n startTime: moment(startTime).format(AppConstants.SLOT_FORMAT_BACKEND),\n endTime: moment(endTime).format(AppConstants.SLOT_FORMAT_BACKEND),\n };\n }\n }\n\n if (dashboardStateObjCopy.tabValue !== undefined && dashboardStateObjCopy.tabValue !== \"\") {\n requestDashboardStateObj.deliveryFlow = dashboardStateObjCopy.tabValue;\n }\n }\n return requestDashboardStateObj;\n};\n\nexport const capitalizeIssueNameString = (nameValue: any) => {\n // extraItems to Extra Items\n let str = \"\";\n if (!isUndefined(nameValue) && !isNull(nameValue)) {\n let arr = nameValue.split(\"\");\n if (!isUndefined(arr) && isInputAnArray(arr) && isNonEmptyArray(arr)) {\n arr.forEach((char: any, char_index: any) => {\n if (char_index === 0) {\n str = char.toUpperCase();\n } else if (char.toUpperCase() === char.toString()) {\n str = str + \" \" + char;\n } else {\n str = str + char;\n }\n });\n }\n }\n return str;\n};\n\nexport const resetDelveDashboardDataObjUtils = (newDelveDashboardDataObj: any) => {\n const copyNewDelveDashboardDataObj = JSON.parse(JSON.stringify(newDelveDashboardDataObj));\n if (!isUndefined(copyNewDelveDashboardDataObj.orderCount)) {\n if (checkIfInputIsValidObjectWithKeys(copyNewDelveDashboardDataObj.orderCount)) {\n Object.keys(copyNewDelveDashboardDataObj.orderCount).forEach((keyName: any) => {\n copyNewDelveDashboardDataObj.orderCount[keyName].count = 0;\n copyNewDelveDashboardDataObj.orderCount[keyName].cost = 0;\n });\n }\n }\n\n if (!isUndefined(copyNewDelveDashboardDataObj.hubFooterData)) {\n copyNewDelveDashboardDataObj.hubFooterData = [] as any;\n }\n\n if (!isUndefined(copyNewDelveDashboardDataObj.hubSeriesObj)) {\n copyNewDelveDashboardDataObj.hubSeriesObj = [] as any;\n }\n\n if (!isUndefined(copyNewDelveDashboardDataObj.itemsCountObj)) {\n copyNewDelveDashboardDataObj.itemsCountObj = {} as any;\n }\n\n if (!isUndefined(copyNewDelveDashboardDataObj.totalIssueSummaryCount)) {\n copyNewDelveDashboardDataObj.totalIssueSummaryCount = 0;\n }\n\n if (!isUndefined(copyNewDelveDashboardDataObj.hubLevelVerificationData)) {\n copyNewDelveDashboardDataObj.hubLevelVerificationData = {} as any;\n }\n\n return copyNewDelveDashboardDataObj;\n};\n\nexport const updateCountDetails = (obj: any, keyName: any, countValue: any, costValue: any) => {\n return {\n ...obj,\n [keyName]: {\n count: countValue || 0,\n cost: costValue || 0,\n },\n };\n};\n\nexport const designDelveDashboardRecordDataUtils = (responseData: any, returnDataObj: any) => {\n if (!isUndefined(responseData) && checkIfInputIsValidObjectWithKeys(responseData)) {\n Object.keys(responseData).forEach((keyName: any) => {\n if (!isUndefined(keyName)) {\n switch (keyName) {\n case \"currency\":\n returnDataObj.currency = responseData[keyName];\n break;\n case \"totalOrders\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"totalOrders\", responseData[keyName], returnDataObj.orderCount.totalOrders.cost);\n break;\n case \"totalCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"totalOrders\", returnDataObj.orderCount.totalOrders.count, responseData[keyName]);\n break;\n case \"cratesVerified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"cratesVerified\", responseData[keyName], returnDataObj.orderCount.cratesVerified.cost);\n break;\n case \"cratesVerifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"cratesVerified\", returnDataObj.orderCount.cratesVerified.count, responseData[keyName]);\n break;\n case \"cratesUnverified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"cratesUnverified\", responseData[keyName], returnDataObj.orderCount.cratesUnverified.cost);\n break;\n case \"cratesUnverifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"cratesUnverified\", returnDataObj.orderCount.cratesUnverified.count, responseData[keyName]);\n break;\n case \"itemsVerified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsVerified\", responseData[keyName], returnDataObj.orderCount.itemsVerified.cost);\n break;\n case \"itemsVerifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsVerified\", returnDataObj.orderCount.itemsVerified.count, responseData[keyName]);\n break;\n case \"itemsUnverified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsUnverified\", responseData[keyName], returnDataObj.orderCount.itemsUnverified.cost);\n break;\n case \"itemsUnverifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsUnverified\", returnDataObj.orderCount.itemsUnverified.count, responseData[keyName]);\n break;\n case \"issuesFound\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"issuesFound\", responseData[keyName], returnDataObj.orderCount.issuesFound.cost);\n break;\n case \"issuesFoundCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"issuesFound\", returnDataObj.orderCount.issuesFound.count, responseData[keyName]);\n break;\n case \"statuses\":\n if (!isUndefined(responseData[keyName]) && checkIfInputIsValidObjectWithKeys(responseData[keyName])) {\n Object.keys(responseData[keyName]).forEach((status: any) => {\n switch (status) {\n case DELVE_DASHBOARD_CONST.VERIFIED:\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"ordersVerified\", responseData[keyName][status]?.totalOrders, responseData[keyName][status]?.totalCost);\n break;\n case DELVE_DASHBOARD_CONST.UNVERIFIED:\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"ordersUnverified\", responseData[keyName][status]?.totalOrders, responseData[keyName][status]?.totalCost);\n break;\n case DELVE_DASHBOARD_CONST.PARTIALLY_VERIFIED:\n returnDataObj.orderCount = updateCountDetails(\n returnDataObj.orderCount,\n \"ordersPartialVerified\",\n responseData[keyName][status]?.totalOrders,\n responseData[keyName][status]?.totalCost\n );\n break;\n }\n });\n }\n break;\n case \"hubs\":\n let hubsDataObj = responseData[keyName];\n if (!isUndefined(hubsDataObj) && checkIfInputIsValidObjectWithKeys(hubsDataObj)) {\n Object.keys(hubsDataObj).forEach((hub: any) => {\n if (!isUndefined(hub) && checkIfInputIsValidObjectWithKeys(hubsDataObj[hub])) {\n if (returnDataObj.hubFooterData.indexOf(hub) < 0) {\n returnDataObj.hubFooterData.push(hub);\n returnDataObj.hubLevelVerificationData[hub] = {\n totalOrders: 0,\n partiallyVerifiedOrders: 0,\n verifiedOrders: 0,\n issuesReported: 0,\n partiallyVerifiedOrdersWithIssues: 0,\n verifiedOrdersWithIssues: 0,\n };\n }\n\n Object.keys(hubsDataObj[hub]).forEach((issueName: any) => {\n if (!isUndefined(issueName)) {\n if (issueName === \"totalOrders\") {\n returnDataObj.hubLevelVerificationData[hub].totalOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"verifiedOrders\") {\n returnDataObj.hubLevelVerificationData[hub].verifiedOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"verifiedOrdersWithIssues\") {\n returnDataObj.hubLevelVerificationData[hub].verifiedOrdersWithIssues = hubsDataObj[hub][issueName];\n } else if (issueName === \"partiallyVerifiedOrders\") {\n returnDataObj.hubLevelVerificationData[hub].partiallyVerifiedOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"partiallyVerifiedOrdersWithIssues\") {\n returnDataObj.hubLevelVerificationData[hub].partiallyVerifiedOrdersWithIssues = hubsDataObj[hub][issueName];\n } else {\n if (issueName !== \"issuesFound\" && issueName.indexOf(\"return\") === -1) {\n if (isUndefined(returnDataObj.itemsCountObj[issueName])) {\n returnDataObj.itemsCountObj[issueName] = {\n name: capitalizeIssueNameString(issueName),\n cost: 0,\n value: issueName,\n };\n returnDataObj.hubSeriesObj.push({\n data: [],\n name: returnDataObj.itemsCountObj[issueName].name,\n type: undefined,\n issueName: issueName,\n });\n }\n let issue_index = returnDataObj.hubSeriesObj.findIndex((x: any) => x.issueName == issueName);\n if (issue_index > -1) {\n returnDataObj.hubSeriesObj[issue_index].data.push(hubsDataObj[hub][issueName]);\n }\n returnDataObj.hubLevelVerificationData[hub].issuesReported = returnDataObj.hubLevelVerificationData[hub].issuesReported + hubsDataObj[hub][issueName];\n returnDataObj.itemsCountObj[issueName].cost = returnDataObj.itemsCountObj[issueName].cost + hubsDataObj[hub][issueName];\n returnDataObj.totalIssueSummaryCount = returnDataObj.totalIssueSummaryCount + hubsDataObj[hub][issueName];\n }\n }\n }\n });\n }\n });\n }\n }\n }\n });\n }\n return returnDataObj;\n};\n\n/* LMC 2314 */\n\nexport const getPercentageValueString = (sumCount: any, currentValueCount: any) => {\n return `(${getPercentageValue(sumCount, currentValueCount)}%)`;\n};\n\nexport const getOrdersVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.totalOrders) &&\n !isUndefined(orderCountList.totalOrders.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.ordersVerified) &&\n !isUndefined(orderCountList.ordersVerified.count)\n ) {\n return getPercentageValueString(orderCountList.totalOrders.count, orderCountList.ordersVerified.count);\n }\n }\n return \"\";\n};\n\nexport const getOrdersPartiallyVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.totalOrders) &&\n !isUndefined(orderCountList.totalOrders.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.ordersPartialVerified) &&\n !isUndefined(orderCountList.ordersPartialVerified.count)\n ) {\n return getPercentageValueString(orderCountList.totalOrders.count, orderCountList.ordersPartialVerified.count);\n }\n }\n return \"\";\n};\n\nexport const getOrdersUnVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.totalOrders) &&\n !isUndefined(orderCountList.totalOrders.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.ordersUnverified) &&\n !isUndefined(orderCountList.ordersUnverified.count)\n ) {\n return getPercentageValueString(orderCountList.totalOrders.count, orderCountList.ordersUnverified.count);\n }\n }\n return \"\";\n};\n\nexport const getCratesVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.cratesVerified) &&\n !isUndefined(orderCountList.cratesVerified.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.cratesUnverified) &&\n !isUndefined(orderCountList.cratesUnverified.count)\n ) {\n const totalCount = Number(orderCountList.cratesVerified.count) + Number(orderCountList.cratesUnverified.count);\n return getPercentageValueString(totalCount, orderCountList.cratesVerified.count);\n }\n }\n return \"\";\n};\n\nexport const getCratesUnVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.cratesVerified) &&\n !isUndefined(orderCountList.cratesVerified.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.cratesUnverified) &&\n !isUndefined(orderCountList.cratesUnverified.count)\n ) {\n const totalCount = Number(orderCountList.cratesVerified.count) + Number(orderCountList.cratesUnverified.count);\n return getPercentageValueString(totalCount, orderCountList.cratesUnverified.count);\n }\n }\n return \"\";\n};\n\nexport const getItemsVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.itemsVerified) &&\n !isUndefined(orderCountList.itemsVerified.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.itemsUnverified) &&\n !isUndefined(orderCountList.itemsUnverified.count)\n ) {\n const totalCount = Number(orderCountList.itemsVerified.count) + Number(orderCountList.itemsUnverified.count);\n return getPercentageValueString(totalCount, orderCountList.itemsVerified.count);\n }\n }\n return \"\";\n};\n\nexport const getItemsUnVerfiedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.itemsVerified) &&\n !isUndefined(orderCountList.itemsVerified.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.itemsUnverified) &&\n !isUndefined(orderCountList.itemsUnverified.count)\n ) {\n const totalCount = Number(orderCountList.itemsVerified.count) + Number(orderCountList.itemsUnverified.count);\n return getPercentageValueString(totalCount, orderCountList.itemsUnverified.count);\n }\n }\n return \"\";\n};\n\nexport const getIssuesReportedPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.itemsVerified) &&\n !isUndefined(orderCountList.itemsVerified.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.issuesFound) &&\n !isUndefined(orderCountList.issuesFound.count)\n ) {\n const totalCount = Number(orderCountList.itemsVerified.count);\n return getPercentageValueString(totalCount, orderCountList.issuesFound.count);\n }\n }\n return \"\";\n};\n\nexport const designConsignmentsListBasedOnIssueNameUtils = (listRecord: any) => {\n let consignment_list = [] as any;\n Object.keys(listRecord).forEach((hub: any) => {\n if (!isUndefined(hub) && !isUndefined(listRecord[hub]) && checkIfInputIsValidObjectWithKeys(listRecord[hub])) {\n Object.keys(listRecord[hub]).forEach((issueName: any) => {\n if (!isUndefined(issueName) && !isUndefined(listRecord[hub][issueName]) && isInputAnArray(listRecord[hub][issueName]) && isNonEmptyArray(listRecord[hub][issueName])) {\n listRecord[hub][issueName].forEach((consignment: any) => {\n consignment_list.push(consignment);\n });\n }\n });\n }\n });\n return consignment_list;\n};\n\nexport const getVerfiedConsignmentPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.totalConsignments) &&\n !isUndefined(orderCountList.totalConsignments.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.verifiedConsignments) &&\n !isUndefined(orderCountList.verifiedConsignments.count)\n ) {\n return getPercentageValueString(orderCountList.totalConsignments.count, orderCountList.verifiedConsignments.count);\n }\n }\n return \"\";\n};\n\nexport const getUnVerfiedConsignmentPercentage = (orderCountList: any) => {\n if (checkIfInputIsValidObjectWithKeys(orderCountList)) {\n if (\n checkIfInputIsValidObjectWithKeys(orderCountList.totalConsignments) &&\n !isUndefined(orderCountList.totalConsignments.count) &&\n checkIfInputIsValidObjectWithKeys(orderCountList.unverifiedConsignments) &&\n !isUndefined(orderCountList.unverifiedConsignments.count)\n ) {\n return getPercentageValueString(orderCountList.totalConsignments.count, orderCountList.unverifiedConsignments.count);\n }\n }\n return \"\";\n};\n\nexport const designReturnDelveDashboardRecordDataUtils = (responseData: any, returnDataObj: any) => {\n if (!isUndefined(responseData) && checkIfInputIsValidObjectWithKeys(responseData)) {\n Object.keys(responseData).forEach((keyName: any) => {\n if (!isUndefined(keyName)) {\n switch (keyName) {\n case \"currency\":\n returnDataObj.currency = responseData[keyName];\n break;\n case \"totalOrders\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"totalConsignments\", responseData[keyName], returnDataObj.orderCount.totalConsignments.cost);\n break;\n case \"totalCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"totalConsignments\", returnDataObj.orderCount.totalConsignments.count, responseData[keyName]);\n break;\n case \"returnItemsVerified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsVerified\", responseData[keyName], returnDataObj.orderCount.itemsVerified.cost);\n break;\n case \"returnItemsVerifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsVerified\", returnDataObj.orderCount.itemsVerified.count, responseData[keyName]);\n break;\n case \"returnItemsUnverified\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsUnverified\", responseData[keyName], returnDataObj.orderCount.itemsUnverified.cost);\n break;\n case \"returnItemsUnverifiedCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"itemsUnverified\", returnDataObj.orderCount.itemsUnverified.count, responseData[keyName]);\n break;\n case \"returnIssuesFound\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"issuesFound\", responseData[keyName], returnDataObj.orderCount.issuesFound.cost);\n break;\n case \"returnIssuesFoundCost\":\n returnDataObj.orderCount = updateCountDetails(returnDataObj.orderCount, \"issuesFound\", returnDataObj.orderCount.issuesFound.count, responseData[keyName]);\n break;\n case \"statuses\":\n if (!isUndefined(responseData[keyName]) && checkIfInputIsValidObjectWithKeys(responseData[keyName])) {\n Object.keys(responseData[keyName]).forEach((status: any) => {\n switch (status) {\n case DELVE_DASHBOARD_CONST.VERIFIED:\n returnDataObj.orderCount = updateCountDetails(\n returnDataObj.orderCount,\n \"verifiedConsignments\",\n responseData[keyName][status]?.totalOrders,\n responseData[keyName][status]?.totalCost\n );\n break;\n case DELVE_DASHBOARD_CONST.UNVERIFIED:\n returnDataObj.orderCount = updateCountDetails(\n returnDataObj.orderCount,\n \"unverifiedConsignments\",\n responseData[keyName][status]?.totalOrders,\n responseData[keyName][status]?.totalCost\n );\n break;\n }\n });\n }\n break;\n case \"hubs\":\n let hubsDataObj = responseData[keyName];\n if (!isUndefined(hubsDataObj) && checkIfInputIsValidObjectWithKeys(hubsDataObj)) {\n Object.keys(hubsDataObj).forEach((hub: any) => {\n if (!isUndefined(hub) && checkIfInputIsValidObjectWithKeys(hubsDataObj[hub])) {\n if (returnDataObj.hubFooterData.indexOf(hub) < 0) {\n returnDataObj.hubFooterData.push(hub);\n returnDataObj.hubLevelVerificationData[hub] = {\n totalOrders: 0,\n partiallyVerifiedOrders: 0,\n verifiedOrders: 0,\n issuesReported: 0,\n partiallyVerifiedOrdersWithIssues: 0,\n verifiedOrdersWithIssues: 0,\n };\n }\n\n Object.keys(hubsDataObj[hub]).forEach((issueName: any) => {\n if (!isUndefined(issueName)) {\n if (issueName === \"totalOrders\") {\n returnDataObj.hubLevelVerificationData[hub].totalOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"returnVerifiedOrders\") {\n returnDataObj.hubLevelVerificationData[hub].verifiedOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"returnVerifiedOrdersWithIssues\") {\n returnDataObj.hubLevelVerificationData[hub].verifiedOrdersWithIssues = hubsDataObj[hub][issueName];\n } else if (issueName === \"returnPartiallyVerifiedOrders\") {\n returnDataObj.hubLevelVerificationData[hub].partiallyVerifiedOrders = hubsDataObj[hub][issueName];\n } else if (issueName === \"returnPartiallyVerifiedOrdersWithIssues\") {\n returnDataObj.hubLevelVerificationData[hub].partiallyVerifiedOrdersWithIssues = hubsDataObj[hub][issueName];\n } else {\n if (issueName !== \"\" && issueName !== \"issuesFound\" && issueName.indexOf(\"return\") !== -1) {\n let returnIssueName = issueName.replace(\"return\", \"\");\n if (isUndefined(returnDataObj.itemsCountObj[issueName])) {\n returnDataObj.itemsCountObj[issueName] = {\n name: capitalizeIssueNameString(returnIssueName),\n cost: 0,\n value: returnIssueName,\n };\n returnDataObj.hubSeriesObj.push({\n data: [],\n name: returnDataObj.itemsCountObj[issueName].name,\n type: undefined,\n issueName: issueName,\n });\n }\n let issue_index = returnDataObj.hubSeriesObj.findIndex((x: any) => x.issueName == issueName);\n if (issue_index > -1) {\n returnDataObj.hubSeriesObj[issue_index].data.push(hubsDataObj[hub][issueName]);\n }\n returnDataObj.hubLevelVerificationData[hub].issuesReported = returnDataObj.hubLevelVerificationData[hub].issuesReported + hubsDataObj[hub][issueName];\n returnDataObj.itemsCountObj[issueName].cost = returnDataObj.itemsCountObj[issueName].cost + hubsDataObj[hub][issueName];\n returnDataObj.totalIssueSummaryCount = returnDataObj.totalIssueSummaryCount + hubsDataObj[hub][issueName];\n }\n }\n }\n });\n }\n });\n }\n }\n }\n });\n }\n return returnDataObj;\n};\n","import React from \"react\";\n\nimport { Grid, Typography } from \"@material-ui/core\";\n\nimport TotalOrdersIcon from \"../../../assets/icons/delve-dashboard-order-status-total-order.svg\";\nimport FullyVerifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-fully-verified.svg\";\nimport UnverifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-unverified.svg\";\nimport PartiallyVerifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-partially-verified.svg\";\nimport CratesVerifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-crates-verified.svg\";\nimport CratesUnverifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-crates-unverified.svg\";\nimport ItemsVerifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-items-verified.svg\";\nimport ItemsUnverifiedIcon from \"../../../assets/icons/delve-dashboard-order-status-items-unverified.svg\";\nimport IssuesReportedIcon from \"../../../assets/icons/delve-dashboard-order-status-issues-reported.svg\";\n\nimport { checkIfInputIsValidObjectWithKeys, formatNumberWithCommas, isUndefined } from \"../../../utils/helpers.utils\";\nimport {\n capitalizeIssueNameString,\n getCratesUnVerfiedPercentage,\n getCratesVerfiedPercentage,\n getIssuesReportedPercentage,\n getItemsUnVerfiedPercentage,\n getItemsVerfiedPercentage,\n getOrdersPartiallyVerfiedPercentage,\n getOrdersUnVerfiedPercentage,\n getOrdersVerfiedPercentage,\n getUnVerfiedConsignmentPercentage,\n getVerfiedConsignmentPercentage,\n} from \"../Utils/DelveDashboardUtils\";\n\ninterface DelveDashboardOrderStatusDetailsInterface {\n classes: any;\n recordObj: any;\n}\n\nconst DelveDashboardOrderStatusDetails = (props: DelveDashboardOrderStatusDetailsInterface) => {\n const { classes, recordObj } = props;\n\n const isDashboardRecordContainsOrderCount = () => {\n return !isUndefined(recordObj) && !isUndefined(recordObj.orderCount) && checkIfInputIsValidObjectWithKeys(recordObj.orderCount);\n };\n\n const getIconNameByOrderCountKey = (keyName: any) => {\n switch (keyName) {\n case \"totalOrders\":\n case \"totalConsignments\":\n return TotalOrdersIcon;\n case \"ordersVerified\":\n case \"verifiedConsignments\":\n return FullyVerifiedIcon;\n case \"ordersUnverified\":\n case \"unverifiedConsignments\":\n return UnverifiedIcon;\n case \"ordersPartialVerified\":\n return PartiallyVerifiedIcon;\n case \"cratesVerified\":\n return CratesVerifiedIcon;\n case \"cratesUnverified\":\n return CratesUnverifiedIcon;\n case \"itemsVerified\":\n return ItemsVerifiedIcon;\n case \"itemsUnverified\":\n return ItemsUnverifiedIcon;\n case \"issuesFound\":\n return IssuesReportedIcon;\n default:\n return FullyVerifiedIcon;\n }\n };\n\n const getPercentageCountValue = (keyName: any, orderCountList: any) => {\n switch (keyName) {\n case \"ordersVerified\":\n return getOrdersVerfiedPercentage(orderCountList);\n case \"ordersPartialVerified\":\n return getOrdersPartiallyVerfiedPercentage(orderCountList);\n case \"ordersUnverified\":\n return getOrdersUnVerfiedPercentage(orderCountList);\n case \"cratesVerified\":\n return getCratesVerfiedPercentage(orderCountList);\n case \"cratesUnverified\":\n return getCratesUnVerfiedPercentage(orderCountList);\n case \"itemsVerified\":\n return getItemsVerfiedPercentage(orderCountList);\n case \"itemsUnverified\":\n return getItemsUnVerfiedPercentage(orderCountList);\n case \"issuesFound\":\n return getIssuesReportedPercentage(orderCountList);\n case \"verifiedConsignments\":\n return getVerfiedConsignmentPercentage(orderCountList);\n case \"unverifiedConsignments\":\n return getUnVerfiedConsignmentPercentage(orderCountList);\n default:\n return \"\";\n }\n };\n\n return (\n \n {isDashboardRecordContainsOrderCount() &&\n Object.keys(recordObj.orderCount).map((item: any, itemIndex: any) => (\n \n \n \n \"order-status-icon\"\n \n \n {`${recordObj.orderCount[item].count}`}\n {`${getPercentageCountValue(item, recordObj.orderCount)}`}\n \n \n \n {capitalizeIssueNameString(item)}\n \n \n {`${formatNumberWithCommas(recordObj.orderCount[item].cost)} ${recordObj?.currency || \"\"}`}\n \n \n ))}\n \n );\n};\n\nexport default React.memo(DelveDashboardOrderStatusDetails);\n","import React from \"react\";\n\nimport { Grid, LinearProgress, Typography } from \"@material-ui/core\";\nimport { getPercentageValue } from \"../../../utils/helpers.utils\";\n\ninterface LinearProgressWithLabelProInterface {\n classes: any;\n currentValue: any;\n sumValue: any;\n}\n\nexport const LinearProgressWithLabelPro = (props: LinearProgressWithLabelProInterface) => {\n const { classes, currentValue, sumValue } = props;\n\n return (\n \n \n \n \n \n {`${getPercentageValue(sumValue, currentValue)} %`}\n \n \n );\n};\n\ninterface ShowMessageInsideCardInterface {\n classes: any;\n message: any;\n}\n\nexport const ShowMessageInsideCard = (props: ShowMessageInsideCardInterface) => {\n const { classes, message } = props;\n\n return (\n \n {`${message || \"No Data Available\"}`}\n \n );\n};\n","import { Card, Grid, Typography } from \"@material-ui/core\";\nimport React from \"react\";\n\nimport BarCharts from \"../../../common/BarCharts\";\n\nimport { COLORS } from \"../../../config/theme/baseTheme\";\nimport { ShowMessageInsideCard } from \"../Utils/DelveDashboardViewUtils\";\nimport { isInputAnArray, isUndefined, isNonEmptyArray } from \"../../../utils/helpers.utils\";\n\ninterface DelveDashboardIssueMappingDetailsInterface {\n classes: any;\n recordObj: any;\n}\n\nconst BARCOLORS_VOLUME = [COLORS.ALICE_BLUE, COLORS.INFO_BLUE, COLORS.VIBRANT_YELLOW, COLORS.VENETIAN_RED, COLORS.FOUNTAIN_BLUE, COLORS.BRICK_RED, COLORS.VERY_LIGHT_GREY];\n\nconst DelveDashboardIssueMappingDetails = (props: DelveDashboardIssueMappingDetailsInterface) => {\n const { classes, recordObj } = props;\n\n const isDashboardRecordContainsHubSeriesObj = () => {\n return !isUndefined(recordObj) && !isUndefined(recordObj.hubSeriesObj) && isInputAnArray(recordObj.hubSeriesObj) && isNonEmptyArray(recordObj.hubSeriesObj);\n };\n\n return (\n \n \n {`Issue Mapping (${recordObj?.totalIssueSummaryCount || 0} Total issues)`}\n \n \n {isDashboardRecordContainsHubSeriesObj() ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default React.memo(DelveDashboardIssueMappingDetails);\n","import React from \"react\";\n\nimport { Card, Grid, Typography } from \"@material-ui/core\";\nimport { LinearProgressWithLabelPro, ShowMessageInsideCard } from \"../Utils/DelveDashboardViewUtils\";\nimport { checkIfInputIsValidObjectWithKeys, isUndefined } from \"../../../utils/helpers.utils\";\nimport RedirectIcon from \"../../../assets/icons/RedirectIcon.svg\";\n\ninterface DelveDashboardIssueSummaryDetailsInterface {\n classes: any;\n recordObj: any;\n fetchConsignmentsListBasedOnIssueName: any;\n}\n\nconst DelveDashboardIssueSummaryDetails = (props: DelveDashboardIssueSummaryDetailsInterface) => {\n const { classes, recordObj, fetchConsignmentsListBasedOnIssueName } = props;\n\n const isDashboardRecordContainsItemCountObj = () => {\n return !isUndefined(recordObj) && !isUndefined(recordObj.itemsCountObj) && checkIfInputIsValidObjectWithKeys(recordObj.itemsCountObj);\n };\n\n return (\n \n \n {`Issue Summary `}\n \n\n \n {isDashboardRecordContainsItemCountObj() ? (\n \n \n \n \n {`Issue`}\n \n \n {`Qty`}\n \n \n {`Percentage`}\n \n \n \n {Object.keys(recordObj.itemsCountObj).map((issue_item: any, item_index: any) => (\n \n \n fetchConsignmentsListBasedOnIssueName(recordObj.itemsCountObj[issue_item]?.value || issue_item || \"Issue\")}\n >\n {`${recordObj?.itemsCountObj[issue_item]?.name || issue_item || \"Issue\"}`}\n \"RedirectIcon\"\n \n \n {`${recordObj.itemsCountObj[issue_item].cost || 0}`}\n \n \n \n \n \n \n ))}\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default React.memo(DelveDashboardIssueSummaryDetails);\n","import React from \"react\";\n\nimport AppConstants from \"../../../constants/AppConstants\";\n\nimport { Card, Grid, Typography } from \"@material-ui/core\";\nimport { ShowMessageInsideCard } from \"../Utils/DelveDashboardViewUtils\";\nimport { checkIfInputIsValidObjectWithKeys, getPercentageValue, isUndefined, isNull, isInputAnArray, isNonEmptyArray, getHubRecordList } from \"../../../utils/helpers.utils\";\nimport { TextConstants } from \"../../../constants/TextConstants\";\nimport { TAB_VALUES_CONSTANT } from \"../../../constants/DelveDashboardConstant\";\n\nimport RedirectIcon from \"../../../assets/icons/RedirectIcon.svg\";\n\ninterface DelveDashboardHubVerificationDetailsInterface {\n classes: any;\n recordObj: any;\n handleHubLevelVerificationCardClick: any;\n hubRecordList: any;\n countryCode: any;\n tabValue: any;\n}\n\nconst DelveDashboardHubVerificationDetails = (props: DelveDashboardHubVerificationDetailsInterface) => {\n const { classes, recordObj, handleHubLevelVerificationCardClick, hubRecordList, countryCode, tabValue } = props;\n\n const isDashboardRecordContainshubLevelObj = () => {\n return !isUndefined(recordObj) && !isUndefined(recordObj.hubLevelVerificationData) && checkIfInputIsValidObjectWithKeys(recordObj.hubLevelVerificationData);\n };\n\n const getVerfiedOrdersCount = (hubData: any) => {\n let count = 0 as any;\n if (!isUndefined(hubData)) {\n if (!isUndefined(hubData.verifiedOrders)) {\n count = Number(hubData.verifiedOrders);\n }\n if (!isUndefined(hubData.partiallyVerifiedOrders)) {\n count = Number(count) + Number(hubData.partiallyVerifiedOrders);\n }\n }\n return count;\n };\n\n const getVerfiedIssuesOrdersCount = (hubData: any) => {\n let count = 0 as any;\n if (!isUndefined(hubData)) {\n if (!isUndefined(hubData.verifiedOrdersWithIssues)) {\n count = Number(hubData.verifiedOrdersWithIssues);\n }\n if (!isUndefined(hubData.partiallyVerifiedOrdersWithIssues)) {\n count = Number(count) + Number(hubData.partiallyVerifiedOrdersWithIssues);\n }\n }\n return count;\n };\n\n const getStoreNameFromHubCode = (hubName: any) => {\n if (\n !isUndefined(hubName) &&\n !isNull(hubName) &&\n !isUndefined(countryCode) &&\n !isUndefined(hubRecordList) &&\n !isUndefined(getHubRecordList(hubRecordList, countryCode))\n ) {\n let listData = getHubRecordList(hubRecordList, countryCode);\n if (!isUndefined(listData) && isInputAnArray(listData) && isNonEmptyArray(listData)) {\n let storeObj = listData.find((storeData: any) => storeData.value === hubName);\n if (!isUndefined(storeObj) && !isUndefined(storeObj.name) && !isNull(storeObj.name)) {\n return `- ${storeObj.name}`;\n }\n }\n }\n return \"\";\n };\n\n return (\n \n \n {`Store Wise Summary`}\n \n\n {isDashboardRecordContainshubLevelObj() ? (\n \n {Object.keys(recordObj.hubLevelVerificationData).map((hubName: any, hubIndex: any) => (\n handleHubLevelVerificationCardClick(hubName)}\n >\n \n \n {`${hubName || \"\"} ${getStoreNameFromHubCode(hubName)}`}\n \"RedirectIcon\"\n \n \n {`${\n tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value ? TextConstants.ORDERS_VERIFIED : TextConstants.CONSIGNMENT_VERIFIED\n }`}\n \n \n {`${\n tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value ? TextConstants.ORDERS_WITH_ISSUES : TextConstants.CONSIGNMENT_WITH_ISSUES\n }`}\n \n \n {`${getVerfiedOrdersCount(recordObj.hubLevelVerificationData[hubName])}/${\n recordObj.hubLevelVerificationData[hubName]?.totalOrders || recordObj.hubLevelVerificationData[hubName]?.totalConsignments || \"0\"\n } `}\n \n \n {`${getVerfiedIssuesOrdersCount(recordObj.hubLevelVerificationData[hubName])} / ${getVerfiedOrdersCount(\n recordObj.hubLevelVerificationData[hubName]\n )}`}\n \n \n {`${\n getPercentageValue(\n recordObj.hubLevelVerificationData[hubName]?.totalOrders || recordObj.hubLevelVerificationData[hubName]?.totalConsignments,\n getVerfiedOrdersCount(recordObj.hubLevelVerificationData[hubName])\n ) || \"0\"\n } %`}\n \n \n {`${getPercentageValue(\n getVerfiedOrdersCount(recordObj.hubLevelVerificationData[hubName]),\n getVerfiedIssuesOrdersCount(recordObj.hubLevelVerificationData[hubName])\n )} %`}\n \n \n \n ))}\n \n ) : (\n \n \n \n )}\n \n );\n};\n\nexport default React.memo(DelveDashboardHubVerificationDetails);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../../config/theme/baseTheme\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: theme.spacing(2),\n height: \"100%\",\n overflow: \"auto\",\n },\n container: {\n flexDirection: \"column\",\n },\n viewContainer: {\n flexDirection: \"column\",\n margin: \"24px 0px 0px 0px\",\n padding: 0,\n },\n gritSearchContainerItem: {\n margin: 0,\n padding: 0,\n },\n gritContainerItem: {\n margin: 0,\n marginBottom: \"24px\",\n padding: 0,\n },\n gritContainerItemSearchHeader: {\n margin: 0,\n marginBottom: \"12px\",\n padding: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n gritContainerIssueSummaryBox: {\n margin: 0,\n padding: 0,\n },\n gritSearchHeaderItem: {\n margin: \"0px 8px 0px 0px\",\n padding: 0,\n \"&:last-child\": {\n margin: 0,\n },\n },\n orderCountDetailsMainContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n orderCountDetailsMainBox: {\n margin: \"0px 8px 0px 0px\",\n padding: 0,\n background: COLORS.WHITE,\n boxShadow: \"4px 4px 24px rgba(0, 0, 0, 0.06)\",\n border: \"none\",\n borderRadius: \"8px\",\n \"&:last-child\": {\n margin: 0,\n },\n },\n orderCountDetailsIconCountContainer: {\n margin: 0,\n padding: \"8px\",\n },\n orderCountDetailsCountContainer: {\n display: \"flex\",\n margin: \"auto\",\n padding: \"8px\",\n textAlign: \"center\",\n },\n orderCountDetailsTitleSpanContainer: {\n margin: 0,\n padding: \"8px\",\n textAlign: \"center\",\n },\n orderCountDetailsCostContainer: {\n margin: 0,\n padding: \"8px\",\n textAlign: \"center\",\n },\n orderCountIconContainer: {\n margin: \"auto\",\n padding: 0,\n minWidth: \"48px\",\n minHeight: \"48px\",\n },\n orderDetailsCountSpanStyle: {\n fontSize: 20,\n lineHeight: \"28px\",\n fontWeight: 500,\n color: COLORS.MINE_SHAFT_NEW,\n },\n orderCountDetailsTitleSpanStyle: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 600,\n color: COLORS.EMPEROR,\n },\n IssueSummaryMainGridContainer: {\n margin: 0,\n padding: \"0px 0px 0px 12px\",\n },\n orderCountDetailsCostSpanStyle: {\n fontSize: 12,\n lineHeight: \"16px\",\n fontWeight: 400,\n color: COLORS.EMPEROR,\n },\n issueGridItemStyle: {\n margin: \"16px 0px 16px 0px\",\n padding: 0,\n textAlign: \"left\",\n },\n issueGridItemSpanStyle: {\n fontSize: 16,\n lineHeight: \"20px\",\n fontWeight: 700,\n color: COLORS.COD_GRAY,\n },\n issueSummaryGridCard: {\n minHeight: \"calc(35vh)\",\n maxHeight: \"calc(35vh)\",\n width: \"100%\",\n overflow: \"auto\",\n },\n issueSummaryGridNoDataAvailableCard: {\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n issueSummaryHeaderGridContainer: {},\n issueSummaryHeadingGridItem: {\n margin: 0,\n padding: \"8px\",\n height: \"40px\",\n textAlign: \"left\",\n \"&:nth-child(2)\": {\n textAlign: \"center\",\n },\n \"&:last-child\": {\n textAlign: \"center\",\n },\n },\n issueSummaryHeadingSpanStyle: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 700,\n color: COLORS.COD_GRAY,\n },\n issueSummaryValueSpanStyle: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 400,\n color: COLORS.READY_BLUE,\n },\n issueSummaryNameValueSpanStyle: {\n margin: \"auto 0px\",\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 400,\n color: COLORS.EMPEROR,\n cursor: \"pointer\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n linearProgressBarGridItem: {\n margin: \"auto\",\n padding: 0,\n },\n clearAllFilterGridContainer: {\n margin: 0,\n padding: 0,\n },\n clearAllFilterGridItem: {\n margin: 0,\n marginBottom: \"16px\",\n padding: 0,\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n gritFilterHeaderItem: {\n margin: \"auto 8px\",\n textAlign: \"right\",\n padding: 0,\n \"&:last-child\": {\n margin: 0,\n },\n },\n clearAllFilterBtnStyle: {\n fontSize: 12,\n fontWeight: 700,\n marginRight: theme.spacing(2),\n backgroundColor: COLORS.WHITE,\n color: COLORS.PRIMARY_MAIN,\n textDecoration: \"none\",\n \"&:hover\": {\n backgroundColor: COLORS.WHITE,\n color: COLORS.PRIMARY_MAIN,\n },\n },\n storeVerificationGridCard: {\n minHeight: \"calc(10vh)\",\n maxHeight: \"calc(10vh)\",\n width: \"100%\",\n overflow: \"auto\",\n },\n storeVerificationGridItemCard: {\n margin: 0,\n padding: theme.spacing(2),\n cursor: \"pointer\",\n },\n storeVerificationGridContainerCard: {\n margin: 0,\n padding: theme.spacing(1),\n background: COLORS.WHITE,\n boxShadow: \"0px 4px 24px rgba(0, 0, 0, 0.06)\",\n borderRadius: \"12px\",\n },\n storeVerificationItemRow: {\n margin: \"0px 0px 8px 0px\",\n padding: 0,\n },\n storeVerificationHubSpanStyle: {\n fontSize: 16,\n lineHeight: \"20px\",\n fontWeight: 700,\n color: COLORS.EMPEROR,\n cursor: \"pointer\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n storeVerificationHeader: {\n fontSize: 12,\n fontWeight: 500,\n color: COLORS.EMPEROR,\n },\n storeVerificationValue: {\n fontSize: 14,\n fontWeight: 700,\n color: COLORS.EMPEROR,\n },\n storeVerificationVerifiedValue: {\n fontSize: 14,\n fontWeight: 700,\n color: COLORS.SEA_GREEN,\n },\n storeVerificationVerifiedWithIssueValue: {\n fontSize: 14,\n fontWeight: 700,\n color: COLORS.DARK_RED,\n },\n orderPercentageDetailsTitleSpanStyle: {\n margin: \"auto\",\n padding: \"0px 0px 0px 4px\",\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: COLORS.EMPEROR,\n },\n issueNameSpanIconDiv: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n issueRedirectIconSvgStyle: {\n margin: \"auto 0px auto 8px\",\n padding: 0,\n cursor: \"pointer\",\n },\n dashboardTabRootStyle: {\n width: \"100%\",\n padding: \"0px 24px 0px 24px\",\n background: COLORS.ALICE_GRAY,\n height: \"44px\",\n minHeight: \"44px\",\n fontSize: 16,\n fontWeight: 500,\n color: COLORS.DUSTY_GRAY,\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTabs-flexContainer\": {\n height: \"44px\",\n },\n \"& .MuiTab-root.Mui-selected\": {\n fontWeight: 600,\n color: COLORS.MINE_SHAFT_NEW,\n },\n },\n dashboardTabPanelRootStyle: {\n width: \"100%\",\n padding: 0,\n },\n })\n);\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\n\nimport AppConstants from \"../../../constants/AppConstants\";\nimport networkHandlerDelve from \"../../../network/networkHandlerDelve\";\n\nimport { EApiMiddlewareMethods } from \"../../../network//networkHandler.types\";\nimport { commonFetchInitialState, DelveDashboardSliceState } from \"../../../constants/DelveDashboardConstant\";\nimport { API_RESPONSE_STATUS } from \"../../../constants/CommonConstants\";\nimport { isNull, isUndefined } from \"../../../utils//helpers.utils\";\n\nexport const getDelveDashboardRecord = createAsyncThunk(\"DelveDashboard/getDelveDashboardRecord\", async (filters: any, { rejectWithValue }) => {\n try {\n const request = {\n url: \"filter/orders-aggregate\",\n method: EApiMiddlewareMethods.POST,\n data: filters,\n } as any;\n const { data } = await networkHandlerDelve(request);\n return data;\n } catch (error: any) {\n return rejectWithValue(error);\n }\n});\n\nexport const getConsignmentsDataBasedOnIssueName = createAsyncThunk(\"DelveDashboard/getConsignmentsDataBasedOnIssueName\", async (filters: any, { rejectWithValue }) => {\n try {\n const request = {\n url: \"filter/issues-consignment-list\",\n method: EApiMiddlewareMethods.POST,\n data: filters,\n } as any;\n const { data } = await networkHandlerDelve(request);\n return data;\n } catch (error: any) {\n return rejectWithValue(error);\n }\n});\n\nconst initialState: DelveDashboardSliceState = {\n delveDashboardRecod: { ...commonFetchInitialState },\n delveConsignmentsIssueName: { ...commonFetchInitialState },\n};\n\nconst delveDashboardSlice = createSlice({\n name: \"delveDashboard\",\n initialState,\n reducers: {},\n extraReducers: (builders) => {\n builders\n .addCase(getDelveDashboardRecord.pending, (state) => {\n state.delveDashboardRecod.loading = true;\n state.delveDashboardRecod.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.delveDashboardRecod.error = \"\";\n state.delveDashboardRecod.data = [];\n })\n .addCase(getDelveDashboardRecord.fulfilled, (state, action) => {\n state.delveDashboardRecod.loading = false;\n state.delveDashboardRecod.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.delveDashboardRecod.data = action.payload;\n })\n .addCase(getDelveDashboardRecord.rejected, (state, action) => {\n state.delveDashboardRecod.loading = false;\n state.delveDashboardRecod.fetchStatus = API_RESPONSE_STATUS.FAILED;\n const errorPayload: any = action.payload;\n if (!isUndefined(errorPayload) && !isUndefined(errorPayload.message) && !isNull(errorPayload.message) && errorPayload.message === \"Request failed with status code 404\") {\n state.delveDashboardRecod.error = \"No Orders are present for this request\";\n } else {\n state.delveDashboardRecod.error = errorPayload && errorPayload.message ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n }\n })\n /** getConsignmentsDataBasedOnIssueName */\n /** */\n .addCase(getConsignmentsDataBasedOnIssueName.pending, (state) => {\n state.delveConsignmentsIssueName.loading = true;\n state.delveConsignmentsIssueName.fetchStatus = API_RESPONSE_STATUS.LOADING;\n state.delveConsignmentsIssueName.error = \"\";\n state.delveConsignmentsIssueName.data = [];\n })\n .addCase(getConsignmentsDataBasedOnIssueName.fulfilled, (state, action) => {\n state.delveConsignmentsIssueName.loading = false;\n state.delveConsignmentsIssueName.fetchStatus = API_RESPONSE_STATUS.SUCCEEDED;\n state.delveConsignmentsIssueName.data = action.payload;\n })\n .addCase(getConsignmentsDataBasedOnIssueName.rejected, (state, action) => {\n state.delveConsignmentsIssueName.loading = false;\n state.delveConsignmentsIssueName.fetchStatus = API_RESPONSE_STATUS.FAILED;\n const errorPayload: any = action.payload;\n state.delveConsignmentsIssueName.error = errorPayload ? errorPayload.message : AppConstants.RESPONSE_CONSTANTS.DEFAULT_API_FAILED_ERROR_MSG;\n });\n },\n});\n\nexport default delveDashboardSlice.reducer;\nexport const selectAllDelveDashboardRecordListServices = (state: any) => state.delveDashboard.delveDashboardRecod;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router\";\n\nimport { Grid, Link, Tab, Tabs } from \"@material-ui/core\";\n\nimport Loader from \"../../common/Loader\";\nimport CustomSnackbar from \"../../common/CustomSnackbar\";\nimport DelveDashboardSearchHeader from \"./Common/DelveDashboardSearchHeader\";\nimport DelveDashboardOrderStatusDetails from \"./Common/DelveDashboardOrderStatusDetails\";\nimport DelveDashboardIssueMappingDetails from \"./Common/DelveDashboardIssueMappingDetails\";\nimport DelveDashboardIssueSummaryDetails from \"./Common/DelveDashboardIssueSummaryDetails\";\nimport DelveDashboardHubVerificationDetails from \"./Common/DelveDashboardHubVerificationDetails\";\n\nimport { useStyles } from \"./Utils/DelveDashboardStyles\";\n\nimport AppConstants from \"../../constants/AppConstants\";\nimport { AppState } from \"../../config/redux/reducers\";\nimport {\n DELVE_DASHBOARD_DATA_OBJ,\n DELVE_DASHBOARD_STATE,\n DELVE_DASHBOARD_STATE_INTERFACE,\n DELVE_RETURN_DASHBOARD_DATA_OBJ,\n ERROR_WHILE_FETCHING_CONSIGNMENT_LIST_BASED_ON_ISSUE,\n NO_CONSIGNMENT_LIST_FOUND,\n NO_ISSUE_NAME_FOUND,\n TAB_VALUES_CONSTANT,\n} from \"../../constants/DelveDashboardConstant\";\nimport { getConsignmentsDataBasedOnIssueName, getDelveDashboardRecord, selectAllDelveDashboardRecordListServices } from \"./Redux/DelveDashboardSlice\";\nimport {\n designConsignmentsListBasedOnIssueNameUtils,\n designDelveDashboardRecordDataUtils,\n designReturnDelveDashboardRecordDataUtils,\n fetchDashboardRecordBasedOnFilterUtils,\n resetDelveDashboardDataObjUtils,\n} from \"./Utils/DelveDashboardUtils\";\nimport { API_RESPONSE_STATUS } from \"../../constants/CommonConstants\";\nimport { checkIfInputIsValidObjectWithKeys, isInputAnArray, isUndefined, isNull, isAString, isNonEmptyArray } from \"../../utils/helpers.utils\";\nimport { currentDate, endOfDay, isDateValid, isEndDateBeforeStartDate, startOfDay } from \"../../utils/dateUtils\";\nimport { TextConstants } from \"../../constants/TextConstants\";\nimport RouteConstants from \"../../constants/RouteConstants\";\nimport { TabContext, TabPanel } from \"@material-ui/lab\";\n\ninterface DelveDashboardInterface {}\n\nconst DelveDashboard = (props: DelveDashboardInterface) => {\n const {} = props;\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const snackbarMessage = useRef(\"\");\n const snackbarType = useRef(AppConstants.SNACKBAR.TYPES.SUCCESS);\n\n const { countryCode, hubRecordList, hubRecordListWithCodeAndName } = useSelector((state: AppState) => state.common);\n const delveDashboardRecordListServices = useSelector(selectAllDelveDashboardRecordListServices);\n\n const [dashboardState, setDashboardState] = useState(DELVE_DASHBOARD_STATE);\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const fetchDashboardRecordBasedOnFilter = (dashboardStateObjCopy: any) => {\n let requestDashboardStateObj: any = fetchDashboardRecordBasedOnFilterUtils(dashboardStateObjCopy, countryCode);\n if (!isUndefined(requestDashboardStateObj) && checkIfInputIsValidObjectWithKeys(requestDashboardStateObj)) {\n dispatch(getDelveDashboardRecord(requestDashboardStateObj));\n } else {\n setDashboardState({ ...dashboardState, loading: false });\n }\n };\n\n const handleTabChange = (event: React.ChangeEvent<{}>, value: string) => {\n setDashboardState({ ...dashboardState, tabValue: value, loading: true });\n let dashboardStateObjCopy = JSON.parse(JSON.stringify(dashboardState));\n dashboardStateObjCopy.tabValue = value;\n fetchDashboardRecordBasedOnFilter(dashboardStateObjCopy);\n };\n\n const handleDateChange = (dateRange: any) => {\n if (!isUndefined(dateRange)) {\n let dashboardStateObjCopy = JSON.parse(JSON.stringify(dashboardState));\n dashboardStateObjCopy.dateSlot = { ...dateRange };\n setDashboardState({ ...dashboardState, loading: true, dateSlot: { ...dateRange } });\n fetchDashboardRecordBasedOnFilter(dashboardStateObjCopy);\n }\n };\n\n const handleDeliverySlotChange = (values: any) => {\n if (!isUndefined(values)) {\n let dashboardStateObjCopy = JSON.parse(JSON.stringify(dashboardState));\n setDashboardState({\n ...dashboardState,\n loading: isInputAnArray(values) && values.length === 1 && values[0] !== AppConstants.SELECT_NONE.value ? true : false,\n hubs: [...values],\n });\n\n if (Array.isArray(values) && values.length > 0) {\n if ((values.length === 1 && values[0] !== AppConstants.SELECT_NONE.value) || values.length > 1) {\n dashboardStateObjCopy.hubs = [...values];\n fetchDashboardRecordBasedOnFilter(dashboardStateObjCopy);\n }\n }\n }\n };\n\n const handleSlotTimeChange = (dateValue: any, KeyValue: any) => {\n if (!isUndefined(dateValue) && !isNull(dateValue)) {\n let dashboardStateObjCopy = JSON.parse(JSON.stringify(dashboardState));\n if (KeyValue === \"startTime\") {\n dashboardStateObjCopy.timeSlot.startTime = dateValue;\n } else {\n dashboardStateObjCopy.timeSlot.endTime = dateValue;\n }\n const isDateValidFlag = isDateValid(dateValue);\n const isEndDateBeforeStartDateFlag = isEndDateBeforeStartDate(dashboardStateObjCopy.timeSlot.startTime, dashboardStateObjCopy.timeSlot.endTime);\n setDashboardState({\n ...dashboardState,\n loading: isDateValidFlag ? (!isEndDateBeforeStartDateFlag ? true : false) : false,\n timeSlot: { ...dashboardState.timeSlot, [KeyValue]: dateValue },\n });\n\n if (isDateValidFlag) {\n if (!isEndDateBeforeStartDateFlag) {\n fetchDashboardRecordBasedOnFilter(dashboardStateObjCopy);\n } else {\n openSnackbarPopup(TextConstants.VALID_END_TIME, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n }\n }\n };\n\n const handleSnackbarClose = () => {\n setOpenSnackbar(false);\n };\n\n const openSnackbarPopup = (msg: string, type: string) => {\n snackbarMessage.current = msg;\n snackbarType.current = type;\n setOpenSnackbar(true);\n };\n\n const designDeliveryDelveDashboard = (responseDataObj: any) => {\n let newDelveDashboardDataObj = JSON.parse(JSON.stringify(DELVE_DASHBOARD_DATA_OBJ));\n newDelveDashboardDataObj = resetDelveDashboardDataObjUtils(newDelveDashboardDataObj);\n if (!isUndefined(responseDataObj) && !isUndefined(responseDataObj.error) && !isNull(responseDataObj.error)) {\n openSnackbarPopup(responseDataObj.error, AppConstants.SNACKBAR.TYPES.ERROR);\n } else if (!isUndefined(responseDataObj) && !isUndefined(responseDataObj.data)) {\n if (!isUndefined(responseDataObj.data.results) && checkIfInputIsValidObjectWithKeys(responseDataObj.data.results)) {\n newDelveDashboardDataObj = designDelveDashboardRecordDataUtils(responseDataObj.data.results, newDelveDashboardDataObj);\n }\n }\n setDashboardState({ ...dashboardState, delveDashboardRecord: { ...newDelveDashboardDataObj }, loading: false });\n };\n\n const designReturnDelveDashboard = (responseDataObj: any) => {\n let newDelveDashboardDataObj = JSON.parse(JSON.stringify(DELVE_RETURN_DASHBOARD_DATA_OBJ));\n newDelveDashboardDataObj = resetDelveDashboardDataObjUtils(newDelveDashboardDataObj);\n if (!isUndefined(responseDataObj) && !isUndefined(responseDataObj.error) && !isNull(responseDataObj.error)) {\n openSnackbarPopup(responseDataObj.error, AppConstants.SNACKBAR.TYPES.ERROR);\n } else if (!isUndefined(responseDataObj) && !isUndefined(responseDataObj.data)) {\n if (!isUndefined(responseDataObj.data.results) && checkIfInputIsValidObjectWithKeys(responseDataObj.data.results)) {\n newDelveDashboardDataObj = designReturnDelveDashboardRecordDataUtils(responseDataObj.data.results, newDelveDashboardDataObj);\n }\n }\n setDashboardState({ ...dashboardState, returnDashboardRecord: { ...newDelveDashboardDataObj }, loading: false });\n };\n\n const designDelveDashboardRecordData = (responseDataObj: any) => {\n if (dashboardState) {\n if (dashboardState.tabValue === TAB_VALUES_CONSTANT.DELIVERIES.value) {\n designDeliveryDelveDashboard(responseDataObj);\n }\n if (dashboardState.tabValue === TAB_VALUES_CONSTANT.RETURNS.value) {\n designReturnDelveDashboard(responseDataObj);\n }\n }\n };\n\n const IsDelveServiceFetchStatusValid = () => {\n if (\n !isUndefined(delveDashboardRecordListServices) &&\n !isUndefined(delveDashboardRecordListServices.fetchStatus) &&\n delveDashboardRecordListServices.fetchStatus !== API_RESPONSE_STATUS.LOADING &&\n delveDashboardRecordListServices.fetchStatus !== API_RESPONSE_STATUS.IDLE &&\n (delveDashboardRecordListServices.fetchStatus === API_RESPONSE_STATUS.SUCCEEDED || delveDashboardRecordListServices.fetchStatus === API_RESPONSE_STATUS.FAILED)\n ) {\n designDelveDashboardRecordData(delveDashboardRecordListServices);\n }\n };\n\n const clearAllFilterHandler = () => {\n let dashboardStateObjCopy = JSON.parse(JSON.stringify(dashboardState));\n const dateData = currentDate(AppConstants.DATE_FORMAT);\n const startTime = startOfDay(dateData, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND);\n const endTime = endOfDay(dateData, AppConstants.DATE_FORMAT, AppConstants.DATE_FORMAT_BACKEND);\n dashboardStateObjCopy.hubs = [AppConstants.SELECT_ALL.value];\n dashboardStateObjCopy.dateSlot.startDate = dateData;\n dashboardStateObjCopy.dateSlot.endDate = dateData;\n dashboardStateObjCopy.timeSlot.startTime = startTime;\n dashboardStateObjCopy.timeSlot.endTime = endTime;\n let requestDashboardStateObj: any = fetchDashboardRecordBasedOnFilterUtils(dashboardStateObjCopy, countryCode);\n if (!isUndefined(requestDashboardStateObj) && checkIfInputIsValidObjectWithKeys(requestDashboardStateObj)) {\n setDashboardState({\n ...dashboardState,\n loading: true,\n hubs: [AppConstants.SELECT_ALL.value],\n dateSlot: { startDate: dateData, endDate: dateData },\n timeSlot: { startTime: startTime, endTime: endTime },\n });\n dispatch(getDelveDashboardRecord(requestDashboardStateObj));\n }\n };\n\n const handleHubLevelVerificationCardClick = (hubName: any) => {\n if (!isUndefined(hubName) && !isNull(hubName)) {\n sessionStorage.setItem(\"delveDashboardDateRange\", JSON.stringify(dashboardState.dateSlot));\n sessionStorage.setItem(\"delveHubName\", JSON.stringify(hubName));\n sessionStorage.setItem(\"delveTabName\", JSON.stringify(dashboardState.tabValue));\n history.push(RouteConstants.ROUTES.DELVE_ORDER_LIST);\n }\n };\n\n const getConsignmentsListBasedOnIssueName = async (payloadObject: any) => {\n const consignmentsObject = await dispatch(getConsignmentsDataBasedOnIssueName(payloadObject));\n if (\n !isUndefined(consignmentsObject) &&\n !isUndefined(consignmentsObject.payload) &&\n !isUndefined(consignmentsObject.payload.results) &&\n !isUndefined(consignmentsObject.payload.results.hubWiseConsignments)\n ) {\n const { hubWiseConsignments } = consignmentsObject.payload.results;\n if (checkIfInputIsValidObjectWithKeys(hubWiseConsignments)) {\n let consignment_list = designConsignmentsListBasedOnIssueNameUtils(hubWiseConsignments);\n if (!isUndefined(consignment_list) && isInputAnArray(consignment_list) && isNonEmptyArray(consignment_list)) {\n sessionStorage.setItem(\"delveDashboardDateRange\", JSON.stringify(dashboardState.dateSlot));\n sessionStorage.setItem(\"delveConsignmentList\", JSON.stringify(consignment_list));\n sessionStorage.setItem(\"delveTabName\", JSON.stringify(dashboardState.tabValue));\n history.push(RouteConstants.ROUTES.DELVE_ORDER_LIST);\n return;\n }\n }\n openSnackbarPopup(NO_CONSIGNMENT_LIST_FOUND, AppConstants.SNACKBAR.TYPES.ERROR);\n setDashboardState({ ...dashboardState, loading: false });\n } else {\n openSnackbarPopup(ERROR_WHILE_FETCHING_CONSIGNMENT_LIST_BASED_ON_ISSUE, AppConstants.SNACKBAR.TYPES.ERROR);\n setDashboardState({ ...dashboardState, loading: false });\n }\n };\n\n const converIssueNameToEnum = (issueName: any) => {\n let name = \"\" as any;\n let i = 0;\n let character = \"\";\n while (i <= issueName.length) {\n character = issueName.charAt(i);\n if (i === 0 && character == character.toUpperCase()) {\n name = character;\n } else if (character == character.toLowerCase()) {\n name = name + character.toUpperCase();\n } else if (character == character.toUpperCase()) {\n name = name + \"_\" + character;\n }\n i++;\n }\n return name;\n };\n\n const fetchConsignmentsListBasedOnIssueName = (issueName: any) => {\n if (!isUndefined(issueName) && isAString(issueName) && issueName !== \"\" && issueName !== \"Issue\") {\n setDashboardState({ ...dashboardState, loading: true });\n let requestDashboardStateObj: any = fetchDashboardRecordBasedOnFilterUtils(dashboardState, countryCode);\n if (!isUndefined(requestDashboardStateObj) && checkIfInputIsValidObjectWithKeys(requestDashboardStateObj)) {\n requestDashboardStateObj.rejectionReasons = [] as any;\n requestDashboardStateObj.rejectionReasons.push(converIssueNameToEnum(issueName));\n getConsignmentsListBasedOnIssueName(requestDashboardStateObj);\n } else {\n setDashboardState({ ...dashboardState, loading: false });\n }\n } else {\n openSnackbarPopup(NO_ISSUE_NAME_FOUND, AppConstants.SNACKBAR.TYPES.ERROR);\n }\n };\n\n useEffect(() => {\n IsDelveServiceFetchStatusValid();\n }, [delveDashboardRecordListServices, delveDashboardRecordListServices.fetchStatus]);\n\n useEffect(() => {\n setDashboardState({ ...dashboardState, loading: true });\n fetchDashboardRecordBasedOnFilter(dashboardState);\n }, [countryCode]);\n\n return (\n
\n {dashboardState.loading && }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* CustomSnackbar */}\n \n
\n );\n};\n\nexport default React.memo(DelveDashboard);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n CF_iframe: {\n \"& iframe\": {\n position: \"absolute\",\n left: \"-15px\",\n width: \"100%\",\n height: \"92%\",\n },\n },\n })\n);","import React, { useEffect, useState } from \"react\";\nimport { useStyles } from \"./camsWidgets.style\";\nimport { AppState } from \"../config/redux/reducers\";\nimport { useSelector } from \"react-redux\";\n\nconst Returns = () => {\n const classes = useStyles();\n\n const { countryCode, hubCode } = useSelector((state: AppState) => state.common);\n \n const [hub, setHub] = useState(\"\");\n\n useEffect(() => {\n const hub = hubCode.indexOf(\"all\") > -1 ? \"all\" : hubCode;\n setHub(hub);\n }, [hubCode]);\n\n return (\n
\n