{"version":3,"sources":["codeless/config/validation.config.js","codeless/config/component.config.js","store/actions/orders/ordersActionTypes.js","store/actions/comments/commentsActionTypes.js","store/actions/notes/notesActionTypes.js","codeless/components/layout/hideShowMenuSwitch.js","store/actions/pageContent/pageContent.js","project/Defines.js","codeless/screens/Order/colorConfig.js","store/actions/customerOrderAdmin/customerOrderAdmin.js","project/Project.js","store/actions/customers/customers.js","store/actions/customerRejectedOrders/customerRejectedOrdersActionTypes.js","store/actions/customerLastOrders/customerLastOrdersActionTypes.js","codeless/components/custom/sheet/colGroup.js","codeless/components/custom/sheet/sheetHeader.js","codeless/components/custom/sheet/sheet2Cell.js","codeless/components/custom/sheet/sheetRow.js","codeless/components/custom/sheet/sheetBody.js","codeless/components/custom/sheet/sheetFooter.js","codeless/components/custom/sheet/sheetTableContent.js","codeless/components/custom/sheet/sheet.js","codeless/mapping/mapping.js","codeless/hook/data/useFormValidation.js","codeless/hook/hub/useClientHubOrder.js","codeless/components/scroll/scroll.js","store/actions/customerOrderLocations/customerOrderLocationsActionTypes.js","codeless/helper/common.js","codeless/components/list/filter/switchable.js","codeless/components/list/filterSettings.js","codeless/components/list/filter/filterContainer.js","codeless/components/list/filter/filterField/filterField.js","codeless/components/list/filter/filterField/groupFilterField.js","codeless/components/list/filter/filter.js","codeless/config/condition.config.js","codeless/components/project/permission/permission.js","codeless/hook/action/sectionPopup.js","codeless/components/project/order/order.js","codeless/components/project/workingDays/WorkingDays.js","codeless/components/project/attachments/attachments.js","codeless/components/custom/managedSheet/managedSheet.js","codeless/components/project/rateConfirmation/form.js","codeless/components/project/rateConfirmation/company.js","codeless/components/project/rateConfirmation/loadInfo.js","codeless/components/project/rateConfirmation/carrier.js","codeless/components/project/rateConfirmation/stopList.js","codeless/screens/RateConfirmation/send.js","codeless/components/project/rateConfirmation/index.js","codeless/components/project/carrierPackage/index.js","codeless/components/project/MultipleCheckbox/index.js","codeless/components/project/Locations/css_ant-reset.js","codeless/components/project/Locations/index.js","store/selectors/customerSelectors.js","codeless/helper/component.js","codeless/components/form/form.js","codeless/pages/details.js","codeless/hook/data/useMessage.js","codeless/components/custom/reactSelectable/isNodeIn.js","codeless/components/custom/reactSelectable/nodeInRoot.js","codeless/components/custom/reactSelectable/getBoundsForNode.js","codeless/components/custom/reactSelectable/doObjectsCollide.js","codeless/components/custom/reactSelectable/selectableGroup.js","codeless/components/custom/reactSelectable/createSelectable.js","store/actions/customerDashboard/customerDashboardActionTypes.js","codeless/elements/download.js","codeless/screens/LoadArea/defaultStopColumns.js","codeless/screens/LoadArea/appointmentFieldsConfig.js","codeless/components/form/sectionGroup/section/formField/formField.js","codeless/components/form/sectionGroup/section/formField/element/element.js","codeless/components/form/toolbar/screenToolbar.js","codeless/components/form/sectionGroup/section/group.js","codeless/components/form/sectionGroup/section/section.js","codeless/components/form/sectionGroup/sectionGroup.js","codeless/components/form/toolbar/toolbar.js","codeless/components/form/login/loginField/loginField.js","codeless/components/form/login/loginField/element/element.js","codeless/hook/action/useElementKeyPress.js","codeless/components/form/login/wrap.js","codeless/components/form/content.js","codeless/hook/action/delete.js","store/actions/loadArea/loadActionTypes.js","codeless/screens/Carrier/config.js","store/reducers/loadArea/helper/general.js","store/actions/locations/locationsActionTypes.js","codeless/screens/LoadArea/InboundLoad/loadSequenceForm.js","codeless/screens/LoadArea/InboundLoad/config.js","codeless/screens/LoadArea/OutboundLoad/loadSequenceForm.js","codeless/screens/LoadArea/OutboundLoad/config.js","codeless/hook/hub/useClientHubNewRequest.js","store/reducers/trafficControl/helper/general.js","codeless/hook/action/useElementFocus.js","codeless/axios/axios.js","codeless/components/list/settings.js","codeless/screens/Truck/config.js","codeless/screens/Driver/config.js","codeless/elements/selectElement.js","codeless/helper/element.js","codeless/elements/authenticatedLink.js","codeless/elements/util/location.js","codeless/hook/data/useValueList.js","codeless/elements/dropDownElement.js","codeless/hook/data/useValidation.js","store/actions/popup/popup.js","codeless/hook/action/useElementChange.js","codeless/hook/action/useElementOut.js","codeless/components/custom/dragDrop/index.js","codeless/components/list/resizableTitle.js","store/actions/popup/popupActionTypes.js","codeless/screens/LoadArea/locationFormConfig.js","store/reducers/loadArea/helper/separator.js","store/updateState.js","store/reducers/authentication/authentication.js","store/reducers/popup/popup.js","store/reducers/google/google.js","store/reducers/valueList/ValueList.js","store/reducers/pageContent/pageContent.js","store/reducers/loadArea/helper/dataGeneral.js","store/reducers/loadArea/helper/inbound/data.js","store/reducers/loadArea/helper/outbound/data.js","store/reducers/loadArea/loadArea.js","store/reducers/loadArea/inboundLoad.js","store/reducers/loadArea/outboundLoad.js","store/reducers/callCheck/callCheckReducer.js","store/reducers/callCheck/callCheck.js","store/reducers/deliveredTrucksReducer/deliveredTrucksReducer.js","store/reducers/deliveredTrucksReducer/dataGeneral.js","store/reducers/deliveredTrucksReducer/deliveredTrucks.js","store/reducers/trafficControl/trafficReducers.js","store/reducers/trafficControl/helper/separator.js","store/reducers/trafficControl/trafficControl.js","store/reducers/trafficControlUpcoming/trafficControlUpcomingReducers.js","store/reducers/trafficControlUpcoming/trafficControlUpcoming.js","store/reducers/customerDashboard/customerDashboardReducers.js","store/reducers/customerDashboard/customerDashboard.js","store/reducers/customerOrderInProgress/customerOrderInProgressReducers.js","store/reducers/customerOrderInProgress/customerOrderInProgress.js","store/reducers/customerOrderNewOrders/customerOrderNewOrdersReducers.js","store/reducers/customerOrderNewOrders/customerOrderNewOrders.js","store/reducers/customerOrderLocations/customerOrderLocationsReducer.js","store/reducers/customerOrderLocations/customerOrderLocations.js","store/reducers/customerRejectedOrders/customerRejectedOrdersReducers.js","store/reducers/customerRejectedOrders/customerRejectedOrders.js","store/reducers/customerLastOrders/customerLastOrdersReducers.js","store/reducers/customerLastOrders/customerLastOrders.js","store/reducers/customerOrderAdmin/customerOrderAdminReducers.js","store/reducers/customerOrderAdmin/customerOrderAdmin.js","store/reducers/revisionOrderAdmin/revisionOrderAdminReducers.js","store/reducers/revisionOrderAdmin/revisionOrderAdmin.js","store/reducers/comments/commentsReducer.js","store/reducers/comments/comments.js","store/reducers/accountReceivableReducer/accountReceivableReducer.js","store/reducers/accountReceivableReducer/accountReceivableColumns.js","store/reducers/loadDetails/loadDetailsReducer.js","store/reducers/loadDetails/loadDetails.js","store/reducers/rateConfirmation/rateConfirmationReducer.js","store/reducers/rateConfirmation/rateConfirmation.js","store/reducers/notes/notesReducer.js","store/reducers/notes/notes.js","store/reducers/deliveredLoads/deliveredLoadsReducer.js","store/reducers/deliveredLoads/dataGeneral.js","store/reducers/deliveredLoads/deliveredLoads.js","store/reducers/customers/customersReducer.js","store/reducers/customers/customers.js","store/reducers/orders/ordersReducer.js","store/reducers/orders/orders.js","store/reducers/factoringCompany/factoringCompanyReducer.js","store/reducers/factoringCompany/factoringCompany.js","store/reducers/locations/locationsReducer.js","store/reducers/locations/locations.js","store/index.js","codeless/components/screen/loading.js","store/actions/valueList/valueList.js","codeless/elements/uploader.js","codeless/screens/LoadArea/InboundLoad/defaultOrderColumns.js","codeless/screens/LoadArea/OutboundLoad/defaultOrderColumns.js","codeless/components/list/download/Download.js","codeless/components/list/filter/search.js","codeless/components/list/createGroupButton.js","codeless/components/list/download/GSheetModal.js","codeless/components/list/download/ImportFromGSheet.js","codeless/components/list/download/ExportToGSheet.js","codeless/components/screen/view/listView.js","codeless/components/screen/listScreen.js","store/actions/orders/orders.js","codeless/components/list/GroupOrder/GroupOrdersModal.js","codeless/components/list/GroupOrder/headerCell.js","codeless/components/list/GroupOrder/headerRow.js","codeless/components/list/GroupOrder/cell.js","codeless/components/list/GroupOrder/row.js","codeless/components/list/GroupOrder/GroupOrdersListModal.js","codeless/components/list/list.js","codeless/components/screen/view/formView.js","codeless/components/screen/popup/popup.js","codeless/components/screen/formScreen.js","store/actions/valueList/valueListActionTypes.js","codeless/screens/UserProfile/config.js","codeless/screens/LoadArea/warehouseFormConfig.js","store/actions/loadDetails/loadDetailsActionTypes.js","codeless/components/custom/rc-color-picker/lib/helpers/color.js","store/actions/customers/customersActionTypes.js","codeless/screens/Location/config.js","codeless/screens/TrailerSize/config.js","codeless/screens/Trailer/config.js","codeless/elements/util/dropDown.js","codeless/screens/LoadArea/customerFormConfig.js","codeless/config/action.config.js","store/actions/google/googleActionTypes.js","store/actions/pageContent/pageContentActionTypes.js","codeless/components/list/buttonActions.js","codeless/elements/thumbnailImage.js","codeless/elements/avatarUploader.js","codeless/components/custom/sheet/sheetCell.js","codeless/components/list/newButton.js","codeless/components/project/receiving/orders.js","codeless/screens/RateConfirmation/config.js","store/actions/accountReceivableActions/accountReceivableActionTypes.js","codeless/pages/grid.js","codeless/screens/LoadArea/InboundLoad/pickAppointmentConfig.js","codeless/screens/LoadArea/InboundLoad/dropAppointmentConfig.js","codeless/screens/LoadArea/loadSequenceFieldsConfig.js","codeless/screens/LoadArea/OutboundLoad/pickAppointmentConfig.js","codeless/screens/LoadArea/OutboundLoad/dropAppointmentConfig.js","codeless/screens/Load/assignedOrderTime.js","codeless/components/project/load/orders.js","codeless/components/project/load/assignedOrders.js","codeless/components/project/receiving/loadOrders.js","codeless/components/custom/table/expandable.js","codeless/screens/BlackReason/config.js","codeless/screens/LoadArea/orderFormConfig.js","project/Pages.js","codeless/screens/Organization/config.js","codeless/screens/TrailerType/config.js","codeless/screens/ContactType/config.js","codeless/screens/Manifest/config.js","codeless/screens/ForgotPassword/config.js","codeless/screens/ChangePassword/config.js","codeless/screens/Login/config.js","codeless/components/custom/popup/container/container.js","codeless/hook/action/outerClickNotifier.js","codeless/components/custom/popup/actionBar/actionBar.js","codeless/components/custom/popup/confirm/confirm.js","codeless/components/custom/popup/prompt/prompt.js","codeless/components/custom/popup/alert/alert.js","codeless/pages/section.js","codeless/components/custom/popup/popup.js","codeless/helper/validation.js","store/actions/factoringCompany/factoringCompanyActionTypes.js","codeless/config/list.config.js","codeless/components/custom/rc-color-picker/lib/Panel.js","codeless/elements/addressField.js","codeless/elements/mapField.js","codeless/elements/multipleMarkersMapField.js","codeless/elements/dropDownNewItem.js","codeless/elements/selectElementAdd.js","codeless/elements/selectElementAddWithCache.js","codeless/elements/colorElement.js","codeless/elements/selectElementWithCache.js","codeless/config/element.config.js","codeless/components/custom/rc-color-picker/lib/index.js","codeless/components/project/loadArea/apptField.js","codeless/helper/list.js","store/actions/callCheck/callCheckActionTypes.js","CacheBuster.js","store/actions/deliveredTrucksActions/deliveredTrucksActionTypes.js","store/actions/customerOrderNewOrders/customerOrderActionTypes.js","codeless/error/errorHandler.js","store/actions/customerOrderAdmin/customerOrderAdminActionTypes.js","store/actions/deliveredLoads/deliveredLoadsActionTypes.js","store/actions/trafficControl/trafficControlActionTypes.js","mapMarkerIcons/tstWarehouse.png","mapMarkerIcons/warehouse.png","codeless/components/custom/rc-color-picker/lib/ColorPicker.js","codeless/components/custom/rc-color-picker/lib/Board.js","codeless/components/custom/rc-color-picker/lib/Preview.js","codeless/components/custom/rc-color-picker/lib/Ribbon.js","codeless/components/custom/rc-color-picker/lib/Alpha.js","codeless/components/custom/rc-color-picker/lib/Params.js","codeless/components/custom/rc-color-picker/lib/helpers/percentage.js","codeless/components/custom/rc-color-picker/lib/utils/validationColor.js","codeless/components/custom/rc-color-picker/lib/placements.js","codeless/hook/actions.js","store/actions/revisionOrderAdmin/revisionOrderAdminActionTypes.js","store/actions/authentication/authentication.js","codeless/hook/data/useData.js","store/actions/rateConfirmation/rateConfirmationActionTypes.js","store/actions/authentication/authenticationActionTypes.js","codeless/screens lazy /^/.*/config$/ groupOptions: {} namespace object","codeless/components/layout/logo.js","codeless/components/layout/navigation/mainNavigation.js","codeless/components/layout/userMenu/userMenu.js","codeless/hook/hub/useClientHub.js","codeless/components/layout/toolbar/mainToolbar.js","codeless/components/layout/navigation/subNavigation.js","codeless/components/layout/toolbar/subToolbar.js","codeless/components/layout/scriptLoader.js","store/actions/google/google.js","codeless/pages/notFound.js","codeless/samples/dragableTable.js","codeless/samples/uploader.js","codeless/samples/uploaderTable.js","codeless/samples/dragDrop.js","codeless/samples/colorPicker.js","codeless/samples/development.js","codeless/components/project/loadArea/stop.js","codeless/components/project/loadArea/baseData.js","codeless/components/project/loadArea/inboundLoad/data.js","codeless/components/project/loadArea/useDragging.js","codeless/components/project/loadArea/useFiltering.js","codeless/components/project/loadArea/useSelection.js","codeless/components/project/loadArea/loadCreationToolbar.js","codeless/components/project/loadArea/orders.js","codeless/components/project/loadArea/stops.js","codeless/components/project/loadArea/inboundLoad/useAppointment.js","codeless/components/project/loadArea/useLoadSequence.js","codeless/components/project/loadArea/inboundLoad/index.js","codeless/components/project/loadArea/experimentalLoad/tableStructure.js","codeless/components/project/loadArea/experimentalLoad/index.js","codeless/screens/LoadArea/InboundLoad/stopNotesForm.js","codeless/screens/LoadArea/InboundLoad/inLoadInAppts.js","codeless/components/project/loadArea/generalToolbar.js","codeless/components/project/loadArea/useStopNotes.js","codeless/components/project/loadArea/inboundLoad/inLoadInAppts.js","codeless/screens/LoadArea/InboundLoad/dispatchConfig.js","codeless/screens/LoadArea/InboundLoad/inTransitConfig.js","codeless/components/project/loadArea/inboundLoad/inTransit.js","codeless/components/project/receiving/receivingOrders.js","codeless/screens/ReceivingLoad/orderConfig.js","codeless/components/project/receiving/index.js","codeless/components/project/receiving/useOrderData.js","codeless/components/project/loadArea/outboundLoad/data.js","codeless/components/project/loadArea/outboundLoad/useAppointment.js","codeless/components/project/loadArea/outboundLoad/index.js","codeless/screens/LoadArea/OutboundLoad/stopNotesForm.js","codeless/screens/LoadArea/OutboundLoad/outLoadOutAppts.js","codeless/components/project/loadArea/outboundLoad/outLoadOutAppts.js","codeless/screens/LoadArea/OutboundLoad/dispatchConfig.js","codeless/screens/LoadArea/OutboundLoad/inTransitConfig.js","codeless/components/project/loadArea/outboundLoad/inTransit.js","codeless/components/project/customerDashboard/pieChart.js","codeless/components/project/customerDashboard/barChart.js","store/actions/customerDashboard/customerDashboard.js","codeless/hook/data/useTidioScript.js","codeless/components/project/customerDashboard/index.js","store/actions/customerOrderInProgress/customerOrderInProgress.js","codeless/components/project/CustomerOrderInProgress/headerCell.js","codeless/components/project/CustomerOrderInProgress/headerRow.js","store/actions/trafficControl/trafficControl.js","store/actions/customerOrderLocations/customerOrderLocations.js","store/actions/customerOrderNewOrders/customerOrderNewOrders.js","store/actions/customerRejectedOrders/customerRejectedOrders.js","codeless/components/project/CustomerOrderInProgress/errorModal.js","codeless/components/project/CustomerOrderInProgress/modal.js","codeless/components/project/CustomerOrderNewOrders/modalEditWarning.js","codeless/components/project/CustomerOrderInProgress/cell.js","codeless/components/project/CustomerOrderInProgress/row.js","store/reducers/customerOrderInProgress/helper/general.js","codeless/components/project/CustomerOrderInProgress/CustomerOrderInProgressSpreadsheet.js","codeless/components/project/CustomerOrderNewOrders/headerCell.js","codeless/components/project/CustomerOrderNewOrders/headerRow.js","codeless/components/project/CustomerOrderNewOrders/modalDelete.js","codeless/components/project/CustomerOrderNewOrders/cell.js","codeless/components/project/CustomerOrderNewOrders/row.js","store/reducers/customerOrderNewOrders/helper/general.js","codeless/components/project/CustomerOrderNewOrders/CustomerOrderNewOrdersSpreadsheet.js","codeless/components/project/CustomerOrders/CustomerOrders.js","codeless/components/project/loadArea/spreadsheet/customerOrderBuild.js","store/actions/customerLastOrders/customerLastOrders.js","codeless/components/project/CustomerLastOrders/headerCell.js","codeless/components/project/CustomerLastOrders/headerRow.js","codeless/components/project/CustomerLastOrders/cell.js","codeless/components/project/CustomerLastOrders/row.js","store/reducers/customerLastOrders/helper/general.js","codeless/components/project/CustomerLastOrders/LastOrdersSpreadsheet.js","codeless/components/project/CustomerRejectedOrders/headerCell.js","codeless/components/project/CustomerRejectedOrders/headerRow.js","codeless/components/project/CustomerRejectedOrders/cell.js","codeless/components/project/CustomerRejectedOrders/row.js","store/reducers/customerRejectedOrders/helper/general.js","codeless/components/project/CustomerRejectedOrders/RejectedOrdersSpreadsheet.js","codeless/components/project/CustomerOrdersLastAndRejected/CustomerOrdersLastAndRejected.js","codeless/components/project/loadArea/spreadsheet/customerOrderLastAndRejectedBuild.js","codeless/components/project/CustomerOrderAdmin/headerCell.js","codeless/components/project/CustomerOrderAdmin/headerRow.js","codeless/components/project/CustomerOrderAdmin/cell.js","codeless/components/project/CustomerOrderAdmin/row.js","codeless/components/project/CustomerOrderAdmin/modalSpace.js","codeless/components/project/CustomerOrderAdmin/modal.js","codeless/components/project/CustomerOrderAdmin/CustomerOrderAdminSpreadsheet.js","store/reducers/customerOrderAdmin/helper/general.js","codeless/components/project/loadArea/spreadsheet/customerOrderAdminBuild.js","store/actions/revisionOrderAdmin/revisionOrderAdmin.js","codeless/components/project/RevisionOrderAdmin/headerCell.js","codeless/components/project/RevisionOrderAdmin/headerRow.js","codeless/components/project/RevisionOrderAdmin/rejectModal.js","codeless/components/project/RevisionOrderAdmin/cell.js","codeless/components/project/RevisionOrderAdmin/row.js","store/reducers/revisionOrderAdmin/helper/general.js","codeless/components/project/RevisionOrderAdmin/RevisionOrderAdminSpreadsheet.js","codeless/components/project/loadArea/spreadsheet/revisionOrderAdminBuild.js","store/actions/callCheck/callCheck.js","codeless/components/project/AdminCallCheck/authenticatedLinkCallCheck.js","codeless/components/project/AdminCallCheck/Uploader.js","store/actions/comments/comments.js","codeless/components/project/AdminCallCheck/CommentsModal.js","store/actions/notes/notes.js","codeless/components/project/AdminCallCheck/NotesModal.js","codeless/components/project/AdminCallCheck/DeliveredModal.js","store/actions/loadArea/loadArea.js","store/actions/deliveredTrucksActions/deliveredTrucks.js","codeless/components/custom/spreadsheet/styles.js","codeless/components/custom/spreadsheet/helper.js","codeless/components/custom/spreadsheet/HistoryModal.js","store/selectors/historySelector.js","codeless/components/project/AdminCallCheck/cell.js","codeless/components/project/AdminCallCheck/leftActionCall.js","codeless/components/project/AdminCallCheck/row.js","codeless/components/project/AdminCallCheck/headerCell.js","codeless/components/project/AdminCallCheck/headerRow.js","store/reducers/callCheck/helper/separator.js","codeless/components/project/AdminCallCheck/UploadModal.js","codeless/components/project/AdminCallCheck/spreadsheet.js","store/reducers/callCheck/helper/general.js","codeless/components/project/loadArea/spreadsheet/adminCallCheckBuild.js","store/selectors/factoringCompanySelectors.js","store/actions/factoringCompany/factoringCompany.js","codeless/components/project/FactoringCompany/headerCell.js","codeless/components/project/FactoringCompany/headerRow.js","codeless/components/project/FactoringCompany/cell.js","codeless/components/project/FactoringCompany/row.js","codeless/components/project/FactoringCompany/spreadsheet.js","codeless/components/project/FactoringCompany/helper.js","codeless/components/project/loadArea/spreadsheet/factoringCompanyBuild.js","codeless/components/project/FactoringCompany/customStyles.js","codeless/components/project/FactoringCompany/thumbnailImage.js","codeless/components/project/FactoringCompany/authenticatedLink.js","codeless/components/project/FactoringCompany/warningModal.js","codeless/components/project/FactoringCompany/FactoringCompanyDetails.js","store/actions/deliveredLoads/deliveredLoads.js","store/reducers/deliveredLoads/helper/separator.js","codeless/components/project/DeliveredLoads/cell.js","codeless/components/project/DeliveredLoads/leftActionCall.js","codeless/components/project/DeliveredLoads/row.js","codeless/components/project/DeliveredLoads/headerCell.js","codeless/components/project/DeliveredLoads/headerRow.js","codeless/components/project/DeliveredLoads/spreadsheet.js","store/reducers/deliveredLoads/helper/general.js","codeless/components/project/loadArea/spreadsheet/deliveredLoadsBuild.js","codeless/components/project/loadArea/spreadsheet/adminOrderBuild.js","store/actions/locations/locations.js","store/actions/loadDetails/loadDetails.js","store/actions/rateConfirmation/rateConfirmation.js","codeless/components/custom/spreadsheet/EFSModal.js","codeless/components/custom/spreadsheet/UploadAttachmentEditModal.js","codeless/components/custom/spreadsheet/modalWarning.js","codeless/components/custom/spreadsheet/RateConfirmationModal.js","codeless/components/custom/spreadsheet/loadDetailsModal.js","codeless/components/custom/spreadsheet/appointmentSelector.js","codeless/components/custom/spreadsheet/cell.js","codeless/components/custom/spreadsheet/leftActionCall.js","codeless/components/custom/spreadsheet/rightActionCell.js","codeless/components/custom/spreadsheet/regionCell.js","codeless/components/custom/spreadsheet/regionContentCell.js","codeless/components/custom/spreadsheet/row.js","codeless/components/custom/spreadsheet/headerCell.js","codeless/components/custom/spreadsheet/headerRow.js","codeless/elements/loaderSmall.js","codeless/elements/toolBarButton.js","codeless/components/custom/spreadsheet/LumperModal.js","codeless/components/custom/spreadsheet/AssignOrdersModalNewLoad.js","codeless/components/custom/spreadsheet/toolBar.js","codeless/components/custom/spreadsheet/AssignOrdersModal.js","codeless/components/custom/spreadsheet/spreadsheet.js","codeless/components/project/loadArea/spreadsheet/inboundLoadBuild.js","codeless/components/project/loadArea/spreadsheet/outboundLoadBuild.js","codeless/components/custom/spreadsheet/manifestToolBar.js","codeless/components/project/loadArea/manifest/index.js","store/actions/trafficControlUpcoming/trafficControlUpcoming.js","codeless/components/custom/spreadsheetTrafficControl/warningModal.js","codeless/components/custom/spreadsheetTrafficControl/cell.js","codeless/components/custom/spreadsheetTrafficControl/CurrentAndNextContentCell.js","codeless/components/custom/spreadsheetTrafficControl/CurrentAndNextCell.js","codeless/components/custom/spreadsheetTrafficControl/row.js","codeless/components/custom/spreadsheetTrafficControl/headerCell.js","codeless/components/custom/spreadsheetTrafficControl/headerRow.js","codeless/components/custom/spreadsheetTrafficControl/spreadsheet.js","codeless/hook/hub/useClientHubTrafficControl.js","codeless/components/project/loadArea/spreadsheet/trafficControlLoadBuild.js","codeless/components/custom/spreadsheetTrafficControl/spreadsheetUpcoming.js","codeless/components/project/loadArea/spreadsheet/trafficControlUpcomingLoadBuild.js","store/reducers/trafficControlUpcoming/helper/general.js","CacheBusterRoute.js","codeless/components/project/APDeliveredTrucks/authenticatedLinkDeliveredTrucks.js","codeless/components/project/APDeliveredTrucks/Uploader.js","codeless/components/project/APDeliveredTrucks/cell.js","codeless/components/project/APDeliveredTrucks/leftActionCall.js","codeless/components/project/APDeliveredTrucks/row.js","codeless/components/project/APDeliveredTrucks/headerCell.js","codeless/components/project/APDeliveredTrucks/headerRow.js","store/reducers/deliveredTrucksReducer/helper/separator.js","codeless/components/project/APDeliveredTrucks/UploadModal.js","codeless/components/project/APDeliveredTrucks/CommentsModal.js","codeless/components/project/APDeliveredTrucks/spreadsheet.js","store/reducers/deliveredTrucksReducer/helper/general.js","codeless/components/project/APDeliveredTrucks/helper.js","codeless/components/project/loadArea/spreadsheet/APDeliveredTrucksBuild.js","store/actions/accountReceivableActions/accountReceivableActions.js","store/reducers/accountReceivableReducer/helper/general.js","codeless/components/project/AccountReceivable/authenticatedLinkAcoountReceivable.js","codeless/components/project/AccountReceivable/Uploader.js","codeless/components/project/AccountReceivable/cell.js","codeless/components/project/AccountReceivable/leftActionCall.js","codeless/components/project/AccountReceivable/PriceRecalculationModal.js","codeless/components/project/AccountReceivable/row.js","codeless/components/project/AccountReceivable/headerCell.js","codeless/components/project/AccountReceivable/headerRow.js","codeless/components/project/AccountReceivable/UploadModal.js","codeless/components/project/AccountReceivable/CommentsModal.js","codeless/components/project/AccountReceivable/ChangeRequestModal.js","codeless/components/project/AccountReceivable/ChangeRequestAcceptModal.js","codeless/components/project/AccountReceivable/spreadsheet.js","codeless/components/project/loadArea/spreadsheet/accountReceivableBuild.js","store/selectors/customerPriceSelectors.js","codeless/components/project/CustomerPrice/DeletePriceTemplateModal.js","codeless/components/project/CustomerPrice/SelectPriceStyle.js","codeless/components/project/CustomerPrice/cell.js","codeless/components/project/CustomerPrice/row.js","codeless/components/project/CustomerPrice/headerCell.js","codeless/components/project/CustomerPrice/headerRow.js","codeless/components/project/CustomerPrice/ChangePriceTemplateModal.js","codeless/components/project/CustomerPrice/DuplicateLocationsModal.js","codeless/components/project/CustomerPrice/spreadsheet.js","codeless/components/project/loadArea/spreadsheet/customersBuild.js","codeless/components/layout/router.js","codeless/components/layout/content.js","codeless/components/layout/main.js","codeless/components/screen/view/commonFormView.js","codeless/components/screen/info/forgotPasswordInfo.js","codeless/components/screen/view/forgotPasswordFormView.js","codeless/components/screen/forgotPasswordScreen.js","codeless/components/form/toolbar/forgetPasswordToolbar.js","codeless/components/form/forgotPasswordForm.js","codeless/pages/forgotPassword.js","codeless/components/form/changePasswordForm.js","codeless/pages/changePassword.js","Template.js","codeless/components/screen/info/loginInfo.js","codeless/components/screen/view/loginFormView.js","codeless/components/screen/loginFormScreen.js","codeless/components/form/toolbar/loginToolbar.js","codeless/components/form/loginForm.js","codeless/pages/login.js","codeless/pages/logout.js","App.js","registerServiceWorker.js","index.js","store/actions/trafficControlUpcoming/trafficControlUpcomingActionTypes.js","store/actions/customerOrderInProgress/customerOrderActionTypes.js"],"names":["getDatesDifference","data","Math","ceil","Date","ElementValidations","Required","message","fieldName","String","trim","RequiredForSpace","RequiredIfNew","key","o","RequiredIf","condition","MinLength","min","length","MaxLength","max","MinValue","MaxValue","Email","EmailTest","EmailList","EmailListTest","Phone","PhoneTest","PasswordConfirm","confirmField","IntField","Number","isInteger","IntPositiveField","PositiveField","replace","Time","TimeTest","Alphanumeric","test","AlphanumericAndMinusSign","NoEmptySpace","indexOf","OnlyLetters","OnlyLettersAndSpace","OnlyLettersAndSpaceBetween","DateShouldBeLater","packageDate","packageUploadDate","DateIsExpired","type","ColumnValidation","MonthExpiration","text","month","warningClass","errorClass","ColumnMonthExpiration","dependency","title","object","ColumnValues","ColumnWarnings","DateCompare","fieldType","ComponentTypes","Sheet","keyFieldName","columns","classes","dispatch","messages","messageDispatch","GenerateSheet","CommentsSheet","GenerateCommentsSheet","Permission","GeneratePermissionSheet","WorkingDays","componentRefs","messageIdentityPrefix","GenerateWorkingDays","Order","config","GenerateOrder","Attachments","GenerateAttachment","ManagedSheet","GenerateManagedSheet","RateConfirmation","GenerateRateConfirmation","CarrierPackage","GenerateCarrierPackage","CheckBoxMultiple","GenerateCheckBoxMultiple","Locations","GenerateLocations","RESET_ERROR","GET_ORDERS_LIST_BY_ID","GET_ORDERS_LIST_BY_ID_LOADING","GET_ORDERS_LIST_BY_ID_ERROR","CREATE_NEW_GROUP","CREATE_NEW_GROUP_LOADING","CREATE_NEW_GROUP_ERROR","SET_BATCH_TYPE","getActionType","resource","ORDERS_BUILD","RELOAD_ON_ERROR_LOAD_DETAILS","RELOAD_ON_ERROR_COMMENTS","GET_COMMENTS","COMMENTS_LOADING","COMMENTS_ERROR","COMMENTS_BUILD","SET_COMMENT","RELOAD_ON_ERROR_NOTES","GET_NOTES","NOTES_LOADING","NOTES_ERROR","NOTES_BUILD","SET_NOTES","connect","state","isHiddenMenu","pageContent","handleSwitch","checked","payload","pageContentActionTypes","props","right","className","checkbox","onChange","e","target","CommonLabels","Messages","ConfirmDeleteTitle","master","ConfirmDeleteText","ApiError","UnsupportedMediaType","Text","Title","Actions","Filters","From","To","Upload","ClearAll","Apply","Empty","Refresh","Buttons","Save","Add","Edit","Delete","Cancel","Download","Import","Export","Yes","No","Close","Confirm","CreateGroup","Defines","Format","MomentDate","MomentDateTime","MomentTime","MomentFullTime","PrintDateLong","PrintDate","PrintDateTime","FileNameDate","FileNameDateTime","ExpirationDate","InputDate","InputTime","MonthDate","Number0","confirmDelete","cancelDelete","DetailsComponentSufix","DetailsPathSufix","DefaultActionKey","DefaultCreateKey","DefaultCreateKeyClone","UserRoles","WAREHOUSE","OPERATION","ADMIN","PUBLIC","prototype","getWeek","date","this","getTime","setHours","setDate","getDate","getDay","week1","getFullYear","round","getWeekYear","bytesToSize","bytes","i","parseInt","floor","log","pow","statusColor","status","appointmentStatusColor","buildPutUrl","endPoint","axiosConfig","headers","Authorization","store","getState","auth","userToken","getCustomerOrderAdmin","loadingType","actionTypes","axios","get","buildUrl","then","responce","catch","err","console","error","response","generateCustomerOrder","put","rejectCustomerOrder","filterByCustomer","customerId","sortBy","sortValue","setHeaderWidth","ind","width","setItemDisplayState","rowState","header","enable","resetError","setNewRequestOrdersCount","count","Project","encode","str","buf","unshift","charCodeAt","join","decode","match","dec","fromCharCode","getManagedPageUrl","url","parentUrl","routeParam","quaryParams","p","push","getPageUrl","page","pages","getPages","toLowerCase","AppPages","Home","Login","Logout","Template","parentPage","parent","menu","userMenu","index","item","menu_item","items","subIndex","subItem","screen","has_details","skipHeader","location","Forgot","ChangePassword","some","sp","includes","createRoute","routeList","createItem","path","has_grid_list","createMenu","menuList","detail","pUrl","to","name","sub","endpoint","getCustomersList","getCustomerPrice","filterData","params","addEmptyLineOnPriceList","removeEmptyLinesOnPriceList","setItemData","value","priceTemplateType","id","addCustomerPrice","customersPriceList","requestData","post","hasError","reloadPriceListAfterUpdate","deleteCustomerPrice","priceType","delete","setCustomerPriceType","reloadAfterUpdate","setPerPalletType","perPalletType","getLocationsList","ERROR","SET_HEADER_WIDTH_REJECTED_ORDERS","SET_DISPLAY_STATE","CUSTOMER_ORDERS_REJECTED_LOADING","GET_CUSTOMER_ORDERS_REJECTED","SORT_ORDERS_REJECTED_ORDERS","recource","CUSTOMER_ORDERS_BUILD","RELOAD_ON_ERROR","SET_HEADER_WIDTH_LAST_ORDERS","CUSTOMER_LAST_ORDERS_LOADING","GET_CUSTOMER_LAST_ORDERS","SORT_LAST_ORDERS","profileSettings","profileSettingsTemp","React","memo","tableWidth","delta","columnSettings","actionWidth","action","Width","resizable","screens","list","columsTotalWidth","field","hidden","allCellWidth","draggable","style","minWidth","selectable","addIndex","Object","keys","map","c","isDouble","IsDouble","width2","Width2","setColumnWidth","setProfileColumnWidth","saveColumnWidth","saveProfileColumnWidth","warn","profileColumns","values","filter","column","colgroup","IsAction","onClick","onSort","bind","Title2","onResize","onResizeStop","onResizeStart","sort","obj","direction","doubleResizablTitle","resizablTitle","Sorted","doubleDefTitle","defTitle","ref","useRef","useState","field2","setField2","messageIdentity","useElementValidationFocus","valudationMessages","validate","useValidation","Validations","Warnings","change","event","nativeEvent","dataField","keyField","parentKeyField","newData","attributes","getNormalizedAttributes","Attributes","fieldChangeHandler","useElementChange","fieldOutHandler","useElementOut","Type","ColumnType","ElementContent","val","fieldChange","fieldOut","warningMessages","warnings","onActionRecord","parentData","firstTimeAction","selectedObject","landingValue","field2Name","secondaryLandingValue","field3Name","landingText1","landingText2","landingText","color","td","coloring","backgroundColor","InvertColor","wrap","SheetRow","minRowsCanDelete","groupBy","groupType","groupTypeValue","colSpan","subGroup","selectedRows","tRow","rowData","isDragging","actions","compact","accent","filled","classic","handleCheck","find","resizeMode","DataFieldName","TrueValue","Field2Name","Field3Name","isChild","isParent","GenerateColumnAction","record","recordId","reduce","a","b","deleted","Action","draggableId","isDragDisabled","disableDrag","isClone","provided","snapshot","subGroupChanged","group","screen_id","innerRef","draggableProps","dragging","group_start","groupChanged","select","dragHandleProps","grouping","SelectableComponent","createSelectable","SheetBody","Component","rows","createRowsData","pId","Array","isArray","groupIndex","groupedItems","subGroupData","ArrayGroup","subGroupValue","forEach","groupItem","arr","moveRow","selectableKey","providedPlaceholder","SheetFooter","height","setResizeMode","isMounted","useEffect","current","cI","sorColumnsByIndex","setTableWidth","size","selectedColumns","setSelectedRows","hasFooter","notUseInnerSelection","SelectableTable","children","onBeginSelection","handleBeginSelection","onEndSelection","handleMouseEndSelection","tolerance","selected","setSelected","r","undefined","selectedItems","onAfterMouseSelect","newItems","d","originalItem","droppableId","droppableProps","isDraggingOver","placeholder","display","Mapping","ScreenToolbar","MappingScreenToolbar","Wrap","MappingWrap","SectionGroups","MappingSectionGroups","Tabstrip","MappingTabstrip","tabstrip","ti","t","Form","screenToolbar","st","MappingFields","Fields","sectionGroups","sg","secrionGroup","MappingSections","Sections","sections","s","section","fields","f","gf","Data","useFormValidation","mapping","validationMethod","expandedRowKeys","passValidation","newExpandedRowKeys","updateExpandedRowKeys","validateObject","sectionGroupsData","identityPrefix","validationData","ci","split","reverse","useClientHubOrder","onNotificationReceive","connection","setConnection","token","newConnection","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","withAutomaticReconnect","build","stop","connectionState","start","on","Scroll","showButton","setShowButton","showLeftButton","setShowLeftButton","showRightButton","setShowRightButton","allowScroll","container","resizeObserver","scrollSpeed","scrollSpeedOnWeel","isScrollOnWeel","leftButtonClass","rightButtonClass","useScrollButtons","scrollToElementClass","scrollToElement","useCallback","domElement","ReactDOM","findDOMNode","element","getElementsByClassName","scrollIntoView","setButtons","checkShowButton","offsetWidth","scrollWidth","scrollLeft","speed","scrollRight","scrollOnWeel","wheelHandler","deltaY","supportsPassive","opts","defineProperty","window","addEventListener","removeEventListener","passive","cleanScrollOnWell","curent","unobserve","resizeObserverOrPolyfill","ResizeObserver","observe","showButtons","_scrollLeft","parentMenu","scrollHandler","scroll","interval","document","mouseUpHandler","clearInterval","setInterval","Fragment","onMouseDown","onEndScroll","onStartScroll","onScroll","defaultProps","vertical","GET_ALL_LOCATION_DOORS_LOADING","GET_ALL_LOCATION_DOORS","GET_FAVORITE_LOCATION_DOORS_LOADING","GET_FAVORITE_LOCATION_DOORS","ADD_CUSTOMER_ORDER_LOADING","ADD_CUSTOMER_ORDER","ArrayEquals","every","AddMonths","months","setMonth","getMonth","CloneObject","inputO","exceptList","outputO","k","ok","CreateGuid","_p8","random","toString","substr","FindParentValue","parentValueType","FindSelectedValueText","Compare","val1","val2","op","NullOrUndefined","ArraySort","propName","ArraySum","sum","groupNames","groups","groupName","ParseJson","JSON","parse","rgbaFormat","bw","rgba","RGBAFormatToRGB","invertRgb","HexToRGBAFormat","h","alpha","rgb","g","HexToRGB","sep","R","splice","RGBAToHexA","FunctionArgumentNames","func","result","slice","formatPhoneNumber","phoneRegExp","localDate","format","moment","utc","local","getContentWidth","Switchable","hide","show","setShow","overlay","rounded","micro","left","Settings","forwardRef","setProfileFilterVisibilityAndIndex","visible","setVisible","changed","setChanged","isColumnVisible","columnName","selectedScreen","getColumnIndex","getSettingsMenu","profileFilterSettings","filterSettings","next","prev","localeCompare","menuSettings","filterSettings0","filterSettings1","slot","cn","LinkAppPage","concat","setColumnSettings","saveColumnSettingsHandler","useImperativeHandle","ItemGroup","onDragEnd","destination","source","newColumnSettings","arrayOfNewColumnSettings","entries","newIndex","sortedList","ret","applyHandlerForRegions","sortedColumnSettings","trigger","onVisibleChange","flag","textIndent","preventDefault","marginLeft","FilterContainer","href","disabled","onClearAll","command","onApply","FilterField","formFields","block","GroupFilterField","setFilter","refs","history","useHistory","criteriaQuery","getCriteriaQuery","saveColumnSettingsRef","region","setRegion","applyFilter","search","buildListFilterQuery","getListFilter","filterFieldChangeHandler","newFilter","filtersConfig","ApplyOnChange","keyPressHandler","fieldResource","dragDrop","FieldSortResource","newFilters","fk","FilterType","includeEmpty","Select","MultiSelect","Radio","Checkbox","dataSource","Valuelist","GenerateInput","ElementConditions","Enable","GenerateSimpleCheckbox","defaultValue","DefaultValue","filterOption","input","option","caseSensitive","searchInput","contains","startsWith","showSearch","applyOnChange","allowClear","mode","disabledDate","Draggable","regionsObj","Assigned","applyFor","isFiltered","GenerateCheckBoxNoLabel","GenerateRadioSwitcher","Hidden","Ability","Displayability","Editability","NoEditability","NoDisplayability","isParentItem","findMenuItem","findUpdateMenuItem","level","updateMenuItem","parent_id","parentItem","maxLevel","view","edit","default","screen_order","useSectionPopup","windowKey","useDispatch","onSave","onCancel","openPopup","PopupTypes","ConfigSection","BatchTypes","List","Columns","screenKey","Key","Master","propsDataLength","setNewIndex","totalPrice","setTotalPrice","initialBatch","initialSetIsIndividualPrice","batch","isIndividualPrice","setBatch","setIsIndividualPrice","setInitialStates","_INIT_COUNT_","initCount","setInitCount","cancel","ValidateFields","spaceCount","weight","validDropLocation","dropLocationId","validRegion","dropRegionId","validRoute","routeId","openAlert","Alert","buttonYesText","sectionPopup","Popup","deleteReasonData","useDeleteReason","ReasonConfig","ResourceItem","isUseTotalPrice","deleteRecord","existingRecords","recordData","isNew","updatePrice","newRecord","firstRecord","orderStatus","orderIndicator","cloneRecord","lastRecord","cloneFields","pickWhEfs","dropWhEfs","updatePriceByTemplate","pickLockId","dropLockId","palletCount","changedData","price","setValue","handlePriceUpdate","changeRecordData","newValue","outSource","dependencies","Dependencies","order","space","abs","currentOrder","pickLocationId","sheetMessageIdentityPrefix","totalPriceValue","totalPalletCount","totalLeftOver","palletPrice","updatePriceType","presentationData","puWeek","puDate","dropWeek","dropDate","dragDropData","droppable","isDeliverDataMatch","deliverDate","deliverDate2","batchBlock","radio","setCheckedBatch","flexDirection","alignItems","fontSize","margin","toLocaleString","allowNegativeValue","maxLength","thousandseparator","prefix","onValueChange","CancelReason","currentData","cancelReason","created","createDate","week_days","full_week_days","transparent","simple","showUpload","Screen","loading","setLoading","uploadButton","LoadingOutlined","icon","UploadOutlined","uploader","restrictions","file","mDate","guid","guId","fileName","originalName","originalFileName","fileType","fullName","userFirstName","userLastName","comments","View","findIndex","landing","RateConfirmationForm","stopListProps","intro","company","address","addressLocation","phone","fax","dispatcher","loadNumber","pickUpDate","currentDate","email","LoadInfo","loadInfo","carrierName","accountingEmail","equipment","rateAmount","Carrier","carrierData","onChangeHandler","stopData","locationData","rowSpan","address1","address2","address3","purchaseOrders","time","pallets","hasAppointment","lbs","loadSequences","Field","ElementTypes","Comment","padding","notes","StopList","stopList","SendMail","Resource","IsRest","ccAddresses","ToolBars","GenerateToolBars","openConfirm","closePopup","closePopupAsync","errorHandler","onSend","additionalData","setDefaultData","DefaultId","save","sectionData","loadId","rateConfirmationData","fullScreen","bodyProps","setUpdating","close","success","finally","hasRateConfirmation","RateConfirmationConfig","ConfigForm","beforeSaveAction","updateData","saveAction","closeAction","filename","MultipleCheckbox","checkedValue","setCheckedValue","fontWeight","label","colorStyles","base","control","borderColor","borderRadius","boxShadow","minHeight","zIndex","valueContainer","paddingLeft","singleValue","indicatorsContainer","dropdownIndicator","innerDispatch","useSelector","locations","customers","locationsList","activeLocationsIDsList","j","favLocations","favLocationId","defaultLocation","loc","selectedLocations","setSelectedLocations","showNewSelect","setShowNewSelect","updatedLocations","optionsFavoriteLocations","getTextFromValueFavoriteLocations","favLocationName","options","selectedLocation","updatedLocation","updatedLocationsWithOutEmpty","onChangeHandle","styles","menuPlacement","newLocation","onAddNewLocation","GenerateRateConfirmationForm","updateProfile","propsScreenKey","useData","useMessage","isLoading","isUpdating","isDeleting","setDeleting","firstData","setFirstData","ValidateScreen","useParams","childId","backUrl","showPopup","historyState","formValidation","DefaultMessageTypes","START_FOCUSE","defaultData","DefaultDataTypes","INIT","loadData","_id","NotUseIdOnLoad","ParentField","ParentValue","customToolbar","setCustomToolbar","toolBars","afterUpdateAction","newResource","method","modifiedData","beforeUpdate","parentVal","userId","newState","loginName","firstName","lastName","deleteData","useDelete","checkReference","useCheckReference","confirmOptions","dataAction","hasReference","subAction","disableValidation","disableCheckChanges","BeforeSave","SaveBack","stringify","yesCallback","pathname","Clone","detailUrl","SaveNew","newUrl","SaveClose","changeAction","SaveSend","ForceUpdate","newDataValidation","forgotAction","Custom","CustomAction","CustomWithoutValidate","titleSuffix","titlePrefix","getTitle","handleBack","Details","ShowPopup","form","defValidations","SET_FOCUSE","setFields","process","comp","useReducer","messageType","isNodeIn","node","predicate","Error","currentNode","parentNode","isNodeInRoot","root","rect","getBoundingClientRect","top","body","scrollTop","offsetHeight","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","aObj","HTMLElement","getBoundsForNode","bObj","SelectableGroup","isBoxSelecting","boxWidth","boxHeight","_mouseDownData","_rect","_registry","_openSelector","_mouseDown","_mouseUp","_selectElements","_registerSelectable","_unregisterSelectable","register","unregister","_applyMousedown","enabled","_getInitialCoordinates","nextProps","domNode","apply","funcName","w","initialW","pageX","x","initialH","pageY","y","setState","boxLeft","boxTop","onSelection","onDuringSelection","fixedPosition","getComputedStyle","getPropertyValue","l","mLeft","mTop","bodyRect","elemRect","useCtrlKey","ctrlKey","nodeName","offsetData","which","button","doObjectsCollide","bottom","onNonItemClick","stopPropagation","isEnd","currentItems","_selectbox","selectbox","itemData","selectingClassName","component","boxStyle","position","cursor","cx","overflow","float","childContextTypes","PropTypes","WrappedComponent","SelectableItem","context","contextTypes","SET_CUSTOMER_DASHBOARD_DATA","CUSTOMER_DASHBOARD_LOADING","CUSTOMER_DASHBOARD_BUILD","ApiUrl","pickAppointmentButton","Appointment","NoSort","Button","Icon","PopupConfig","ActionType","Label","pickAppointment","Display","isEmpty","pickAppointmentField","DateTime","dropAppointmentButton","DropAppointment","dropAppointment","dropAppointmentField","loadSequence","LoadSequence","LoadSequenceAction","sequencesName","buttonPickAppt","customer","DataTitle","DataTitleField","pickStatus","StatusIndicator","center","pickWarehouse","pickCity","pickState","buttonDropAppt","dropStatus","dropWarehouse","dropCity","dropState","poNumberCount","totalPallets","totalWeight","loadTotalPallets","isFirst","red","orange","green","loadTotalWeight","buttonSequencesName","InboundAppointmentFields","Group1","useSeparator","LabelField","customerNameCode","CustomerForm","ButtonActionTypes","FormField","Group2","LocationForm","pickLocationName","warehouseId","WarehouseForm","drop1City","drop1State","drop1WH","drop2City","drop2State","drop2WH","OutboundAppointmentFields","formFieldClass","titleClass","Element","useElementDefaultFocus","Focus","Check","findValue","hasOwnProperty","clicked","fieldClasses","titleClasses","noScroll","none","isNone","isRight","FieldClasses","customEvents","Group","fieldGroupClasses","unitTitle","Section","extra","UnitTitle","columnConfig","components","SectionGroup","Extra","Components","ToolBar","toolBar","Items","Value","SubAction","LoginField","fieldKeyPress","actionFromElement","elementType","onKeyPress","TabPane","Tabs","Content","activeTab","setActiveTab","tabHistory","setTabHistory","useLocation","NoScroll","IsNone","IsRight","render","updatedSection","NewPage","defaultActiveKey","destroyInactiveTabPane","tab","forceRender","Grid","afterDelete","buttonNoText","sendRequest","afterAction","newConfig","Prompt","useDeleteItem","hasreference","notification","description","duration","LOAD","REACTED_ASSIGNED","REACTED_ASSIGNEDS","REACTED_AVAILABLE","REACTED_AVAILABLES","UNREACT_ORDERS","SET_HEADER_WIDTH","UNASSIGN_ORDERS","ADD_NEW_LOAD","ASSIGN_ORDERS_TO_LOAD","ASSIGN_ORDERS_TO_NEW_LOAD","ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL","DELETE_LOAD","SET_IN_LOADING","GET_MANIFEST_LIST","SET_DATA","SET_LOAD_DATA","UPDATE_LOAD_DATA","UPDATE_EFS_DATA","SET_ADD_NEW_IN_PROCESS","SET_REFRESH_IN_PROCESS","SET_CREATE_IN_PROCESS","SET_CREATE_SUB_IN_PROCESS","SET_SORT_LOAD_BY_CARRIER","SET_SORT_LOAD_BY_PICK_APPTS","SET_SORT_LOAD_BY_PICK_LOCATION","SET_SORT_LOAD_BY_DROP_LOCATION","SET_SORT_LOAD_BY_DELIVER_NUMBER","FILTER_IN_OUT_ORDERS","GET_HISTORY","GET_HISTORY_LOADING","SET_RE_ORDER_LOAD","MANIFEST_LIST_BUILD","OUTBOUND_LOAD_BUILD","INBOUND_LOAD_BUILD","CHECKBOX_ASSIGNED","CHECKBOX_AVAILABLE","CREATE_SUB_LOAD_ASSIGN_ORDERS","carrierListViewConfig","ListDefaults","AllowNewButton","CarrierTabs","UsePopup","useLocalState","Defaults","ShowRefreshButton","isHiddenSwitch","Search","Filter","number","licensePlate","vinNumber","Pagination","DefaultPagination","comment","TextField","driverName","driverPhone","expirationDate","driverEmail","licenseNumber","DateField","active","CheckBox","trailerTypeId","trailerSizeId","Bool","Generic","ComboAdd","addparams","TitlePrefix","TrailerTypeConfig","selectedValueType","TrailerSizeConfig","File","FileConfig","FileFieldName","Height","versionStr","pick","MultilineText","drop","rate","Currency","CarrierFormConfig","dot","mc","additionalAddress","city","stateId","SelectWithCache","Params","reloadOnParentChange","editability","Group3","zipCode","countryId","mainContact","Group4","mainPhone","mainPhoneExt","insuranceCompany","agency","insuranceEmail","insurancePhone","commercialPolicy","commercialPolicyExpirationDate","autoPolicy","autoPolicyExpirationDate","cargoPolicy","cargoPolicyExpirationDate","coiGuid","Avatar","fileFieldName","noImage","note","textarea","factoringCompanyId","Group5","nca","west","midWest","Group6","east","southEast","carrierPackage","packageUploadGuid","isApproved","denyReason","scheduleVerification","verifiedByName","verifiedById","verifiedDateTime","DateTimeLabel","blackList","blackByName","blackById","blackDate","blackReasonId","BlackReasonConfig","displayability","CarrierListConfig","accountNumber","hideForLoadPlanning","getContentWidthExceptLeftAction","leftAction","GET_LOCATIONS","LOCATIONS_LOADING","LOCATIONS_ERROR","LOCATIONS_BUILD","LoadSequenceFields","inboundLoadingSequenceId","inboundLoadingDescription","tableConfig","InlineTable","Style","pagination","Load","AreaResource","LoadResource","Pages","referenceNumber","pickRegionCode","dueDate","DefaultOrderColumns","OrderForm","AssignedOrderGroups","OutboundGroup1","OutboundGroup2","OutboundGroup3","OutboundGroup4","OutboundGroup5","Stop","AutoHeight","Small","Table","Coloring","DefaultStopColumns","PickAppointment","readyToBook","Booked","Book","CurrencyFieldViewOrEdit","Color","truckId","ComboAddViewOrEdit","TruckConfig","truckNumber","driverId","DriverConfig","trailer","attachments","TableLabelField","TableFileSizeLabelField","ColumnDate","external","ColumnBool","FileSizeLabelField","outboundLoadingSequenceId","outboundLoadingDescription","dropRegionCode","useClientHubNewRequest","needSocket","getContentWidthSomePartOnly","focus","setFocus","instance","create","baseURL","defaults","common","setProfileColumnVisibilityAndIndex","columnVisibilityHandler","Item","effect","Truck","carrierId","CarrierConfig","Driver","SelectElement","parentValue","selectedValue","useValueList","valueList","content","m","charAt","om","substring","GenerateMessages","ElementClassNames","classNames","CssErrorClassHandling","pop","out","itemValue","tabIndex","withTooltip","autoComplete","ValidationErrorClass","ValidationWarningClass","onBlur","GenerateFileInput","class","GenerateDecimalInput","symbol","isCreatePage","parseFloat","GeneratePhoneInput","mask","maskChar","country","defaultCountry","GeneratePassword","showPassword","setShowPassword","GenerateInputCurrency","suffix","GenerateTextArea","GenerateCheckBox","marginTop","GenerateCheckBoxModern","light","GenerateToolBarButton","GenerateRadio","large","GenerateDatePicker","date_format","restprops","weekNumber","isBefore","isAfter","GenerateDueDatePicker","hardFieldName","tooltipData","isHardDate","placement","needConfirm","renderExtraFooter","tabindex","GenerateTimePicker","time_format","minuteStep","use12Hours","GenerateColumnButton","popupConfig","template","link","createRef","handleAction","encodeURI","currentTarget","baseURI","setTimeout","responseType","timeout","URL","createObjectURL","download","click","role","GetPlace","place","placesAutocompleteService","google","maps","places","AutocompleteService","placesService","PlacesService","createElement","geometry","locationHandler","getPlacePredictions","componentRestrictions","getDetails","placeId","place_id","latValue","lat","lngValue","lng","_addressComponents","formatted_address","stateCode","street","streetNumber","zip","ac","address_components","addressComponent","types","short_name","long_name","CA","MX","US","outeSource","libraries","useGoogleApiLoader","googleApiKey","useJsApiLoader","googleMapsApiKey","emptyOption","setList","selectedId","archived","archiveDate","inactive","useValueListWithCache","valueKey","Option","DropDownElement","newValueList","getActionArgument","dropdownRender","optionFilterProp","favourite","validations","invalMessages","ValidateElement","popupActionTypes","closeAllPopups","DragDrop","dragIndex","dropIndex","draggableSource","getDragDropData","droppableSource","dragRecord","currentRecord","newSourceData","alert","newDestinationData","dropData","oneState","dragSource","dropSource","useDraggabale","ResizableTitle","restProps","handle","draggableOpts","enableUserSelectHack","OPEN_POPUP","CLOSE_POPUP","CLOSE_ALL_POPUPS","locationTypeStr","dateChange","locationName","formattedAddress","countryName","contactType","contact","contact2","phone2","email2","contact3","phone3","email3","CommentLabel","site","locationLogin","locationPassword","lumper","overnightParking","MapField","workingDays","working","CheckBoxModern","from","hours","createSeparator","itemDefaultSize","regionId","row","editable","reacted","available","updateStateFromStore","storeKeys","stateItem","updateStoreFromState","set","storeAuthenticationKeys","isLoggedIn","userRefreshToken","userRole","userLoginName","userEmail","userTokenExpiration","userRememberMeToken","defaultAuthenticationState","redirectUrl","updateAuthenticationState","authData","updatedState","refreshToken","exp","rememberMeToken","userProfile","refreshAuthenticationState","updateProfileState","removeAuthenticationState","remove","removeStore","createProfileDefaults","profile","swap","updateScreenSwap","updatedProfileSettings","updateListColumnSettings","updateListFilterSettings","updateListColumnSettingsTemp","updateListColumnSettingsFromTemp","updateListColumnTempSettings","defaultState","popups","isLoaded","defaultValueListState","addNewValueList","removeValueList","getEfsBGColor","cellStyle","getEfsStatusTooltip","extractWebLoadsToList","loads","doNotrenderSeparator","renderLastSep","loadsAssignedOrders","loadItem","ordersData","subLoads","createWebLoadArray","loadIdField","loadsData","assignedOrders","subOrders","oldLoadsAssignedOrders","subOrdersData","so","originalOrder","childSubOrder","parentId","subOrderId","originalOrderId","orderId","pickLocation","dropLocation","inboundPickIn","pickInDate","inboundPickOut","pickOutDate","inboundPickAppointment","pickAppointmenteDate","inboundAppointmentStatus","pickAppointmentStatus","inboundDropAppointment","dropAppointmenteDate","inboundDropIn","dropInDate","inboundDropOut","dropOutDate","inboundLumper","dropRestriction","pickRestriction","stepCount","cases","poNumber","createSubOrder","fso","parentLoadId","createWebLoad","ol","loadOrders","oldWebLoad","isSub","loadWebData","subId","isChecked","createPickKey","createKey","createDropKey","warehouse","orders","keyFunction","orderData","findOrderGroup","go","inOrderPossitionIndex","lo","createWebOrder","pickInboundGroups","stopNumber","wo","hederIndex","headerItem","tooltip","rightAction","maxDate","minDate","pickWeek","loadNum","efsSum","efsStatusMin","loadCommentsCount","inPickNummber","inDeliverNummber","displayState","isBold","sl","extractWebRegionsToList","regions","regionsAvailableOrders","regionItem","extractWebRegionToList","createWebRegionArray","availableOrders","regionHeaders","regionsOrders","createWebRegion","regionData","regionWebId","regionWebData","rIndex","regionHeader","toDate","toDateTime","oData","isHidden","allowCreateSubOrder","firstSubOrder","selfId","findFirstSubOrder","orderWebData","orderObjectId","loadObjectId","secondValue","thirdValue","readyDate","lastInboundPickFromData","lastInboundPickToData","inPickAuthorFullName","dropInboundAppointmentStatus","lastInboundDropFromData","lastInboundDropToData","inDropAuthorFullName","customerCodeOrName","pickWorkingDaysStr","soNumber","orderHistoryDict","temperature","rateConfirmed","carrierInformed","inLoad","outLoad","lastComment","outboundPickWeek","outboundPickIn","outboundPickOut","outboundPickAppointment","pickOutboundAppointmentStatus","outboundDropAppointment","outboundAppointmentStatus","dropAppointmentStatus","outboundDropIn","outboundDropOut","outboundLumper","subOrdersOrderIDs","subO","allLoadIDs","load","subL","subLoad","subOrder","outboundLoadId","loadHasSub","loadOrdersIds","subOrdersIDs","outOrderPossitionIndex","pickOutboundGroups","dropOutboundGroups","subLoadId","acc","outPickNummber","outDeliverNummber","orderHasSub","lastOutboundPickFromData","lastOutboundPickToData","outPickAuthorFullName","lastOutboundDropFromData","lastOutboundDropToData","outDropAuthorFullName","dropStateName","outOrderHistoryDict","InboundSubOrderFieldConvertor","InPickNummber","OutboundSubOrderFieldConvertor","loadType","inboundData","outboundData","updateOrdersLoadState","loadsAreSorted","loadsSortedBy","openModal","openModalNewLoad","loadContent","sortedLoads","loadA","LoadB","loadACarrierName","loadBCarrierName","reactedAssigned","reactedAssigneds","ids","indexes","reactedAvailable","regionOrders","regionIndex","reactUbReactCount","reactedAvailables","unreactOrders","newLoadsAssignedOrders","newRegionsAvailableOrders","unassignOrders","unassignOrderObjects","unAssignedOrderObjects","newLoads","newSubOrders","newOrders","unaO","dropInboundAppointment","efsInId","inEfsCreateDate","inEfsUpdateDate","inAmount","inCardNumber","inPaymentMethod","inNote","efsOutId","outEfsCreateDate","outEfsUpdateDate","outAmount","outCardNumber","outPaymentMethod","outNote","OrderPossitionIndex","locationId","load_id","assignOrdersToLoad","locationObjects","assignOrdersToLoadObject","orderLoadId","assignedOrderObjects","orderLoad","isLoadEmpty","keysList","keyNumber","orderGroups","foundGroupKey","firstOrder","groupingPickUpdateFields","groupingDropUpdateFields","ordersWithSameLoadAndPosition","ordersInLoad","assignedOrdersIds","ordersInLoadBeforeAssign","locationObject","ordersInLoadWithSameLoc","checkedAppointment","checkedStatus","assignedOrder","thereIsOrderWithSameLocation","orderWithSameLocation","ordersWithSameLocation","ordersWithSameLocInAssigned","orderInboundDropAppointment","orderDropInboundAppointment","orderDelAppointmentStatus","orderInLoadWithPickAppt","orderInLoad","ord","assignOrdersToNewLoadWithModal","addNewLoad","assignOrdersToNewLoad","createSubLoadAssignOrders","addedSubOrders","newSuborders","deleteLoad","deletedLoads","collectDeletedSubLoads","deletedLoadId","dl","updateLoadOrderGroupData","pickGroup","dropGroup","changedOrder","setLoadData","changedLoad","oldWeek","setData","changedSubOrder","SubOrderFieldConvertor","orderGroupIndex","hardBatchOrders","batchType","subOrdersOfHardOrder","hardBatchSubOrders","orderInLoads","updateLoadOrders","setDataEfs","newEfs","changedEfs","paymentMethod","amount","cardNumber","now","setDisplayState","lastSelected","headerKey","updateLoadData","setAddNewInInProcess","addNewInProcess","setRefreshInProcess","refreshInProcess","setCreateInProcess","createInProcess","setCreateSubInProcess","createSubInProcess","setInLoading","setSortLoadsByCarrier","setSortLoadsByPickAppts","appts","loadWithSortedOrdersEmpty","loadWithSortedOrdersFilled","temp","joinedLoadWithSortedOrders","setSortLoadsByPickLocation","setSortLoadsByDropLocation","loadWithSortedOrdersFilledSanFernanto","loadWithSortedOrdersFilledOther","setSortLoadsByDeliverNumber","filterInOutOrders","filterType","stateFilterOptions","filterOptions","getHistoryList","historyList","historyLoading","setHistoryLoading","setReOrderLoad","firstOrderId","secondOrderId","orderPossitionIndex","secondOrder","firstOrderIndex","secondOrderIndex","allHeders","allHeaders","del","apptStatus","stateName","apptHistoryList","inboundDeliveryEstimate","callCheckOutAttachment","outPodRequestStatus","stops","stopsList","Set","createStop","firstOrderData","value2","pickWhLumper","dropWhLumper","inOrderStatusByCall","outOrderStatusByCall","inDelayedReason","outDelayedReason","stopId","customerName","inPodRequestStatus","inPodRequestAuthorFullName","outPodRequestAuthorFullName","callCheckInAttachment","inNotes","outNotes","inPodNotesHistory","outPodNotesHistory","filterCallChecks","hasSub","stopsOrders","orderStops","changedOrderLoadType","orderStopId","stopOrdersIds","getHistoryListCallCheck","setHistoryLoadingCallCheck","setError","sortType","payerFullName","paidDate","additionalPay","inboundLoadNumber","outboundLoadNumber","tempValue","null","0","1","2","3","tempValueOrderNotes","filterDeliveredTrucks","getHistoryListDeliveredTrucks","setHistoryLoadingDeliveredTrucks","sortable","defaultStateClone","statusList","loadStatus","headerIndex","statusValue","priorityValue","delayedValue","valueText","loadvIdentifier","palletCountSum","previousDt","previousIn","previousOut","whDt","whDour","whIn","whOut","firstDrop","isTruckVerifaed","inLoadNeeds","trafficNote","isPriority","isDelayed","subType","createHeaderForTrafficList","currentAndNextHeaders","subHeaderName","subHeaderData","Index","createWebSubHeader","currentAndNextTrafficList","currentTrafficListState","nextTrafficListState","curentTrafficList","currentTraffics","createCurrentTrafficListWithSeparator","nextTrafficList","nextTraffics","createNextTrafficListWithSeparator","allTrafficListJoined","doneTrafficList","currentTrafficList","createDoneTrafficList","createCurrentTrafficList","createNextTrafficList","setTrafficControl","allTrafficList","allTrafficListState","doneTrafficListState","load1","load2","currentAndNextRowList","palletCountSummary","paletCountSum","updateLoadStatus","newStatus","reOrderLoads","newList","currentTrafficOrderedLoadsIDs","dragOnCurrentlyInDoor","sortByDragAndDrop","trafficListState","reSortedList","sortedCurrentTrafficListState","sortedNextTrafficListState","len","subHeader","subHeaders","setLoadNeedId","inLoadNeedId","statusText","total","existing","createUpcomingTrafficList","upcomingTrafficList","setTrafficControlUpcoming","upcomingTrafficListState","setFilterByDate","filteredOrdersList","filteredUpcomingTrafficList","setDataUpcoming","setCustomerDashboard","customerDashboard","createCustomerOrdersList","customerOrders","direct","revisionPalletCount","revisionSpace","revisionWeight","revisionNotes","customerOrderNotes","customerOrder","instantOrders","revisionOrders","revisionOrderid","customerOrderInProgress","revisionCustomerOrder","orderUpdated","sortByValue","orderBy","sortedCustomerOrderInProgress","customerOrderNewOrders","totalOrders","orderAdded","deleteCustomerOrder","addCustomerOrder","addCustomerOrderloading","editCustomerOrder","sortedCustomerOrderNewOrders","resetOrderAdded","setAddCustomerOrderLoading","setFormValues","formValues","setIsLoadingFavoriteDoorsList","favoriteDoorsLocationsLoading","setIsLoadingAllDoorsList","allDoorsLocationsLoading","getFavoriteLocationDoorList","favoriteLocationsDoorsList","getAllLocationDoorList","allLocationsDoorsList","rejectReason","customerOrdersRejected","customerRejectedOrders","loadingRejectedOrders","totalRejectedOrders","setInLoadingRejectedOrders","customerOrderRejectedOrders","sortedCustomerRejectedOrders","customerLastOrders","sortedCustomerLastOrders","customerOrderAdmin","messageText","orderGenerated","generateCustomerOrderLoading","rejectCustomerOrderLoading","orderRejected","filteredCustomerOrderAdmin","sortedCustomerOrderAdmin","newRequestOrdersCount","newRequestCount","createRevisionOrdersList","revisionCases","revisionOrderAdmin","acceptRevisionOrderLoading","rejectRevisionOrderLoading","revisionOrderAdminList","orderAccepted","acceptRevisionOrder","rejectRevisionOrder","getComments","setComment","changeRequestListLoading","openOrdersLoading","deliveredDate","freight","billedByFullName","billedDate","getChangeRequestData","changeRequestData","setOrderId","setChecked","selectedOrder","selectedOrderIndex","updatedOrders","reCalculatePrice","priceTemplateTypeId","setPriceAsCalculated","priceIsCalculated","openOrdersHeaders","getLoadDetails","loadDetails","setLoadDetails","clearLoadDetailsData","getCarrierList","carrierList","carrier","getTrucksList","trucksList","truck","getTrailersList","trailersList","getDriversList","driversList","driver","getEmptyEFS","EFS","EFSLoading","getEFS","getEFSList","EFSList","setEFSLoading","setEFS","updateEFS","getRateConfirmationData","getRateConfirmationPDF_URL","lastIndexOf","rateConfirmationGUID","getCarrierRateConfirmationdata","carrierRateConfirmationData","getNotes","setNotes","Delivered","Shortage","Overage","Reject","filterDeliveredLoads","customersList","createCustomerPrice","customerPriceData","maxPrice","formulas","minPrice","perWeight","createCustomerPriceList","getCustomersPriceList","customerPriceList","setLocationsList","emptyLine","isPricePerPall","pallCount","fromItem","toItem","createEmptyCustomerPriceLine","updatedList","priceRange","pricePall","setPriceData","changedPrice","addCustomersPrice","newPrice","newCreatedPrice","setcustomerPriceType","headersPricePerRange","headersPricePerPound","headersPricePerPall","getOrdersList","ordersList","newGroupCreated","route","createGroup","newGroupId","groupId","setBatchType","createFactoringCompanyList","factoringCompanyList","factoringData","factoringCompanyData","companyName","terms","mailingAddress","createFactoringCompany","getFactoringCompanyList","newFactoryAdded","getFactoringCompanyDetails","factoringCompanyDetails","factoryCompanyUpdated","addFactoringCompanyDetails","submitActinType","updateFactoringCompanyDetails","getStatesList","statesList","emptyFactoringCompanyDetails","errorMessage","getLocations","comReducer","combineReducers","authenticationActionTypes","popup","googleActionTypes","valueListActionTypes","loadArea","errorText","outboundload","callCheck","GET_CALL_CHECK","CALL_CHECK_ERROR","FILTER_CALL_CHECKS","GET_CALL_CHECK_LOADING","RELOAD_ON_ERROR_CALL_CHECK","SET_HEADER_WIDTH_CALL_CHECK","SET_CALL_CHECK_DATA","GET_HISTORY_CALL_CHECK","GET_HISTORY_CALL_CHECK_LOADING","AccountReceivable","newHeaders","GET_ACCOUNT_RECEIVABLE","ACCOUNT_RECEIVABLE_ERROR","FILTER_ACCOUNT_RECEIVABLE","SORT_ACCOUNT_RECEIVABLE","GET_ACCOUNT_RECEIVABLE_LOADING","RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE","SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE","GET_CHANGE_REQUEST_DATA","GET_CHANGE_REQUEST_DATA_LOADING","GET_CHANGE_REQUEST_DATA_ERROR","SET_ACCOUNT_RECEIVABLE_DATA","SET_ORDER_ID","SET_CHECKED","UPDATE_PRICE","RECALCULATE_PRICE","SET_PRICE_AS_CALCULATED","AccountPayable","GET_DELIVERED_TRUCKS","DELIVERED_TRUCKS_ERROR","FILTER_DELIVERED_TRUCKS","SORT_DELIVERED_TRUCKS","GET_DELIVERED_TRUCKS_LOADING","RELOAD_ON_ERROR_DELIVERED_TRUCKS","SET_HEADER_WIDTH_DELIVERED_TRUCKS","SET_DISPLAY_STATE_DELIVERED_TRUCKS","REACTED_ASSIGNED_DELIVERED_TRUCKS","SET_DELIVERED_TRUCKS_DATA","GET_HISTORY_DELIVERED_TRUCKS","GET_HISTORY_DELIVERED_TRUCKS_LOADING","traffic","trafficControl","SET_HEADER_WIDTH_TRAFFIC","RELOAD_ON_ERROR_TRAFFIC","GET_TRAFFIC_CONTROL","UPDATE_LOAD_STATUS","RE_ORDER_LOADS","SET_LOAD_NEED_ID","trafficUpcoming","trafficControlUpcoming","SET_HEADER_WIDTH_TRAFFIC_UPCOMING","SET_DATA_UPCOMING","GET_TRAFFIC_CONTROL_UPCOMING","FILTER_BY_DATE_UPCOMING","CUSTOMER_ORDERS_LOADING","SET_HEADER_WIDTH_ORDER_IN_PROGRESS","GET_CUSTOMER_ORDERS_IN_PROGRESS","SORT_ORDERS_IN_PROGRESS","REVISION_CUSTOMER_ORDER","SET_HEADER_WIDTH_NEW_ORDERS","GET_CUSTOMER_ORDERS_NEW_ORDERS","SORT_ORDERS_NEW_ORDERS","DELETE_CUSTOMER_ORDER","SET_FORM_VALUES","RESET_ORDER_ADDED","EDIT_CUSTOMER_ORDER","customerOrderLocations","CUSTOMER_ORDER_ADMIN_LOADING","SET_HEADER_WIDTH_ORDER_ADMIN","GET_CUSTOMER_ORDER_ADMIN","SORT_ORDERS_ADMIN","FILTER_BY_CUSTOMER","GENERATE_CUSTOMER_ORDER_LOADING","REJECT_CUSTOMER_ORDER_LOADING","GENERATE_CUSTOMER_ORDER","REJECT_CUSTOMER_ORDER","NEW_REQUEST_ORDERS_COUNT","SET_HEADER_WIDTH_ADMIN_REVISION","GET_REVISION_ORDER_ADMIN_LOADING","GET_REVISION_ORDER_ADMIN","ACCEPT_REVISION_ORDER_LOADING","REJECT_REVISION_ORDER_LOADING","ACCEPT_REVISION_ORDER","REJECT_REVISION_ORDER","LOAD_DETAILS_LOADING","GET_LOAD_DETAILS","LOAD_DETAILS_ERROR","SET_LOAD_DETAILS","GET_CARRIER_LIST","GET_TRUCKS_LIST","GET_TRAILERS_LIST","GET_DRIVERS_LIST","CLEAR_LOAD_DETAILS_DATA","EMPTY_EFS_LOADING","GET_EMPTY_EFS","EFS_LIST_LOADING","GET_EFS","GET_EFS_LOADING","GET_EFS_LIST","SET_EFS_LOADING","SET_EFS","UPDATE_EFS_LOADING","UPDATE_EFS","UPDATE_EFS_ERROR","EMPTY_EFS_ERROR","GET_EFS_ERROR","EFS_LIST_ERROR","SET_EFS_ERROR","rateConfirmation","GET_RATE_CONFIRMATION_LOADING","GET_RATE_CONFIRMATION_DATA","GET_RATE_CONFIRMATION_ERROR","GET_RATE_CONFIRMATION_PDF_URL","GET_CARRIER_RATE_CONFIRMATION_DATA","deliveredLoads","GET_DELIVERED_LOADS_LOADING","GET_DELIVERED_LOADS","DELIVERED_LOADS_ERROR","REACTED_ASSIGNED_DELIVERED_LOADS","FILTER_DELIVERED_LOADS","SORT_DELIVERED_LOADS","RELOAD_ON_ERROR_DELIVERED_LOADS","SET_HEADER_WIDTH_DELIVERED_LOADS","SET_DISPLAY_STATE_DELIVERED_LOADS","SET_DELIVERED_LOADS_DATA","GET_CUSTOMERS_LIST_LOADING","GET_CUSTOMERS_LIST","GET_CUSTOMERS_LIST_ERROR","GET_CUSTOMERS_PRICE_LIST_LOADING","GET_CUSTOMERS_PRICE_LIST","GET_CUSTOMERS_PRICE_LIST_ERROR","ADD_EMPTY_LINE_ON_PRICE_LIST","REMOVE_EMPTY_LINES_ON_PRICE_LIST","SET_CUSTOMER_PRICE_DATA","ADD_CUSTOMER_PRICE_LOADING","ADD_CUSTOMER_PRICE","ADD_CUSTOMER_PRICE_ERROR","SET_CUSTOMER_PRICE_TYPE","SET_CUSTOMER_PRICE_TYPE_LOADING","SET_CUSTOMER_PRICE_TYPE_ERROR","DELETE_CUSTOMER_PRICE_LOADING","DELETE_CUSTOMER_PRICE_ERROR","SET_PER_PALLET_TYPE","GET_CUSTOMER_LOCATIONS_LIST_LOADING","GET_CUSTOMER_LOCATIONS_LIST","GET_CUSTOMER_LOCATIONS_LIST_ERROR","factoringCompany","SET_HEADER_WIDTH_FACTORING_COMPANY","GET_FACTORING_COMPANY_LIST_LOADING","GET_FACTORING_COMPANY_LIST","SORT_FACTORING_COMPANY","GET_FACTORING_COMPANY_DETAILS_LOADING","GET_FACTORING_COMPANY_DETAILS","DELETE_FACTORING_COMPANY_LOADING","GET_STATES_LIST","EMPTY_FACTORING_COMPANY_DETAILS","ADD_FACTORING_COMPANY_LOADING","ADD_FACTORING_COMPANY","UPDATE_FACTORING_COMPANY","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","Loading","spinner","addValueList","fileCont","setFileCont","listType","setGuid","setOriginalName","showUploadList","customRequest","formData","FormData","append","beforeUpload","info","OrderColumns","TableDecimalField","inboundAppointment","ColumnBadge","LatestCommentIndicator","_","circle","SimpleColumnIndicator","blue","receiveDate","ReceiveIndicator","useContext","GridContext","setDataSource","setHeader","headerArr","csvElRef","request","Sorts","sorts","timeOut","searchValue","setSearchValue","clearTimeout","CreateGroupButton","createGroupButtonText","onCreateGroupClick","validationSchema","shape","sheetName","string","required","customStyles","marginRight","transform","GSheetModal","isOpen","onCloseModal","onSubmit","onRequestClose","ariaHideApp","align","initialValues","isValid","errors","htmlType","ImportFromGSheet","refreshData","isOpenModal","setIsOpenModal","setIsLoading","useNotification","api","contextHolder","toggleModal","open","openNotification","ExportToGSheet","setNewRequestCount","showRefreshButton","shadow","showTitleOnGrid","showTitle","hideSettings","allowNewButton","addButtonText","onNewClick","HasSubNavigation","importGSheet","exportGSheet","allowCreateGroupButton","ListScreen","listView","formList","isFormList","setGroupOrdersModalIsOpen","groupOrdersModalIsOpen","setGroupOrdersListModalIsOpen","setCreateGroupValues","closeModal","customStyle","maxWidth","maxHeight","isFocused","overflowY","textOverflow","whiteSpace","pointerEvents","customersOptionsList","getTextFromValues","Yup","enableReinitialize","resetForm","setSubmitting","setFieldValue","handleSubmitSave","isSubmitting","touched","handleSubmit","IndicatorSeparator","buttonSolidCheckedActiveBg","background","border","cellData","itemSize","setCheckedList","tempData","setTempData","oldArray","getData","cellDefaultStyle","lineHeight","rowStyle","actionMessage","getOrdersByCustomer","createNewGroup","groupOrdersListModalIsOpen","setOrders","checkedList","useMemo","getAsignedItemSize","RenderAssignedRow","allOrdersList","overflowX","itemCount","flexGrow","createContext","DisableDownload","ImportGSheet","ExportGSheet","screenTitle","resourceItem","viewConfig","hasPaging","paginationCurrent","Current","paginationPageSize","PageSize","usePopup","parentField","setTotal","hasFormListScreen","setHasFormListScreen","criteria","getListCriteria","createGroupValues","byId","historyStateManager","updateGrid","hideLoading","criteriaResult","pageSize","filterJson","Page","onAction","Invoice","NeedToClarify","isNeedToClarify","Complete","columnsSort","fetchData","changesCount","buildListSortPaginationQuery","pageSizeOptions","PageSizeOptions","newPageSizeOptions","listContent","showSizeChanger","ShowSizeChanger","hideOnSinglePage","filters","sorter","Member","SortDirection","tableContent","test1","auto_height","small","filterableTable","test3","test2","Provider","HideSettings","AllowCreateGroupButton","AddButtonText","ShowTitleOnGrid","ShowTitle","FormView","FormScreen","ADD_VALUE_LIST","REMOVE_VALUE_LIST","Profile","avatarGuid","mobilePhone","workPhone","oldPassword","PasswordField","ChangeRunTime","password","confirmPassword","code","warehouseNotes","warehouseAddress","LOAD_DETAILS_BUILD","exports","_extends","assign","arguments","call","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_tinycolor","require","_tinycolor2","__esModule","_this","TypeError","_classCallCheck","initRgb","_color$toRgb","toRgb","redValue","greenValue","blueValue","initHsb","_color$toHsv","toHsv","v","hueValue","saturationValue","brightnessValue","toHexString","toRgbString","initAlpha","alphaValue","isValidHex","hex","toHex","saturation","brightness","hue","lightnessValue","setAlpha","getAlpha","module","SET_CUSTOMER_PRICE_DATA_LOADING","SET_CUSTOMER_PRICE_DATA_ERROR","CUSTOMERS_BUILD","Location","locationStateCode","RenderText","secondaryLanding","dateChangeStr","lumperStr","overnightParkingStr","locationType","Combo","AddressField","contactTypeId","ContactTypeConfig","phoneExt","phone2Ext","phone3Ext","loadingRestriction","lumperPrice","whEfs","TrailerSize","Trailer","billingAddress","contactName1","contactPhone1","contactEmail1","contactName2","contactPhone2","contactEmail2","sectionTitle","SectionTitle","favLocationId1","favLocationId2","favLocationId3","favLocation1","favLocation2","favLocation3","Invoiced","Done","InTransit","RemoveInTransit","Dispatch","GOOGLE_LOADED","HIDE_SHOW_MENU","templates","CarrierPacket","actionType","BeforeStateChange","onUpdate","buttonTemplate","ReceiveHandler","warning","RequestAppointment","dispatchData","loadCustomerGroup","customerIndex","OpenForm","formConfig","RequestCarrierPacket","isApprove","imageUrl","setImageUrl","Thumbnail","reader","FileReader","readAsDataURL","src","alt","AvatarUploader","validationMessages","NewButton","editOrder","dropId","MAX_SAFE_INTEGER","UPDATE_PRICE_LOADING","UPDATE_PRICE_ERROR","RECALCULATE_PRICE_LOADING","RECALCULATE_PRICE_ERROR","ACCOUNT_RECEIVABLE_BUILD","TimeFieldViewOrEdit","DateFieldViewOrEdit","InboundLoadingSequenceFields","OutboundLoadingSequenceFields","inbioundAppointmentStatus","textAlign","dispatchDropData","dropType","setAvailableSelection","initDragDropData","ColumnDateTime","Expandable","TruckOrders","LoadOrders","AssignedOrders","defaultExpandedRowKeys","setExpandedRowKeys","ValidateSectionGroups","deleteType","recordIndex","addNew","onNewClickHandler","setNewFields","Schema","useParent","newComponentRecord","selectedRowsCopy","deleteDataItem","rowKey","expandable","expandedRowRender","OrderConfig","onExpandedRowsChange","expandedRows","BlackReason","inboundIn","inboundOut","outboundTruckNumber","outboundCarrierName","outboundDriverName","outboundDriverPhone","pickOutboundAppointment","outboundAppointment","outboundIn","outboundOut","ComboAddViewOrEditWithCash","ValueListUrls","LocationConfig","Group7","pickRegionName","SelectViewOrEdit","purple","IntFieldViewOrEdit","DecimalFieldViewOrEdit","IntDecimalField","inboundLoadingSequenceName","outboundLoadingSequenceName","user","GetAppPages","NotFound","DefaultPage","firstPage","UpdateAppPages","RefreshLogin","AutoLogin","Register","ListSettings","Organization","website","TrailerType","ContactType","contactTypeName","Manifest","week","ForgotPassword","DefaultState","userName","remember","Container","onOuterClick","skipCloseClassNames","handleClick","useOuterClickNotifier","onClose","closeOnOutsideClick","ActionBar","noCallback","ActionBarAlert","html","sectionValidation","marquee","noteCheckBeforeSave","TemplateDetails","open_class","RegExps","RegexpTest","regexp","ValidateSection","identity","ValidateSections","sectionToolbar","ValidateScreenToolbar","ValidateWrap","ValidateTabstrip","UPDATE_FACTORING_COMPANY_LOADING","recourse","FACTORING_COMPANY_BUILD","DefaultTable","cell","tableLayout","showSorterTooltip","rowSelection","summary","rowClassName","bordered","showHeader","footer","hasData","DefaultSummaryTable","SummaryTable","SimpleIndicator","Indicator","CommentIndicator","CancelIndicator","Badge","FileSize","Customer","LocationDoor","LocationDoorListByParentId","_react2","_interopRequireDefault","_propTypes2","_color2","_Board2","_Preview2","_Ribbon2","_Alpha2","_Params2","_classnames2","_validationColor2","_defineProperty","_inherits","subClass","superClass","constructor","setPrototypeOf","getOwnPropertyNames","getOwnPropertyDescriptor","_defaults","noop","Panel","_React$Component","self","ReferenceError","_possibleConstructorReturn","_initialiseProps","defaultAlpha","defaultColor","componentDidMount","onMount","UNSAFE_componentWillReceiveProps","_cx","_this2","_props","prefixCls","enableAlpha","_state","wrapClasses","_ref","onFocus","rootPrefixCls","handleChange","handleAlphaChange","onInputClick","onSystemColorPickerOpen","onAlphaChange","_this3","systemColorPickerOpen","_blurTimer","propTypes","bool","oneOf","onPlaceSelected","defaultPosition","Geocode","setApiKey","setPosition","infoWindowState","setInfoWindowState","mapContainerClassName","mapTypeId","zoom","keyboardShortcuts","fromLatLng","latLng","results","onCloseClick","pixelOffset","mapFieldArr","isTstWarehouse","getIcon","scaledSize","onDragEndHandler","infoWindowCloseHandler","infoWindowOpenHandler","DropDownNewItem","flex","onAddClickHandler","PlusOutlined","addNewElement","actionValueName","ValueField","getElementById","blur","objectResult","hash","ColorElement","RGBA","DefaultParams","array","showHidePassword","timeFormat","dataTitle","ElementTypesArguments","LandingText","DateLabel","LabelDecimalField","LabelFieldDate","LabelCountField","DueDateField","TimeField","CurrencyField","MultipleSelect","ComboViewOrEdit","ComboAddWithCache","ToolBarButton","CancelColumnIndicator","ToolbarDate","ColumnTime","LabelFieldCurrency","attributeList","n","userProvidedFunctionName","newParams","pN","contentFunction","argNames","functionArguments","argI","GenerateColumnDateLabel","GenerateColumnDateTimeLabel","GenerateColumnTimeLabel","GenerateColumnBoolLabel","currency","minimumFractionDigits","maximumFractionDigits","customCondition","keyPress","landingDayExist","isSecondaryLanding","DateTimeField","DecimalField","MultipleMarkersMapField","_fieldOut","_onKeyPress","_attributes","_onActionRecord","_parentData","_clicked","GenerateCancelIndicator","GenerateLatestCommentIndicator","GenerateReceiveIndicator","GenerateColumnBadge","GenerateSimpleColumnIndicator","GenerateColumnDate","DefaultToolBars","Send","Receive","RequestAction","Approve","Request","Requested","Confirmed","toolbars","ToolBarItems","toolbar","statuses","ApptField","locationInfo","setLocationInfo","setNode","dispatchAction","fillInfo","holder","getElementsByTagName","parentElement","classList","add","horizontalHolder","setAttribute","prepend","showTime","showNow","suffixIcon","isInbound","appointment","responseData","getPopupContainer","onOpenChange","getInfo","attribute","avarageWaitTimeStr","ApptInfo","loactionName","locationPastInfoList","locationFutureInfoList","statusStr","Column","justifyContent","linkAppPage","dataTip","formattedText","receiveUser","received","GetCancelIndicator","cancelByStr","cancelDate","GetLatestCommentIndicator","badge","viewBox","fill","xmlns","columnConfigs","cIndex","defaultSorts","emptyWidthColumns","approximateColumnWidth","fieldsAtrray","lastField","resizeEvents","dataIndex","sortOrder","defaultSortOrder","onHeaderCell","columnType","bgColor","configKey","ItemKey","displayText","GenerateColumnTime","GenerateColumnDateTime","GenerateColumnNumber","GenerateColumnCurrency","GenerateColumnBool","GenerateStatusIndicator","GenerateCommentIndicator","Decimal","GenerateColumnDecimal","GenerateColumnPhone","GenerateColumnFile","DownloadUrl","GenerateColumnMultilineText","GenerateColumnText","Symbol","getCriteriaQueryFromLocation","searchCriteria","URLSearchParams","decodeURI","builFilterQueryParams","createNewCriteria","defaultPageSize","newSorts","newCriteria","replaceNull","CALL_CHECK_BUILD","global","appVersion","packageJson","version","CacheBuster","loadingApp","isLatestVersion","refreshCacheAndReload","caches","names","reload","myHeaders","Headers","myRequest","fetch","json","meta","versionA","versionB","versionsA","versionsB","shift","isNaN","semverGreaterThan","DELIVERED_TRUCKS_BUILD","DELETE_CUSTOMER_ORDER_LOADING","EDIT_CUSTOMER_ORDER_LOADING","OriginalComponent","reqInterceptor","interceptors","use","req","resInterceptor","res","eject","DELIVERED_LOADS_BUILD","TRAFFIC_LOADING","TRAFFIC_CONTROL_BUILD","_slicedToArray","iterator","_arr","_n","_d","_e","_s","_i","done","sliceIterator","_reactDom","_rcTrigger2","_Panel2","_placements2","refFn","prevent","ColorPicker","saveTriggerRef","onTriggerClick","colors","setOpen","onPanelMount","panelDOMRef","callback","onOpen","getRootDOMNode","getTriggerDOMNode","triggerInstance","getPickerElement","_RGB","RGB","cloneElement","unselectable","getCalendarContainer","animation","transitionName","popupAlign","builtinPlacements","popupPlacement","destroyPopupOnHide","popupStyle","popupAnimation","popupTransitionName","popupVisible","onPopupVisibleChange","isRequired","_reactDom2","_addEventListener2","Board","onBoardMouseDown","buttons","clientX","clientY","pointMoveTo","removeListeners","dragListener","onBoardDrag","dragUpListener","onBoardDragEnd","onBoardTouchStart","touches","removeTouchListeners","targetTouches","touchMoveListener","onBoardTouchMove","touchEndListener","onBoardTouchEnd","getPrefixCls","pos","rWidth","rHeight","componentWillUnmount","hueHsv","hueColor","xRel","yRel","onTouchStart","Preview","_temp","_len","args","_key","opacity","Ribbon","onDrag","coords","per","rgbaColor","Alpha","getBackground","_this$props$color","_percentage2","modesMap","getChannelInRange","range","HSB","handleHexBlur","handleHexPress","handleHexChange","handleModeChange","modeIndex","handleAlphaHandler","updateColorByChanel","channel","handleColorChannelChange","nextColor","colorChannel","paramsClasses","componentName","autoAdjustOverflow","adjustX","adjustY","targetOffset","placements","topLeft","points","offset","topRight","bottomLeft","bottomRight","authStart","authFail","check","refreshTocken","afterMinutes","dispathc","refresh","doLogin","refreshRequest","RefreshToken","parts","part","jPart","atob","doRefreshTocken","logout","autoLogin","returnUrl","authRequest","login","isAuthenticated","storeProfileColumn","ListColumnWidthUpdateTemp","sendProfileData","saveScreenSwap","setScreenSwap","settingsRequest","listData","HasError","selectedOutSource","selectedWeekNumber","selectedWeekDay","day","momentWeekDay","innerHTML","finalLanding","momentDate","dipoIn","dipo","el","_GENERAL_INIT_COUNT_","MAX_VALUE","GET_CARRIER_RATE_CONFIRMATION_ERROR","RATE_CONFIRMATION_BUILD","LOGIN","REFRESH","PROFILE","LOGOUT","AUTH_START","AUTH_FAIL","LIST_COLUMN_VISIBILITY","LIST_COLUMN_VISIBILITY_AND_INDEX","LIST_FILTER_VISIBILITY_AND_INDEX","LIST_COLUMN_WIDTH_TEMP","LIST_COLUMN_WIDTH_FROM_TEMP","LIST_COLUMN_WIDTH_UPDATE_TEMP","LIST_COLUMN_WIDTH","SCREEN_SWAP","webpackAsyncContext","__webpack_require__","Promise","resolve","all","Logo","HomeFilled","MainNavigation","launcher","managedMenu","toUpperCase","UserMenu","profiles","orgMenu","openUserProfile","openOrgProfile","data-count","useClientHub","clientId","CustomerId","connectionStarted","off","fetchConnection","storeData","ProfileConfig","UserProfile","model","openChangePassword","UserID","useCacheHub","cacheName","invert","userFLName","SubNavigation","selectedMenu","SubToolbar","setManagedMenu","setGoogleLoaded","DragableTable","column1","column2","column3","onMoveRow","hoverIndex","Uploader","droppable1Data","droppable2Data","setData2","droppable1","droppable2","colorPicker","Development","exact","UploaderTable","customerTooltip","isWarehouse","inboundStopNotes","outboundStopNotes","inTransit","in","BaseData","defaultKey","oG","firstO","si","firstStops","fs","newStop","inboundRate","useDragging","defaultDroppableId","mainResource","getFilteredSortedOrders","getStops","updateSelectedOrders","apiResource","setAvailableOrders","initStops","initOrderFromStop","getAllStopOrders","setStops","assignApiPath","unassignApiPath","resetOrder","apiUpdate","orderIds","createRequest","toData","newAvailableOrders","ao","dropAvailableOrders","newStops","oldStop","currentOrders","dropO","updatedData","useFiltering","filterConfig","sortAppointment","typeGroup","availableOrdersType","getFilterConfig","setApplyFor","getOrders","valueField","textField","getStopsOrders","sr","no","getFilterData","availableOrdersLocations","avO","pickRegion","dropRegion","fe","filterQuery","ff","sorting","filteredTypeGroupArr","ordersArr","hasSameTypeGroup","o1","o2","multiplier","firstValue","newFilteredSettings","filteredStop","s1","s2","nameA","nameB","useSelection","selectedOrders","setSelectedOrders","truckNotes","setTruckNotes","availableSelection","getOrderActiveState","orderKey","getStopOrdersByKey","findOtherSameGroupHardBatchOrders","selectedData","updateTruckNotes","addSelected","addedOrders","otherSameGroupHardBatchOrders","ho","avgPallet","avgWeight","totalSpace","totalPallet","stateList","pickStateName","removeOtherSameGroupHardBatchOrders","trucksNeed","getOrderConfig","getLoadResource","handleUncheck","handleSuggest","setLoads","createLoad","disableAdd","setDisableAdd","loadAdded","setLoadAdded","tableEl","scrollHeight","clientHeight","newLoadList","onAfterMouseOrdersSelect","getOrderForm","getAssignedOrderGroups","defaultSort","columnsObj","setSort","assignedOrderGroups","changedStop","changedOrderIndex","isAvailable","onActionRecordHandler","stopResource","oldState","getFilteredStops","lastStop","getStopConfig","updatePickAppointment","updateDropAppointment","updateInboundLoadSequence","updateOutboundLoadSequence","updateInboundStopNotes","updateOutboundStopNotes","updateInOut","getDispatchConfig","editLoad","isClose","destinatinationLocation","weightSum","setInTransit","setDispatch","setDone","changedLoadIndex","onCustomAction","currentStops","gridKey","showSeparator","s_space","useAppointment","useLoadSequence","InboundLoadConfig","inboundLoads","inboundTrailer","corectStop","lookingStops","loadsList","updateDragDropData","stopsComponent","horizontal","availableOrdersComponent","newLoad","sizes","gutterSize","TableStructure","flexBasis","colspan","details","data-tip","setvalue","ExperimentalLoad","StopNotes","CarrierForm","truckConfig","trailerConfig","TrailerConfig","driverConfig","AppointmentStatus","InLoadInAppts","selectedSource","expirationDateNum","trailerId","trailerTypeName","trailerSize","efs","creationBy","GeneralToolbar","useStopNotes","InLoadOnApptsConfig","outTime","InTransitConfig","loadingSequencesName","ReceivingLoad","truckComponentRefs","truckMessages","truckMessageDispatch","reloadOrder","setReloadOrder","reloadTruck","setReloadTruck","truckData","truckDispatch","ddd","useOrderData","firstContainer","secondContainer","swapContainers","custList","outboundRate","OutboundLoadConfig","outboundAssignedOrders","outboundLoads","outboundTrailer","picOutboundAppointment","picOutboundAppointmentStatus","OutLoadOutApptsConfig","inboundDirectAssignedAssignedOrders","PieChart","responseOrderStatus","labels","openCount","inboundProgressCount","receivedCount","outboundProgressCount","deliveredCount","toFixed","innerRadius","padAngle","cornerRadius","activeOuterRadiusOffset","modifiers","arcLinkLabel","arcLinkLabelsSkipAngle","arcLinkLabelsTextOffset","arcLinkLabelsTextColor","arcLinkLabelsOffset","arcLinkLabelsDiagonalLength","arcLinkLabelsStraightLength","arcLinkLabelsThickness","arcLinkLabelsColor","arcLabel","arcLabelsTextColor","datum","legends","anchor","justify","translateX","translateY","itemsSpacing","itemWidth","itemHeight","itemTextColor","itemDirection","itemOpacity","symbolSize","symbolShape","effects","BarChart","maxValue","setMaxValue","indexBy","innerPadding","groupMode","valueScale","indexScale","valueFormat","axisTop","axisRight","axisBottom","tickSize","tickPadding","tickRotation","legend","legendPosition","legendOffset","axisLeft","enableLabel","legendLabel","labelTextColor","dataFrom","useTidioScript","script","appendChild","tidioScript","tidioDiv","tidioIframe","removeTidio","haseError","paletCount","paletWeigth","paletSpace","organization","getCurrentWeekNumber","oneJan","numberOfDays","cuurentWeek","cuurentYear","year","setYear","setWeek","yearNumber","setYearNumber","setWeekNumber","yearRef","weekRef","setChangesCount","int","dashboard","main","chart","dwidget","currenWeek","getYear","frameborder","mcNumber","headerCall","errorAction","createQueryParam","param","query","getCustomerOrderRejected","EditWarningModal","errorModalText","setErrorModalText","setIsOpen","setButtonDisabled","totalOrdersRequested","customerOrderNewOrdersLoading","buildPostUrl","modalIsOpen","editMode","revisionMode","setEditWarningModaIsOpen","setSaveBtnClicked","setSaveAndNewBtnClicked","setSaveAndCloneBtnClicked","setOrderAdded","buttonDisabled","dataChanged","setDataChanged","submitAction","userData","optionsAllLocations","getTextFromValueAllLocations","handleSubmitClone","submit","handleEdit","submitEdit","integer","temperatureObject","colourStyles","onAfterOpen","isDisabled","outboundRegionId","setDropLocation","DatePicker","returnTextFromValue","editWarningModalIsOpen","startOnScroll","editWarningModaIsOpen","lastSelectId","lastSelectHeaderKey","lastSelectenable","rowStateId","inputReference","onSetBlur","dataCompare","indicator","editableFunction","onKeyDown","showToday","boxSizing","getInput","listRef","rowRef","resetAfterIndex","totalUpcomingOrders","customerOrderRef","listReference","listHeaderReference","mainScroll","setSortValue","saveBtnClicked","saveAndNewBtnClicked","saveAndCloneBtnClicked","updatedValues","customerOrderList","borderLeft","getCustomerOrderListItemSize","RenderCustomerOrderRow","allCustomerOrderList","disableWidth","outerRef","borderBottom","borderRight","flexShrink","marginBottom","onScrollX","buildDeleteUrl","deleteModalIsOpen","setDeleteModalIsOpen","orderDeleted","setOrderDeleted","shape-rendering","text-rendering","image-rendering","fill-rule","clip-rule","handleDelete","smallScreen","innerWidth","loadingCustomerOrderNewOrders","loadingCustomerOrderInProgress","alignSelf","getLastOrders","trafficSubHeader","setItemDataUpcoming","rejectedOrders","valueForCompare","lastOrdersRef","lastOrdersHeaderReference","myCustomerLastOrders","getMyCustomerLastOrdersItemSize","RenderLastOrdersRow","allMyCustomerLastOrders","rejectedOrdersRef","pallInSummaryReference","rejectedOrdersHeaderReference","myCustomerRejectedOrders","getMyCustomerRejectedOrdersItemSize","RenderRejectedOrdersRow","allMyCustomerRejectedOrders","loadingLastOrders","RejectedOrdersSpreadsheet","LastOrdersSpreadsheet","customerIdList","SpaceWarningModal","warningSpaceModalIsOpen","setWarningSpaceModalIsOpen","TextArea","Input","AcceptModal","rejectModalIsOpen","setRejectModalIsOpen","customerrderAdminList","batchValue","setBatchValue","rejectReasonText","setRejectReasonText","spaceCountIsOver30","handleConfirm","autoSize","minRows","maxRows","customerOrderAdminRef","customerOrderAdminHeaderReference","customerOrderAdminList","getCustomerOrderAdminListItemSize","RenderCustomerOrderAdminListRow","allCustomerOrderAdminList","buttonsContainer","getRevisionOrdersAdmin","rejectRevision","setOrderRejected","acceptRevision","handleAccept","handleReject","textDecoration","getRevisionOrderAdminListItemSize","RenderRevisionOrderAdminListRow","allRevisionOrderAdminList","hasSubOrder","orderDelayedReasonByCall","orderStatusByCall","orderNotesByCall","loadCallCheckNote","podRequestStatus","callCheckAttachment","browserDateTime","outDeliverDate","outLoadCallCheckNote","inDeliverDate","inLoadCallCheckNote","subOrderData","pickAppointmentDate","dropAppointmentDate","inboundDropAppointmentStatus","setUploadModalIsOpen","headerWidth","orderGuid","newComment","attachment","buildUrlPut","setCommentsModalIsOpen","commentsModalIsOpen","commentsList","setCommentsList","attachmentsList","setAttachmentsList","setNewComment","utcOffset","fileExtension","updatedLoad","setNotesModalIsOpen","notesModalIsOpen","notesList","setNotesList","newNote","setNewNote","sendToDelivered","deliveredModalIsOpen","setDeliveredModalIsOpen","unAssignOrders","allAvailableOrders","allHardBatchOrders","errorList","assignOrdersToLoadAndUpdate","notHardBatchOrders","orderGroupIndexes","allSelectedOrders","ordersLocationsList","locationGroups","getAllOrderIdsFromGroup","notHardBatchStateOrders","locationGroup","orderids","appointmentStatus","assignOrdersToLoadAndUpdateNewLoad","allHardBatchOrderIds","allOrdersByIndex","assignedOrderWithHardType","locationGroupsList","locationGroupsObjectList","locationGroupsObject","locationOfGroup","showModal","haveAtLeastOneOrderWithAppt","haveAtLeastOneOrderWithOutAppt","allOrders","needReload","SubOrderId","customStyleLoadDetailsPage","customStylesLoadDetailsPage","translateIntoCamelCase","textInUnderScore","HistoryModal","isHistoryModalOpen","setHistoryModalOpen","inputRef","cellDataKey","HistorySelectors","getFromDataValue","fromData","updated","editDate","setUploadRowState","selectNameOptionsStatus","selectNameOptionsReason","selectNameOptionsPODStatus","selectOptionsStatus","selectOptionsReason","4","5","selectOptionsPalletTypes","selectOptionsPODStatus","selectNameOptionsPOD","selectOptionsPOD","poNumbers","mailBodyText","carrierEmail","podNotesHistory","isApptDate","ordersForThisLoad","ordersIsInbound","ordersIsOutbound","ordersHaveFullDataInbound","ordersHaveFullDataOutBound","canDelivered","handleDelivered","handleClickOnNotes","efsData","lumperData","asterisks","handleSelectChange","splittedData","pickIn","pickOut","dropIn","dropOut","handleValidationForPickDropInOut","selectOption","selectNameOptions","statusByCell","onClickRow","cellStyleValue","arrowColor","UpOutlined","DownOutlined","reactOnAssignedItem","uploadModalIsOpen","isSubOrder","resizableHeaderCall","reactOnAssignedItems","uploadRowState","assignedRef","extraScrollVisibility","byPODStatus","filteredList","byPODStatusIN","byPODStatusOUT","filteredData","handleMouseEndSelectionAssigned","displayLoadsAssignedOrders","myLoadsAssignedOrders","dndRowIndex","Row","SelectableAssignedRow","AdminCallCheckBuld","FactoringCompanySelectors","getStatesListByCountryId","HeaderCell","upArrowColor","downArrowColor","HeaderRow","Cell","FactoringCompany","filteredFactoringData","factoringCompanyRef","factoringCompanyHeaderReference","getFactoringCompanyListItemSize","RenderFactoryCompanyListRow","allFactoringCompanyList","countries","nullable","typeError","matches","ext","InputField","FactoringCompanyBuild","formikRef","setFilteredFactoringData","CSVHeaders","CSVData","Name","Terms","City","State","Notes","getCSVData","factory","item1","setFieldTouched","handleClearAll","indicatorContainer","customStylesForCountries","warningModalStyles","WarningModal","warningModalIsOpen","setWarningModalIsOpen","withRouter","setFileName","countryLocal","setCountry","warningModalText","setWarningModalText","handleUpload","onDelete","states","getIdFromValues","updatedFactoringCompany","companyNameIsExist","companyNameIsExistAndNotCurrent","factoringCompanyNewData","addFactoringCompany","updateFactoringCompany","handleSetFieldValue","deleteFactoringCompany","isSearchable","DropdownIndicator","as","CaretDownOutlined","CaretUpOutlined","newListTwo","newArr","DeliveredBuild","AdminOrderBuild","buildUrlDetails","carriedId","buildUrlEFS","noLoading","LoadId","buildUrlPDFSend","sendPDF","newEFSData","setEFSModalIsOpen","EFSModalIsOpen","EFSData","isEditMode","isAdmin","efsPaymentMethodOptions","positive","efsStatusStr","updatedEFS","efsStatus","createByStr","setAttachmentEditModalIsOpen","attachmentEditModalIsOpen","updatedAttachment","updatedLoadDetails","rateData","sendRateConfirmationData","setRateModalIsOpen","rateModalIsOpen","initialValuesList","curr","purchaseOrdersListStop","purchaseOrdersListLocation","orderList","delNumbersList","delNumbers","delNo","dateTime","testDateUtc","fullTime","updatedRateData","carrierRate","rateConfirmationMessage","buildUrlCarrier","efsId","getCarierRateConfirmation","buildUrlCarrierRate","isDetailsModalOpen","setDetailsModalToOpen","setIsUploadsListChanged","carrierSelected","setCarrierSelected","setEditMode","isUploadsListChanged","isEFSListChanged","setEFSListChanged","setAttachment","additionalPayReason","setAdditionalPayReason","carrierListWithoutExpiredCarriers","isPolicyExpired","carrierOptionsList","trucksOptionsList","trailersOptionsList","driversOptionsList","handleEFSOpen","rateIsGenerated","isPolicyExpirationApproaching","attach","removableAttachment","removeAttachment","AppointmentSelector","currentDateValue","currentStatusValue","currentPickOrDelNumber","onOk","statusOptions","rowSelectApptsColorClass","delOrPickNumberColor","lastUpdatedData","lastUpdateAuthor","subIsDisabled","showRemoveIcon","selectRef","extraInputRef","extraTextRef","setSelValue","dateVal","setDateVal","pickOrDelNumber","setPickOrDelNumber","lastHistoryDateTextTooltip","Abbr","lastHistoryDateText","handleInputChangeOnBlur","relatedTarget","selectNameOptionsPalletTypes","selectNameOption","temperatureNames","weekArray","weeksInYear","weekNow","weekList","isOrder","secondaryData","thirdData","forthData","fifthData","sixthData","valueData","setValueData","updatedValue","setUpdatedValue","ft","hed","rowSelectAppts_color__class","isSubClass","isSubClassAndReacted","nummber","subOrder_OrderId","mainOrder","tooltipForLocation","workingDaysStr","updatedWorkingDays","workingDaysObject","workingDaysNames","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","overlayStyle","getNameById","colorClass","dropWorkingDaysStr","orderFromLoadIsUpdated","allOrdersForCurrentLoad","minOneOrderIsUpdatedFromLoad","isUpdated","isRateConfirmed","whiteBG","updatedFields","hoverText","renderTooltip","colorPO","BGColorPO","fontWeightPO","onDoubleClick","handleUnColor","dollarUSLocale","Intl","NumberFormat","formatedData","selectOptions","visibility","handleSelectChangeManifest","throwNeededMessage","reactedBgColor","orderLocationId","indexOfCurrentOrder","deleteConfirmLoad","subOrders_loadIds","loadWithSub","ordersIndexesList","firstArrowIsDisabled","lastArrowIsDisabled","orderSortNumber","setOrderSortNumber","orderHasPickOutData","reactOnAvailableItem","onDrugStartMouseX","allLoads","yellow","orderDeliverNumber","orderPickUpNumber","orderDeliverLocation","orderPickLocation","orderAppointment","parentOrder","parentOrderLoad","selectedOrdersByLoc","selectedOrdersByDel","selectedOrdersByAppt","selectedOrdersByPickNum","orderDeliverNumberIsOnlyInOneLoad","orderPickNumberIsOnlyInOneLoad","sameDelNumShouldHaveSameLocation","samePickNumShouldHaveSameLocation","cellContent","contentWidth","screenX","myOnMouseDown","setSortLoadsByCarriar","isSorted","currentSortedBy","arrowType","handleSortLoadsByCarrier","handleSortLoadsByPickAppts","handleSortLoadsByPickLocation","handleSortLoadsByDropLocation","handleSortLoadsByDeliverNumber","headerCallFunction","sortingFunction","LoaderSmall","xmlnss","xmlnsXlink","xmlSpace","attributeName","dur","repeatCount","primary","inProcess","clickParams","buttonStyle","tryToProcess","lumperModalIsOpen","setLumperModalIsOpen","selectedAssignedOrders","lumperCountText","setLumperCount","selectedOrdersLoadsIds","areOrdersFromDifferentLoads","availableForLumper","allOrdersForSelectedLoad","allOrdersWithSameDropLocation","thereIsOrderWithOutDropIn","deliveryLocations","delInDates","tempDate","getHours","toDateString","isNegative","areOrderWithDiffDelLocations","areOrderWithDiffDelIndates","AssignOrdersModalNewLoad","setAssignOrdersModalIsOpen","assignOrdersModalIsOpen","appointmentByLoadType","appointmentStatusByLoadType","setLocationObjects","checkedAppointments","setCheckedAppointments","listOfLocationsSet","listOfLocations","allAreChecked","setAllAreChecked","tempLocationObjects","appointments","tempCheckedAppointments","appt","tempObject","apptAndStatusAreChecked","locationObjectsOnlyChecked","finalListOfLocationObjects","locationObj","objectsList","Map","removeDuplicates","appointmentObject","handleOnChange","setSearchInput","setFilterInput","selectedAvailableOrders","forAdminAndCustomerRoles","pickLocations","dropLocations","stateNames","uniquePickLocations","uniqueDropLocations","uniqueDelNumbers","uniqueStateNames","setPickLocations","setDropLocations","delNumber","setDelNumber","setApptStatus","checkboxSelected","setCheckboxSelected","handleChangeApptStatus","noLumper","debounced","debounce","alignContent","defaultStyles","isSelected","stylesDel","activeElement","lightgrey","purple-rose","noOptionsMessage","handleChangePick","handleChangeDrop","handleChangeDelNumber","defaultChecked","AssignOrdersModal","draggableLoad","appointmentType","appointmentStatusType","existingOrdersLocations","existingOrdersPickAppointment","currentApptointment","existingOrdersForCurrentLocation","locationObjectsWithAppt","locObject","ordersWithOutExistingInLoad","reactOnAvailableItems","noAssignedLocation","availableRef","overIndex","loadingLocations","setAssignedOrders","setDraggableLoad","filterInput","setSelectedOrder","listFirstReference","listSecondReference","listen","stateLoadsAssignedOrders","delQuery","apptsQuery","pickQuery","dropQuery","stateNameQuery","filteredOrders","orderQuery","onlyOrdersLoadIds","displayRegionsAvailableOrders","getAvailableItemSize","selectedOrderAssigned","selectedOrderAssignedIndex","selectedOrderAvailable","selectedOrderAvailableIndex","scrollToItem","selectedOrderId","selectedLoadIndex","finalIndex","regionsList","selectedRegionIndex","RenderAvailableRow","SelectableAvailableRow","handleMouseMoveSelectionAvailable","handleMouseEndSelectionAvailable","getSelectedOrders","druggedOrder","getCloneXPosition","cloneWidth","cloneHalfeWidth","renderClone","rubric","fontStyle","first","isUsingPlaceholder","second","ordersCount","draggedOrdersCondition","resultDestinationIndex","destinationObject","draggedCondition","loadHasSubOrder","steps","draggableLoadId","selectedOrderLoadId","ordersInDraggableLoad","ordersInSelectedLoad","orderHasOutboundPickIn","onDragUpdate","InboundLoadBuld","OutboundLoadBuld","ManifestToolBar","selectedWeek","setSelectedWeek","setTabsKey","handleExportWithMethod","dataManifest","Cust","Pick","Delivery","SPA","PAL","CASE","LBS","WK","IN","OUT","outRefNum","DownloadOutlined","ManifestList","setDataManifest","backEndData","setBackEndData","tabsKey","contentArea","color_list","random_color","inManifest","outManifest","ellipsis","spinning","savePDF","paperSize","scope","loadArchiveDate","index1","updateDataUpcoming","currentAndNextTraffic","selectDoorsNameOptions","selectDoorsOptions","selectVerifiedNameOptions","selectVerifiedOptions","statusListSmallOptions","6","7","statusListSmallNameOptions","statusTextList","tempDataPriority","setTempDataPriority","tempDataDelayed","setTempDataDelayed","updateStatus","dontSend","handleOnclickInLoadNeeds","elem","isLoadInDone","inId","isLoadInCurrentAndNext","localTime","inLoadNum","getContext","measureText","CaretDownFilled","RangePicker","setHeaderWidthTraffic","setHeaderWidthUpcomingTraffic","filterByDateUpcoming","firstSubHeaderWidth","showCalendar","setShowCalendar","currentListDates","getNewListObject","reOrderLoadsByDragAndDrop","doneTrafficRef","currentTrafficRef","upcomingUrl","trafficUpdateFromSocket","setTrafficUpdatedFromSocket","listTrafficHeaderReference","palletSummaryWidthBefore","palletSummaryWidth","headerTraffic","titleWidth","getDoneTrafficItemSize","getCurrentAndNextTrafficItemSize","RenderDoneTrafficRow","RenderCurrentTrafficRow","ignoreContainerClipping","getSelectedLoad","splitterWidth","selectedLoadId","nextTrafficOrderedLoadsIDs","draggableList","selectedLoadPreviousIndexForCurrentlyList","selectedLoadDestinationIndexForCurrentlyList","selectedLoadPreviousIndexForNextList","selectedLoadDestinationIndexForNextLoads","selectedLoadPreviousIndex","selectedLoadDestinationIndex","currentlyInDoorSize","trafficUrl","upcomingTrafficRef","getUpcomingTrafficItemSize","RenderUpcomingTrafficRow","getPallInSummary","allUpcomingTrafficList","CacheBusterRoute","rKey","onlyDownload","paidButtonAction","paidButtonClick","isVerified","setIsVerified","PONumber","setPONumber","loadNumberData","setLoadNumber","getLoadNumberData","getPODRequestName","PODRequestName","countSum","countLoadReadyDate","countLoadPickAppt","Pal","CS","Rate","Lumper","newObject","PONumbers","loadNumbers","uniquePONumbers","uniqueLoadNumbers","handleChangePoNumber","handleChangeLoadNumber","APDeliveredTrucksBuild","buildPriceUrl","priceTemplateId","billButtonAction","getOrderChangeRequestData","buildUrlById","setChangeRequestModalIsOpen","setChangeRequestAcceptModalIsOpen","setPriceRecalculationModalIsOpen","billButtonClick","handleChangeRequestModalOpen","handleChangeRequestAcceptModalOpen","handleRecalculation","isChangedPalletCount","isChangedSpace","isChhangedWeight","PriceRecalculationModal","priceRecalculationModalIsOpen","setResponceData","changeRequestAcceptModalIsOpen","changeRequestModalIsOpen","acceptChangeRequest","endpint","orderIDs","buildUrlAccept","setAllIsChecked","allIsChecked","setFilteredData","pageLoading","AccountReceivableBuild","CustomerPriceSelectors","DeletePriceTemplateModal","deletePriceTemplateModalIsOpen","setDeletePriceTemplateModalIsOpen","customerPriceId","SelectPriceStyles","isDuplicate","borderStyle","setPickLocation","priceHeader","priceOverToMax","allLocationsDoorsListOptions","favoriteLocationsDoorsListOptions","tlIsEmpty","bothSameLocation","firstPickId","pickLocationsIndexes","correspondingDropLocationsIds","selectProps","menuIsOpen","SearchOutlined","ChangePriceTemplateModal","changePriceTemplateModalIsOpen","setChangePriceTemplateModalIsOpen","setPriceTemplateType","prevPrice","SPOT","PricePerPall","PricePerRange","PricePerPound","spot","priceperpall","priceperrange","priceperpound","DuplicateLocationsModal","duplicateLocationsModalIsOpen","setDuplicateLocationsModalIsOpen","CustomerPriceSpreadsheet","customerPriceTemplateType","setPrevPrice","customerPriceTemplateTypeText","noTemplateSelected","addBtnDisabled","cancelBtnDisabled","correspondingDropLocations","btnDisabled","radioGroup","secondLevelLocation","addPriceButton","switchTypeContainer","importView","lazy","Router","newRoutsList","promiseArr","promise","_ctor","FactoringCompanyDetails","checkPath","refrasheToken","isGoogleLoaded","setManagetMenu","autoLoginInProcess","setAutoLoginInProcess","startCheck","goLoginPage","expired","currentMenu","setParentMenu","CommonFormView","multiple","ForgotPasswordInfo","ForgotPasswordFormView","ForgotPasswordFormScreen","ForgotPasswordToolbare","resetPassword","ForgotPasswordForm","ForgotPasswordConfig","ChangePasswordForm","replyCode","ChangePasswordConfig","role-type","aria-label","focusable","data-icon","aria-hidden","$","ready","counter","each","countTo","addClass","removeClass","countNum","animate","easing","step","complete","idx","tab_li","icon_count","attr","toggle","not","toggleClass","$temp","execCommand","icons","demo","new","private","highlight","grow","media","ratio","no_reaction","caption","data-weight","subtitle","LoginInfo","LoginFormView","LoginFormScreen","LoginToolBar","setRemember","onAuth","defaultbutton","LoginConfig","doLogout","App","fallback","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","baseUrl","getAttribute","rootElement","_toString","tagName","basename","REACT_APP_API_URL","origin","checkValidServiceWorker","registerServiceWorker","TRAFFIC_UPCOMING_LOADING","REVISION_CUSTOMER_ORDER_LOADING"],"mappings":"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CxB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,kBAAmB,CAClB,KAED,eAAgB,CACf,KACA,IAED,uBAAwB,CACvB,KACA,IAED,0BAA2B,CAC1B,KAED,8BAA+B,CAC9B,KACA,GAED,0BAA2B,CAC1B,KACA,IAED,4BAA6B,CAC5B,KACA,GAED,uBAAwB,CACvB,KACA,IAED,yBAA0B,CACzB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,gCAAiC,CAChC,KAED,iCAAkC,CACjC,KAED,2BAA4B,CAC3B,KACA,IAED,oBAAqB,CACpB,KAED,iBAAkB,CACjB,KAED,oBAAqB,CACpB,KAED,mBAAoB,CACnB,KACA,IAED,uBAAwB,CACvB,KACA,IAED,wBAAyB,CACxB,KACA,IAED,iBAAkB,CACjB,KACA,GAED,wBAAyB,CACxB,KAED,+BAAgC,CAC/B,KACA,GAED,2BAA4B,CAC3B,KACA,GAED,6BAA8B,CAC7B,KACA,GAED,wBAAyB,CACxB,KACA,IAED,gBAAiB,CAChB,KACA,IAED,oBAAqB,CACpB,KACA,IAED,4BAA6B,CAC5B,KAED,yBAA0B,CACzB,KACA,IAED,kBAAmB,CAClB,KACA,IAED,0BAA2B,CAC1B,KACA,IAED,gBAAiB,CAChB,KACA,IAED,kBAAmB,CAClB,KACA,IAED,mBAAoB,CACnB,KAED,uBAAwB,CACvB,KAED,uBAAwB,CACvB,KAED,iBAAkB,CACjB,KAED,gBAAiB,CAChB,KACA,IAED,uBAAwB,CACvB,KAED,kBAAmB,CAClB,KACA,IAED,qBAAsB,CACrB,KACA,KAGF,SAASswG,EAAoBzL,GAC5B,IAAI0L,EAAoBtnH,EAAE+W,EAAK6kG,GAC9B,OAAO2L,QAAQC,UAAU15G,MAAK,WAC7B,IAAIpG,EAAI,IAAIylC,MAAM,uBAAyByuE,EAAM,KAEjD,MADAl0G,EAAEwyF,KAAO,mBACHxyF,KAIR,IAAIg9D,EAAM3tD,EAAI6kG,GAAMjoG,EAAK+wD,EAAI,GAC7B,OAAO6iD,QAAQE,IAAI/iD,EAAIt2C,MAAM,GAAGrX,IAAIuwG,EAAoB5/G,IAAIoG,MAA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","file":"static/js/main.6c8944ef.chunk.js","sourcesContent":["import { EmailTest, EmailListTest, TimeTest, PhoneTest, ColumnMonthExpiration, ColumnValues } from '../helper/validation';\r\n\r\nexport const getDatesDifference = data => Math.ceil((new Date(data) - new Date()) / (1000 * 3600 * 24));\r\n\r\nexport const ElementValidations = {\r\n Required: (message = '') => (data, fieldName) => !((data || data === 0 || data === false) && ((typeof data === 'string' || typeof data === 'boolean' || (typeof data === 'number' && data > 0)) && String(data)?.trim() !== '')) && (message || `${fieldName} is required`),\r\n RequiredForSpace: (message = '') => (data, fieldName) => !((data || data === 0) && ((typeof data === 'string' || typeof data === 'boolean' || (typeof data === 'number')) && String(data)?.trim() !== '')) && (message || `${fieldName} is required`),\r\n RequiredIfNew: (key = 'ID', message = '') => (data, fieldName, o) => (o && o[key] === 0 && !(data && data !== '')) && (message || `${fieldName} is required`),\r\n RequiredIf: (message = '', condition) => (data, fieldName, o) => !((data || data === 0) && data !== '') && condition(o, data) && (message || `${fieldName} is required`),\r\n MinLength: (min, message = '') => (data, fieldName) => !(!data || (data && data.length >= min)) && (message || `Min length for ${fieldName} is ${min}`),\r\n MaxLength: (max, message = '') => (data, fieldName) => !(!data || (data && data.length <= max)) && (message || `Max length for ${fieldName} is ${max}`),\r\n MinValue: (min, message = '') => (data, fieldName) => !(!data || (data && data >= min)) && (message || `Min value for ${fieldName} is ${min}`),\r\n MaxValue: (max, message = '') => (data, fieldName) => !(!data || (data && data <= max)) && (message || `Max value for ${fieldName} is ${max}`),\r\n Email: (message = '') => (data, fieldName) => !(!data || (data && EmailTest(data))) && (message || `Field ${fieldName} should be an email`),\r\n EmailList: (message = '') => (data) => !(!data || (data && EmailListTest(data))) && (message || `Field should be comma separated email addresses`),\r\n Phone: (message = '') => (data, fieldName) => !(!data || (data && PhoneTest(data))) && (message || `Field ${fieldName} should be a phone number`),\r\n PasswordConfirm: (confirmField, message = '') => (data, fieldName, o) =>\r\n (o && o[confirmField] !== data) && (message || `${fieldName} not matching`),\r\n IntField: (message = '') => (data, fieldName) =>\r\n !(!data || (data && Number.isInteger(Number(data)))) && (message || `Field ${fieldName} should be whole number`),\r\n IntPositiveField: (message = '') => (data, fieldName) =>\r\n !(!data || (data && Number.isInteger(Number(data)) && data >= 0)) && (message || `Field ${fieldName} should be whole number and can't be negative`),\r\n PositiveField: (message = '') => (data, fieldName) => {\r\n data += '';\r\n data = +(data.replace(/,/g, ''));\r\n return !(!data || (data && data >= 0)) && (message || `Field ${fieldName} can't be negative`)\r\n },\r\n Time: (message = '') => (data, fieldName) => {\r\n return !(!data || (data && TimeTest(data))) && (message || `Field ${fieldName} should be in HH:MM format`);\r\n },\r\n Alphanumeric: (message = '') => (data, fieldName) => {\r\n return /[^0-9a-zA-Z]/.test(data) && (message || `Field ${fieldName} should be alphanumeric`);\r\n },\r\n AlphanumericAndMinusSign: (message = '') => (data, fieldName) => {\r\n return /[^0-9a-zA-Z-]/.test(data) && (message || `Field ${fieldName} should be alphanumeric`);\r\n },\r\n NoEmptySpace: (message = '') => data => (data && data.indexOf(' ') >= 0) && (message || `Field can't contain empty space`),\r\n OnlyLetters: (message = '') => data => (data && /[^a-z]/i.test(data)) && (message || `Field should contain only letters`),\r\n OnlyLettersAndSpace: (message = '') => data => !(data && /^[a-zA-Z-,]+(\\s{0,1}[a-zA-Z-, ])*$/.test(data) && String(data)?.trim() !== '') && (message || `Field should contain only letters`),\r\n OnlyLettersAndSpaceBetween: (message = '') => data => (data && !(/^[a-zA-Z-,]+(\\s{0,1}[a-zA-Z-, ])*$/.test(data))) && (message || `Field should contain only letters`),\r\n DateShouldBeLater: (message = '') => (data, fieldName, o) => ((data || data === 0) && data !== '') && (new Date(o.packageDate) > new Date(o.packageUploadDate)) && (message || `${fieldName} must be no sooner than Carrier Package Date`),\r\n DateIsExpired: (type, message = '') => data => \r\n (data && getDatesDifference(data) < 11) && \r\n (message || getDatesDifference(data) > 0 ? \r\n `Expiration date of ${type} should be more than 10 days` :\r\n `Your license is expired`),\r\n};\r\n\r\nexport const ColumnValidation = {\r\n MonthExpiration: (text, month, type, warningClass, errorClass) => text ? ColumnMonthExpiration(text, month, type, warningClass, errorClass) : [type, null],\r\n MaxValue: (message, type, condition, dependency) =>\r\n (data, title, object) => message ? ColumnValues(type, message, data, condition, dependency, object) : [type, null]\r\n};\r\n\r\nexport const ColumnWarnings = {\r\n DateCompare: (message, type, condition, dependency, fieldType) =>\r\n (data, title, object) => message ? ColumnValues(type, message, data, condition, dependency, object, fieldType) : [type, null]\r\n}","import {\r\n GenerateSheet,\r\n GenerateCommentsSheet,\r\n GeneratePermissionSheet,\r\n GenerateWorkingDays,\r\n GenerateOrder,\r\n GenerateAttachment,\r\n GenerateManagedSheet,\r\n GenerateRateConfirmation,\r\n GenerateRateConfirmationForm,\r\n GenerateCarrierPackage,\r\n GenerateCheckBoxMultiple,\r\n GenerateLocations,\r\n} from '../helper/component';\r\n\r\nexport const ComponentTypes = {\r\n Sheet: (keyFieldName, columns, classes) => (type, data, dispatch, messages, messageDispatch) => GenerateSheet(type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes),\r\n CommentsSheet: (keyFieldName, columns, classes) => (type, data, dispatch, messages, messageDispatch) => GenerateCommentsSheet(type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes),\r\n Permission: (keyFieldName, columns) => (type, data, dispatch, messages, messageDispatch) => GeneratePermissionSheet(type, keyFieldName, columns, data, dispatch, messages, messageDispatch),\r\n WorkingDays: (keyFieldName, columns) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateWorkingDays(type, keyFieldName, columns, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n //Expandable: (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateExpandeble(type, config, keyFieldName, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n Order: (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateOrder(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n Attachments: (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateAttachment(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n ManagedSheet: (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateManagedSheet(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n RateConfirmation: (/* displayability = Ability.Displayability, */keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateRateConfirmation(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n CarrierPackage: (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateCarrierPackage(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object),\r\n CheckBoxMultiple: () => (type, data, dispatch) => GenerateCheckBoxMultiple(type, data, dispatch),\r\n Locations: () => (type, data, dispatch) => GenerateLocations(type, data, dispatch),\r\n};\r\n\r\nexport const RateConfirmationForm = (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateRateConfirmationForm(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object);","export const RELOAD_ON_ERROR_LOAD_DETAILS = 'RELOAD_ON_ERROR_LOAD_DETAILS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const GET_ORDERS_LIST_BY_ID = 'GET_ORDERS_LIST_BY_ID';\r\nexport const GET_ORDERS_LIST_BY_ID_LOADING = 'GET_ORDERS_LIST_BY_ID_LOADING';\r\nexport const GET_ORDERS_LIST_BY_ID_ERROR = 'GET_ORDERS_LIST_BY_ID_ERROR';\r\nexport const CREATE_NEW_GROUP = 'CREATE_NEW_GROUP';\r\nexport const CREATE_NEW_GROUP_LOADING = 'CREATE_NEW_GROUP_LOADING';\r\nexport const CREATE_NEW_GROUP_ERROR = 'CREATE_NEW_GROUP_ERROR';\r\nexport const SET_BATCH_TYPE = 'SET_BATCH_TYPE';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return ORDERS_BUILD[key];\r\n};\r\n\r\nexport const ORDERS_BUILD = {\r\n RELOAD_ON_ERROR_LOAD_DETAILS: 'RELOAD_ON_ERROR_LOAD_DETAILS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_ORDERS_LIST_BY_ID: 'GET_ORDERS_LIST_BY_ID',\r\n GET_ORDERS_LIST_BY_ID_LOADING: 'GET_ORDERS_LIST_BY_ID_LOADING',\r\n GET_ORDERS_LIST_BY_ID_ERROR: 'GET_ORDERS_LIST_BY_ID_ERROR',\r\n CREATE_NEW_GROUP: 'CREATE_NEW_GROUP',\r\n CREATE_NEW_GROUP_LOADING: 'CREATE_NEW_GROUP_LOADING',\r\n CREATE_NEW_GROUP_ERROR: 'CREATE_NEW_GROUP_ERROR',\r\n SET_BATCH_TYPE: 'SET_BATCH_TYPE',\r\n};\r\n","export const RELOAD_ON_ERROR_COMMENTS = 'RELOAD_ON_ERROR_COMMENTS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_COMMENT = 'SET_COMMENT';\r\nexport const GET_COMMENTS = 'GET_COMMENTS';\r\nexport const COMMENTS_LOADING = 'COMMENTS_LOADING';\r\nexport const COMMENTS_ERROR = 'COMMENTS_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return COMMENTS_BUILD[key];\r\n};\r\n\r\nexport const COMMENTS_BUILD = {\r\n RELOAD_ON_ERROR_COMMENTS: 'RELOAD_ON_ERROR_COMMENTS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_COMMENT: 'SET_COMMENT',\r\n GET_COMMENTS: 'GET_COMMENTS',\r\n COMMENTS_LOADING: 'COMMENTS_LOADING',\r\n COMMENTS_ERROR: 'COMMENTS_ERROR',\r\n};\r\n","export const RELOAD_ON_ERROR_NOTES = 'RELOAD_ON_ERROR_NOTES';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_NOTES = 'SET_NOTES';\r\nexport const GET_NOTES = 'GET_NOTES';\r\nexport const NOTES_LOADING = 'NOTES_LOADING';\r\nexport const NOTES_ERROR = 'NOTES_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return NOTES_BUILD[key];\r\n};\r\n\r\nexport const NOTES_BUILD = {\r\n RELOAD_ON_ERROR_NOTES: 'RELOAD_ON_ERROR_NOTES',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_NOTES: 'SET_NOTES',\r\n GET_NOTES: 'GET_NOTES',\r\n NOTES_LOADING: 'NOTES_LOADING',\r\n NOTES_ERROR: 'NOTES_ERROR',\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { hideShowMenu } from '../../../store/actions/pageContent/pageContent';\r\n\r\nconst HideShowMenuSwitch = props => {\r\n const handleChange = checked => {\r\n props.handleSwitch(checked);\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n isHiddenMenu: state.pageContent.isHiddenMenu\r\n}),\r\n dispatch => ({\r\n handleSwitch: checked => dispatch(hideShowMenu(checked))\r\n }))(HideShowMenuSwitch)\r\n","import * as pageContentActionTypes from './pageContentActionTypes';\r\n\r\nexport const hideShowMenu = payload => ({\r\n type: pageContentActionTypes.HIDE_SHOW_MENU,\r\n data: payload\r\n});\r\n","/**\r\n * the formats for different types of data\r\n */\r\n\r\nexport const CommonLabels = {\r\n Messages: {\r\n ConfirmDeleteTitle: (title, master) => `Delete ${title} ${master || ''}`, \r\n ConfirmDeleteText: 'This action cannot be undone. Are you sure you want to continue?',\r\n ApiError: 'API Error',\r\n UnsupportedMediaType: 'Unsupported Media Type'\r\n },\r\n Text: {\r\n Title: {\r\n Actions: 'Actions'\r\n },\r\n Filters: 'Filters',\r\n From: 'From',\r\n To: 'To',\r\n Upload: 'Upload',\r\n ClearAll: 'Clear All',\r\n Apply: 'Apply',\r\n Empty: 'Empty',\r\n Refresh: 'Refresh'\r\n },\r\n Buttons: {\r\n Refresh: 'Refresh',\r\n Save: 'Save',\r\n Add: 'Add',\r\n Edit: 'Edit',\r\n Delete: 'Delete',\r\n Cancel: 'Cancel',\r\n Download: 'Download',\r\n Import: 'Import',\r\n Export: 'Export',\r\n Yes: 'Yes',\r\n No: 'No',\r\n ClearAll: 'Clear All',\r\n Apply: 'Apply',\r\n Close: 'Close',\r\n Confirm: 'Confirm',\r\n CreateGroup: 'Create Group',\r\n }\r\n};\r\n\r\nexport const Defines = {\r\n Format: {\r\n MomentDate: \"YYYY/MM/DD\",\r\n //MomentDate: \"dddd, MMMM Do YYYY\",\r\n MomentDateTime: \"YYYY/MM/DD HH:mm\",\r\n MomentTime: \"HH:mm\",\r\n MomentFullTime: \"HH:mm:ss\",\r\n\r\n PrintDateLong: \"MM/DD/YYYY\", //\"MM/dd/yyyy\",\r\n PrintDate: \"MM/DD/YY\", //\"MM/dd/yyyy\",\r\n PrintDateTime: \"MM/DD/YY HH:mm\",\r\n FileNameDate: \"yyyyMMdd\",\r\n FileNameDateTime: \"yyyy_MM_dd_HH-mm\",\r\n\r\n ExpirationDate: \"MMddyy\",\r\n\r\n InputDate: \"MM/DD/yyyy\",\r\n InputTime: \"h:mm A\",\r\n\r\n Date: \"MM/DD/YY\", \r\n Time: \"HH:mm\",\r\n\r\n MonthDate: \"MMMM, yyyy\",\r\n\r\n Number0: \"n0\"\r\n },\r\n Messages: {\r\n confirmDelete: \"Delete\",\r\n cancelDelete: \"Cancel\",\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n },\r\n DetailsComponentSufix: 'Details',\r\n DetailsPathSufix: 'details/:id',\r\n DefaultActionKey: 'action',\r\n DefaultCreateKey: 'create',\r\n DefaultCreateKeyClone: 'clone'\r\n};\r\n\r\n/**\r\n * basic user roles for proejctthe url endings for each action of api\r\n */\r\nexport const UserRoles = {\r\n WAREHOUSE: \"Warehouse\",\r\n OPERATION: \"Operation\",\r\n ADMIN: \"Admin\",\r\n PUBLIC: \"Public\"\r\n}\r\n\r\n/**\r\n * basic Schedule Types for the proejct services\r\n */\r\nexport const ScheduleType = {\r\n SECOND: 'second',\r\n MINUTE: 'minute',\r\n HOUR: 'hour',\r\n DAILY: 'day',\r\n WEEKLY: 'week',\r\n MONTHLY: 'month',\r\n YEARLY: 'year'\r\n}\r\n\r\nexport const UniversConfig = {\r\n sauter:{\r\n name: \"sauter\",\r\n color: \"#75af4a\"\r\n },\r\n therpac:{\r\n name: \"therpac\",\r\n color: \"grey\",\r\n },\r\n default:{\r\n name: \"sauter\",\r\n color: \"#75af4a\"\r\n },\r\n};\r\n\r\n/*eslint no-extend-native: [\"error\", { \"exceptions\": [\"Date\"] }]*/\r\n\r\nDate.prototype.getWeek = function () {\r\n var date = new Date(this.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n // Thursday in current week decides the year.\r\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\r\n // January 4 is always in week 1.\r\n var week1 = new Date(date.getFullYear(), 0, 4);\r\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\r\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000\r\n - 3 + (week1.getDay() + 6) % 7) / 7);\r\n};\r\n\r\n// Returns the four-digit year corresponding to the ISO week of the date.\r\nDate.prototype.getWeekYear = function () {\r\n var date = new Date(this.getTime());\r\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\r\n return date.getFullYear();\r\n};\r\n\r\nexport const bytesToSize = bytes => {\r\n var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) return '0 Byte';\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\r\n return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];\r\n}","const pendingColor = '#FBCB00', readyColor = '#029B96', openColor = '#D5D5D5', canceledColor = '#FF6347';\r\nexport const statusColor = (status) => {\r\n switch (status) {\r\n case 'Ready to Build':\r\n return readyColor;\r\n case 'Pending':\r\n return pendingColor;\r\n case 'Canceled':\r\n return canceledColor;\r\n case 'Open':\r\n default:\r\n return openColor;\r\n }\r\n};\r\n\r\n\r\nexport const appointmentStatusColor = (status) => {\r\n switch (status) {\r\n case 'Request':\r\n return '#FF6347';\r\n case 'Requested':\r\n return '#76A45D';\r\n case 'Confirmed':\r\n return '#029B96';\r\n default:\r\n case 'Open':\r\n return '#FFF';\r\n }\r\n};","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerOrderAdminActionTypes';\r\n\r\nconst buildUrl = (resource = 'customerOrderAdmin') => `/api/${resource}`;\r\nconst buildPutUrl = (resource = 'customerOrderAdmin', endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getCustomerOrderAdmin = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_ORDER_ADMIN_LOADING) });\r\n }\r\n axios\r\n .get(buildUrl(resource), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_ORDER_ADMIN), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const generateCustomerOrder = (resource, endPoint, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GENERATE_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource, endPoint), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GENERATE_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: err });\r\n });\r\n};\r\n\r\nexport const rejectCustomerOrder = (resource, endPoint, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.REJECT_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource, endPoint), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.REJECT_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: err });\r\n });\r\n};\r\n\r\nexport const filterByCustomer = (resource, customerId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_BY_CUSTOMER), data: customerId\r\n });\r\n}\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_ORDERS_ADMIN), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_ORDER_ADMIN),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nexport const setNewRequestOrdersCount = (resource, count) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.NEW_REQUEST_ORDERS_COUNT), data: count\r\n });\r\n}\r\n","import { Defines } from './Defines';\r\nimport { AppPages } from './Pages';\r\nimport store from '../store';\r\n\r\n/**\r\n *a global helper object with utility functions\r\n */\r\nexport const Project = {\r\n\r\n encode: str => {\r\n let buf = [];\r\n\r\n for (var i = str.length - 1; i >= 0; i--) {\r\n buf.unshift(['%#', str[i].charCodeAt(), ';'].join(''));\r\n }\r\n\r\n return buf.join('');\r\n },\r\n\r\n decode: str => {\r\n return str.replace(/%#(\\d+);/g, function (match, dec) {\r\n return String.fromCharCode(dec);\r\n });\r\n },\r\n\r\n getManagedPageUrl: function (url, parentUrl, routeParam, quaryParams) {\r\n parentUrl = parentUrl ? '/' + parentUrl : '';\r\n url = parentUrl + '/' + url;\r\n if (routeParam) {\r\n url += '/' + routeParam;\r\n }\r\n if (quaryParams) {\r\n var p = [];\r\n for (var key in quaryParams) {\r\n p.push(key + \"=\" + quaryParams[key]);\r\n };\r\n url += \"?\" + p.join(\"&\");\r\n }\r\n return url;\r\n },\r\n\r\n getPageUrl: function (page, routeParam, quaryParams) {\r\n const pages = this.getPages();\r\n switch (page.toLowerCase()) {\r\n case AppPages.Home:\r\n return this.getManagedPageUrl(\"\", null, routeParam, quaryParams);\r\n case AppPages.Login:\r\n case AppPages.Logout:\r\n case AppPages.Template:\r\n return this.getManagedPageUrl(page, null, routeParam, quaryParams);\r\n default:\r\n const parentPage = pages[page] ? pages[page].parent : null;\r\n return this.getManagedPageUrl(page, parentPage, routeParam, quaryParams);\r\n }\r\n },\r\n\r\n getPages: function () {\r\n const menu = store.getState().auth.userMenu;\r\n const pages = {};\r\n for (let index in menu) {\r\n const item = menu[index];\r\n if (!item.menu_item) {\r\n continue;\r\n }\r\n if (item.items) {\r\n for (let subIndex in item.items) {\r\n const subItem = item.items[subIndex];\r\n if (!subItem.menu_item) {\r\n continue;\r\n }\r\n pages[subItem.screen.toLowerCase()] = {\r\n parent: item.screen.toLowerCase()\r\n };\r\n if (subItem.has_details) {\r\n pages[(subItem.screen + Defines.DetailsComponentSufix).toLowerCase()] = {\r\n parent: item.screen.toLowerCase()\r\n };\r\n }\r\n }\r\n }\r\n else {\r\n pages[item.screen.toLowerCase()] = {\r\n parent: null\r\n };\r\n if (item.has_details) {\r\n pages[(item.screen + Defines.DetailsComponentSufix).toLowerCase()] = {\r\n parent: null\r\n };\r\n }\r\n }\r\n }\r\n return pages;\r\n },\r\n\r\n skipHeader: function (location) {\r\n const skipping_pages = [AppPages.Login, AppPages.Logout, AppPages.Forgot, AppPages.ChangePassword, AppPages.Template];\r\n return skipping_pages.some(sp => location.includes(sp));\r\n },\r\n\r\n createRoute: function (items, routeList, parentUrl) {\r\n routeList = routeList ? routeList : [];\r\n\r\n for (let index in items) {\r\n const item = items[index];\r\n //if (!item.menu_item) {\r\n // continue;\r\n //}\r\n if (item.items && item.items.length > 0) {\r\n this.createRoute(item.items, routeList, item.screen);\r\n }\r\n else {\r\n this.createItem(item, routeList, parentUrl);\r\n }\r\n }\r\n\r\n return routeList;\r\n },\r\n\r\n createItem: function (item, routeList, parentUrl) {\r\n const url = Project.getManagedPageUrl(item.screen, parentUrl);\r\n const screen = item.screen;\r\n \r\n routeList.push({\r\n path: item.has_details ? url : url + '/:id',\r\n screen: screen,\r\n has_grid_list: true\r\n });\r\n\r\n if (item.has_details) {\r\n routeList.push({\r\n path: url + Defines.DetailsPathSufix,\r\n screen: item.screen,\r\n has_grid_list: false\r\n });\r\n }\r\n },\r\n\r\n createMenu: function (items, parentUrl) {\r\n const menuList = [];\r\n for (let index in items) {\r\n const item = items[index];\r\n if (!item.menu_item) {\r\n continue;\r\n }\r\n let url = item.screen.toLowerCase();\r\n let detail = (item.screen + Defines.DetailsComponentSufix).toLowerCase();\r\n let pUrl = parentUrl;\r\n if (!pUrl && item.items && item.items.length > 0) {\r\n url = item.items[0].screen.toLowerCase();\r\n pUrl = item.screen.toLowerCase();\r\n detail = (item.items[0].screen + Defines.DetailsComponentSufix).toLowerCase();\r\n }\r\n menuList.push(\r\n {\r\n to: Project.getManagedPageUrl(url, pUrl),\r\n text: item.name,\r\n parentUrl: pUrl,\r\n detail: Project.getManagedPageUrl(detail, pUrl),\r\n sub: item.items,\r\n url: '/' + item.screen.toLowerCase()\r\n });\r\n }\r\n return menuList;\r\n }\r\n};","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customersActionTypes';\r\n\r\nconst buildUrl = (resource, endpoint) => endpoint ? `/api/${resource}/${endpoint}` : `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getCustomersList = (resource, endpoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_LIST_LOADING) });\r\n axios.get(buildUrl(resource, endpoint),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_LIST_ERROR) });\r\n })\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\n\r\nexport const getCustomerPrice = (resource, customerId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST_LOADING) });\r\n const filterData = {\r\n params: {\r\n filterData: { customerId: customerId},\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildUrl(resource), filterData,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST_ERROR) });\r\n })\r\n};\r\n\r\nexport const addEmptyLineOnPriceList = (resource, customerId) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.ADD_EMPTY_LINE_ON_PRICE_LIST), data: customerId\r\n});\r\n\r\nexport const removeEmptyLinesOnPriceList = (resource) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.REMOVE_EMPTY_LINES_ON_PRICE_LIST), data: {}\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const setItemData = (resource, value, rowState, header, priceTemplateType) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n\r\n if (rowState.id !== 0) { \r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_DATA_LOADING) });\r\n axios.put(buildUrl(priceTemplateType), rowState.data, axiosConfig())\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_DATA_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nexport const addCustomerPrice = (resource, customersPriceList, priceTemplateType, customerId) => dispatch => {\r\n const requestData = customersPriceList[0].rowState.data;\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_PRICE_LOADING) });\r\n axios.post(buildUrl(priceTemplateType), requestData, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_PRICE_ERROR), data: response.data.message });\r\n console.error(response.data.message)\r\n dispatch(reloadPriceListAfterUpdate(priceTemplateType, customerId))\r\n } else {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_PRICE), data: response })\r\n }\r\n }).catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_PRICE_ERROR) });\r\n });\r\n};\r\n\r\nexport const deleteCustomerPrice = (resource, priceType, id, customerId) => dispatch => {\r\n const filterData = {\r\n params: { id: id },\r\n headers: axiosConfig().headers,\r\n }; \r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_CUSTOMER_PRICE_LOADING) });\r\n axios.delete(buildUrl(priceType), filterData, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_CUSTOMER_PRICE_ERROR) });\r\n console.error(response.data.message);\r\n }\r\n dispatch(reloadPriceListAfterUpdate(priceType, customerId))\r\n }).catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_CUSTOMER_PRICE_ERROR) });\r\n });\r\n};\r\n\r\nexport const setCustomerPriceType = (resource, endpoint, customerId, type) => dispatch => {\r\n const filterData = { \r\n customerId: customerId,\r\n type: type,\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_TYPE_LOADING) });\r\n axios.put(buildUrl(resource, endpoint), filterData, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_TYPE_ERROR) });\r\n console.error(response.data.message);\r\n }\r\n dispatch(reloadAfterUpdate(resource, customerId))\r\n }).catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_TYPE_ERROR) });\r\n })\r\n};\r\n\r\nconst reloadAfterUpdate = (resource, customerId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_PRICE_TYPE_LOADING) });\r\n axios.get(buildUrl(resource, customerId),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_LIST_ERROR) });\r\n });\r\n};\r\n\r\nconst reloadPriceListAfterUpdate = (resource, customerId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST_LOADING) });\r\n const filterData = {\r\n params: {\r\n filterData: { customerId: customerId},\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildUrl(resource), filterData, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMERS_PRICE_LIST_ERROR) });\r\n });\r\n};\r\n\r\nexport const setPerPalletType = (resource, perPalletType) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_PER_PALLET_TYPE), data: perPalletType\r\n});\r\n\r\nexport const getLocationsList = (resource, id) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_LOCATIONS_LIST_LOADING) });\r\n axios.get(buildUrl(resource, 'locationlist'),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_LOCATIONS_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_LOCATIONS_LIST_ERROR) });\r\n })\r\n};","export const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_REJECTED_ORDERS = 'SET_HEADER_WIDTH_REJECTED_ORDERS';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const CUSTOMER_ORDERS_REJECTED_LOADING = 'CUSTOMER_ORDERS_REJECTED_LOADING';\r\nexport const GET_CUSTOMER_ORDERS_REJECTED = 'GET_CUSTOMER_ORDERS_REJECTED';\r\nexport const SORT_ORDERS_REJECTED_ORDERS = 'SORT_ORDERS_REJECTED_ORDERS';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n ERROR: 'ERROR',\r\n SET_HEADER_WIDTH_REJECTED_ORDERS: 'SET_HEADER_WIDTH_REJECTED_ORDERS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SORT_ORDERS_REJECTED_ORDERS: 'SORT_ORDERS_REJECTED_ORDERS',\r\n GET_CUSTOMER_ORDERS_REJECTED: 'GET_CUSTOMER_ORDERS_REJECTED',\r\n CUSTOMER_ORDERS_REJECTED_LOADING: 'CUSTOMER_ORDERS_REJECTED_LOADING',\r\n};\r\n","export const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_LAST_ORDERS = 'SET_HEADER_WIDTH_LAST_ORDERS';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const CUSTOMER_LAST_ORDERS_LOADING = 'CUSTOMER_LAST_ORDERS_LOADING';\r\nexport const GET_CUSTOMER_LAST_ORDERS = 'GET_CUSTOMER_LAST_ORDERS';\r\nexport const SORT_LAST_ORDERS = 'SORT_LAST_ORDERS';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n ERROR: 'ERROR',\r\n SET_HEADER_WIDTH_LAST_ORDERS: 'SET_HEADER_WIDTH_LAST_ORDERS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CUSTOMER_LAST_ORDERS: 'GET_CUSTOMER_LAST_ORDERS',\r\n CUSTOMER_LAST_ORDERS_LOADING: 'CUSTOMER_LAST_ORDERS_LOADING',\r\n SORT_LAST_ORDERS: 'SORT_LAST_ORDERS',\r\n};\r\n","import React, { Fragment } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ColGroup = props => {\r\n if (!props.tableWidth || props.tableWidth === 0) {\r\n return null;\r\n }\r\n let delta = 0;\r\n const indexCellWidth = 70;\r\n const draggableCellWidth = 40;\r\n const selectableCellWidth = 40;\r\n let columnSettings = null;\r\n const actionWidth = props.action ? (props.action.Width ? props.action.Width : 80) : 0;\r\n if (props.resizable && props.resource) {\r\n columnSettings = props.profileSettings?.screens?.[props.resource]?.list?.columns;\r\n let columsTotalWidth = 0;\r\n for (const field in props.columns) {\r\n const column = props.columns[field];\r\n let width = column.Width;\r\n if (columnSettings && columnSettings[field] && columnSettings[field].hidden) {\r\n continue;\r\n }\r\n if (columnSettings && columnSettings[field] && columnSettings[field].width && columnSettings[field].width > 0) {\r\n width = columnSettings[field].width;\r\n }\r\n if (width) {\r\n columsTotalWidth += width;\r\n }\r\n }\r\n columsTotalWidth += (props.action ? actionWidth : 0);\r\n const allCellWidth = (columsTotalWidth + draggableCellWidth + selectableCellWidth + 17);\r\n delta = props.tableWidth - allCellWidth;\r\n if (delta < 1) {\r\n delta = 0;\r\n }\r\n if (delta >= 100) {\r\n delta = 100;\r\n }\r\n } else if (props.resource === 'AssignedOrders') { // Custom Case\r\n columnSettings = props.profileSettings?.screens?.[props.resource]?.list?.columns;\r\n }\r\n return (\r\n \r\n {props.draggable && }\r\n {props.selectable && }\r\n {props.addIndex && }\r\n {Object.keys(props.columns).map((c) => {\r\n const isDouble = props.columns[c].IsDouble;\r\n let width = props.columns[c].Width;\r\n if (columnSettings && columnSettings[c] && columnSettings[c].width) {\r\n width = columnSettings[c].width;\r\n }\r\n if (isDouble) {\r\n var width2 = props.columns[c].Width2\r\n return \r\n \r\n \r\n ;\r\n }\r\n return ;\r\n })}\r\n {props.resizable ? : null}\r\n {props.action && }\r\n \r\n )\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettingsTemp\r\n }\r\n};\r\n\r\nexport default connect(mapStateToProps)(React.memo(ColGroup));","import React, { Fragment } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { setProfileColumnWidth, saveProfileColumnWidth } from '../../../../store/actions/authentication/authentication';\r\n\r\nimport ColGroup from './colGroup';\r\n\r\nimport ResizableTitle from '../../list/resizableTitle';\r\n\r\nconst SheetHeader = props => {\r\n if (props.resizable && !props.resource) {\r\n console.warn('Resizable sheet should hav a resource');\r\n }\r\n const profileColumns = props.profileSettings?.screens?.[props.resource]?.list?.columns;\r\n const columns = props.columns;\r\n\r\n const columnsWithZeroWidth = Object.values(columns).filter(column => column.Width === 0);\r\n columnsWithZeroWidth.map(column => delete columns[column.field]);\r\n\r\n if (!columns) {\r\n return null;\r\n }\r\n\r\n const resizablTitle = (c, i, width, column) => (\r\n {props.onSort\r\n ? \r\n {column.Title}\r\n
\r\n obj.field === c && obj.direction === 'asc') ? 'select' : null}>up\r\n obj.field === c && obj.direction === 'desc') ? 'select' : null}>down\r\n
\r\n
\r\n : {column.Title}\r\n }\r\n );\r\n\r\n const doubleResizablTitle = (c, i, width, column) => (\r\n \r\n \r\n {column.Title2}\r\n \r\n \r\n {props.onSort\r\n ? \r\n {column.Title}\r\n
\r\n obj.field === c && obj.direction === 'asc') ? 'select' : null}>up\r\n obj.field === c && obj.direction === 'desc') ? 'select' : null}>down\r\n
\r\n
\r\n : {column.Title}\r\n }\r\n \r\n
);\r\n\r\n const defTitle = (c, i, column) => (\r\n {props.onSort\r\n ? \r\n {column.Title}\r\n
\r\n up\r\n down\r\n
\r\n
\r\n : {column.Title}\r\n }\r\n );\r\n\r\n const doubleDefTitle = (c, i, column) => (\r\n \r\n {column.Title2}\r\n \r\n \r\n {\r\n props.onSort\r\n ? \r\n {column.Title}\r\n
\r\n up\r\n down\r\n
\r\n
\r\n : {column.Title}\r\n }\r\n \r\n
);\r\n\r\n return <>\r\n {props.colgroup &&\r\n \r\n }\r\n\r\n \r\n\r\n {props.header !== false &&\r\n \r\n \r\n {props.draggable ? : null}\r\n {props.selectable ? : null}\r\n {props.addIndex ? Number : null}\r\n {Object.keys(columns).map((c, i) => {\r\n const column = columns[c];\r\n let width = column.Width;\r\n if (profileColumns && profileColumns[c] && profileColumns[c].width) {\r\n width = profileColumns[c].width;\r\n }\r\n if (column.IsAction) {\r\n return (\r\n \r\n {column.Title}\r\n \r\n );\r\n }\r\n else {\r\n return (props.resizable ?\r\n (column.IsDouble ? doubleResizablTitle(c, i, width, column) : resizablTitle(c, i, width, column)) :\r\n (column.IsDouble ? doubleDefTitle(c, i, column) : defTitle(c, i, column))\r\n );\r\n }\r\n })}\r\n {props.resizable && }\r\n {props.action && Actions}\r\n \r\n \r\n }\r\n \r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettingsTemp\r\n }\r\n};\r\n\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n setColumnWidth: (resource, columns) => dispatch(setProfileColumnWidth(resource, columns)),\r\n saveColumnWidth: (resource, columns) => dispatch(saveProfileColumnWidth(resource, columns)),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(React.memo(SheetHeader));","import React, { useRef, useState } from 'react';\r\n\r\nimport { ElementContent } from '../../../helper/element';\r\nimport { useValidation } from '../../../hook/data/useValidation';\r\nimport { useElementChange } from '../../../hook/action/useElementChange';\r\nimport { useElementOut } from '../../../hook/action/useElementOut';\r\nimport { useElementValidationFocus } from '../../../hook/action/useElementFocus';\r\nimport { ColumnType } from '../../../config/list.config';\r\nimport { InvertColor } from '../../../helper/common';\r\nimport { getNormalizedAttributes } from '../../../config/element.config';\r\n\r\nconst Sheet2Cell = props => {\r\n const ref = useRef();\r\n const [field2, setField2] = useState(\"\");\r\n const messageIdentity = props.messageIdentityPrefix ? `${props.messageIdentityPrefix}_${props.field}` : props.field;\r\n useElementValidationFocus(props.messages, ref, messageIdentity);\r\n const valudationMessages = props.messages && props.messages[messageIdentity];\r\n const validate = useValidation(props.messageDispatch, props.column.Validations, props.column.Title, messageIdentity, props.object, props.column.Warnings);\r\n\r\n const change = (event, data) => {\r\n \r\n props.onChange({\r\n nativeEvent: event,\r\n column: props.column,\r\n field: event.target.field || props.field,\r\n dataField: props.dataField,\r\n keyField: props.keyField,\r\n parentKeyField: props.parentKeyField,\r\n newData: data\r\n });\r\n };\r\n\r\n const attributes = getNormalizedAttributes(props.column.Attributes, props.object, props.data);\r\n\r\n const fieldChangeHandler = useElementChange(validate, change);\r\n const fieldOutHandler = useElementOut(validate, change);\r\n\r\n if(props.column.Type === ColumnType.Empty) {\r\n return ;\r\n }\r\n\r\n const field = ElementContent({\r\n ...props.column,\r\n object: props.object,\r\n val: props.data,\r\n fieldChange: fieldChangeHandler,\r\n fieldOut: fieldOutHandler,\r\n ref: ref,\r\n valudationMessages: valudationMessages,\r\n warningMessages: props?.messages?.warnings?.[messageIdentity] || [],\r\n onActionRecord: props.onActionRecord,\r\n parentData: props.parentData,\r\n firstTimeAction: selectedObject => {\r\n const landingValue = selectedObject ? selectedObject[props.field2Name] : \"\";\r\n const secondaryLandingValue = selectedObject && !!selectedObject[props.field3Name] ? selectedObject[props.field3Name] : \"\";\r\n let landingText1 = \"\";\r\n let landingText2 = \"\";\r\n switch (landingValue) {\r\n case 1:\r\n landingText1 = 'MON';\r\n break;\r\n case 2:\r\n landingText1 = 'TUES';\r\n break;\r\n case 3:\r\n landingText1 = 'WED';\r\n break;\r\n case 4:\r\n landingText1 = 'THURS';\r\n break;\r\n case 5:\r\n landingText1 = 'FRI';\r\n break;\r\n case 6:\r\n landingText1 = 'SAT';\r\n break;\r\n case 7:\r\n landingText1 = 'SUN';\r\n break;\r\n default:\r\n landingText1 = '';\r\n break;\r\n }\r\n switch (secondaryLandingValue) {\r\n case 1:\r\n landingText2 = 'MON';\r\n break;\r\n case 2:\r\n landingText2 = 'TUES';\r\n break;\r\n case 3:\r\n landingText2 = 'WED';\r\n break;\r\n case 4:\r\n landingText2 = 'THURS';\r\n break;\r\n case 5:\r\n landingText2 = 'FRI';\r\n break;\r\n case 6:\r\n landingText2 = 'SAT';\r\n break;\r\n case 7:\r\n landingText2 = 'SUN';\r\n break;\r\n default:\r\n landingText2 = '';\r\n break;\r\n }\r\n const landingText = !!landingText2 ? `${landingText1}/${landingText2}` : landingText1;\r\n setField2(landingText);\r\n }\r\n });\r\n\r\n const color = props.color;\r\n\r\n return (<>\r\n \r\n \r\n {field2}\r\n \r\n \r\n \r\n \r\n {field}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Sheet2Cell);","import React from 'react';\r\nimport { Draggable } from 'react-beautiful-dnd';\r\n\r\nimport SheetCell from './sheetCell';\r\nimport Sheet2Cell from './sheet2Cell';\r\nimport ColGroup from './colGroup';\r\nimport { GenerateColumnAction } from '../../../helper/list';\r\nimport { Action } from '../../../config/action.config';\r\n\r\nimport { InvertColor } from '../../../helper/common';\r\n\r\nconst SheetRow = props => {\r\n const minRowsCanDelete = props.minRowsCanDelete || 0;\r\n const groupBy = props.groupBy;\r\n const groupType = props.groupType;\r\n const groupTypeValue = props.groupTypeValue;\r\n let colSpan = 1;\r\n\r\n colSpan += props.subGroup ? Object.keys(props.columns).length : 0;\r\n props.action && ++colSpan;\r\n props.selectedRows && ++colSpan;\r\n props.draggable && ++colSpan;\r\n\r\n const tRow = (rowData, isDragging) => {\r\n const color = (props.parentData ? props.parentData.color : rowData.color) || 'rgba(255, 255, 255, 1)';\r\n\r\n let actions = props.actions\r\n ?.filter(item => {\r\n let i = item;\r\n \r\n if(typeof(i) === 'function') {\r\n i = item(rowData);\r\n }\r\n \r\n return i;\r\n }).map(item => {\r\n let i = item;\r\n \r\n if(typeof(i) === 'function') {\r\n i = item(rowData);\r\n }\r\n \r\n return i;\r\n });\r\n\r\n return <>\r\n {props.addIndex &&\r\n \r\n {props.index + 1}\r\n \r\n }\r\n {props.selectable &&\r\n \r\n \r\n {isDragging && props.selectedRows?.length > 1\r\n ? \r\n {props.selectedRows.length}\r\n \r\n : \r\n }\r\n \r\n \r\n }\r\n {Object.keys(props.columns).map((c, i) => {\r\n if (props.resizeMode) {\r\n return ...;\r\n }\r\n\r\n const column = props.columns[c];\r\n let data = column.DataFieldName ? rowData[column.DataFieldName] : rowData[c];\r\n data = column.TrueValue ? column.TrueValue(data) : data;\r\n return column && (column.IsDouble ?\r\n \r\n :\r\n )\r\n })}\r\n {props.resizable && }\r\n {props.action && \r\n {GenerateColumnAction(\r\n { record: props.columns, id: props.index, recordId: props.keyField },\r\n props.object.reduce((a, b) => a + (b.deleted ? 0 : 1), 0) > minRowsCanDelete ? actions || [Action.Edit, Action.Delete] :\r\n [Action.Edit], null, props.onActionRecord)}\r\n }\r\n \r\n };\r\n\r\n return (props.draggable\r\n ? (\r\n \r\n {(provided, snapshot) => (<>{props.subGroup && props.subGroupChanged &&\r\n \r\n \r\n {props.data[props.subGroup]}\r\n \r\n {/* Need to check colSpan count */}\r\n }\r\n i.id === props.data.id) ? '' : null}\r\n >\r\n {snapshot.isDragging\r\n ? \r\n \r\n \r\n \r\n {true && props.selectedRows?.length // 'true' can be changed as Configurable to show Table or Count\r\n ? props.selectedRows.map(data =>\r\n \r\n \r\n {tRow(data)}\r\n \r\n )\r\n : (props.grouping && groupBy && props.data[groupType] === groupTypeValue)\r\n ? props.object\r\n .filter(data => data[groupBy] === props.data[groupBy])\r\n .map(data =>\r\n \r\n \r\n {tRow(data)}\r\n \r\n )\r\n : \r\n \r\n {tRow(props.data, snapshot.isDragging)}\r\n \r\n }\r\n \r\n
\r\n \r\n sort\r\n \r\n
\r\n \r\n sort\r\n \r\n
\r\n \r\n sort\r\n \r\n
\r\n \r\n : <>\r\n \r\n \r\n sort\r\n \r\n \r\n {tRow(props.data, snapshot.isDragging)}\r\n \r\n }\r\n \r\n )}\r\n \r\n )\r\n : (<>{props.subGroup && props.subGroupChanged &&\r\n \r\n \r\n {props.data[props.subGroup]}\r\n \r\n {/* Need to check colSpan count */}\r\n }\r\n \r\n {tRow(props.data)}\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default SheetRow;","import React from 'react';\r\n\r\nimport SheetRow from './sheetRow';\r\n\r\nimport { createSelectable } from '../reactSelectable';\r\nimport { ArrayGroup } from '../../../helper/common';\r\n\r\nconst SelectableComponent = createSelectable(SheetRow);\r\n\r\nconst SheetBody = props => {\r\n const Component = props.selectable ? SelectableComponent : SheetRow;\r\n \r\n let rows = [];\r\n const createRowsData = (items, pId, isChild, parentKeyField) => {\r\n if (!items || !Array.isArray(items)) {\r\n return;\r\n }\r\n\r\n const groupBy = props.groupBy;\r\n const groupType = props.groupType;\r\n const groupTypeValue = props.groupTypeValue;\r\n const subGroup = props.subGroup;\r\n\r\n let groupIndex = '';\r\n let groupChanged = false;\r\n\r\n items = items.filter((item) => !item.deleted);\r\n const groupedItems = [];\r\n if(subGroup) {\r\n const subGroupData = ArrayGroup(items, subGroup);\r\n let subGroupValue = '';\r\n subGroupData.forEach(groupItem => {\r\n groupItem.items.map(i => {\r\n if(i[subGroup] !== subGroupValue) {\r\n i.subGroupChanged = true;\r\n } else {\r\n i.subGroupChanged = false;\r\n }\r\n subGroupValue = i[subGroup];\r\n\r\n return i\r\n });\r\n\r\n groupedItems.push(...groupItem.items);\r\n });\r\n\r\n items = groupedItems;\r\n }\r\n\r\n items.forEach((item, index, arr) => {\r\n if (props.grouping && groupBy) {\r\n if (item[groupType] === groupTypeValue) {\r\n groupChanged = groupIndex !== item[groupBy];\r\n if (groupChanged) {\r\n groupIndex = item[groupBy];\r\n }\r\n } else if (arr[index - 1]?.[groupType] === groupTypeValue) {\r\n groupChanged = groupIndex !== item[groupBy];\r\n if (groupChanged) {\r\n groupIndex = item[groupBy];\r\n }\r\n } else {\r\n groupChanged = false;\r\n }\r\n }\r\n\r\n rows.push({\r\n key: item[props.keyFieldName],\r\n index: pId !== 0 ? `${pId}_${index}` : index,\r\n keyFieldName: props.keyFieldName,\r\n keyField: item[props.keyFieldName],\r\n parentKeyField: parentKeyField,\r\n columns: props.columns,\r\n isChild: isChild,\r\n isParent: !isChild,\r\n data: item,\r\n object: props.data,\r\n onChange: props.onChange,\r\n messageIdentityPrefix: props.messageIdentityPrefix == null ? `${index}` : `${props.messageIdentityPrefix}_${index}`,\r\n messageDispatch: props.messageDispatch,\r\n messages: props.messages,\r\n moveRow: props.moveRow,\r\n action: props.action,\r\n onActionRecord: props.onActionRecord,\r\n minRowsCanDelete: props.minRowsCanDelete,\r\n groupChanged: groupChanged,\r\n subGroupChanged: item.subGroupChanged\r\n });\r\n\r\n if (item.items) {\r\n createRowsData(item.items, index, true, item[props.keyFieldName]);\r\n }\r\n });\r\n };\r\n createRowsData(props.data, 0, false, null);\r\n return (\r\n \r\n {\r\n rows.map((item, i) => {\r\n return \r\n })\r\n }\r\n {props.providedPlaceholder}\r\n \r\n );\r\n};\r\n\r\nexport default SheetBody;","import React from 'react';\r\n\r\nconst SheetFooter = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default SheetFooter;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport ResizeObserver from 'rc-resize-observer';\r\n\r\nimport { setProfileColumnWidth, saveProfileColumnWidth } from '../../../../store/actions/authentication/authentication';\r\nimport SheetHeader from './sheetHeader';\r\nimport SheetBody from './sheetBody';\r\nimport SheetFooter from './sheetFooter';\r\nimport { sorColumnsByIndex } from '../../../helper/list'\r\n\r\nconst SheetTableContent = props => {\r\n const [resizeMode, setResizeMode] = useState(false);\r\n const profileColumns = props.profileSettings?.screens?.[props.resource]?.list?.columns;\r\n let columns = {};\r\n\r\n const isMounted = useRef(true);\r\n\r\n useEffect(() => {\r\n return () => {\r\n isMounted.current = false;\r\n };\r\n }, []);\r\n let i = 0;\r\n for (const cI in props.columns) {\r\n const c = props.columns[cI];\r\n if (!c) {\r\n continue;\r\n }\r\n if (profileColumns && profileColumns[cI] && profileColumns[cI].hidden) {\r\n continue;\r\n }\r\n else {\r\n columns[cI] = c;\r\n if (profileColumns && profileColumns[cI] && (profileColumns[cI].index || profileColumns[cI].index === 0)) {\r\n columns[cI].index = profileColumns[cI].index;\r\n }\r\n else {\r\n columns[cI].index = i;\r\n }\r\n }\r\n i++;\r\n }\r\n\r\n columns = sorColumnsByIndex(columns);\r\n\r\n const [tableWidth, setTableWidth] = useState(0);\r\n const onChangeHandler = event => {\r\n props.onChange && props.onChange(event);\r\n };\r\n\r\n const onResize = ({ size }, field, e) => {\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: size.width\r\n });\r\n props.setColumnWidth(props.resource, selectedColumns);\r\n };\r\n\r\n const onResizeStop = ({ size }, field) => {\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: Math.floor(size.width)\r\n });\r\n props.saveColumnWidth(props.resource, selectedColumns);\r\n if ('AvailableOrders' === props.resource) {\r\n props.saveColumnWidth('AssignedOrders', selectedColumns);\r\n }\r\n setResizeMode(false);\r\n };\r\n\r\n const onResizeStart = () => {\r\n setResizeMode(true);\r\n };\r\n\r\n return <>\r\n \r\n {\r\n if (isMounted.current) {\r\n setTableWidth(e.width);\r\n }\r\n }}\r\n >\r\n \r\n \r\n {props.hasFooter && }\r\n ;\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettings\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n setColumnWidth: (resource, columns) => dispatch(setProfileColumnWidth(resource, columns)),\r\n saveColumnWidth: (resource, columns) => dispatch(saveProfileColumnWidth(resource, columns)),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SheetTableContent);","import React from 'react';\r\nimport { Droppable } from 'react-beautiful-dnd';\r\nimport SheetTableContent from './sheetTableContent';\r\nimport { SelectableGroup } from '../../custom/reactSelectable';\r\nimport { useState } from 'react';\r\n\r\nconst Sheet = props => {\r\n const groupBy = props.groupBy;\r\n const groupType = props.groupType;\r\n const groupTypeValue = props.groupTypeValue;\r\n const notUseInnerSelection = props.notUseInnerSelection;\r\n\r\n const SelectableTable = (children) => props.selectable\r\n ? \r\n {children}\r\n \r\n : children;\r\n\r\n const [selected, setSelected] = useState([]);\r\n\r\n const handleBeginSelection = () => {\r\n setSelected([...props.selectedRows].filter(r => props.data.find(i => i.id === r.id) !== undefined));\r\n }\r\n\r\n const handleMouseEndSelection = selectedItems => {\r\n if (notUseInnerSelection) {\r\n props.onAfterMouseSelect && props.onAfterMouseSelect(selectedItems);\r\n return;\r\n }\r\n if (!selectedItems?.length) {\r\n return;\r\n }\r\n\r\n if (selectedItems.length === props.selectedRows.length) {\r\n return;\r\n }\r\n\r\n selectedItems = selectedItems.filter(r => {\r\n return selected.find(i => {\r\n return i.id === r.id;\r\n }) === undefined;\r\n });\r\n\r\n const newItems = [];\r\n let groupIndex = ''\r\n selectedItems.forEach(i => {\r\n if(props.grouping && i[groupType] === groupTypeValue) {\r\n if(groupIndex === i[groupBy]) {\r\n return;\r\n }\r\n groupIndex = i[groupBy];\r\n\r\n newItems.push(...props.data.filter(d => d[groupType] === groupTypeValue && d[groupBy] === i[groupBy]));\r\n\r\n return;\r\n }\r\n\r\n newItems.push(i);\r\n });\r\n\r\n const data = [...selected, ...newItems];\r\n props.setSelectedRows(data);\r\n\r\n props.onAfterMouseSelect && props.onAfterMouseSelect(data);\r\n };\r\n \r\n let disableDrag = false;\r\n\r\n if (props?.selectedRows?.length) {\r\n for (const i in props.selectedRows) {\r\n const item = props.selectedRows[i];\r\n\r\n const originalItem = props.data.find(i => i.id === item.id);\r\n const index = props.data.indexOf(originalItem);\r\n\r\n if (index === -1) {\r\n disableDrag = true;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return (props.draggable\r\n ? (\r\n \r\n {(provided, snapshot) => (\r\n \r\n {SelectableTable(\r\n \r\n \r\n )}\r\n \r\n {provided.placeholder}\r\n
\r\n \r\n )}\r\n \r\n )\r\n : (\r\n
\r\n {SelectableTable(\r\n \r\n \r\n
\r\n )}\r\n
\r\n )\r\n );\r\n};\r\nexport default Sheet;","export const Mapping = (screen, data) => {\r\n if (!data) {\r\n return screen;\r\n }\r\n if (!screen) {\r\n return screen;\r\n }\r\n if (screen.ScreenToolbar) {\r\n MappingScreenToolbar(screen.ScreenToolbar, data);\r\n }\r\n if (screen.Wrap) {\r\n MappingWrap(screen.Wrap, data);\r\n }\r\n if (screen.SectionGroups) {\r\n MappingSectionGroups(screen.SectionGroups, data);\r\n }\r\n if (screen.Tabstrip) {\r\n MappingTabstrip(screen.Tabstrip, data);\r\n }\r\n return screen;\r\n};\r\n\r\nexport const MappingTabstrip = (tabstrip, data) => {\r\n for (const ti in tabstrip) {\r\n const t = tabstrip[ti];\r\n if (t && t.Form && t.Form.SectionGroups) {\r\n MappingSectionGroups(t.Form.SectionGroups, data);\r\n }\r\n }\r\n};\r\n\r\nexport const MappingScreenToolbar = (screenToolbar, data) => {\r\n for (const st in screenToolbar) {\r\n MappingFields(screenToolbar[st].Fields, data);\r\n }\r\n MappingFields(screenToolbar.Fields, data);\r\n};\r\n\r\nexport const MappingWrap = (wrap, data) => {\r\n for (const st in wrap) {\r\n MappingFields(wrap[st].Fields, data);\r\n }\r\n MappingFields(wrap.Fields, data);\r\n};\r\n\r\nexport const MappingSectionGroups = (sectionGroups, data) => {\r\n if (!data) {\r\n return sectionGroups;\r\n }\r\n for (const sg in sectionGroups) {\r\n const secrionGroup = sectionGroups[sg];\r\n MappingSections(secrionGroup.Sections, data);\r\n }\r\n return sectionGroups;\r\n};\r\n\r\nexport const MappingSections = (sections, data) => {\r\n if (!data) {\r\n return sections;\r\n }\r\n for (const s in sections) {\r\n const section = sections[s];\r\n MappingFields(section.Fields, data);\r\n }\r\n return sections;\r\n};\r\n\r\nexport const MappingFields = (fields, data) => {\r\n if (!data) {\r\n return fields;\r\n }\r\n for (const f in fields) {\r\n if (Array.isArray(fields[f])) {\r\n for (const gf in fields[f]) {\r\n MappingFields(fields[f][gf].Fields, data);\r\n }\r\n }\r\n else if (fields[f].Data !== data[f]) {\r\n fields[f].Data = data[f];\r\n }\r\n }\r\n return fields;\r\n};","export const useFormValidation = (messageDispatch, data, mapping, validationMethod, config, componentRefs, messageIdentityPrefix, keyField, type, expandedRowKeys) => {\r\n let passValidation = true;\r\n let newExpandedRowKeys = expandedRowKeys ? [...expandedRowKeys] : null;\r\n\r\n const updateExpandedRowKeys = (value) => {\r\n if (newExpandedRowKeys) {\r\n newExpandedRowKeys = [...newExpandedRowKeys, value];\r\n }\r\n }\r\n\r\n const validateObject = (data, index) => {\r\n const sectionGroupsData = mapping(config, data);\r\n const identityPrefix = (index && type) ? (\r\n messageIdentityPrefix == null\r\n ? `${type}_${index}`\r\n : `${messageIdentityPrefix}_${type}_${index}`) : null;\r\n if (!validationMethod(sectionGroupsData, data, messageDispatch, identityPrefix)) {\r\n updateExpandedRowKeys(data[keyField]);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const validate = newData => {\r\n const validationData = newData || data;\r\n \r\n if (validationData) {\r\n if (Array.isArray(validationData)) {\r\n for (let i in validationData) {\r\n if (validationData[i].deleted) {\r\n continue;\r\n }\r\n if (!validateObject(validationData[i], i)) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n else {\r\n if (!validateObject(validationData)) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n if (componentRefs) {\r\n for (let ci in componentRefs.current) {\r\n if (!componentRefs.current[ci].validate()) {\r\n const p = ci.split('.');\r\n if (p.length > 1) {\r\n const i = p.reverse()[1];\r\n updateExpandedRowKeys(validationData[i][keyField]);\r\n }\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n return [passValidation, newExpandedRowKeys];\r\n }\r\n return validate;\r\n\r\n};\r\n\r\nexport const useFormStatus = (messageDispatch, data, mapping, validationMethod, config, componentRefs, messageIdentityPrefix, keyField, type, expandedRowKeys) => {\r\n let passValidation = true;\r\n let countCompNotValidElements = 0;\r\n const validateObject = (data, index) => {\r\n const sectionGroupsData = mapping(config, data);\r\n const identityPrefix = (index && type) ? (\r\n messageIdentityPrefix == null\r\n ? `${type}_${index}`\r\n : `${messageIdentityPrefix}_${type}_${index}`) : null;\r\n if (!validationMethod(sectionGroupsData, data, messageDispatch, identityPrefix)) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const validate = () => {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n for (let i in data) {\r\n if (data[i].deleted) {\r\n continue;\r\n }\r\n if (!validateObject(data[i], i)) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n else {\r\n if (!validateObject(data)) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n if (componentRefs) {\r\n for (let ci in componentRefs.current) {\r\n if (componentRefs.current[ci] && componentRefs.current[ci].check && typeof componentRefs.current[ci].check === 'function') {\r\n countCompNotValidElements = componentRefs.current[ci].check();\r\n if (countCompNotValidElements > 0) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n }\r\n return [passValidation, countCompNotValidElements];\r\n }\r\n return validate;\r\n\r\n};\r\n\r\n","import { useEffect, useState } from 'react';\r\nimport { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';\r\nimport store from '../../../store';\r\n\r\nexport const useClientHubOrder = (onNotificationReceive, event) => {\r\n const [connection, setConnection] = useState(null);\r\n\r\n useEffect(() => {\r\n const token = store.getState().auth.userToken;\r\n if (!connection) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`/OrderUpdateNotificationHub`, {\r\n accessTokenFactory: () => token\r\n })\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build();\r\n setConnection(newConnection);\r\n }\r\n return () => {\r\n if (connection) {\r\n connection.stop();\r\n }\r\n };\r\n }, [connection]);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchConnection = () => {\r\n if (isMounted && connection) {\r\n if (connection.connectionState === 'Disconnected') {\r\n connection.start()\r\n .then(() => {\r\n console.log('Client HUB for Order Connected!');\r\n connection.on(event, message => {\r\n onNotificationReceive(message);\r\n });\r\n })\r\n .catch(e => console.error('Client HUB Connection failed: ', e));\r\n }\r\n }\r\n }\r\n fetchConnection();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [connection, onNotificationReceive, event]);\r\n\r\n return null;\r\n};\r\n","import React, { useEffect, useRef, useState, useCallback } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport ScrollContainer from 'react-indiana-drag-scroll';\r\n\r\nconst Scroll = props => {\r\n const [showButton, setShowButton] = useState(false);\r\n const [showLeftButton, setShowLeftButton] = useState(true);\r\n const [showRightButton, setShowRightButton] = useState(true);\r\n const allowScroll = useRef(true);\r\n const isMounted = useRef(true);\r\n\r\n const container = useRef(null);\r\n\r\n const resizeObserver = useRef(null);\r\n const {\r\n scrollSpeed,\r\n scrollSpeedOnWeel,\r\n isScrollOnWeel,\r\n leftButtonClass,\r\n rightButtonClass,\r\n useScrollButtons,\r\n scrollToElementClass\r\n } = props;\r\n\r\n const scrollToElement = useCallback(() => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n const domElement = ReactDOM.findDOMNode(container.current);\r\n if (domElement) {\r\n const element = domElement.getElementsByClassName(scrollToElementClass)[0];\r\n element && element.scrollIntoView();\r\n setButtons();\r\n }\r\n }, [container, scrollToElementClass]);\r\n\r\n const checkShowButton = useCallback(() => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n if (useScrollButtons) {\r\n const domElement = ReactDOM.findDOMNode(container.current);\r\n if (domElement) {\r\n setShowButton(domElement.offsetWidth < domElement.scrollWidth);\r\n setButtons();\r\n scrollToElementClass && scrollToElement();\r\n }\r\n }\r\n }, [useScrollButtons, container, scrollToElement, scrollToElementClass]);\r\n\r\n const scrollLeft = useCallback((speed) => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n ReactDOM.findDOMNode(container.current).scrollLeft -= (speed || scrollSpeed);\r\n setButtons()\r\n }, [container, scrollSpeed]);\r\n\r\n const scrollRight = useCallback((speed) => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n ReactDOM.findDOMNode(container.current).scrollLeft += (speed || scrollSpeed);\r\n setButtons()\r\n }, [container, scrollSpeed]);\r\n\r\n const scrollOnWeel = useCallback(() => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n const domElement = ReactDOM.findDOMNode(container.current);\r\n const wheelHandler = (e) => {\r\n e.deltaY < 0 ? scrollLeft(scrollSpeedOnWeel) : scrollRight(scrollSpeedOnWeel);\r\n }\r\n let supportsPassive = false;\r\n try {\r\n const opts = Object.defineProperty({}, 'passive', {\r\n get: () => {\r\n supportsPassive = true;\r\n return supportsPassive;\r\n }\r\n });\r\n window.addEventListener(\"testPassive\", null, opts);\r\n window.removeEventListener(\"testPassive\", null, opts);\r\n } catch (e) { }\r\n domElement.addEventListener('wheel', wheelHandler, supportsPassive ? { passive: true } : false);\r\n return () => {\r\n domElement.removeEventListener('wheel', wheelHandler, supportsPassive ? { passive: true } : false);\r\n };\r\n }, [container, scrollLeft, scrollRight, scrollSpeedOnWeel]);\r\n\r\n \r\n\r\n useEffect(() => {\r\n if (useScrollButtons && isMounted.current) {\r\n const domElement = ReactDOM.findDOMNode(container.current);\r\n if (resizeObserver && resizeObserver.curent) {\r\n resizeObserver.curent.unobserve(domElement);\r\n }\r\n \r\n if (checkShowButton) {\r\n const resizeObserverOrPolyfill = ResizeObserver;\r\n resizeObserver.current = new resizeObserverOrPolyfill(checkShowButton);\r\n if (domElement && resizeObserver && resizeObserver.current) {\r\n resizeObserver.current.observe(domElement);\r\n }\r\n }\r\n\r\n let cleanScrollOnWell;\r\n isScrollOnWeel && (cleanScrollOnWell = scrollOnWeel());\r\n return () => {\r\n resizeObserver.current.unobserve(domElement);\r\n isScrollOnWeel && cleanScrollOnWell();\r\n container.current = null;\r\n allowScroll.current = null;\r\n isMounted.current = false;\r\n resizeObserver.current = null;\r\n };\r\n }\r\n }, [checkShowButton, isScrollOnWeel, scrollOnWeel, useScrollButtons, props.showButtons]);\r\n\r\n const setButtons = () => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n const domElement = ReactDOM.findDOMNode(container.current);\r\n const _scrollLeft = domElement.scrollLeft;\r\n setShowLeftButton(domElement.scrollLeft > 0);\r\n allowScroll.current = false;\r\n domElement.scrollLeft += 1;\r\n if (_scrollLeft === domElement.scrollLeft) {\r\n setShowRightButton(false)\r\n } else {\r\n domElement.scrollLeft -= 1;\r\n setShowRightButton(true)\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setButtons();\r\n }, [props.parentMenu]);\r\n\r\n const scrollHandler = (scroll) => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n let interval;\r\n const mouseUpHandler = () => {\r\n document.removeEventListener('mouseup', mouseUpHandler);\r\n clearInterval(interval)\r\n };\r\n document.addEventListener('mouseup', mouseUpHandler);\r\n interval = setInterval(() => scroll())\r\n };\r\n\r\n const onScroll = () => {\r\n if (!isMounted || !isMounted.current || !container) return;\r\n if (isMounted.current && allowScroll.current) {\r\n setButtons();\r\n }\r\n }\r\n\r\n return (\r\n \r\n {showButton &&\r\n scrollHandler(scrollLeft)}>\r\n left\r\n \r\n }\r\n {isMounted.current && { if (isMounted.current) allowScroll.current = false; }}\r\n onStartScroll={() => { if (isMounted.current) allowScroll.current = true; }}\r\n onScroll={onScroll}\r\n ref={container}\r\n {...props}>\r\n {props.children}\r\n }\r\n {showButton &&\r\n scrollHandler(scrollRight)}>\r\n right\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nScroll.defaultProps = {\r\n vertical: false,\r\n useScrollButtons: true,\r\n isScrollOnWeel: true,\r\n leftButtonClass: 'button left micro white btn-scroll',\r\n rightButtonClass: 'button right micro white btn-scroll',\r\n scrollSpeed: 2,\r\n scrollSpeedOnWeel: 20,\r\n scrollToElementClass: 'selected'\r\n}\r\n\r\nScroll.propTypes = {\r\n vertical: PropTypes.bool,\r\n useScrollButtons: PropTypes.bool,\r\n isScrollOnWeel: PropTypes.bool,\r\n leftButtonClass: PropTypes.string,\r\n rightButtonClass: PropTypes.string,\r\n scrollSpeed: PropTypes.number,\r\n scrollSpeedOnWeel: PropTypes.number,\r\n scrollToElementClass: PropTypes.string\r\n}\r\n\r\nexport default Scroll;","export const ERROR = 'ERROR';\r\nexport const ADD_CUSTOMER_ORDER_LOADING = 'ADD_CUSTOMER_ORDER_LOADING';\r\nexport const ADD_CUSTOMER_ORDER = 'ADD_CUSTOMER_ORDER';\r\nexport const GET_ALL_LOCATION_DOORS_LOADING = 'GET_ALL_LOCATION_DOORS_LOADING';\r\nexport const GET_ALL_LOCATION_DOORS = 'GET_ALL_LOCATION_DOORS';\r\nexport const GET_FAVORITE_LOCATION_DOORS_LOADING = 'GET_FAVORITE_LOCATION_DOORS_LOADING';\r\nexport const GET_FAVORITE_LOCATION_DOORS = 'GET_FAVORITE_LOCATION_DOORS';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n ERROR: 'ERROR',\r\n ADD_CUSTOMER_ORDER_LOADING: 'ADD_CUSTOMER_ORDER_LOADING',\r\n ADD_CUSTOMER_ORDER: 'ADD_CUSTOMER_ORDER',\r\n GET_ALL_LOCATION_DOORS_LOADING: 'GET_ALL_LOCATION_DOORS_LOADING',\r\n GET_ALL_LOCATION_DOORS: 'GET_ALL_LOCATION_DOORS',\r\n GET_FAVORITE_LOCATION_DOORS_LOADING: 'GET_FAVORITE_LOCATION_DOORS_LOADING',\r\n GET_FAVORITE_LOCATION_DOORS: 'GET_FAVORITE_LOCATION_DOORS',\r\n};","import moment from 'moment';\r\n\r\nexport const ArrayEquals = (a, b) =>\r\n Array.isArray(a) &&\r\n Array.isArray(b) &&\r\n a.length === b.length &&\r\n a.every((val, index) => val === b[index]);\r\n\r\nexport const AddMonths = (date, months) => {\r\n var d = date.getDate();\r\n date.setMonth(date.getMonth() + +months);\r\n if (date.getDate() !== d) {\r\n date.setDate(0);\r\n }\r\n return date;\r\n};\r\n\r\nexport const CloneObject = (inputO, exceptList) => {\r\n let outputO = null;\r\n if (Array.isArray(inputO)) {\r\n outputO = [];\r\n for (let i in inputO) {\r\n outputO.push(CloneObject(inputO[i]));\r\n }\r\n }\r\n else if (typeof (inputO) === 'object') {\r\n if (inputO) {\r\n outputO = {};\r\n for (let k in Object.keys(inputO)) {\r\n const ok = Object.keys(inputO)[k];\r\n const o = inputO[ok];\r\n outputO[ok] = CloneObject(o);\r\n }\r\n }\r\n }\r\n else {\r\n outputO = inputO;\r\n }\r\n return outputO;\r\n};\r\n\r\nexport const CloneTopObject = (inputO) => {\r\n let outputO = null;\r\n if (typeof (inputO) === 'object') {\r\n if (inputO) {\r\n outputO = {};\r\n for (let k in Object.keys(inputO)) {\r\n const ok = Object.keys(inputO)[k];\r\n const o = inputO[ok];\r\n outputO[ok] = o;\r\n }\r\n }\r\n }\r\n\r\n return outputO;\r\n};\r\n\r\nexport const CreateGuid = () => {\r\n function _p8(s) {\r\n var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\r\n return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\r\n }\r\n return _p8() + _p8(true) + _p8(true) + _p8();\r\n};\r\n\r\nexport const FindParentValue = (object, parentValueType) => {\r\n if (object && parentValueType) {\r\n return object[parentValueType];\r\n }\r\n return '';\r\n};\r\n\r\nexport const FindSelectedValueText = FindParentValue;\r\n\r\nexport const Compare = (val1, val2, op) => {\r\n // val1 = +val1;\r\n // val2 = +val2;\r\n \r\n if(op === '===') {\r\n return val1 === val2;\r\n } else if(op === '==') {\r\n return val1 === val2;\r\n } else if(op === '!==') {\r\n return val1 !== val2;\r\n } else if(op === '!=') {\r\n return val1 !== val2;\r\n } else if(op === '>') {\r\n return val1 > val2;\r\n } else if(op === '>=') {\r\n return val1 >= val2;\r\n } else if(op === '<') {\r\n return val1 < val2;\r\n } else if(op === '<=') {\r\n return val1 <= val2;\r\n }\r\n};\r\n\r\nexport const NullOrUndefined = data => data !== null && data !== undefined;\r\n\r\nexport const ArraySort = (data, propName) => data.sort(function(a, b) { return a[propName] - b[propName]; });\r\n\r\nexport const ArraySum = (data, propName) => {\r\n if (!data.length) {\r\n return 0;\r\n }\r\n\r\n if (propName) {\r\n return data.reduce(function (sum, item) { return sum + (item[propName] ? +item[propName] : 0); }, 0);\r\n } else {\r\n return data.reduce(function (sum, item) { return sum + +item; });\r\n }\r\n}\r\n\r\nexport const ArrayGroup = (data, propName) => {\r\n var groupNames = [],\r\n groups = [];\r\n\r\n if (!data) {\r\n return [];\r\n }\r\n\r\n data.forEach(function(item) {\r\n var groupName = item[propName],\r\n index = groupNames.indexOf(groupName);\r\n\r\n if(index === -1) {\r\n groupNames.push(groupName);\r\n index = groups.push({ name: groupName, items: [] }) - 1;\r\n }\r\n\r\n groups[index].items.push(item);\r\n });\r\n\r\n return groups;\r\n}\r\n\r\nexport const ParseJson = str => {\r\n try {\r\n return JSON.parse(str);\r\n }\r\n catch{\r\n return null;\r\n }\r\n};\r\n\r\nexport const HexToRGB = (h) => {\r\n let r = 0, g = 0, b = 0;\r\n // 3 digits\r\n if (h.length === 4) {\r\n r = `0x${h[1]}${h[1]}`;\r\n g = `0x${h[2]}${h[2]}`;\r\n b = `0x${h[3]}${h[3]}`;\r\n // 6 digits\r\n } else if (h.length === 7) {\r\n r = `0x${h[1]}${h[2]}`;\r\n g = `0x${h[3]}${h[4]}`;\r\n b = `0x${h[5]}${h[6]}`;\r\n }\r\n return [+r, +g, +b];\r\n};\r\n\r\nexport const InvertColor = (rgbaFormat, bw) => {\r\n const rgba = RGBAFormatToRGB(rgbaFormat);\r\n if (bw) {\r\n return (+rgba[0] * 0.299 + +rgba[1] * 0.587 + +rgba[2] * 0.114) > 186 || +rgba[3] < 0.6\r\n ? 'rgba(0, 0, 0, 1)'\r\n : 'rgba(255, 255, 255, 1)';\r\n }\r\n const invertRgb = [255 - +rgba[0], 255 - +rgba[1], 255 - +rgba[2]];\r\n return `rgba(${invertRgb[0]}, ${invertRgb[1]}, ${invertRgb[2]}, 1)`;\r\n};\r\n\r\nexport const HexToRGBAFormat = (h, alpha) => {\r\n const rgb = HexToRGB(h);\r\n return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${alpha / 100})`;\r\n};\r\n\r\nexport const RGBAFormatToRGB = rgba => {\r\n const sep = rgba.indexOf(',') > -1 ? ',' : ' ';\r\n rgba = rgba.substr(5).split(')')[0].split(sep);\r\n if (rgba.indexOf('/') > -1) {\r\n rgba.splice(3, 1);\r\n }\r\n for (const R in rgba) {\r\n const r = rgba[R];\r\n if (r.indexOf('%') > -1) {\r\n let p = r.substr(0, r.length - 1) / 100;\r\n if (R < 3) {\r\n rgba[R] = Math.round(p * 255);\r\n } else {\r\n rgba[R] = p;\r\n }\r\n }\r\n }\r\n return rgba;\r\n};\r\n\r\nexport const RGBAToHexA = rgba => {\r\n if (!rgba) {\r\n return ['#FFFFFF', 100];\r\n }\r\n if (rgba.indexOf('#') > -1) {\r\n return [rgba, 100];\r\n }\r\n rgba = RGBAFormatToRGB(rgba);\r\n let r = (+rgba[0]).toString(16),\r\n g = (+rgba[1]).toString(16),\r\n b = (+rgba[2]).toString(16);\r\n if (r.length === 1) {\r\n r = '0' + r;\r\n }\r\n if (g.length === 1) {\r\n g = '0' + g;\r\n }\r\n if (b.length === 1) {\r\n b = '0' + b;\r\n }\r\n return [`#${r}${g}${b}`, +rgba[3] * 100];\r\n};\r\n\r\nexport const FunctionArgumentNames = func => {\r\n const str = func.toString().replace(/\\/\\*[\\s\\S]*?\\*\\//g, '')\r\n .replace(/\\/\\/(.)*/g, '')\r\n //.replace(/{[\\s\\S]*}/, '')\r\n .replace(/=>/g, '')\r\n .trim();\r\n const result = str.slice(str.indexOf('(') + 1, str.indexOf(')')).split(\", \");\r\n const params = [];\r\n result.forEach(element => {\r\n element = element.replace(/=[\\s\\S]*/g, '').trim();\r\n if (element.length > 0) {\r\n params.push(element);\r\n }\r\n });\r\n return params;\r\n}\r\n\r\nexport const formatPhoneNumber = (str) => {\r\n //Filter only numbers from the input\r\n let cleaned = ('' + str).replace(/\\D/g, '');\r\n\r\n //Check if the input is of correct\r\n let match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\r\n\r\n if (match) {\r\n //Remove the matched extension code\r\n //Change this to format for any country code.\r\n return [match[2], '-', match[3], '-', match[4]].join('')\r\n }\r\n return str;\r\n};\r\n\r\nexport const phoneRegExp = /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/\r\n\r\nexport const localDate = (date, format) => {\r\n return date ? moment.utc(date).local().utc(true).format(format) : ''\r\n};\r\n\r\nexport const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};","import React, { useState } from 'react';\r\n\r\n\r\nimport { CommonLabels } from '../../../../project/Defines';\r\n\r\nconst Switchable = props => {\r\n const [show, setShow] = useState(!props.hide);\r\n\r\n return (\r\n \r\n {!props.left && props.children}\r\n setShow(!show)}>\r\n grid\r\n \r\n \r\n {show ? 'Collapse' : 'Expande'}·\r\n {props.name || CommonLabels.Text.Filters}\r\n \r\n \r\n \r\n {props.left && props.children}\r\n );\r\n};\r\n\r\nexport default Switchable;","import React, { useState, useEffect, useCallback, forwardRef, useImperativeHandle } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Menu, Dropdown } from 'antd';\r\nimport { Droppable, Draggable, DragDropContext } from 'react-beautiful-dnd';\r\n\r\nimport { setProfileFilterVisibilityAndIndex } from '../../../store/actions/authentication/authentication';\r\nimport { CloneObject } from '../../helper/common';\r\nimport { ColumnType } from '../../config/list.config';\r\nimport { sorColumnsByIndex } from '../../helper/list';\r\n\r\nconst Settings = forwardRef((props, ref) => {\r\n let { screen, columns, profileSettings, setProfileFilterVisibilityAndIndex } = props;\r\n const [visible, setVisible] = useState(false);\r\n const [changed, setChanged] = useState(false);\r\n\r\n const isColumnVisible = useCallback(columnName => {\r\n if (profileSettings) {\r\n if (profileSettings.screens) {\r\n const selectedScreen = profileSettings.screens[screen];\r\n if (selectedScreen && selectedScreen.list) {\r\n if (selectedScreen.list.columns) {\r\n if (selectedScreen.list.columns[columnName]) {\r\n return !selectedScreen.list.columns[columnName].hidden;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n }, [profileSettings, screen]);\r\n\r\n const getColumnIndex = useCallback(columnName => {\r\n if (profileSettings) {\r\n if (profileSettings.screens) {\r\n const selectedScreen = profileSettings.screens[screen];\r\n if (selectedScreen && selectedScreen.list) {\r\n if (selectedScreen.list.columns) {\r\n if (selectedScreen.list.columns[columnName]) {\r\n return selectedScreen.list.columns[columnName].index;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }, [profileSettings, screen]);\r\n\r\n const getSettingsMenu = useCallback(() => {\r\n const profileFilterSettings = profileSettings?.screens?.[screen]?.list?.columns &&\r\n Object.keys(profileSettings.screens[screen].list.columns);\r\n \r\n const filterSettings = Object.keys(columns).sort((next, prev) => next.localeCompare(prev));\r\n const menuSettings = {};\r\n let filterSettings0 = [];\r\n let filterSettings1 = [];\r\n const hasItem = profileFilterSettings && filterSettings && (profileFilterSettings.length === filterSettings.length) && (profileFilterSettings.every(slot => filterSettings.includes(slot)));\r\n\r\n if (hasItem) {\r\n for (const k in filterSettings) {\r\n const cn = filterSettings[k];\r\n const c = columns[cn];\r\n if (!c || c.LinkAppPage || c.Type === ColumnType.Empty || !c.Title) {\r\n continue;\r\n }\r\n menuSettings[cn] = {\r\n title: c.Title,\r\n visible: isColumnVisible(cn),\r\n index: getColumnIndex(cn) ?? +k\r\n };\r\n }\r\n } else {\r\n profileFilterSettings ? filterSettings.forEach(slot => (profileFilterSettings.includes(slot) ? filterSettings0 : filterSettings1).push(slot)) : filterSettings0 = filterSettings;\r\n filterSettings0.sort((next, prev) => profileSettings?.screens?.[screen]?.list?.columns?.[next && prev] &&\r\n profileSettings.screens[screen].list.columns[next].index - profileSettings.screens[screen].list.columns[prev].index);\r\n\r\n const newFilteredSettings = filterSettings0.concat(filterSettings1);\r\n\r\n newFilteredSettings.forEach((slot, i) => menuSettings[slot] = { title: slot, visible: isColumnVisible(slot), index: i });\r\n }\r\n\r\n return menuSettings;\r\n }, [columns, isColumnVisible, getColumnIndex, profileSettings, screen]);\r\n\r\n const [columnSettings, setColumnSettings] = useState(getSettingsMenu());\r\n\r\n useEffect(() => {\r\n !changed && setColumnSettings(sorColumnsByIndex(getSettingsMenu()));\r\n }, [getSettingsMenu, changed])\r\n\r\n const handleVisibleChange = (flag) => {\r\n setVisible(flag);\r\n if (flag && changed) {\r\n setColumnSettings(sorColumnsByIndex(getSettingsMenu()));\r\n setChanged(false);\r\n }\r\n };\r\n\r\n //const columnVisibilityHandler = (e, c) => {\r\n // const newColumnSettings = CloneObject(columnSettings);\r\n // newColumnSettings[c].visible = e.target.checked;\r\n // setColumnSettings(sorColumnsByIndex(newColumnSettings));\r\n // setChanged(true);\r\n //};\r\n\r\n const saveColumnSettingsHandler = () => {\r\n setProfileFilterVisibilityAndIndex(screen, columnSettings);\r\n setChanged(false);\r\n setVisible(false);\r\n };\r\n\r\n useImperativeHandle(\r\n ref,\r\n () => {\r\n return {\r\n saveColumnSettingsHandler: saveColumnSettingsHandler\r\n }\r\n }\r\n );\r\n\r\n //const resetColumnSettingsHandler = () => {\r\n // const selectedColumns = [];\r\n\r\n // for (const k in Object.keys(columnSettings)) {\r\n // const cn = Object.keys(columnSettings)[k];\r\n\r\n // selectedColumns.push({\r\n // name: cn,\r\n // hidden: false,\r\n // index: null\r\n // });\r\n // }\r\n\r\n // setProfileFilterVisibilityAndIndex(screen, selectedColumns);\r\n // setVisible(false);\r\n //};\r\n\r\n const onDragEnd = result => {\r\n if (result && result.destination && result.source) {\r\n if (result.destination.index === result.source.index) {\r\n return;\r\n }\r\n\r\n const newColumnSettings = CloneObject(columnSettings);\r\n const arrayOfNewColumnSettings = Object.entries(newColumnSettings);\r\n const newIndex = arrayOfNewColumnSettings[result.destination.index][1].index;\r\n const item = arrayOfNewColumnSettings[result.source.index][1];\r\n item.index = +newIndex;\r\n if (result.destination.index > result.source.index) {\r\n for (let i = result.source.index + 1; i <= result.destination.index; i++) {\r\n arrayOfNewColumnSettings[i][1].index = arrayOfNewColumnSettings[i][1].index - 1;\r\n }\r\n }\r\n else if (result.destination.index < result.source.index) {\r\n for (let i = result.destination.index; i < result.source.index; i++) {\r\n arrayOfNewColumnSettings[i][1].index = +arrayOfNewColumnSettings[i][1].index + 1;\r\n }\r\n }\r\n const sortedList = arrayOfNewColumnSettings.sort((a, b) =>\r\n a[1].index - b[1].index\r\n );\r\n\r\n let ret = {};\r\n\r\n for (const a in sortedList) {\r\n ret[sortedList[a][0]] = sortedList[a][1];\r\n }\r\n\r\n setColumnSettings(ret);\r\n setChanged(true);\r\n }\r\n\r\n props.applyHandlerForRegions && result.destination && props.applyHandlerForRegions({ name: result.draggableId, index: result.destination.index });\r\n };\r\n\r\n const sortedColumnSettings = columnSettings => sorColumnsByIndex(columnSettings);\r\n\r\n const menu = (\r\n \r\n \r\n \r\n \r\n {(provided) => (\r\n
\r\n {\r\n Object.keys(sortedColumnSettings(columnSettings)).map((c, index) =>\r\n \r\n {(provided) => (\r\n
  • \r\n {/**/}\r\n <>\r\n sort\r\n {columnSettings[c].title}\r\n \r\n\r\n {/**/}\r\n
  • \r\n )}\r\n
    \r\n )\r\n }\r\n {provided.placeholder}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n return <>\r\n {columnSettings && Object.keys(columnSettings).length > 0\r\n ? \r\n e.preventDefault()}>\r\n {props.children}\r\n down\r\n \r\n \r\n : null\r\n }\r\n \r\n});\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettings\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n setProfileFilterVisibilityAndIndex: (resource, columns) => dispatch(setProfileFilterVisibilityAndIndex(resource, columns))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Settings);","import React from 'react';\r\n\r\nimport { CommonLabels } from '../../../../project/Defines';\r\n\r\nconst FilterContainer = props => (\r\n \r\n
    \r\n \r\n {props.children}\r\n \r\n \r\n \r\n { e.preventDefault(); props.onClearAll(); } }>\r\n \r\n {CommonLabels.Buttons.ClearAll}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\nexport default FilterContainer;","import React from 'react';\r\n\r\nconst FilterField = props => (\r\n
    \r\n {props.Title && {props.Title}}\r\n
    \r\n {props.formFields\r\n ? props.children\r\n : \r\n \r\n \r\n }\r\n
    \r\n\r\n
    \r\n);\r\n\r\nexport default FilterField;","import React from 'react';\r\n\r\nconst GroupFilterField = props => (\r\n
    \r\n {props.Title && {props.Title}}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\nexport default GroupFilterField;","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { DatePicker } from \"antd\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport moment from 'moment';\r\n\r\nimport Switchable from './switchable';\r\nimport FilterSettings from 'codeless/components/list/filterSettings';\r\nimport FilterContainer from './filterContainer';\r\nimport FilterField from './filterField/filterField';\r\nimport GroupFilterField from './filterField/groupFilterField';\r\nimport { FilterType } from '../../../config/list.config';\r\nimport {\r\n GenerateInput,\r\n GenerateSimpleCheckbox,\r\n GenerateRadioSwitcher,\r\n GenerateCheckBoxNoLabel\r\n} from '../../../helper/element';\r\nimport SelectElement from '../../../elements/selectElement';\r\nimport { ElementConditions } from '../../../config/condition.config';\r\n\r\nimport { CommonLabels, Defines } from '../../../../project/Defines';\r\nimport { getListFilter, buildListFilterQuery, getCriteriaQuery } from '../../../helper/list';\r\n\r\nconst Filter = props => {\r\n const [filter, setFilter] = useState(null);\r\n const refs = useRef({});\r\n const history = useHistory();\r\n const criteriaQuery = getCriteriaQuery(history);\r\n const saveColumnSettingsRef = useRef(null);\r\n const [region, setRegion] = useState(null);\r\n\r\n const applyFilter = (f) => {\r\n history.push({\r\n search: buildListFilterQuery(criteriaQuery, f || filter)\r\n });\r\n };\r\n\r\n const applyHandler = () => {\r\n let fieldResource = props.profileSettings && props.filtersConfig.dragDrop && props.profileSettings.screens[props.filtersConfig.dragDrop.FieldSortResource];\r\n //\r\n if (region || (region && !fieldResource)) {\r\n saveColumnSettingsRef.current.saveColumnSettingsHandler();\r\n }\r\n\r\n applyFilter();\r\n region && setRegion(null);\r\n };\r\n\r\n const applyHandlerForRegions = e => {\r\n setRegion(e);\r\n };\r\n\r\n const clearFilterHandler = () => {\r\n const newFilters = {};\r\n for (let fk in Object.keys(props.filtersConfig)) {\r\n\r\n const key = Object.keys(props.filtersConfig)[fk];\r\n const f = props.filtersConfig[key];\r\n switch (f.Type) {\r\n case FilterType.Text:\r\n newFilters[key] = '';\r\n if (f.includeEmpty) {\r\n newFilters[`${key}-empty`] = false;\r\n }\r\n break;\r\n case FilterType.Select:\r\n newFilters[key] = '';\r\n break;\r\n case FilterType.MultiSelect:\r\n newFilters[key] = '';\r\n break;\r\n case FilterType.Radio:\r\n newFilters[key] = '';\r\n break;\r\n case FilterType.Date:\r\n newFilters[key + '_from'] = '';\r\n newFilters[key + '_to'] = '';\r\n break;\r\n case FilterType.Checkbox:\r\n newFilters[key] = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n const f = { ...filter, ...newFilters };\r\n setFilter(f);\r\n region && setRegion(null);\r\n applyFilter(f);\r\n };\r\n\r\n useEffect(() => {\r\n const filter = getListFilter(criteriaQuery);\r\n setFilter(filter);\r\n }, [criteriaQuery]);\r\n\r\n const filterFieldChangeHandler = event => {\r\n if (event) {\r\n const newFilter = { ...filter };\r\n const target = event.target;\r\n const type = target.type;\r\n switch (type) {\r\n case 'checkbox':\r\n newFilter[target.name] = target.checked;\r\n break;\r\n case 'multiple':\r\n newFilter[target.name] = target.value ? target.value.join(',') : '';\r\n break;\r\n default:\r\n newFilter[target.name] = target.value;\r\n break;\r\n }\r\n //newFilter[target.name] = target.type !== 'checkbox' ? target.value : target.checked;\r\n setFilter(newFilter);\r\n if (props.filtersConfig[target.name] && props.filtersConfig[target.name].ApplyOnChange) {\r\n applyFilter(newFilter);\r\n }\r\n }\r\n };\r\n\r\n const keyPressHandler = event => {\r\n if (event.key === \"Enter\") {\r\n event.preventDefault();\r\n applyFilter();\r\n }\r\n };\r\n\r\n return (props.filtersConfig &&\r\n \r\n \r\n {\r\n Object.keys(props.filtersConfig).map((fk, i) => {\r\n const f = props.filtersConfig[fk];\r\n let dataSource = f.Valuelist;\r\n if (typeof (dataSource) === 'string' && props.data && typeof props.data[dataSource] === 'function') {\r\n dataSource = props.data[dataSource]();\r\n }\r\n\r\n switch (f.Type) {\r\n case FilterType.Text:\r\n return (\r\n {GenerateInput('text',\r\n ElementConditions.Enable,\r\n ref => { refs.current[fk] = ref; }, //ref\r\n filter && filter[fk], //data\r\n [],\r\n filterFieldChangeHandler,\r\n null,\r\n null,\r\n f.Title,\r\n keyPressHandler,\r\n fk)}\r\n {f.includeEmpty && \r\n \r\n {GenerateSimpleCheckbox(CommonLabels.Text.Empty,\r\n ElementConditions.Enable,\r\n null,\r\n filter && filter[`${fk}-empty`],\r\n [],\r\n filterFieldChangeHandler,\r\n null,\r\n null)}\r\n }\r\n );\r\n case FilterType.Select:\r\n return (\r\n \r\n
    \r\n {\r\n let text = f.caseSensitive ? option.text : option.text && option.text.toLowerCase();\r\n let searchInput = f.caseSensitive ? input : input && input.toLowerCase();\r\n return !searchInput || (text && (f.contains ? text.includes(searchInput) : text.startsWith(searchInput)));\r\n }}\r\n condition\r\n showSearch\r\n style={{ width: '100%' }}\r\n type=\"text\"\r\n dataSource={dataSource}\r\n classes={['line']}\r\n placeholder={f.Title}\r\n name={fk}\r\n {...(filter ? { data: filter[fk] } : { placeholder: f.Title })}\r\n action={(e) => filterFieldChangeHandler({ target: { name: fk, value: e.target.value } }, f.applyOnChange)}\r\n allowClear />\r\n
    \r\n
    \r\n
    );\r\n case FilterType.MultiSelect:\r\n return (\r\n \r\n
    \r\n {\r\n let text = f.caseSensitive ? option.text : option.text && option.text.toLowerCase();\r\n let searchInput = f.caseSensitive ? input : input && input.toLowerCase();\r\n return !searchInput || (text && (f.contains ? text.includes(searchInput) : text.startsWith(searchInput)));\r\n }}\r\n condition\r\n showSearch\r\n style={{ width: '100%' }}\r\n type=\"text\"\r\n dataSource={dataSource}\r\n classes={['line']}\r\n placeholder={f.Title}\r\n name={fk}\r\n {...(filter ? { data: filter[fk] } : { placeholder: f.Title })}\r\n action={(e) => filterFieldChangeHandler({ target: { type: 'multiple', name: fk, value: e.target.value } }, f.applyOnChange)}\r\n allowClear />\r\n
    \r\n
    \r\n
    );\r\n case FilterType.Date:\r\n return \r\n \r\n
    \r\n filter && filter[fk + '_to'] && current > moment(filter[fk + '_to'])}\r\n placeholder={CommonLabels.Text.From}\r\n format={Defines.Format.PrintDate}\r\n value={filter && filter[fk + '_from'] ? moment(filter[fk + '_from']) : ''}\r\n onChange={(e, value) => filterFieldChangeHandler({ target: { name: fk + '_from', value: value } }, f.applyOnChange)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n filter && filter[fk + '_from'] && current < moment(filter[fk + '_from'])}\r\n format={Defines.Format.PrintDate}\r\n value={filter && filter[fk + '_to'] ? moment(filter[fk + '_to']) : ''}\r\n onChange={(e, value) => filterFieldChangeHandler({ target: { name: fk + '_to', value: value } }, f.applyOnChange)}\r\n />\r\n
    \r\n
    \r\n
    \r\n case FilterType.Draggable:\r\n const regionsObj = {};\r\n\r\n dataSource.forEach(slot => regionsObj[slot.text] = { 'Title': slot.text });\r\n return (\r\n (filter && !(f.Assigned === filter.applyFor)) &&\r\n \r\n \r\n \r\n Region Name\r\n \r\n \r\n \r\n )\r\n\r\n case FilterType.Checkbox:\r\n return <>\r\n { GenerateCheckBoxNoLabel(f.Title, ElementConditions.Enable, null, (filter && filter[fk]), [], filterFieldChangeHandler, null, null, null, fk)}\r\n \r\n case FilterType.Radio:\r\n return \r\n {GenerateRadioSwitcher(f.Title, ElementConditions.Enable, null, (filter && filter[fk]), [], filterFieldChangeHandler, null, null, fk)}\r\n\r\n \r\n default:\r\n return null;\r\n }\r\n })\r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettings\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(Filter);","export const ElementConditions = {\r\n Enable: 'Enable',\r\n Hidden: 'Hidden'\r\n};\r\n\r\nexport const Ability = {\r\n Displayability: () => true,\r\n Editability: () => true,\r\n NoEditability: () => false,\r\n NoDisplayability: () => false,\r\n};","import React from 'react';\r\n\r\nimport Sheet from '../../custom/sheet/sheet';\r\nimport { CloneObject } from '../../../helper/common';\r\n\r\nconst Permission = props => {\r\n\r\n const updateMenuItem = (items, item, level) => {\r\n item.level = level;\r\n const isParent = isParentItem(item);\r\n if (isParent) {\r\n item.items.forEach(i => {\r\n updateMenuItem(items, i, level);\r\n });\r\n }\r\n else if (item.parent_id) {\r\n const parentItem = findMenuItem(items, item.parent_id);\r\n if (parentItem) {\r\n if (parentItem.level < level) {\r\n parentItem.level = level;\r\n }\r\n else {\r\n let maxLevel = level;\r\n parentItem.items.forEach(i => {\r\n if (i.level > maxLevel) {\r\n maxLevel = i.level;\r\n }\r\n });\r\n parentItem.level = maxLevel;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const isParentItem = (item) => item && item.items && item.items.length > 0\r\n\r\n const findMenuItem = (items, id) => {\r\n let item = items.find(i => i.screen_id === id);\r\n if (!item) {\r\n items.forEach(i => {\r\n if (isParentItem(i) && !item) {\r\n item = findMenuItem(i.items, id);\r\n }\r\n });\r\n }\r\n return item;\r\n };\r\n\r\n const findUpdateMenuItem = (items, id, level) => {\r\n const item = findMenuItem(items, id);\r\n if (!item) {\r\n console.error('Item not defined');\r\n return null;\r\n }\r\n updateMenuItem(items, item, level);\r\n };\r\n\r\n const actions = {\r\n view: (items, e) => {\r\n if (!e.nativeEvent.target.checked) {\r\n findUpdateMenuItem(items, e.keyField, 0);\r\n } else {\r\n findUpdateMenuItem(items, e.keyField, 1);\r\n }\r\n },\r\n edit: (items, e) => {\r\n if (!e.nativeEvent.target.checked) {\r\n findUpdateMenuItem(items, e.keyField, 1);\r\n } else {\r\n findUpdateMenuItem(items, e.keyField, 2);\r\n }\r\n },\r\n default: (items, e) => {\r\n const item = findMenuItem(items, e.keyField);\r\n if (item) {\r\n\r\n items.forEach(i => {\r\n i.default = false;\r\n });\r\n item.default = true;\r\n }\r\n },\r\n screen_order: (items, e) => {\r\n const item = findMenuItem(items, e.keyField);\r\n if (item) {\r\n item.screen_order = e.nativeEvent.target.value;\r\n }\r\n },\r\n menu_item: (items, e) => {\r\n const item = findMenuItem(items, e.keyField);\r\n if (item) {\r\n if (!e.nativeEvent.target.checked) {\r\n item.menu_item = false;\r\n } else {\r\n item.menu_item = true;\r\n }\r\n }\r\n },\r\n has_details: (items, e) => {\r\n const item = findMenuItem(items, e.keyField);\r\n if (item) {\r\n if (!e.nativeEvent.target.checked) {\r\n item.has_details = false;\r\n } else {\r\n item.has_details = true;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onChangeHandler = (event) => {\r\n const newData = CloneObject(props.data);\r\n actions[event.field](newData, event);\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Permission;","import { useDispatch } from 'react-redux';\r\n\r\nimport { PopupTypes } from '../../components/custom/popup/popup';\r\n\r\nimport { openPopup } from '../../../store/actions/popup/popup';\r\n\r\nexport const useSectionPopup = (title, windowKey, config) => {\r\n const dispatch = useDispatch();\r\n const open = (data, onSave, onCancel) => dispatch(openPopup({\r\n windowKey: { windowKey },\r\n type: PopupTypes.ConfigSection,\r\n title: title,\r\n config: config,\r\n data: data,\r\n onSave: onSave,\r\n onCancel: onCancel\r\n }));\r\n return open;\r\n};","import React, { forwardRef, useEffect, useImperativeHandle, useState, useCallback } from 'react';\r\nimport CurrencyInput from 'react-currency-input-field';\r\nimport { connect } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport axios from 'axios';\r\nimport { Tooltip } from 'antd';\r\n\r\nimport store from '../../../../store';\r\nimport { openPopup } from \"../../../../store/actions/popup/popup\";\r\nimport { CommonLabels } from \"../../../../project/Defines\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport Sheet from '../../custom/sheet/sheet';\r\nimport { ArraySum, CloneObject } from '../../../helper/common';\r\nimport { ValidateFields } from '../../../helper/validation';\r\nimport { MappingFields } from '../../../mapping/mapping';\r\nimport { Action } from '../../../config/action.config';\r\nimport { useSectionPopup } from '../../../hook/action/sectionPopup';\r\nimport Scroll from '../../scroll/scroll';\r\nimport { setValue } from '../../../hook/data/useData';\r\nimport { useFormValidation } from '../../../hook/data/useFormValidation';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport DragDrop from '../../custom/dragDrop';\r\nimport { useDeleteReason } from '../../../hook/action/delete';\r\n\r\nconst BatchTypes = {\r\n soft: 'soft',\r\n hard: 'hard',\r\n no: 'no'\r\n};\r\n\r\nconst Order = forwardRef((props, ref) => {\r\n const columns = props.config.List.Columns;\r\n const screenKey = props.config.Key;\r\n const master = props.config.Master;\r\n const actions = props.config.List.Actions;\r\n const data = props.data ?? [];\r\n const propsDataLength = data.length;\r\n const [newIndex, setNewIndex] = useState(propsDataLength);\r\n const customerId = props.object.customerId;\r\n\r\n const [totalPrice, setTotalPrice] = useState({\r\n value: ArraySum(data, 'price')\r\n });\r\n const MAX_SPACES = 30;\r\n const MAX_WEIGHT = 42800;\r\n const axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n });\r\n const buildPriceUrl = endpoint => `/api/${endpoint}`;\r\n\r\n let initialBatch = BatchTypes.no;\r\n let initialSetIsIndividualPrice = false;\r\n if (data.length > 0) {\r\n switch (data[0].batch) {\r\n case 1:\r\n initialBatch = BatchTypes.hard;\r\n break;\r\n case 2:\r\n initialBatch = BatchTypes.soft;\r\n break;\r\n case 3:\r\n default:\r\n initialBatch = BatchTypes.no;\r\n break;\r\n\r\n }\r\n initialSetIsIndividualPrice = data[0].isIndividualPrice;\r\n }\r\n const [batch, setBatch] = useState(initialBatch);\r\n const [isIndividualPrice, setIsIndividualPrice] = useState(initialSetIsIndividualPrice);\r\n const setInitialStates = useCallback(() => {\r\n setNewIndex(propsDataLength);\r\n setTotalPrice({ value: ArraySum(data, 'price') });\r\n setBatch(initialBatch);\r\n }, [propsDataLength, data, initialBatch]);\r\n\r\n const [initCount, setInitCount] = useState(props.object._INIT_COUNT_);\r\n useEffect(() => {\r\n if (initCount !== props.object._INIT_COUNT_) {\r\n setInitCount(props.object._INIT_COUNT_);\r\n setInitialStates();\r\n }\r\n }, [initCount, props.object._INIT_COUNT_, setInitialStates]);\r\n\r\n const validate = useFormValidation(\r\n props.messageDispatch,\r\n data.filter(o => !o.cancel),\r\n //data,\r\n MappingFields,\r\n ValidateFields,\r\n columns,\r\n null,\r\n props.messageIdentityPrefix,\r\n null,\r\n props.type,\r\n null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n validate() {\r\n let [passValidation] = validate();\r\n const newData = data.filter(i => !i.cancel);\r\n if (initialBatch === BatchTypes.hard && passValidation) {\r\n let message = '';\r\n\r\n const spaceCount = ArraySum(newData, 'space');\r\n const weight = ArraySum(newData, 'weight');\r\n const validDropLocation = newData.every(i => i.dropLocationId === newData[0].dropLocationId);\r\n const validRegion = newData.every(i => i.dropRegionId === newData[0].dropRegionId);\r\n const validRoute = newData.every(i => i.routeId === newData[0].routeId);\r\n\r\n if (!validDropLocation) {\r\n message = `\r\n Hard batch orders can't have different drop locations\r\n `;\r\n } else if (!validRegion) {\r\n message = `\r\n Hard batch orders can't have different drop regions\r\n `;\r\n } else if (!validRoute) {\r\n message = `\r\n Hard batch orders can't have different routes\r\n `;\r\n } else if (spaceCount > MAX_SPACES && weight > MAX_WEIGHT) {\r\n message = `\r\n Hard batch order group spaces count can't have more than ${MAX_SPACES}\r\n Hard batch order group weight count can't have more than ${MAX_WEIGHT}\r\n `;\r\n } else if (spaceCount > MAX_SPACES) {\r\n message = `\r\n For a “Total amount of Space” can’t exceed ${MAX_SPACES} when grouping as a “Hard Batch”\r\n `;\r\n } else if (weight > MAX_WEIGHT) {\r\n message = `\r\n Hard batch order group weight count can't have more than ${MAX_WEIGHT}\r\n `;\r\n }\r\n\r\n if (spaceCount > MAX_SPACES || weight > MAX_WEIGHT || !validDropLocation || !validRegion || !validRoute) {\r\n passValidation = false;\r\n\r\n props.openAlert({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Alert,\r\n title: `Can't Save`,\r\n text: `${message}`,\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n }\r\n\r\n return passValidation;\r\n }\r\n }));\r\n\r\n const sectionPopup = useSectionPopup(props.config.Popup.Title, 'orderComment', props.config.Popup);\r\n const deleteReasonData = useDeleteReason('', props.config.ReasonConfig.ResourceItem, props.config.ReasonConfig);\r\n\r\n const isUseTotalPrice = () => (batch === BatchTypes.hard || batch === BatchTypes.soft) && isIndividualPrice;\r\n\r\n const newRecordHandler = (event) => {\r\n event.preventDefault();\r\n newRecord();\r\n };\r\n\r\n const cloneLastRecordHandler = (event) => {\r\n event.preventDefault();\r\n cloneRecord();\r\n };\r\n\r\n const onActionRecordHandler = (record, action) => {\r\n switch (action) {\r\n case Action.CancelReason:\r\n const onCancel = d => {\r\n const newData = CloneObject(data);\r\n const currentData = newData[record.id];\r\n currentData.cancel = true;\r\n currentData.cancelReason = d.cancelReason;\r\n // currentData.cancelBy = d.cancelBy;\r\n // currentData.cancelDate = d.cancelDate;\r\n // currentData.orderStatus = d.status;\r\n\r\n props.dispatch({ type: props.type, value: newData });\r\n updatePrice(newData, totalPrice.value, isUseTotalPrice());\r\n };\r\n\r\n deleteReasonData(data[record.id][master], data[record.id][screenKey], data[record.id], false, onCancel);\r\n break;\r\n case Action.Delete:\r\n deleteRecord(record);\r\n break;\r\n case Action.Edit:\r\n const onSave = d => {\r\n const newData = CloneObject(data);\r\n newData[record.id] = CloneObject(d);\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n sectionPopup(data[record.id], onSave);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const deleteRecord = (record) => {\r\n if (data.length === 1) {\r\n return;\r\n }\r\n const existingRecords = data.filter(r => !r.cancel);\r\n const recordData = existingRecords.find((i) => i[props.keyFieldName] === existingRecords[record.id][props.keyFieldName]);\r\n let newData;\r\n if (recordData.isNew) {\r\n newData = CloneObject(data);\r\n newData = newData.filter((i) => i[props.keyFieldName] !== recordData[props.keyFieldName]);\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n else {\r\n newData = CloneObject(data);\r\n const cancelDataRecord = newData.find((i) => i[props.keyFieldName] === recordData[props.keyFieldName]);\r\n cancelDataRecord.cancel = true;\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n updatePrice(newData, totalPrice.value, isUseTotalPrice());\r\n };\r\n\r\n const newRecord = () => {\r\n const newData = CloneObject(data);\r\n const newRecord = {\r\n isNew: true\r\n };\r\n const firstRecord = newData[0];\r\n const index = (newIndex + 1);\r\n for (const f in firstRecord) {\r\n if (f === 'isNew') {\r\n continue;\r\n }\r\n if (f === props.keyFieldName) {\r\n newRecord[f] = index * -1;\r\n }\r\n else if (f === 'batch') {\r\n newRecord.batch = firstRecord.batch;\r\n }\r\n else if (f === 'routeId') {\r\n newRecord.routeId = 1;\r\n }\r\n else if (f === 'orderStatus') {\r\n newRecord.orderStatus = 'Open';\r\n }\r\n else if (f === 'orderIndicator') {\r\n newRecord.orderIndicator = 1;\r\n }\r\n else if (typeof firstRecord[f] === \"boolean\") {\r\n if (f === 'Warehouse') {\r\n newRecord[f] = true;\r\n }\r\n else {\r\n newRecord[f] = false;\r\n }\r\n }\r\n else if (typeof firstRecord[f] === \"number\") {\r\n newRecord[f] = null;\r\n }\r\n else if (f === 'inOrderPossitionIndex' || f === 'outOrderPossitionIndex') {\r\n newRecord[f] = 1;\r\n }\r\n else {\r\n newRecord[f] = null;\r\n }\r\n }\r\n newData.push(newRecord);\r\n if (isIndividualPrice) newData.forEach(o => o.isIndividualPrice = true);\r\n props.dispatch({ type: props.type, value: newData });\r\n setNewIndex(index);\r\n };\r\n\r\n const cloneRecord = () => {\r\n const newData = CloneObject(data);\r\n const newRecord = {\r\n isNew: true\r\n };\r\n const lastRecord = newData[newData.length - 1];\r\n const index = (newIndex + 1);\r\n const cloneFields = [\r\n 'pickLocationId', 'pickLocationWithState',\r\n 'readyDate', 'temperature', 'batch', 'routeId', 'priceTemplateType',\r\n 'pickRegionId', 'pickRegionName', 'pickRegionCode',\r\n 'inOrderPossitionIndex', 'outOrderPossitionIndex'];\r\n\r\n if (lastRecord.batch === 1) {\r\n cloneFields.push('dueDate', 'deliverDate', 'drop2City', 'drop2State', 'dropLocationId', 'dropRegionId', 'orderIndicator');\r\n }\r\n\r\n for (const f in lastRecord) {\r\n if (f === 'isNew') {\r\n continue;\r\n }\r\n if (f === props.keyFieldName) {\r\n newRecord[f] = index * -1;\r\n }\r\n else if (f === 'orderStatus') {\r\n newRecord.orderStatus = 'Open';\r\n }\r\n else if (f === 'pickWhEfs') {\r\n newRecord.pickWhEfs = 0;\r\n }\r\n else if (f === 'dropWhEfs') {\r\n newRecord.dropWhEfs = 0;\r\n }\r\n // else if (f === 'palletCount' || f === 'space') {\r\n // newRecord[f] = lastRecord[f];\r\n // }\r\n else if (cloneFields.indexOf(f) !== -1) {\r\n newRecord[f] = lastRecord[f];\r\n }\r\n else if (typeof lastRecord[f] === \"boolean\") {\r\n newRecord[f] = false;\r\n }\r\n else if (typeof lastRecord[f] === \"number\") {\r\n newRecord[f] = null;\r\n }\r\n else if (f === 'inOrderPossitionIndex' || f === 'outOrderPossitionIndex') {\r\n newRecord[f] = 1;\r\n }\r\n else {\r\n newRecord[f] = null;\r\n }\r\n }\r\n newData.push(newRecord);\r\n updatePrice(newData, ArraySum(newData.filter(o => !o.cancel), 'price'), isUseTotalPrice());\r\n if (isIndividualPrice) newData.forEach(o => o.isIndividualPrice = true);\r\n props.dispatch({ type: props.type, value: newData });\r\n setNewIndex(index);\r\n };\r\n\r\n const onChangeHandler = (event) => {\r\n changeRecordData(event.keyField, event.field, event.newData, event.column, event.nativeEvent.source);\r\n };\r\n\r\n const handlePriceUpdate = (keyField, responce, changedData) => {\r\n const newData = CloneObject(changedData);\r\n const item = newData.find(i => i[props.keyFieldName] === keyField);\r\n if (responce.price === 0)\r\n {\r\n setValue(item, 'priceTemplateType', { value: 1 });\r\n setValue(item, 'price', { value: null });\r\n }\r\n else if (responce.priceTemplateType > 1)\r\n {\r\n setValue(item, 'price', { value: responce.price });\r\n }\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n const updatePriceByTemplate = (customerId, pickLockId, dropLockId, palletCount, weight, keyField, newData) => {\r\n const filterData = {\r\n params: {\r\n customerId: customerId,\r\n pickLockId: pickLockId,\r\n dropLockId: dropLockId,\r\n palletCount: palletCount,\r\n weight: weight,\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildPriceUrl('Order/pricebytemplate'), filterData, axiosConfig())\r\n .then(responce => handlePriceUpdate(keyField, responce.data, newData));\r\n };\r\n\r\n const changeRecordData = (keyField, field, newValue, column, outSource) => {\r\n const newData = CloneObject(data);\r\n const item = newData.find(i => i[props.keyFieldName] === keyField);\r\n\r\n if (item) {\r\n setValue(item, field, {\r\n value: newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n if (field === 'palletCount') {\r\n setValue(item, 'space', {\r\n value: newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n updatePrice(newData, ArraySum(newData.filter(o => !o.cancel), 'price'), isUseTotalPrice());\r\n const allSpacesAreFilleed = props.data.filter(order => order.space).length === props.data.length;\r\n if (allSpacesAreFilleed) {\r\n validate()\r\n }\r\n }\r\n if (field === 'priceTemplateType') {\r\n const index = Math.abs(keyField)-1;\r\n let currentOrder = {};\r\n if (index === -1) {\r\n currentOrder = newData[0];\r\n } else if (keyField > 1) {\r\n currentOrder = item\r\n } else {\r\n currentOrder = newData.filter((order, i) => i === index)[0];\r\n }\r\n if (currentOrder?.priceTemplateType > 1) { // if user choose Use template\r\n if (currentOrder?.palletCount && currentOrder?.weight && currentOrder?.pickLocationId && currentOrder?.dropLocationId) {\r\n props.dispatch({ type: props.type, value: newData });\r\n updatePriceByTemplate(\r\n customerId,\r\n currentOrder.pickLocationId,\r\n currentOrder.dropLocationId,\r\n currentOrder.palletCount,\r\n currentOrder.weight,\r\n keyField,\r\n newData);\r\n return;\r\n } else {\r\n if (!isUseTotalPrice()) {\r\n setValue(item, 'price', { value: 0 });\r\n }\r\n }\r\n } else {\r\n if (!isUseTotalPrice()) {\r\n setValue(item, 'price', { value: 0 });\r\n setValue(item, 'priceTemplateType', { value: 1 });\r\n }\r\n }\r\n }\r\n if (field === 'weight' || field === 'palletCount' || field === 'pickLocation' || field === 'dropLocationId') {\r\n const index = Math.abs(keyField)-1;\r\n let currentOrder = {};\r\n if (index === -1) {\r\n currentOrder = newData[0];\r\n } else if (keyField > 1) {\r\n currentOrder = item\r\n } else {\r\n currentOrder = newData.filter((order, i) => i === index)[0];\r\n }\r\n\r\n if (currentOrder?.palletCount && currentOrder?.weight && currentOrder?.pickLocationId && currentOrder?.dropLocationId && batch === 'no') {\r\n if (currentOrder?.priceTemplateType > 1) {\r\n props.dispatch({ type: props.type, value: newData });\r\n updatePriceByTemplate(\r\n customerId,\r\n currentOrder.pickLocationId,\r\n currentOrder.dropLocationId,\r\n currentOrder.palletCount,\r\n currentOrder.weight,\r\n keyField,\r\n newData);\r\n return;\r\n }\r\n } else {\r\n if (!isUseTotalPrice()) {\r\n setValue(item, 'price', { value: 0 });\r\n }\r\n }\r\n }\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n };\r\n\r\n const setSoftBatch = () => {\r\n const newData = CloneObject(data);\r\n setBatch(BatchTypes.soft);\r\n newData.forEach(o => o.batch = 2);\r\n newData.forEach(o => o.isIndividualPrice = true);\r\n updatePrice(data, totalPrice.value, true);\r\n updatePriceType(newData, 1);\r\n props.dispatch({ type: props.type, value: newData });\r\n setIsIndividualPrice(true);\r\n };\r\n\r\n const setHardBatch = () => {\r\n const newData = CloneObject(data);\r\n setBatch(BatchTypes.hard);\r\n newData.forEach(o => o.batch = 1);\r\n newData.forEach(o => o.isIndividualPrice = true);\r\n updatePrice(newData, totalPrice.value, true);\r\n updatePriceType(newData, 1);\r\n props.dispatch({ type: props.type, value: newData });\r\n setIsIndividualPrice(true);\r\n };\r\n\r\n const setNoBatch = () => {\r\n const newData = CloneObject(data);\r\n setBatch(BatchTypes.no);\r\n newData.forEach(o => o.batch = 3);\r\n // updatePrice(newData, totalPrice.value, true);\r\n props.dispatch({ type: props.type, value: newData });\r\n setIsIndividualPrice(false);\r\n };\r\n\r\n const setCheckedBatch = isIndividualPrice => {\r\n setIsIndividualPrice(isIndividualPrice);\r\n const newData = CloneObject(data);\r\n updatePriceType(newData, 1);\r\n newData.forEach(o => o.isIndividualPrice = isIndividualPrice);\r\n updatePrice(newData, totalPrice.value, isIndividualPrice);\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n const sheetMessageIdentityPrefix = props.messageIdentityPrefix == null ? `${props.type}` : `${props.messageIdentityPrefix}_${props.type}`;\r\n\r\n const setTotalPriceHandler = values => {\r\n const newData = CloneObject(data);\r\n const totalPrice = values /* ? parseFloat(values) : '' */;\r\n setTotalPrice({ value: totalPrice });\r\n updatePrice(newData, totalPrice, isUseTotalPrice());\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n const updatePrice = (newData, totalPriceValue, isUseTotalPrice) => {\r\n if (isUseTotalPrice) {\r\n newData = newData.filter(o => !o.cancel);\r\n const totalPalletCount = ArraySum(newData, 'palletCount');\r\n let totalLeftOver = 0;\r\n let palletPrice = 0;\r\n const floor = 10;\r\n if (totalPalletCount > 0) {\r\n totalLeftOver = totalPriceValue % floor;\r\n totalPriceValue -= totalLeftOver % floor;\r\n palletPrice = Math.floor(totalPriceValue / totalPalletCount);\r\n totalLeftOver += totalPriceValue - (palletPrice * totalPalletCount);\r\n }\r\n newData.forEach((d, i) => {\r\n if (i) {\r\n d.price = palletPrice * d.palletCount;\r\n } else {\r\n d.price = palletPrice * d.palletCount + totalLeftOver;\r\n }\r\n });\r\n }\r\n setTotalPrice({ value: totalPriceValue });\r\n };\r\n\r\n const updatePriceType = (newData, value) => {\r\n newData.forEach(order => order.priceTemplateType = value);\r\n };\r\n\r\n const presentationData = CloneObject(data.filter(o => !o.cancel));\r\n\r\n presentationData.forEach((d, i) => {\r\n d.puWeek = d.puDate && new Date(d.puDate).getWeek();\r\n d.dropWeek = d.dropDate && new Date(d.dropDate).getWeek();\r\n d.customerId = props.object.customerId;\r\n });\r\n\r\n const dragDropData = {\r\n droppable: {\r\n data: data.filter(o => !o.cancel),\r\n dispatch: props.dispatch,\r\n type: props.type\r\n }\r\n };\r\n\r\n const isDeliverDataMatch = data.filter(order => !!order.deliverDate && !!order.deliverDate2 && order.deliverDate !== order.deliverDate2);\r\n\r\n const batchBlock = (
    \r\n \r\n \r\n \r\n setCheckedBatch(!isIndividualPrice)} />\r\n
    );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {isDeliverDataMatch.length ?\r\n \r\n
    \r\n Please note: The selected date does not match the calculated delivery date\r\n
    \r\n
    : null}\r\n \r\n
    \r\n
    Pallet Count
    \r\n
    {ArraySum(presentationData, 'palletCount')}
    \r\n
    \r\n
    \r\n
    Total Weight
    \r\n
    {ArraySum(presentationData, 'weight')?.toLocaleString()}
    \r\n
    \r\n {batchBlock}\r\n {isUseTotalPrice() && isIndividualPrice ? (
    \r\n
    Total Rate
    \r\n \r\n
    ) :\r\n (
    \r\n
    Total Rate
    \r\n
    ${ArraySum(presentationData, 'price')?.toLocaleString()}
    \r\n
    )\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    Created By
    \r\n
    {props.object.created}
    \r\n
    \r\n
    \r\n
    Create Date
    \r\n
    {props.object.createDate ? moment(new Date(props.object.createDate)).format(Defines.Format.PrintDate) : ''}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    );\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps, null, { forwardRef: true })(Order);","import React from 'react';\r\n// import { TimePicker } from 'antd';\r\nimport moment from 'moment';\r\n\r\nconst week_days = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'];\r\nconst full_week_days = ['Monday', 'Tuesday', 'Wednesday', 'Thuesday', 'Friday', 'Saturday', 'Sunday'];\r\n\r\nfunction WorkingDays(props) {\r\n const onChange = (name, value) => {\r\n let newData = { ...props.data };\r\n newData[name] = value;\r\n\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n {week_days.map((item, i) =>\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {week_days.map(i => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n onChange(i + 'From', e.nativeEvent.target.value)}\r\n />\r\n onChange(i + 'To', e.nativeEvent.target.value)}\r\n />\r\n {/* onChange(i + 'From', value)}\r\n onBlur={(e, value) => onChange(i + 'From', e.nativeEvent.target.value)} />\r\n onChange(i + 'To', value)}\r\n onBlur={(e, value) => onChange(i + 'To', e.nativeEvent.target.value)} /> */}\r\n \r\n
    \r\n
    \r\n
    );\r\n}\r\n\r\nexport default WorkingDays;","import React, { forwardRef, useImperativeHandle, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { LoadingOutlined, UploadOutlined } from '@ant-design/icons';\r\nimport { message, Button } from 'antd';\r\n\r\nimport Sheet from '../../custom/sheet/sheet';\r\nimport { CloneObject } from '../../../helper/common';\r\nimport { ValidateFields } from '../../../helper/validation';\r\nimport { MappingFields } from '../../../mapping/mapping';\r\nimport { Action } from '../../../config/action.config';\r\nimport { useSectionPopup } from '../../../hook/action/sectionPopup';\r\nimport Uploader from '../../../elements/uploader';\r\nimport { setValue } from '../../../hook/data/useData';\r\nimport { useFormValidation } from '../../../hook/data/useFormValidation';\r\nimport store from '../../../../store';\r\nimport { useEffect } from 'react';\r\n\r\nconst Attachments = forwardRef((props, ref) => {\r\n const columns = props.config.List.Columns;\r\n const actions = props.config.List.Actions;\r\n const showUpload = props.config.Screen || props.config.Screen === undefined;\r\n\r\n useEffect(() => {\r\n if (!props.data) {\r\n props.dispatch({ type: props.type, value: [] });\r\n }\r\n }, [props]);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const validate = useFormValidation(\r\n props.messageDispatch,\r\n props.data ? props.data.filter(o => !o.deleted) : [],\r\n MappingFields,\r\n ValidateFields,\r\n columns,\r\n null,\r\n props.messageIdentityPrefix,\r\n null,\r\n props.type,\r\n null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n validate() {\r\n const [passValidation] = validate();\r\n return passValidation;\r\n }\r\n }));\r\n\r\n const sectionPopup = useSectionPopup(props.config.Popup.Title, 'attachmentComment', props.config.Popup);\r\n\r\n const onActionRecordHandler = (record, action) => {\r\n switch (action) {\r\n case Action.Delete:\r\n deleteRecord(record);\r\n break;\r\n case Action.Edit:\r\n case Action.View:\r\n const onSave = (data) => {\r\n const newData = CloneObject(props.data);\r\n const index = newData.findIndex(i => i.guid === data.guid)\r\n newData[index] = CloneObject(data);\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n sectionPopup(props.data.filter(i => !i.deleted)[record.id], onSave);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const deleteRecord = (record) => {\r\n \r\n const existingRecords = props.data.filter(r => !r.deleted);\r\n const recordData = existingRecords.find((i) => i[props.keyFieldName] === existingRecords[record.id][props.keyFieldName]);\r\n\r\n let newData;\r\n if (recordData.isNew) {\r\n newData = CloneObject(props.data);\r\n newData = newData.filter((i) => i[props.keyFieldName] !== recordData[props.keyFieldName]);\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n else {\r\n newData = CloneObject(props.data);\r\n const deletedDataRecord = newData.find((i) => i[props.keyFieldName] === recordData[props.keyFieldName]);\r\n deletedDataRecord.deleted = true;\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n };\r\n\r\n const onChangeHandler = (event) => {\r\n changeRecordData(event.keyField, event.field, event.newData, event.column, event.nativeEvent.source);\r\n };\r\n\r\n const changeRecordData = (keyField, field, newValue, column, outSource) => {\r\n const newData = CloneObject(props.data);\r\n const item = newData.find(i => i[props.keyFieldName] === keyField);\r\n if (item) {\r\n setValue(item, field, {\r\n value: newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n {loading ? : }\r\n
    \r\n );\r\n\r\n \r\n\r\n const onChange = result => {\r\n const newData = CloneObject(props.data);\r\n const mDate = moment(new Date());\r\n newData.push({\r\n isNew: true,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n originalFileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n createDate: mDate.format(),//moment(new Date()),//.format(Defines.Format.PrintDate),\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n comments: ''\r\n });\r\n props.dispatch({ type: props.type, value: newData });\r\n };\r\n\r\n const max = 5;\r\n const restriction = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const sheetMessageIdentityPrefix = props.messageIdentityPrefix == null ? `${props.type}` : `${props.messageIdentityPrefix}_${props.type}`;\r\n\r\n const data = props.data;\r\n const uploader = (\r\n \r\n \r\n {uploadButton}\r\n \r\n \r\n );\r\n return (\r\n \r\n {showUpload && uploader}\r\n );\r\n});\r\n\r\nexport default Attachments;\r\n\r\n//export default connect(state => ({\r\n// userFirstName: state.auth.userFirstName,\r\n// userLastName: state.auth.userLastName\r\n//}))(Attachments);","import React, { forwardRef, useImperativeHandle } from 'react';\r\n\r\nimport { CloneObject } from '../../../helper/common';\r\nimport Sheet from '../sheet/sheet';\r\nimport { setValue } from '../../../hook/data/useData';\r\nimport { useFormValidation } from '../../../hook/data/useFormValidation';\r\nimport { MappingFields } from '../../../mapping/mapping';\r\nimport { ValidateFields } from '../../../helper/validation';\r\n\r\nconst ManagedSheet = forwardRef((props, ref) => {\r\n const title = props.config.Title;\r\n const columns = props.config.List.Columns;\r\n const data = props.data;\r\n const presentationData = CloneObject(data);\r\n\r\n const validate = useFormValidation(\r\n props.messageDispatch,\r\n props.data,\r\n MappingFields,\r\n ValidateFields,\r\n columns,\r\n null,\r\n props.messageIdentityPrefix,\r\n null,\r\n props.type,\r\n null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n validate() {\r\n const [passValidation] = validate();\r\n return passValidation;\r\n }\r\n }));\r\n\r\n const onChangeHandler = (event) => {\r\n changeRecordData(event.keyField, event.field, event.newData, event.column, event.nativeEvent.source);\r\n };\r\n\r\n const changeRecordData = (keyField, field, newValue, column, outSource) => {\r\n const newData = CloneObject(props.data); \r\n if ((field === 'landing' || field === 'secondaryLanding') && newValue === true) {\r\n newData.map(item => {\r\n setValue(item, field, {\r\n value: !newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n return props.dispatch({ type: props.type, value: newData });\r\n })\r\n }\r\n\r\n const item = newData.find(i => i[props.keyFieldName] === keyField);\r\n if (item) {\r\n setValue(item, field, {\r\n value: newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n\r\n // empty all secondaryLanding days if no one landing day is selected\r\n if (field === 'landing') {\r\n const landingDayExist = newData.some(item => item.landing);\r\n if (!landingDayExist) {\r\n newData.map(item => {\r\n setValue(item, 'secondaryLanding', {\r\n value: false,\r\n dependencies: column.Dependencies,\r\n outSource: outSource,\r\n });\r\n return props.dispatch({ type: props.type, value: newData });\r\n })\r\n }\r\n }\r\n };\r\n return (
    \r\n {title &&
    \r\n \r\n {title}\r\n \r\n
    }\r\n \r\n
    );\r\n});\r\n\r\nexport default ManagedSheet;","import React from 'react';\r\nimport Company from './company';\r\nimport LoadInfo from './loadInfo';\r\nimport Carrier from './carrier';\r\nimport StopList from './stopList';\r\n\r\nexport default function RateConfirmationForm(props) {\r\n const stopListProps = {...props};\r\n stopListProps.type = 'stopList';\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {StopList(stopListProps, props.data.stopList)}\r\n \r\n
    Rate & Load Confirmation
    \r\n {Company(props.data.company)}\r\n \r\n {LoadInfo(props.data.loadInfo)}\r\n
    \r\n {Carrier(props.data.carrierData)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};","import React from \"react\";\r\n\r\nexport default (data) => (\r\n
    \r\n
    \r\n {data.name}\r\n
    \r\n
    {data.address}
    \r\n
    {data.addressLocation}
    \r\n
    {data.phone}
    \r\n
    {data.fax}
    \r\n
    \r\n)","import React from \"react\";\r\n\r\nexport default (data) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Dispatcher:\r\n \r\n \r\n {data.dispatcher}\r\n \r\n \r\n LOAD #\r\n \r\n \r\n {data.loadNumber}\r\n \r\n
    \r\n Phone #: \r\n \r\n \r\n {data.phone}\r\n \r\n \r\n Ship Date\r\n \r\n \r\n {data.pickUpDate}\r\n \r\n
    \r\n Fax #:\r\n \r\n \r\n {data.fax}\r\n \r\n \r\n Today's Date:\r\n \r\n \r\n {data.currentDate}\r\n \r\n
    \r\n Email:\r\n \r\n \r\n \r\n {data.email}\r\n \r\n \r\n
    \r\n)","import React from \"react\";\r\n\r\nexport default (data) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    CarrierPhone #EmailEquipmentAgreed AmountLoad Status
    {data.carrierName}{data.phone}{data.accountingEmail}{data.equipment}{data.rateAmount}{data.status}
    \r\n);","import React from \"react\";\r\nimport moment from 'moment';\r\nimport { setValue } from \"../../../hook/data/useData\";\r\nimport SheetCell from \"../../custom/sheet/sheetCell\";\r\nimport { ElementTypes } from '../../../config/element.config';\r\nimport { CloneObject } from '../../../helper/common'\r\n\r\nimport { Defines } from '../../../../project/Defines';\r\n\r\nexport default (props, data) => {\r\n const onChangeHandler = (event) => {\r\n changeRecordData(event.keyField, event.field, event.newData, event.column, event.nativeEvent.source);\r\n };\r\n\r\n const changeRecordData = (keyField, field, newValue, column, outSource) => {\r\n const newData = CloneObject(data);\r\n const item = newData.find(i => i[props.keyFieldName] === keyField).stopData;\r\n if (item) {\r\n setValue(item, field, {\r\n value: newValue,\r\n dependencies: column.Dependencies,\r\n outSource: outSource\r\n });\r\n props.dispatch({ type: props.type, value: newData });\r\n }\r\n };\r\n\r\n return data.map((stop, i) => {\r\n const locationData = stop.locationData;\r\n const stopData = stop.stopData;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n
    {locationData.name}
    \r\n \r\n \r\n {locationData.address1}\r\n {locationData.address2 ? `, ${locationData.address2}` : locationData.address2}\r\n {locationData.address3 ? `, ${locationData.address3}` : locationData.address3}\r\n {/* TST Cold Storage - San Fernando, CA 13571 Vaughn St UNIT C San Fernando, CA, 91342 */}\r\n \r\n \r\n
    Shipper Notes:
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {/* \r\n \r\n */}\r\n \r\n
    Date:\r\n \r\n {stopData.date ? moment.utc(stopData.date, Defines.Format.PrintDate).format(Defines.Format.PrintDate) : ''}\r\n \r\n Purchase Orders #:\r\n \r\n {stopData.purchaseOrders}\r\n \r\n
    Time:\r\n \r\n {stopData.date ? moment(stopData.time, Defines.Format.MomentTime).format(Defines.Format.InputTime) : ''}\r\n \r\n Type:\r\n \r\n {stopData.type || '-'}\r\n \r\n
    Pallets: \r\n \r\n {stopData.pallets}\r\n \r\n Appointment:\r\n \r\n {stopData.hasAppointment}\r\n \r\n
    LBS:\r\n \r\n {stopData.lbs}\r\n \r\n Load Sequences\r\n \r\n {stopData.loadSequences}\r\n \r\n
    Notes: \r\n
    */}\r\n \r\n {/* */}\r\n {/*
    \r\n
    \r\n \r\n USE GATE CODE #8888\r\n \r\n
    \r\n \r\n \r\n {i < data.length - 1 &&\r\n \r\n \r\n \r\n }\r\n
    );\r\n })\r\n};","import {\r\n ElementTypes,\r\n ElementValidations,\r\n GenerateToolBars\r\n} from '../../config';\r\n\r\nconst SendMail = {\r\n Resource: 'PDFGenerator/sendrateconfirmation',\r\n Master: 'loadNumber',\r\n IsRest: true,\r\n Key: 'loadId',\r\n Form: {\r\n Title: 'CC Mail To...',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n ccAddresses: {\r\n Field: ElementTypes.Comment(),\r\n Validations: [ElementValidations.EmailList()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Send', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default SendMail;","import React from 'react';\r\n// import { useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { message } from 'antd';\r\n\r\nimport axios from \"../../../axios/axios\";\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../store/actions/popup/popup\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { CloneObject } from \"../../../helper/common\";\r\nimport AuthenticatedLink from '../../../elements/authenticatedLink';\r\n\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nimport RateConfirmationConfig from '../../../screens/RateConfirmation/config';\r\nimport SendMail from '../../../screens/RateConfirmation/send';\r\n// import { ComponentTypes } from '../../../config/index';\r\n\r\nfunction RateConfirmation(props) {\r\n const onEdit = () => {\r\n const windowKey = \"Rate Confirmation\";\r\n const config = CloneObject(RateConfirmationConfig);\r\n const title = `Edit ${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = props.data[props.keyFieldName];\r\n\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n beforeSaveAction: (data, additionalData, updateData, setDefaultData) => {\r\n onSend(data, additionalData, setDefaultData);\r\n },\r\n saveAction: (data, close) => {\r\n if (close) {\r\n props.closePopupAsync(windowKey);\r\n }\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n },\r\n });\r\n };\r\n\r\n const onSend = (data, additionalData, setDefaultData) => {\r\n const windowKey = 'Mail To';\r\n\r\n const config = CloneObject(SendMail);\r\n // config.Form.View.Components.pdf.Component = ComponentTypes.RateConfirmationForm();\r\n const title = `${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = props.data[props.keyFieldName];\r\n\r\n const save = additionalData?.save;\r\n const sectionData = {\r\n loadId: props.data[props.keyFieldName],\r\n rateConfirmationData: data ? {\r\n ...data\r\n } : null,\r\n ccAddresses: '',\r\n save: additionalData?.save\r\n };\r\n\r\n props.openConfirm({\r\n windowKey: windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigSection,\r\n bodyProps: { windowKey },\r\n data: sectionData,\r\n config: config.Form,\r\n onSave: (data, setUpdating, close) => {\r\n data.save = save;\r\n \r\n setUpdating && setUpdating(true);\r\n axios.put(SendMail.Resource, data)\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (result.hasError) {\r\n message.error(result.message);\r\n\r\n return;\r\n }\r\n message.success(result.message);\r\n data = data.rateConfirmationData || result.rateConfirmationData;\r\n if (setDefaultData) {\r\n setDefaultData(data);\r\n }\r\n close && close();\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n !close && setUpdating && setUpdating(false);\r\n });\r\n // setUpdating && setUpdating(true);\r\n // setTimeout(() => {\r\n // setUpdating && setUpdating(false);\r\n // props.closePopup(windowKey);\r\n // }, 3000);\r\n }\r\n });\r\n };\r\n\r\n return ((props.data.hasRateConfirmation) ?\r\n
    \r\n
    \r\n
    \r\n Rate Confirmation\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n file\r\n \r\n PDF\r\n \r\n \r\n
    \r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n \r\n \r\n
    Edit
    \r\n
    \r\n \r\n Download\r\n \r\n
    \r\n
    { onSend() }}>Send
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n : null\r\n );\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n openConfirm: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(RateConfirmation, axios));","import React from 'react';\r\n// import { useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { message } from 'antd';\r\n\r\nimport axios from \"../../../axios/axios\";\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../store/actions/popup/popup\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { CloneObject } from \"../../../helper/common\";\r\nimport AuthenticatedLink from '../../../elements/authenticatedLink';\r\n\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nimport SendMail from '../../../screens/RateConfirmation/send';\r\n\r\nfunction CarrierPackage(props) {\r\n const onSend = () => {\r\n const windowKey = 'Mail To';\r\n\r\n const config = CloneObject(SendMail);\r\n const title = `${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = props.data[props.keyFieldName];\r\n config.Resource = 'Carrier/sendpacket';\r\n\r\n const sectionData = {\r\n name: props.data.name,\r\n email: props.data.accountingEmail,\r\n ccAddresses: ''\r\n };\r\n\r\n props.openConfirm({\r\n windowKey: windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigSection,\r\n bodyProps: { windowKey },\r\n data: sectionData,\r\n config: config.Form,\r\n onSave: (data, setUpdating, close) => {\r\n setUpdating && setUpdating(true);\r\n axios.put(config.Resource, data)\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (result.hasError) {\r\n message.error(result.message);\r\n\r\n return;\r\n }\r\n message.success(result.message);\r\n close && close();\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n setUpdating && setUpdating(false);\r\n close && close();\r\n });\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Carrier Package\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n file\r\n \r\n PDF\r\n \r\n \r\n
    \r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Download\r\n \r\n
    \r\n
    { onSend() }}>Send
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n openConfirm: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(CarrierPackage, axios));","import React, { useState } from 'react';\r\nimport { Checkbox } from 'antd';\r\n\r\nconst MultipleCheckbox = props => {\r\n const { data, type, dispatch } = props;\r\n const restrictionList = [\r\n { label: 'Straight', value: 1 }, \r\n { label: 'Chimney', value: 2 }, \r\n { label: 'Other', value: 3 }, \r\n { label: 'Sideways', value: 4 }\r\n ];\r\n const [checkedValue, setCheckedValue] = useState(data || 4);\r\n \r\n const onChange = value => {\r\n setCheckedValue(value);\r\n dispatch({ type: type, value: value });\r\n };\r\n\r\n return
    \r\n
    Loading Restriction
    \r\n {restrictionList.map(item => \r\n onChange(e.target.value)}\r\n checked={item.value === checkedValue}\r\n value={item.value}\r\n >\r\n {item.label}\r\n \r\n )}\r\n
    \r\n}\r\n\r\nexport default MultipleCheckbox;","export const colorStyles = {\r\n container: (base, state) => ({\r\n ...base,\r\n margin: '6px',\r\n }),\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: 'lightGray',\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '28px',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '200',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n }),\r\n singleValue: (base, state) => ({\r\n }),\r\n indicatorsContainer: () => ({\r\n padding: '0 8px!important',\r\n }),\r\n dropdownIndicator: () => ({\r\n padding: '2px 0 0 0!important',\r\n }),\r\n input: () => ({\r\n padding: 0,\r\n margin: 0,\r\n }),\r\n};","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { getLocationsList } from '../../../../store/actions/customers/customers';\r\nimport Select from 'react-select';\r\nimport { colorStyles } from './css_ant-reset';\r\nimport Loading from '../../screen/loading';\r\nimport { CustomerSelectors } from '../../../../store/selectors/customerSelectors';\r\nimport './index.css';\r\n\r\nconst Locations = ({ type, data, dispatch: innerDispatch }) => {\r\n const dispatch = useDispatch();\r\n const { locations, loading } = CustomerSelectors();\r\n const resource = 'location';\r\n\r\n useEffect(() => {\r\n dispatch(getLocationsList(resource, data?.id));\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dispatch, resource]);\r\n\r\n const defaultEmptyLocation = [\r\n {\r\n favLocationId: 0,\r\n },\r\n ];\r\n\r\n const activeLocationsIDsList = [];\r\n for (let i = 0; i < locations?.length; i++) {\r\n for (let j = 0; j < data?.favLocations.length; j++) {\r\n if (locations[i].value === data.favLocations[j].favLocationId) {\r\n activeLocationsIDsList.push(locations[i].value);\r\n };\r\n };\r\n };\r\n\r\n const defaultLocation = data?.favLocations?.length ? data?.favLocations?.filter(loc => activeLocationsIDsList.includes(loc.favLocationId)) : defaultEmptyLocation;\r\n const [selectedLocations, setSelectedLocations] = useState();\r\n const [showNewSelect, setShowNewSelect] = useState(false);\r\n const updatedLocations = locations?.map(loc => activeLocationsIDsList.includes(loc.value))\r\n\r\n useEffect(() => {\r\n setSelectedLocations(defaultLocation);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data.favLocations, locations]);\r\n\r\n updatedLocations?.length && updatedLocations[0].value !== '' && updatedLocations.unshift({ value: '', label: '' });\r\n locations?.length && locations[0].value !== '' && locations.unshift({ value: '', label: '' });\r\n\r\n const optionsFavoriteLocations =\r\n locations &&\r\n locations.map(item => {\r\n return { ...item, label: item.text };\r\n });\r\n\r\n const getTextFromValueFavoriteLocations = value => {\r\n return selectedLocations?.length ? selectedLocations?.filter(item => item.favLocationId === value)[0]?.favLocationName : [];\r\n };\r\n\r\n const onChangeHandle = (value, index) => {\r\n const selectedLocation = locations?.length && locations?.filter(item => item.value === value)[0];\r\n const updatedLocation = {\r\n favLocationId: selectedLocation.value,\r\n favLocationName: selectedLocation.text,\r\n };\r\n const updatedLocationsWithNewAdded = [...selectedLocations.slice(0, index), ...[updatedLocation], ...selectedLocations.slice(index + 1)];\r\n const updatedLocationsWithOutEmpty = updatedLocationsWithNewAdded.filter(location => location.favLocationId !== '');\r\n innerDispatch({ type: 'favLocations', value: updatedLocationsWithOutEmpty });\r\n };\r\n\r\n const showHideNewLocation = () => {\r\n setShowNewSelect(!showNewSelect);\r\n };\r\n\r\n const onAddNewLocation = value => {\r\n const selectedLocation = locations?.length && locations?.filter(item => item.value === value)[0];\r\n const newLocation = {\r\n favLocationId: selectedLocation.value,\r\n favLocationName: selectedLocation.text,\r\n };\r\n const updatedLocations = [...selectedLocations, newLocation];\r\n setShowNewSelect(!showNewSelect);\r\n innerDispatch({ type: 'favLocations', value: updatedLocations });\r\n };\r\n\r\n return ( \r\n loading ?
    :\r\n <>\r\n
    Locations
    \r\n {selectedLocations?.map((location, index) => {\r\n return (\r\n onChangeHandle(option.value, index)}\r\n styles={colorStyles}\r\n menuPlacement='auto'\r\n />\r\n );\r\n })}\r\n {showNewSelect && (\r\n onAddNewLocation(option.value)}\r\n styles={colorStyles}\r\n menuPlacement='auto'\r\n />\r\n )}\r\n
    \r\n {showNewSelect ? 'Remove empty row' : 'Add new location'}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default Locations;\r\n","import { useSelector } from \"react-redux\";\r\n\r\nexport const CustomerSelectors = () => {\r\n const state = useSelector(state => state);\r\n const locations = useSelector(state => state.customers.locationsList);\r\n const loading = useSelector(state => state.customers.loading);\r\n\r\n return { state, locations, loading };\r\n};","import React from 'react';\r\n\r\nimport Sheet from '../components/custom/sheet/sheet';\r\nimport Permission from '../components/project/permission/permission';\r\nimport Order from '../components/project/order/order';\r\nimport WorkingDays from '../components/project/workingDays/WorkingDays';\r\nimport Expandable from '../components/custom/table/expandable';\r\nimport Attachments from '../components/project/attachments/attachments';\r\nimport ManagedSheet from '../components/custom/managedSheet/managedSheet';\r\nimport RateConfirmationForm from '../components/project/rateConfirmation/form';\r\nimport RateConfirmation from '../components/project/rateConfirmation';\r\nimport CarrierPackage from '../components/project/carrierPackage';\r\nimport MultipleCheckbox from '../components/project/MultipleCheckbox';\r\nimport Locations from '../components/project/Locations';\r\n\r\nexport const GenerateSheet = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes) =>\r\n ;\r\n\r\nexport const GenerateRateConfirmationForm = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes) =>\r\n ;\r\n\r\nexport const GenerateRateConfirmation = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes) =>\r\n ;\r\n\r\nexport const GenerateCarrierPackage = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes) =>\r\n ;\r\n\r\nexport const GenerateCommentsSheet = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, classes) =>\r\n ;\r\n\r\nexport const GeneratePermissionSheet = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch) =>\r\n ;\r\nexport const GenerateWorkingDays = (type, keyFieldName, columns, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n ;\r\nexport const GenerateExpandeble = (type, config, keyFieldName, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n { componentRefs.current[messageIdentityPrefix == null ? `${type}` : `${messageIdentityPrefix}_${type}`] = ref; }} // TODO: Avoide Imperative ref usage\r\n messageIdentityPrefix={messageIdentityPrefix}\r\n config={config}\r\n keyFieldName={keyFieldName}\r\n type={type}\r\n data={data}\r\n dispatch={dispatch}\r\n messages={messages}\r\n messageDispatch={messageDispatch}\r\n object={object}\r\n />;\r\nexport const GenerateOrder = (type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n { componentRefs.current[messageIdentityPrefix == null ? `${type}` : `${messageIdentityPrefix}_${type}`] = ref; }}\r\n messageIdentityPrefix={messageIdentityPrefix}\r\n config={config}\r\n keyFieldName={keyFieldName}\r\n type={type}\r\n data={data}\r\n dispatch={dispatch}\r\n messages={messages}\r\n messageDispatch={messageDispatch}\r\n object={object}\r\n />;\r\nexport const GenerateManagedSheet = (type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n { componentRefs.current[messageIdentityPrefix == null ? `${type}` : `${messageIdentityPrefix}_${type}`] = ref; }}\r\n messageIdentityPrefix={messageIdentityPrefix}\r\n config={config}\r\n keyFieldName={keyFieldName}\r\n type={type}\r\n data={data}\r\n dispatch={dispatch}\r\n messages={messages}\r\n messageDispatch={messageDispatch}\r\n object={object}\r\n />;\r\nexport const GenerateAttachment = (type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n { componentRefs.current[messageIdentityPrefix == null ? `${type}` : `${messageIdentityPrefix}_${type}`] = ref; }}\r\n messageIdentityPrefix={messageIdentityPrefix}\r\n config={config}\r\n keyFieldName={keyFieldName}\r\n type={type}\r\n data={data}\r\n dispatch={dispatch}\r\n messages={messages}\r\n messageDispatch={messageDispatch}\r\n object={object}\r\n />;\r\n\r\n// export const GenerateLoad = (type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) =>\r\n// { componentRefs.current[messageIdentityPrefix == null ? `${type}` : `${messageIdentityPrefix}_${type}`] = ref; }}\r\n// messageIdentityPrefix={messageIdentityPrefix}\r\n// config={config}\r\n// keyFieldName={keyFieldName}\r\n// type={type}\r\n// data={data}\r\n// dispatch={dispatch}\r\n// messages={messages}\r\n// messageDispatch={messageDispatch}\r\n// object={object}\r\n// />;\r\n\r\nexport const GenerateCheckBoxMultiple = (type, data, dispatch) => {\r\n return ;\r\n}\r\n\r\nexport const GenerateLocations = (type, data, dispatch) => {\r\n return ;\r\n}","import React, {\r\n useState,\r\n useEffect,\r\n useRef,\r\n useCallback\r\n} from 'react';\r\nimport { useParams, useHistory } from 'react-router-dom';\r\nimport { message } from 'antd';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport axios from '../../axios/axios';\r\nimport FormScreen from '../screen/formScreen';\r\nimport Content from './content';\r\nimport { Mapping } from '../../mapping/mapping';\r\nimport { Action } from '../../config/action.config';\r\nimport { ValidateScreen } from '../../helper/validation';\r\nimport { useDelete, useDeleteReason, useCheckReference } from '../../hook/action/delete';\r\nimport { useData } from '../../hook/data/useData';\r\nimport { useMessage } from '../../hook/data/useMessage';\r\nimport { DefaultDataTypes, DefaultMessageTypes } from '../../hook/actions';\r\nimport { useFormValidation } from '../../hook/data/useFormValidation';\r\nimport errorHandler from '../../error/errorHandler';\r\nimport Loading from '../screen/loading';\r\n\r\nimport { AppPages } from '../../../project/Pages'\r\nimport { Project } from '../../../project/Project';\r\nimport { Defines, CommonLabels } from '../../../project/Defines';\r\n\r\nimport { CloneObject } from '../../helper/common';\r\nimport { updateProfile } from '../../../store/actions/authentication/authentication';\r\nimport store from '../../../store';\r\n// import StateChanged from '../../components/browserBack';\r\nimport { openPopup } from '../../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../../components/custom/popup/popup';\r\nimport {GenerateToolBars} from \"../../config\";\r\n\r\nconst Form = props => {\r\n const propsScreenKey = props.screen.Key;\r\n const componentRefs = useRef({});\r\n const history = useHistory();\r\n //state\r\n const [data, dispatch] = useData();\r\n const [messages, messageDispatch] = useMessage(props.screen.Form);\r\n const [isLoading, setLoading] = useState(true);\r\n const [isUpdating, setUpdating] = useState(false);\r\n const [isDeleting, setDeleting] = useState(false);\r\n\r\n const [firstData, setFirstData] = useState();\r\n //end state\r\n\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n props.screen.Form,\r\n componentRefs);\r\n\r\n let { id, childId } = useParams();\r\n let backUrl = '';\r\n if (!props.showPopup) {\r\n backUrl = props.screen.Resource ? Project.getPageUrl(AppPages[props.screen.Resource]) : '';\r\n }\r\n const historyState = history.location.state;\r\n let search = '';\r\n if (historyState && historyState.search) {\r\n search = historyState.search;\r\n }\r\n\r\n const formValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const newDataValidation = (data) => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate(data);\r\n return passValidation;\r\n };\r\n\r\n if (props.screen.Form.DefaultId !== null && props.screen.Form.DefaultId !== undefined) {\r\n id = props.screen.Form.DefaultId;\r\n }\r\n\r\n const setDefaultData = useCallback(defaultData => {\r\n dispatch({\r\n type: DefaultDataTypes.INIT, data: defaultData\r\n });\r\n setFirstData(defaultData);\r\n }, [dispatch]);\r\n\r\n const loadData = useCallback((_id) => {\r\n if(!childId){\r\n _id = !_id ? id : _id;\r\n if (props.data) {\r\n setDefaultData(props.data);\r\n return;\r\n }\r\n if (!props.screen.Resource) {\r\n setLoading(false);\r\n return;\r\n }\r\n axios.get(\r\n (props.screen.NotUseIdOnLoad ? props.screen.Resource : `${props.screen.Resource}\\\\${(_id === Defines.DefaultCreateKey ? 0 : id)}`)\r\n )\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (props.screen.ParentField) {\r\n result[props.screen.ParentField] = props.screen.ParentValue;\r\n }\r\n\r\n setDefaultData(result);\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n } else {\r\n _id = childId;\r\n if (props.data) {\r\n setDefaultData(props.data);\r\n return;\r\n }\r\n if (!props.screen.Resource) {\r\n setLoading(false);\r\n return;\r\n }\r\n axios.get(\r\n (props.screen.NotUseIdOnLoad ? props.screen.Resource : `${props.screen.Resource}\\\\${(_id === Defines.DefaultCreateKey ? 0 : childId)}`)\r\n )\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (props.screen.ParentField) {\r\n result[props.screen.ParentField] = props.screen.ParentValue;\r\n }\r\n\r\n setDefaultData(result);\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n }\r\n\r\n }, [childId, id, props.data, props.screen.Resource, props.screen.NotUseIdOnLoad, props.screen.ParentField, props.screen.ParentValue, setDefaultData]);\r\n\r\n //load data\r\n useEffect(() => {\r\n let isMounted = true;\r\n if (isMounted) {\r\n loadData();\r\n }\r\n return () => { isMounted = false };\r\n }, [props.screen.Resource, loadData]);//props.screen.Resource, loadData\r\n const [customToolbar, setCustomToolbar] = useState('')\r\n useEffect(()=> {\r\n if(id){\r\n const detailUrl = Project.getPageUrl(AppPages[props.screen.Resource + Defines.DetailsComponentSufix]);\r\n if(detailUrl === '/loadplanning/locationdetails' && id && id !== Defines.DefaultCreateKey && !childId){\r\n const toolBars = GenerateToolBars([\"default\", \"Clone\"])\r\n setCustomToolbar(toolBars)\r\n } else if(childId){\r\n const toolBars = GenerateToolBars([\"SaveBack\", \"SaveNew\", \"Save\"])\r\n setCustomToolbar(toolBars)\r\n } else {\r\n setCustomToolbar('')\r\n setCustomToolbar(props.screen.Form.ToolBars)\r\n }\r\n }\r\n\r\n }, [id, childId, props.screen.Resource, props.screen.Form.ToolBars])\r\n //update data\r\n const updateData = (afterUpdateAction, newData, newResource = '') => {\r\n let resource = props.screen.Resource;\r\n if (!resource) {\r\n return;\r\n }\r\n if (newResource) {\r\n resource = newResource;\r\n }\r\n\r\n setUpdating(true);\r\n\r\n let method = 'PUT';\r\n\r\n if (!data[propsScreenKey] || data[propsScreenKey] === 0 || childId ) {\r\n method = 'POST';\r\n }\r\n\r\n const modifiedData = props.screen.beforeUpdate ? props.screen.beforeUpdate(newData || data, props.parentVal) : { ...(newData || data) };\r\n if(childId){\r\n modifiedData.id = 0;\r\n }\r\n axios({\r\n url: resource,\r\n method: method,\r\n data: modifiedData\r\n })\r\n .then(response => {\r\n // setUpdating(false);\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (result.message === 'OrderHeader has been successfully added!') {\r\n message.success('Order added successfully')\r\n } else if (result.message === 'OrderHeader has been successfully updated!') {\r\n message.success('Order updated successfully')\r\n } else {\r\n message.success(result.message);\r\n }\r\n if (resource === \"User\" && store.getState().auth.userId === result.id) {\r\n const newState = {\r\n loginName: result.loginName,\r\n firstName: result.firstName,\r\n lastName: result.lastName,\r\n email: result.email,\r\n };\r\n props.updateProfile(newState);\r\n }\r\n if (afterUpdateAction) {\r\n afterUpdateAction(result);\r\n }\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n setUpdating(false);\r\n });\r\n };\r\n\r\n const deleteData = useDelete(props.screen.Title, props.screen.Resource, backUrl, search, setDeleting);\r\n const deleteReasonData = useDeleteReason(props.screen.Title, props.screen.ReasonConfig?.Resource, props.screen.ReasonConfig, backUrl, search, setDeleting);\r\n const checkReference = useCheckReference(deleteData, props.screen.Resource);\r\n\r\n const confirmOptions = {\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Confirm,\r\n title: 'Are you sure?',\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n };\r\n\r\n const dataAction = (action, additionalData, hasReference, subAction, disableValidation, disableCheckChanges) => {\r\n switch (action) {\r\n case Action.BeforeSave:\r\n if (!formValidation()) {\r\n return;\r\n }\r\n\r\n if (props.beforeSaveAction) {\r\n props.beforeSaveAction(data, additionalData, updateData, setDefaultData);\r\n }\r\n\r\n break;\r\n case Action.SaveBack:\r\n if ( JSON.stringify(data) === JSON.stringify(firstData) && !childId) {\r\n confirmOptions.text = \"You didn't make any changes. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n history.push({\r\n pathname: backUrl,\r\n search: search\r\n });\r\n }\r\n props.openConfirm(confirmOptions);\r\n\r\n break;\r\n } else {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n\r\n updateData(() => {\r\n history.push({\r\n pathname: backUrl,\r\n search: search\r\n });\r\n });\r\n }\r\n break;\r\n case Action.Clone:\r\n const detailUrl = Project.getPageUrl(AppPages[props.screen.Resource + Defines.DetailsComponentSufix]);\r\n history.push({\r\n pathname: `${detailUrl}/${Defines.DefaultCreateKey}/${id}`,\r\n search: ''\r\n });\r\n break;\r\n case Action.SaveNew:\r\n if (JSON.stringify(data) === JSON.stringify(firstData) && !childId) {\r\n confirmOptions.text = \"You didn't make any changes. Do you really want to leave the page and create a new one?\";\r\n confirmOptions.yesCallback = () => {\r\n const detailUrl = Project.getPageUrl(AppPages[props.screen.Resource + Defines.DetailsComponentSufix]);\r\n if (id === Defines.DefaultCreateKey) {\r\n loadData(Defines.DefaultCreateKey);\r\n }\r\n else {\r\n history.replace({\r\n pathname: detailUrl + '/' + Defines.DefaultCreateKey,\r\n state: {\r\n search: search\r\n }\r\n });\r\n }\r\n }\r\n props.openConfirm(confirmOptions);\r\n break;\r\n } else {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n updateData(() => {\r\n const detailUrl = Project.getPageUrl(AppPages[props.screen.Resource + Defines.DetailsComponentSufix]);\r\n if (id === Defines.DefaultCreateKey) {\r\n loadData(Defines.DefaultCreateKey);\r\n }\r\n else {\r\n history.replace({\r\n pathname: detailUrl + '/' + Defines.DefaultCreateKey,\r\n state: {\r\n search: search\r\n }\r\n });\r\n }\r\n });\r\n }\r\n break;\r\n case Action.Save:\r\n if (JSON.stringify(data) === JSON.stringify(firstData)) {\r\n props.openAlert({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Alert,\r\n title: \"You didn't make any changes\",\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n } else {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n updateData((result) => {\r\n setDefaultData(result);\r\n if (props.saveAction) {\r\n props.saveAction(CloneObject(result), false);\r\n }\r\n if ((!data[propsScreenKey] || data[propsScreenKey] === 0 || childId ) && !props.showPopup) {\r\n const currentUrl = history.location.pathname;\r\n const newUrl = currentUrl.replace(Defines.DefaultCreateKey, result[propsScreenKey]);\r\n history.replace({ pathname: newUrl, state: { search: search } });\r\n }\r\n });\r\n }\r\n break;\r\n case Action.SaveClose:\r\n if (JSON.stringify(data) === JSON.stringify(firstData)) {\r\n confirmOptions.text = \"You didn't make any changes. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n if (props.closeAction) {\r\n props.closeAction();\r\n }\r\n }\r\n\r\n props.openConfirm(confirmOptions);\r\n } else {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n if (props.changeAction) {\r\n setLoading(true);\r\n props.changeAction(data);\r\n return;\r\n }\r\n updateData((result) => {\r\n setDefaultData(result);\r\n if (props.saveAction) {\r\n props.saveAction(CloneObject(result), true);\r\n }\r\n });\r\n }\r\n break;\r\n case Action.SaveSend:\r\n if (!formValidation()) {\r\n return;\r\n }\r\n\r\n if (props.beforeSaveAction) {\r\n props.beforeSaveAction(data, additionalData, updateData, setDefaultData);\r\n\r\n return;\r\n }\r\n\r\n if (props.changeAction) {\r\n setLoading(true);\r\n props.changeAction(data);\r\n return;\r\n }\r\n updateData((result) => {\r\n setDefaultData(result);\r\n if (props.saveAction) {\r\n props.saveAction(CloneObject(result), true);\r\n }\r\n });\r\n // }\r\n break;\r\n case Action.ForceUpdate:\r\n // additionalData is NewData\r\n if (JSON.stringify(additionalData) === JSON.stringify(firstData) && !disableCheckChanges) {\r\n props.openAlert({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Alert,\r\n title: \"You didn't make any changes\",\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n } else {\r\n if (!disableValidation && !newDataValidation(additionalData)) {\r\n return;\r\n }\r\n\r\n updateData((result) => {\r\n setDefaultData(result);\r\n if (props.saveAction) {\r\n props.saveAction(CloneObject(result), true);\r\n }\r\n if ((!additionalData[propsScreenKey] || additionalData[propsScreenKey] === 0 || childId) && !props.showPopup) {\r\n const currentUrl = history.location.pathname;\r\n const newUrl = currentUrl.replace(Defines.DefaultCreateKey, result[propsScreenKey]);\r\n history.replace({ pathname: newUrl, state: { search: search } });\r\n }\r\n }, additionalData);\r\n }\r\n\r\n break;\r\n case Action.Close:\r\n if (JSON.stringify(data) !== JSON.stringify(firstData)) {\r\n confirmOptions.text = \"You made the changes and not save them. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n if (props.closeAction) {\r\n props.closeAction();\r\n }\r\n }\r\n\r\n props.openConfirm(confirmOptions);\r\n } else {\r\n if (props.closeAction) {\r\n props.closeAction();\r\n } else if (backUrl) {\r\n history.push({\r\n pathname: backUrl,\r\n search: search\r\n });\r\n }\r\n }\r\n\r\n break;\r\n case Action.Delete:\r\n checkReference(data[props.screen.Master], data[propsScreenKey], id, hasReference);\r\n //deleteData(data[props.screen.Master], data[propsScreenKey]);\r\n break;\r\n case Action.CancelReason:\r\n deleteReasonData(data[props.screen.Master], data[propsScreenKey], data);\r\n break;\r\n case Action.ChangePassword:\r\n if (props.forgotAction) {\r\n props.forgotAction();\r\n }\r\n break;\r\n case Action.Custom:\r\n if (!formValidation()) {\r\n return;\r\n }\r\n props.screen.Form.CustomAction ?\r\n props.screen.Form.CustomAction(subAction, dispatch, dataAction, data) :\r\n console.warn('Custom Action Not Defined');\r\n break;\r\n case Action.CustomWithoutValidate:\r\n props.screen.Form.CustomAction ?\r\n props.screen.Form.CustomAction(subAction, dispatch, dataAction, data) :\r\n console.warn('Custom Action Not Defined');\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleBack = (e) => {\r\n if (JSON.stringify(data) !== JSON.stringify(firstData)) {\r\n e.preventDefault();\r\n\r\n confirmOptions.text = \"You made the changes and not save them. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n history.push({\r\n pathname: backUrl,\r\n search: search\r\n });\r\n }\r\n props.openConfirm(confirmOptions);\r\n }\r\n }\r\n\r\n const getTitle = () => {\r\n let titleSuffix = '';\r\n let titlePrefix = 'New ';\r\n if (data && data[propsScreenKey]) {\r\n titlePrefix = '';\r\n titleSuffix = data[props.screen.Master] ? ` ${data[props.screen.Master]}` : '';\r\n }\r\n return `${titlePrefix}${props.screen.Title}${titleSuffix}`;\r\n };\r\n if (!data && isLoading) {\r\n return ;\r\n }\r\n\r\n return (\r\n dataAction(Action.Close)}\r\n >\r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n updateProfile: (data) => dispatch(updateProfile(data)),\r\n openConfirm: (data) => dispatch(openPopup(data)),\r\n openAlert: (data) => dispatch(openPopup(data))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(Form, axios));","import React from 'react';\r\n\r\nimport Form from '../components/form/form';\r\n\r\nconst Details = (Screen, Data, ShowPopup, saveAction, closeAction, forgotAction, changeAction, beforeSaveAction, parentVal) =>
    ;\r\n\r\nexport default Details;","import { useReducer } from 'react';\r\n\r\nimport { ArrayEquals } from '../../helper/common';\r\nimport { DefaultMessageTypes } from '../actions';\r\n\r\nexport const useMessage = (form) => {\r\n const setMessages = (state, action) => {\r\n const type = action.type;\r\n const messages = action.messages;\r\n if (type === DefaultMessageTypes.START_FOCUSE) {\r\n if (state[DefaultMessageTypes.START_FOCUSE] !== messages) {\r\n const newState = { ...state };\r\n newState[DefaultMessageTypes.START_FOCUSE] = messages;\r\n return newState;\r\n }\r\n return state;\r\n }\r\n if (!ArrayEquals(state[type], messages)) {\r\n const newState = { ...state };\r\n\r\n if(action.messageType === 'warning') {\r\n newState.warnings = {\r\n ...newState.warnings,\r\n [type]: messages\r\n };\r\n } else {\r\n newState[type] = messages;\r\n }\r\n newState[DefaultMessageTypes.SET_FOCUSE] = null;\r\n for (let t in newState) {\r\n if (t !== DefaultMessageTypes.SET_FOCUSE && newState[t] && newState[t].length > 0) {\r\n newState[DefaultMessageTypes.SET_FOCUSE] = t;\r\n break;\r\n }\r\n }\r\n return newState;\r\n }\r\n return state;\r\n };\r\n let defValidations = { SET_FOCUSE: null, START_FOCUSE: false };\r\n\r\n const setFields = (parent, process) => {\r\n if (typeof parent === 'object') {\r\n for (let t in parent) {\r\n if(t === 'Components') {\r\n for (let c in parent[t]) {\r\n const comp = parent[t][c].Component();\r\n\r\n comp && comp.props && comp.props.columns && setFields(comp.props.columns, false);\r\n }\r\n }\r\n \r\n if (process) {\r\n defValidations[t] = [];\r\n }\r\n else if (t === 'Fields') {\r\n setFields(parent[t], true);\r\n }\r\n else {\r\n setFields(parent[t], false);\r\n }\r\n }\r\n }\r\n };\r\n\r\n setFields(form, false);\r\n return useReducer(setMessages, defValidations);\r\n};\r\n\r\n","const isNodeIn = (node, predicate) => {\r\n if (typeof predicate !== 'function') {\r\n \tthrow new Error('isNodeIn second parameter must be a function');\r\n }\r\n \r\n let currentNode = node;\r\n while (currentNode) {\r\n if (predicate(currentNode)) {\r\n return true;\r\n }\r\n currentNode = currentNode.parentNode;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport default isNodeIn;\r\n","import isNodeIn from './isNodeIn';\r\n\r\nconst isNodeInRoot = (node, root) => (\r\n\tisNodeIn(node, currentNode => currentNode === root)\r\n);\r\n\r\nexport default isNodeInRoot;\r\n","/**\r\n * Given a node, get everything needed to calculate its boundaries\r\n * @param {HTMLElement} node \r\n * @return {Object}\r\n */\r\nexport default node => {\r\n\tconst rect = node.getBoundingClientRect();\r\n\t\r\n\treturn {\r\n\t\ttop: rect.top+document.body.scrollTop,\r\n\t\tleft: rect.left+document.body.scrollLeft,\r\n\t\toffsetWidth: node.offsetWidth,\r\n\t\toffsetHeight: node.offsetHeight\r\n\t};\r\n};","import getBoundsForNode from './getBoundsForNode';\r\n\r\n/**\r\n * Given offsets, widths, and heights of two objects, determine if they collide (overlap).\r\n * @param {int} aTop The top position of the first object\r\n * @param {int} aLeft The left position of the first object\r\n * @param {int} bTop The top position of the second object\r\n * @param {int} bLeft The left position of the second object\r\n * @param {int} aWidth The width of the first object\r\n * @param {int} aHeight The height of the first object\r\n * @param {int} bWidth The width of the second object\r\n * @param {int} bHeight The height of the second object\r\n * @param {int} tolerance Amount of forgiveness an item will offer to the selectbox before registering a selection\r\n * @return {bool}\r\n */\r\nconst coordsCollide = (aTop, aLeft, bTop, bLeft, aWidth, aHeight, bWidth, bHeight, tolerance) => {\r\n\treturn !(\r\n\t\t// 'a' bottom doesn't touch 'b' top\r\n\t\t( (aTop + aHeight - tolerance) < bTop ) ||\r\n\t\t// 'a' top doesn't touch 'b' bottom\r\n\t\t( (aTop + tolerance) > (bTop + bHeight) ) ||\r\n\t\t// 'a' right doesn't touch 'b' left\r\n\t\t( (aLeft + aWidth - tolerance) < bLeft ) ||\r\n\t\t// 'a' left doesn't touch 'b' right\r\n\t\t( (aLeft + tolerance) > (bLeft + bWidth) )\r\n\t);\r\n};\r\n\r\n/**\r\n * Given two objects containing \"top\", \"left\", \"offsetWidth\" and \"offsetHeight\"\r\n * properties, determine if they collide.\r\n * @param {Object|HTMLElement} a\r\n * @param {Object|HTMLElement} b\r\n * @param {int} tolerance\r\n * @return {bool}\r\n */\r\nexport default (a, b, tolerance = 0) => {\r\n\tconst aObj = (a instanceof HTMLElement) ? getBoundsForNode(a) : a;\r\n\tconst bObj = (b instanceof HTMLElement) ? getBoundsForNode(b) : b;\r\n\r\n\treturn coordsCollide(\r\n\t\taObj.top,\r\n\t\taObj.left,\r\n\t\tbObj.top,\r\n\t\tbObj.left,\r\n\t\taObj.offsetWidth,\r\n\t\taObj.offsetHeight,\r\n\t\tbObj.offsetWidth,\r\n\t\tbObj.offsetHeight,\r\n\t\ttolerance\r\n\t);\r\n};\r\n","import React, { Component } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport cx from 'classnames';\r\nimport isNodeInRoot from './nodeInRoot';\r\nimport isNodeIn from './isNodeIn';\r\nimport getBoundsForNode from './getBoundsForNode';\r\nimport doObjectsCollide from './doObjectsCollide';\r\n// import throttle from 'lodash.throttle';\r\n\r\nclass SelectableGroup extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tisBoxSelecting: false,\r\n\t\t\tboxWidth: 0,\r\n\t\t\tboxHeight: 0\r\n\t\t};\r\n\r\n\t\tthis._mouseDownData = null;\r\n\t\tthis._rect = null;\r\n\t\tthis._registry = [];\r\n\r\n\t\tthis._openSelector = this._openSelector.bind(this);\r\n\t\tthis._mouseDown = this._mouseDown.bind(this);\r\n\t\tthis._mouseUp = this._mouseUp.bind(this);\r\n\t\tthis._selectElements = this._selectElements.bind(this);\r\n\t\tthis._registerSelectable = this._registerSelectable.bind(this);\r\n\t\tthis._unregisterSelectable = this._unregisterSelectable.bind(this);\r\n\r\n\t\t// this._throttledSelect = throttle(this._selectElements, 50);\r\n\t}\r\n\r\n\r\n\tgetChildContext() {\r\n\t\treturn {\r\n\t\t\tselectable: {\r\n\t\t\t\tregister: this._registerSelectable,\r\n\t\t\t\tunregister: this._unregisterSelectable\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis._applyMousedown(this.props.enabled);\r\n\t\tthis._rect = this._getInitialCoordinates();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Remove global event listeners\r\n\t */\r\n\tcomponentWillUnmount() {\r\n\t\tthis._applyMousedown(false);\r\n\t}\r\n\r\n\tUNSAFE_componentWillReceiveProps(nextProps) {\r\n\t\tif (nextProps.enabled !== this.props.enabled) {\r\n\t\t\tthis._applyMousedown(nextProps.enabled);\r\n\t\t}\r\n\t}\r\n\r\n\t_registerSelectable(key, domNode) {\r\n\t\tthis._registry.push({ key, domNode });\r\n\t}\r\n\r\n\r\n\t_unregisterSelectable(key) {\r\n\t\tthis._registry = this._registry.filter(data => data.key !== key);\r\n\t}\r\n\r\n\t_applyMousedown(apply) {\r\n\t\tconst funcName = apply ? 'addEventListener' : 'removeEventListener';\r\n\t\tfindDOMNode(this)[funcName]('mousedown', this._mouseDown);\r\n\t}\r\n\r\n\t/**\r\n\t * Called while moving the mouse with the button down. Changes the boundaries\r\n\t * of the selection box\r\n\t */\r\n\t_openSelector(e) {\r\n\t\tconst w = Math.abs(this._mouseDownData.initialW - e.pageX + this._rect.x);\r\n\t\tconst h = Math.abs(this._mouseDownData.initialH - e.pageY + this._rect.y);\r\n\r\n\t\tthis.setState({\r\n\t\t\tisBoxSelecting: true,\r\n\t\t\tboxWidth: w,\r\n\t\t\tboxHeight: h,\r\n\t\t\tboxLeft: Math.min(e.pageX - this._rect.x, this._mouseDownData.initialW),\r\n\t\t\tboxTop: Math.min(e.pageY - this._rect.y, this._mouseDownData.initialH)\r\n\t\t});\r\n\r\n\t\tif (typeof this.props.onSelection === 'function' || typeof this.props.onDuringSelection === 'function') {\r\n\t\t\tthis._selectElements(e);\r\n\t\t}\r\n\t\t// this._throttledSelect(e);\r\n\t}\r\n\r\n\t_getInitialCoordinates() {\r\n\t\tif (this.props.fixedPosition) {\r\n\t\t\treturn { x: 0, y: 0 }\r\n\t\t}\r\n\r\n\t\tconst style = window.getComputedStyle(document.body);\r\n\t\tconst t = style.getPropertyValue('margin-top');\r\n\t\tconst l = style.getPropertyValue('margin-left');\r\n\t\tconst mLeft = parseInt(l.slice(0, l.length - 2), 10);\r\n\t\tconst mTop = parseInt(t.slice(0, t.length - 2), 10);\r\n\r\n\t\tconst bodyRect = document.body.getBoundingClientRect();\r\n\t\tconst elemRect = findDOMNode(this).getBoundingClientRect();\r\n\t\treturn {\r\n\t\t\tx: Math.round(elemRect.left - bodyRect.left + mLeft),\r\n\t\t\ty: Math.round(elemRect.top - bodyRect.top + mTop)\r\n\t\t};\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Called when a user presses the mouse button. Determines if a select box should\r\n\t * be added, and if so, attach event listeners\r\n\t */\r\n\t_mouseDown(e) {\r\n\t\tconst { onBeginSelection, preventDefault, useCtrlKey } = this.props;\r\n\r\n\t\tif(useCtrlKey && !e.ctrlKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// Disable if target is control by react-beautiful-dnd\r\n\t\tif (isNodeIn(e.target, node => /* !!node?.attributes?.draggable || */ node.nodeName === 'TH')) return; // Note: attributes.draggable this attribute is custom added\r\n\r\n\t\t// Allow onBeginSelection to cancel selection by return an explicit false\r\n\t\tif (typeof onBeginSelection === 'function' && onBeginSelection(e) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst node = findDOMNode(this);\r\n\t\tlet collides, offsetData;\r\n\t\twindow.addEventListener('mouseup', this._mouseUp);\r\n\r\n\t\t// Right clicks\r\n\t\tif (e.which === 3 || e.button === 2) return;\r\n\r\n\t\tif (!isNodeInRoot(e.target, node)) {\r\n\t\t\toffsetData = getBoundsForNode(node);\r\n\t\t\tcollides = doObjectsCollide(\r\n\t\t\t\t{\r\n\t\t\t\t\ttop: offsetData.top,\r\n\t\t\t\t\tleft: offsetData.left,\r\n\t\t\t\t\tbottom: offsetData.offsetHeight,\r\n\t\t\t\t\tright: offsetData.offsetWidth\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttop: e.pageY - this._rect.y,\r\n\t\t\t\t\tleft: e.pageX - this._rect.x,\r\n\t\t\t\t\toffsetWidth: 0,\r\n\t\t\t\t\toffsetHeight: 0\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\tif (!collides) return;\r\n\t\t}\r\n\t\tthis._rect = this._getInitialCoordinates();\r\n\r\n\t\tthis._mouseDownData = {\r\n\t\t\tboxLeft: e.pageX - this._rect.x,\r\n\t\t\tboxTop: e.pageY - this._rect.y,\r\n\t\t\tinitialW: e.pageX - this._rect.x,\r\n\t\t\tinitialH: e.pageY - this._rect.y\r\n\t\t};\r\n\r\n\t\tif (preventDefault) e.preventDefault();\r\n\r\n\t\twindow.addEventListener('mousemove', this._openSelector);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Called when the user has completed selection\r\n\t */\r\n\t_mouseUp(e) {\r\n\t\tconst { onNonItemClick } = this.props;\r\n\t\tconst { isBoxSelecting } = this.state;\r\n\r\n\t\te.stopPropagation();\r\n\r\n\t\twindow.removeEventListener('mousemove', this._openSelector);\r\n\t\twindow.removeEventListener('mouseup', this._mouseUp);\r\n\r\n\t\tif (!this._mouseDownData) return;\r\n\r\n\t\t// Mouse up when not box selecting is a heuristic for a \"click\"\r\n\t\tif (onNonItemClick && !isBoxSelecting) {\r\n\t\t\tif (!this._registry.some(({ domNode }) => isNodeInRoot(e.target, domNode))) {\r\n\t\t\t\tonNonItemClick(e);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._selectElements(e, true);\r\n\r\n\t\tthis._mouseDownData = null;\r\n\t\tthis.setState({\r\n\t\t\tisBoxSelecting: false,\r\n\t\t\tboxWidth: 0,\r\n\t\t\tboxHeight: 0\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Selects multiple children given x/y coords of the mouse\r\n\t */\r\n\t_selectElements(e, isEnd = false) {\r\n\t\tconst { tolerance, onSelection, onEndSelection, onDuringSelection } = this.props;\r\n\r\n\t\tconst currentItems = [];\r\n\t\tconst _selectbox = findDOMNode(this.refs.selectbox);\r\n\r\n\t\tif (!_selectbox) return;\r\n\r\n\t\tthis._registry.forEach(itemData => {\r\n\t\t\tif (itemData.domNode && \r\n\t\t\t\t\tdoObjectsCollide(_selectbox, itemData.domNode, tolerance) && \r\n\t\t\t\t\t!currentItems.includes(itemData.key)) {\r\n\t\t\t\tcurrentItems.push(itemData.key);\r\n\t\t\t\tif (typeof onDuringSelection === 'function') onDuringSelection(itemData, true);\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof onDuringSelection === 'function') onDuringSelection(itemData, false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (isEnd) {\r\n\t\t\tif (typeof onEndSelection === 'function' || typeof onSelection === 'function' || typeof onDuringSelection === 'function') {\r\n\t\t\t\tonEndSelection(currentItems, e);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Renders the component\r\n\t * @return {ReactComponent}\r\n\t */\r\n\trender() {\r\n\t\tconst { children, enabled, fixedPosition, className, selectingClassName } = this.props;\r\n\t\tconst { isBoxSelecting, boxLeft, boxTop, boxWidth, boxHeight } = this.state;\r\n\t\tconst Component = this.props.component;\r\n\r\n\t\tif (!enabled) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst boxStyle = {\r\n\t\t\tleft: boxLeft,\r\n\t\t\ttop: boxTop,\r\n\t\t\twidth: boxWidth,\r\n\t\t\theight: boxHeight,\r\n\t\t\tzIndex: 9000,\r\n\t\t\tposition: fixedPosition ? 'fixed' : 'absolute',\r\n\t\t\tcursor: 'default'\r\n\t\t};\r\n\r\n\t\tconst spanStyle = {\r\n\t\t\t// backgroundColor: 'rgba(2, 155, 150, 0.2)',\r\n\t\t\t// border: '2px solid var(--main-color)',\r\n\t\t\twidth: '100%',\r\n\t\t\theight: '100%',\r\n\t\t\tfloat: 'left'\r\n\t\t};\r\n\r\n\t\tconst wrapperStyle = {\r\n\t\t\tposition: 'relative',\r\n\t\t\toverflow: 'visible'\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\tisBoxSelecting ?\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t: null\r\n\t\t\t\t}\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n}\r\n\r\nSelectableGroup.propTypes = {\r\n\t/**\r\n\t * @typedef {Object} MouseEvent\r\n\t * @typedef {Object} HTMLElement\r\n\t */\r\n\r\n\t/**\r\n\t * @type {HTMLElement} node\r\n\t */\r\n\tchildren: PropTypes.node,\r\n\r\n\t/**\r\n\t * Event that will fire when selection was started\r\n\t *\r\n\t * @type {Function}\r\n\t * @param {MouseEvent} event - MouseEvent\r\n\t */\r\n\tonBeginSelection: PropTypes.func,\r\n\r\n\t/**\r\n\t * Event that will fire when selection was finished. Passes an array of keys\r\n\t *\r\n\t * @type {Function}\r\n\t * @param {Array} items - The array of selected items\r\n\t * @param {MouseEvent} event - MouseEvent\r\n\t */\r\n\tonEndSelection: PropTypes.func,\r\n\r\n\t/**\r\n\t * Event that will fire when items are selected. Passes an array of keys\r\n\t *\r\n\t * @type {Function}\r\n\t * @param {Array} items - The array of selected items\r\n\t * @param {MouseEvent} event - MouseEvent\r\n\t */\r\n\tonSelection: PropTypes.func,\r\n\r\n\t/**\r\n\t * The component that will represent the Selectable DOM node\r\n\t *\r\n\t * @type {HTMLElement} node\r\n\t */\r\n\tcomponent: PropTypes.node,\r\n\r\n\t/**\r\n\t * Amount of forgiveness an item will offer to the selectbox before registering\r\n\t * a selection, i.e. if only 1px of the item is in the selection, it shouldn't be\r\n\t * included.\r\n\t *\r\n\t * @type {Number}\r\n\t */\r\n\ttolerance: PropTypes.number,\r\n\r\n\t/**\r\n\t * In some cases, it the bounding box may need fixed positioning, if your layout\r\n\t * is relying on fixed positioned elements, for instance.\r\n\t *\r\n\t * @type {Boolean}\r\n\t */\r\n\tfixedPosition: PropTypes.bool,\r\n\r\n\t/**\r\n\t * Allows to enable/disable preventing the default action of the onmousedown event (with e.preventDefault).\r\n\t * True by default. Disable if your app needs to capture this event for other functionalities.\r\n\t *\r\n\t * @type {Boolean}\r\n\t */\r\n\tpreventDefault: PropTypes.bool,\r\n\r\n\t/**\r\n\t * Triggered when the user clicks in the component, but not on an item, e.g. whitespace\r\n\t *\r\n\t * @type {Function}\r\n\t */\r\n\tonNonItemClick: PropTypes.func,\r\n\r\n\t/**\r\n\t * If false, all of the selectble features are turned off.\r\n\t * @type {[type]}\r\n\t */\r\n\tenabled: PropTypes.bool,\r\n\r\n\t/**\r\n\t * A CSS class to add to the containing element\r\n\t * @type {string}\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * A CSS class to add to the containing element when we select\r\n\t * @type {string}\r\n\t */\r\n\tselectingClassName: PropTypes.string\r\n\r\n};\r\n\r\nSelectableGroup.defaultProps = {\r\n\tcomponent: 'div',\r\n\ttolerance: 0,\r\n\tfixedPosition: false,\r\n\tpreventDefault: true,\r\n\tenabled: true\r\n};\r\n\r\nSelectableGroup.childContextTypes = {\r\n\tselectable: PropTypes.object\r\n};\r\n\r\nexport default SelectableGroup;\r\n","import React from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst createSelectable = (WrappedComponent) => {\r\n\tclass SelectableItem extends React.Component {\r\n\r\n\t\tcomponentDidMount() {\r\n\t\t\tthis.context.selectable.register(this.props.selectableKey, findDOMNode(this));\r\n\t\t}\r\n\r\n\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tthis.context.selectable.unregister(this.props.selectableKey);\r\n\t\t}\r\n\r\n\r\n\t\trender() {\r\n\t\t\treturn (\r\n\t\t\t\t//
    \r\n\t\t\t\t\r\n\t\t\t\t\t{this.props.children}\r\n\t\t\t\t\r\n\t\t\t\t//
    \r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tSelectableItem.contextTypes = {\r\n\t\tselectable: PropTypes.object\r\n\t};\r\n\r\n\tSelectableItem.propTypes = {\r\n\t\tchildren: PropTypes.node,\r\n\t\tselectableKey: PropTypes.any.isRequired\r\n\t};\r\n\r\n\treturn SelectableItem;\r\n};\r\n\r\nexport default createSelectable;\r\n","export const SET_CUSTOMER_DASHBOARD_DATA = 'SET_CUSTOMER_DASHBOARD_DATA';\r\nexport const CUSTOMER_DASHBOARD_LOADING = 'CUSTOMER_DASHBOARD_LOADING';\r\nexport const ERROR = 'ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_DASHBOARD_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_DASHBOARD_BUILD = {\r\n SET_CUSTOMER_DASHBOARD_DATA: 'SET_CUSTOMER_DASHBOARD_DATA',\r\n CUSTOMER_DASHBOARD_LOADING: 'CUSTOMER_DASHBOARD_LOADING',\r\n ERROR: 'ERROR',\r\n RESET_ERROR: 'RESET_ERROR'\r\n};\r\n","import React from 'react';\r\n\r\nimport ThumbnailImage from './thumbnailImage';\r\nimport AuthenticatedLink from './authenticatedLink';\r\nimport { ApiUrl } from '../../project/Pages';\r\n\r\nconst Download = props => {\r\n return \r\n \r\n ;\r\n};\r\n\r\nexport default Download;","import moment from 'moment';\r\nimport { NullOrUndefined } from '../../helper/common';\r\nimport { Defines } from '../../../project/Defines';\r\nimport { ColumnType } from '../../config';\r\n\r\nconst pickAppointmentButton = Appointment => (Appointment\r\n ? {\r\n Title: 'PICK APPT',\r\n NoSort: true,\r\n\r\n Type: ColumnType.Button,\r\n Icon: 'calendar',\r\n PopupConfig: {\r\n Resource: '',\r\n Form: Appointment\r\n },\r\n Action: 'RequestAppointment',\r\n ActionType: 'PickAppointment',\r\n Label: o => o && o.pickAppointment ? moment(o.pickAppointment).format(Defines.Format.PrintDateTime) : '',\r\n Field: 'pickAppointment',\r\n\r\n Display: o => !o.isEmpty,\r\n\r\n Width: 140,\r\n Attributes: {\r\n action: {\r\n right: ''\r\n }\r\n }\r\n }\r\n : null\r\n);\r\n\r\nconst pickAppointmentField = Appointment => (Appointment ?\r\n null :\r\n {\r\n Title: 'Pick Appt',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 100\r\n }\r\n);\r\n\r\nconst dropAppointmentButton = DropAppointment => (DropAppointment\r\n ? {\r\n Title: 'TRF APT',\r\n NoSort: true,\r\n\r\n Type: ColumnType.Button,\r\n Icon: 'calendar',\r\n PopupConfig: {\r\n Resource: '',\r\n Form: DropAppointment\r\n },\r\n Action: 'RequestAppointment',\r\n ActionType: 'DropAppointment',\r\n Label: o => o && o.dropAppointment ? moment(o.dropAppointment).format(Defines.Format.PrintDateTime) : '',\r\n Field: 'dropAppointment',\r\n\r\n Display: o => !o.isEmpty,\r\n\r\n Width: 140,\r\n Attributes: {\r\n action: {\r\n right: ''\r\n }\r\n }\r\n }\r\n : null\r\n);\r\n\r\nconst dropAppointmentField = DropAppointment => (DropAppointment ?\r\n null : {\r\n Title: 'Drop Appt',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 100\r\n }\r\n);\r\n\r\nconst loadSequence = (LoadSequence, LoadSequenceAction) => (LoadSequence\r\n ? {\r\n Title: 'Load Sequence',\r\n NoSort: true,\r\n\r\n Type: ColumnType.Button,\r\n Icon: 'info',\r\n PopupConfig: {\r\n Resource: '',\r\n Form: LoadSequence\r\n },\r\n Action: 'OpenForm',\r\n ActionType: LoadSequenceAction,\r\n Label: o => o && o.sequencesName,\r\n\r\n Display: o => !o.isEmpty,\r\n\r\n Width: 100,\r\n Attributes: {\r\n action: {\r\n right: ''\r\n }\r\n }\r\n }\r\n : null\r\n);\r\n\r\nconst Columns = (Appointment, DropAppointment, LoadSequence, LoadSequenceAction) => ({\r\n loadNumber: {\r\n Title: ' LOAD #',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 110\r\n },\r\n puDate: {\r\n Title: 'READY',\r\n NoSort: true,\r\n Type: ColumnType.Date,\r\n Width: 90,\r\n },\r\n buttonPickAppt: pickAppointmentButton(Appointment),\r\n pickAppointment: pickAppointmentField(Appointment),\r\n customer: {\r\n Title: 'CUS',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n DataTitle: true,\r\n DataTitleField: 'customerTooltip',\r\n Width: 70\r\n },\r\n pickStatus: {\r\n Title: '',\r\n NoSort: true,\r\n Display: o => !o.isEmpty,\r\n Type: ColumnType.StatusIndicator,\r\n DataTitle: true,\r\n Width: 30,\r\n Attributes: {\r\n wrap: {\r\n center: ''\r\n }\r\n }\r\n },\r\n pickWarehouse: {\r\n Title: 'P/U WH',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 160\r\n },\r\n pickCity: {\r\n Title: 'P/U C',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n pickState: {\r\n Title: 'P/U ST',\r\n NoSort: true,\r\n Field: ColumnType.Text,\r\n Width: 80,\r\n },\r\n buttonDropAppt: dropAppointmentButton(DropAppointment),\r\n dropAppointment: dropAppointmentField(DropAppointment),\r\n dropStatus: {\r\n Title: '',\r\n NoSort: true,\r\n Display: o => !o.isEmpty,\r\n Type: ColumnType.StatusIndicator,\r\n DataTitle: true,\r\n Width: 30,\r\n Attributes: {\r\n wrap: {\r\n center: ''\r\n }\r\n }\r\n },\r\n dropWarehouse: {\r\n Title: 'TRF WH',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 160\r\n },\r\n dropCity: {\r\n Title: 'TRF CITY',\r\n NoSort: true,\r\n Field: ColumnType.Text,\r\n Width: 80,\r\n },\r\n dropState: {\r\n Title: 'TRF ST',\r\n NoSort: true,\r\n Field: ColumnType.Text,\r\n Width: 80,\r\n },\r\n poNumberCount: {\r\n Title: 'PO #',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 50,\r\n DataTitle: true,\r\n DataTitleField: 'poNumbers'\r\n },\r\n totalPallets: {\r\n Title: 'Pal',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 50\r\n },\r\n totalWeight: {\r\n Title: 'LBS',\r\n NoSort: true,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n loadTotalPallets: {\r\n Title: 'Total Pal',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80,\r\n Attributes: {\r\n text: {\r\n red: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data > 30 ? '' : null;\r\n }\r\n\r\n return null;\r\n },\r\n orange: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data < 30 ? '' : null;\r\n }\r\n\r\n return null;\r\n },\r\n green: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data === 30 ? '' : null;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n },\r\n loadTotalWeight: {\r\n Title: 'Total LBS',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80,\r\n Attributes: {\r\n text: {\r\n red: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data > 42800 ? '' : null;\r\n }\r\n\r\n return null;\r\n },\r\n orange: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data < 42800 ? '' : null;\r\n }\r\n\r\n return null;\r\n },\r\n green: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return data === 42800 ? '' : null;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n },\r\n buttonSequencesName: loadSequence(LoadSequence, LoadSequenceAction)\r\n});\r\n\r\nexport default Columns;","import {\r\n ElementTypes,\r\n ButtonActionTypes\r\n} from '../../config';\r\nimport CustomerForm from './customerFormConfig';\r\nimport LocationForm from './locationFormConfig';\r\nimport WarehouseForm from './warehouseFormConfig';\r\n\r\nexport const InboundAppointmentFields = {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n customerNameCode: {\r\n Title: 'Customer',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'customerId',\r\n Form: CustomerForm,\r\n Template: ButtonActionTypes.FormField\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickLocationId: {\r\n Title: 'Pickup',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'pickLocationId',\r\n Form: LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: o => `${o.pickCity}, ${o.pickState}${o.pickLocationName ? `, ${o.pickLocationName}` : ''}`\r\n },\r\n })\r\n },\r\n dropLocationId: {\r\n Title: 'Drop',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: o => o.warehouseId ? o.warehouseId : o.dropLocationId,\r\n Form: o => o.warehouseId ? WarehouseForm : LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: (o, d) => {\r\n if (o.warehouseId) {\r\n return `${o.drop1City}, ${o.drop1State}${o.drop1WH ? `, ${o.drop1WH}` : ''}`;\r\n } else {\r\n return `${o.drop2City}, ${o.drop2State}${o.drop2WH ? `, ${o.drop2WH}` : ''}`;\r\n }\r\n }\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n};\r\n\r\nexport const OutboundAppointmentFields = {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n }//,\r\n //customerNameCode: {\r\n // Title: 'Customer',\r\n // Field: ElementTypes.Button({\r\n // Action: 'OpenForm',\r\n // PopupConfig: {\r\n // Key: 'customerId',\r\n // Form: CustomerForm,\r\n // Template: ButtonActionTypes.FormField\r\n // },\r\n // })\r\n //}\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickLocationId: {\r\n Title: 'Pickup',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'warehouseId',\r\n Form: WarehouseForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: o => `${o.pickCity}, ${o.pickState}${o.pickLocationName ? `, ${o.pickLocationName}` : ''}`\r\n },\r\n })\r\n },\r\n dropLocationId: {\r\n Title: 'Drop',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'dropLocationId',\r\n Form: LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: (o, d) => {\r\n\r\n return `${o.drop2City}, ${o.drop2State}${o.drop2WH ? `, ${o.drop2WH}` : ''}`;\r\n\r\n }\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n};\r\n\r\n//export default AppointmentFields;","import React from \"react\";\r\n\r\nconst FormField = props => \r\n
    \r\n {((props.title && props.title !== '') || props.titleClass) &&
    {props.title}
    }\r\n {props.children}\r\n
    ;\r\n\r\nexport default FormField;","import React, { useRef } from 'react';\r\n\r\nimport FormField from '../formField';\r\nimport { ElementContent } from '../../../../../../helper/element';\r\nimport { useElementChange } from '../../../../../../hook/action/useElementChange';\r\nimport { useElementOut } from '../../../../../../hook/action/useElementOut';\r\nimport { useValidation } from '../../../../../../hook/data/useValidation';\r\nimport { useElementDefaultFocus, useElementValidationFocus } from '../../../../../../hook/action/useElementFocus';\r\n\r\nconst Element = props => {\r\n const ref = useRef();\r\n const title = props.Title;//`${props.Title} ${messageIdentity}`;\r\n const messageIdentity = props.messageIdentityPrefix ? `${props.messageIdentityPrefix}_${props.type}` : props.type;\r\n useElementValidationFocus(props.messages, ref, messageIdentity);\r\n useElementDefaultFocus(ref, props.Focus);\r\n const valudationMessages = props.messages[messageIdentity];\r\n const validate = useValidation(props.messageDispatch, props.Validations, props.Title, messageIdentity, props.data, props.Warnings);\r\n\r\n const change = (event, data, field) => {\r\n if (props.Check && !props.Check(event.source, data)) {\r\n return;\r\n }\r\n\r\n const type = field ? field : props.type;\r\n\r\n props.dispatch({ type: type, value: data, dependencies: props.Dependencies, outSource: event.source });\r\n };\r\n\r\n const fieldChangeHandler = useElementChange(validate, change);\r\n const fieldOutHandler = useElementOut(validate);\r\n\r\n const findValue = (data) => {\r\n const type = props.type.split('.');\r\n for (const p of type) {\r\n if (Array.isArray(data[p])) {\r\n data = data[p].find(i => i[props.keyField] === props.data[props.keyField]);\r\n } else {\r\n data = data[p];\r\n }\r\n }\r\n\r\n return data;\r\n };\r\n\r\n let value = '';\r\n if (props.data && props.type) {\r\n if (props.object && -1 !== props.type.indexOf('.')) {\r\n value = findValue(props.object);\r\n } else {\r\n if (props.data && props.data.hasOwnProperty(props.type)) {\r\n value = props.data[props.type];\r\n } else if (props.object && props.object.hasOwnProperty(props.type)) {\r\n value = props.object[props.type];\r\n }\r\n }\r\n }\r\n //if (props.Title === \"Customer\") {\r\n // return null;\r\n //}\r\n const field = ElementContent({\r\n ...props,\r\n val: value,\r\n object: props.data || '',\r\n fieldChange: fieldChangeHandler,\r\n fieldOut: fieldOutHandler,\r\n ref: ref,\r\n valudationMessages: valudationMessages,\r\n warningMessages: props.messages.warnings?.[messageIdentity] || [],\r\n clicked: props.clicked\r\n });\r\n\r\n return (field &&\r\n \r\n {field}\r\n \r\n );\r\n};\r\n\r\nexport default Element;","import React from 'react';\r\n\r\nimport Element from '../sectionGroup/section/formField/element/element';\r\nimport Scroll from '../../scroll/scroll';\r\n\r\nconst ScreenToolbar = props => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.fields && Object.keys(props.fields).map((e, i) => {\r\n let field = props.fields[e];\r\n let fieldClasses = ['line'];\r\n if (field.FieldClasses) {\r\n fieldClasses = [...fieldClasses, field.FieldClasses];\r\n }\r\n return \r\n \r\n {/* {i < Object.keys(props.fields).length - 1 ? : null} */}\r\n ;\r\n })}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ScreenToolbar;","import React from 'react';\r\n\r\nimport Element from './formField/element/element';\r\n\r\nconst Group = props => {\r\n const fieldGroupClasses = `field_group ${props.fieldGroupClasses || ''}`;\r\n \r\n return \r\n {props.useSeparator !== false &&
    \r\n
    \r\n \r\n {props.title ? props.title : ''}\r\n {props.unitTitle ? <>({props.unitTitle}) : ''}\r\n \r\n
    \r\n
    \r\n
    \r\n
    }\r\n
    \r\n {Object.keys(props.fields).map((e, i) => {\r\n return ;\r\n })}\r\n
    \r\n
    \r\n};\r\n\r\nexport default Group;","import React from 'react';\r\n\r\nimport Element from './formField/element/element';\r\nimport Group from './group';\r\nimport List from '../../../list/list';\r\n\r\nconst Section = props => {\r\n const classes = props.classes || '';\r\n\r\n return \r\n {props.title &&

    {props.title}

    }\r\n
    \r\n {props.fields && Object.keys(props.fields).map((e, i) => {\r\n let field = props.fields[e];\r\n if (Array.isArray(field)) {\r\n field = field[0];\r\n return field ? : null;\r\n }\r\n if (e === 'Grids') {\r\n return
    \r\n \r\n
    ;\r\n }\r\n\r\n if(e === 'Components') {\r\n return field\r\n && props.data\r\n && Object.keys(field).map((c, i) =>\r\n \r\n {field[c].Component(\r\n c,\r\n props.data.hasOwnProperty(c) ? props.data[c] : props.data,\r\n props.dispatch,\r\n props.messages,\r\n props.messageDispatch,\r\n props.componentRefs,\r\n props.messageIdentityPrefix,\r\n props.data,\r\n props.customEvents)}\r\n );\r\n }\r\n \r\n return ;\r\n })}\r\n\r\n {props.components\r\n && props.data\r\n && Object.keys(props.components).map((c, i) =>\r\n \r\n {props.components[c].Component(\r\n c,\r\n props.data.hasOwnProperty(c) ? props.data[c] : props.data,\r\n props.dispatch,\r\n props.messages,\r\n props.messageDispatch,\r\n props.componentRefs,\r\n props.messageIdentityPrefix,\r\n props.data,\r\n props.customEvents)}\r\n )}\r\n
    \r\n
    ;\r\n};\r\n\r\nexport default Section;","import React from 'react';\r\n\r\nimport Section from './section/section';\r\n\r\nconst SectionGroup = props => (
    \r\n {props.sections && props.sections.map((s, i) =>\r\n )}\r\n \r\n {props.components\r\n && props.data\r\n && Object.keys(props.components).map((c, i) =>\r\n \r\n {props.components[c].Component(\r\n c,\r\n props.data.hasOwnProperty(c) ? props.data[c] : props.data,\r\n props.dispatch,\r\n props.messages,\r\n props.messageDispatch,\r\n props.componentRefs, \r\n props.messageIdentityPrefix,\r\n props.data)}\r\n )}\r\n
    );\r\n\r\nexport default SectionGroup;","import React from 'react';\r\n\r\nconst ToolBar = props => (\r\n \r\n \r\n {Object.keys(props.toolBar.Items).map((e, i) =>\r\n \r\n {props.toolBar.Items[e].Button(\r\n () => props.clicked(props.toolBar.Items[e].Action,\r\n props.toolBar.Items[e].Value,\r\n props.toolBar.Items[e].hasReference,\r\n props.toolBar.Items[e].SubAction\r\n ),\r\n props.data)}\r\n )}\r\n \r\n \r\n);\r\n\r\nexport default ToolBar;","import React from 'react';\r\n\r\nconst LoginField = props => (\r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n \r\n
    \r\n);\r\n\r\nexport default LoginField;","import React, { useRef } from 'react';\r\n\r\n\r\nimport LoginField from '../loginField';\r\nimport { ElementContent } from '../../../../../helper/element';\r\nimport { useElementChange } from '../../../../../hook/action/useElementChange';\r\nimport { useElementOut } from '../../../../../hook/action/useElementOut';\r\nimport { useElementKeyPress } from '../../../../../hook/action/useElementKeyPress';\r\nimport { useValidation } from '../../../../../hook/data/useValidation';\r\nimport { useElementDefaultFocus, useElementValidationFocus } from '../../../../../hook/action/useElementFocus';\r\n\r\nconst Element = props => {\r\n const ref = useRef();\r\n const title = props.Title;\r\n const messageIdentity = props.messageIdentityPrefix ? `${props.messageIdentityPrefix}_${props.type}` : props.type;\r\n useElementValidationFocus(props.messages, ref, messageIdentity);\r\n useElementDefaultFocus(ref, props.Focus);\r\n const valudationMessages = props.messages[messageIdentity];\r\n const validate = useValidation(props.messageDispatch, props.Validations, props.Title, messageIdentity, props.data);\r\n\r\n const change = (event, data) => {\r\n props.dispatch({ type: props.type, value: data, dependencies: props.Dependencies, outSource: event.source });\r\n };\r\n\r\n const fieldChangeHandler = useElementChange(validate, change);\r\n const fieldOutHandler = useElementOut(validate);\r\n const fieldKeyPress = useElementKeyPress(props.actionFromElement, props.type);\r\n\r\n const findValue = (data) => {\r\n const type = props.type.split('.');\r\n for (const p of type) {\r\n if (Array.isArray(data[p])) {\r\n data = data[p].find(i => i[props.keyField] === props.data[props.keyField]);\r\n } else {\r\n data = data[p];\r\n }\r\n }\r\n\r\n return data;\r\n };\r\n\r\n let value = '';\r\n if (props.data && props.type) {\r\n if (props.object && -1 !== props.type.indexOf('.')) {\r\n value = findValue(props.object);\r\n } else {\r\n if (props.data && props.data.hasOwnProperty(props.type)) {\r\n value = props.data[props.type];\r\n } else if (props.object && props.object.hasOwnProperty(props.type)) {\r\n value = props.object[props.type];\r\n }\r\n }\r\n }\r\n\r\n const field = ElementContent({\r\n ...props,\r\n val: value,\r\n object: props.data || '',\r\n fieldChange: fieldChangeHandler,\r\n fieldOut: fieldOutHandler,\r\n ref: ref,\r\n valudationMessages: valudationMessages,\r\n onKeyPress: fieldKeyPress\r\n });\r\n\r\n return (field &&\r\n \r\n {field}\r\n \r\n {title}\r\n \r\n );\r\n};\r\n\r\nexport default Element;","export const useElementKeyPress = (action, type) => {\r\n const fieldChangeHandler = event => {\r\n if (action) {\r\n action({\r\n nativeEvent: event,\r\n elementType: type \r\n });\r\n }\r\n };\r\n return fieldChangeHandler;\r\n};","import React from 'react';\r\n\r\nimport Element from './loginField/element/element';\r\n\r\nconst Wrap = props => (\r\n \r\n {props.fields && Object.keys(props.fields).map((e, i) => {\r\n const field = props.fields[e];\r\n const fieldClasses = [];//['line'];\r\n return \r\n })}\r\n \r\n);\r\n\r\nexport default Wrap;","import React, { useState } from 'react';\r\nimport { Tabs } from 'antd';\r\nimport { Route, useLocation } from \"react-router-dom\";\r\nimport ScreenToolbar from './toolbar/screenToolbar';\r\nimport SectionGroup from './sectionGroup/sectionGroup';\r\nimport ToolBar from './toolbar/toolbar';\r\nimport Wrap from './login/wrap';\r\nimport Grid from '../../pages/grid';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nconst Content = props => {\r\n const [activeTab, setActiveTab] = useState(\"0\");\r\n const [tabHistory, setTabHistory] = useState({});\r\n const location = useLocation();\r\n \r\n return \r\n {\r\n props.config && Object.keys(props.config).map((s, i) => {\r\n const section = props.config[s];\r\n switch (s) {\r\n case 'Wrap':\r\n return section.map((t, i) =>\r\n \r\n );\r\n case 'ScreenToolbar':\r\n return section.map((t, i) =>\r\n \r\n );\r\n case 'View':\r\n return props.data && section.Components &&\r\n Object.keys(section.Components).map((c, i) =>\r\n \r\n {props.config.View.Components[c].Component(\r\n c,\r\n props.data.hasOwnProperty(c) ? props.data[c] : props.data,\r\n props.dispatch,\r\n props.messages,\r\n props.messageDispatch,\r\n props.componentRefs,\r\n null,\r\n props.data)}\r\n );\r\n case 'SectionGroups':\r\n return (
    \r\n {section.map((s, i) =>\r\n )\r\n }\r\n
    );\r\n case 'Tabstrip':\r\n return {\r\n const onChange = (key) => {\r\n setActiveTab(key);\r\n if (key === 'Price') { \r\n history.replace(`/loadplanning/customer_price?id=${props?.data?.id}`);\r\n } else {\r\n history.replace(`${location.pathname}`);\r\n }\r\n };\r\n let updatedSection = [];\r\n if (location.pathname.includes('customerdetails')) {\r\n updatedSection = [\r\n ...section,\r\n { Title: 'Price',\r\n NewPage: true\r\n }\r\n ];\r\n } else {\r\n updatedSection = [...section];\r\n }; \r\n \r\n return \r\n {updatedSection.map((t, i) => {\r\n return \r\n {t.List\r\n ? (activeTab === t.Title && Grid({\r\n ...t,\r\n handleSwitch: props.handleSwitch,\r\n tabHistory,\r\n setTabHistory,\r\n ParentValue: props.data.id\r\n }))\r\n : }\r\n \r\n })}\r\n \r\n }}\r\n />;\r\n case 'ToolBars':\r\n return section?.map((t, i) =>\r\n );\r\n default:\r\n return null;\r\n }\r\n })\r\n }\r\n
    ;\r\n};\r\n\r\nexport default Content;","import { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { message } from 'antd';\r\nimport { notification } from 'antd';\r\nimport axios from '../../axios/axios';\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../../components/custom/popup/popup';\r\nimport { CommonLabels } from '../../../project/Defines';\r\nimport { CloneObject } from '../../helper/common';\r\n\r\nexport const useDelete = (title, resource, backUrl, search, setDeleting, afterDelete) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const startDelete = (master, key) => dispatch(openPopup({\r\n windowKey: 'wndConfirmDelete',\r\n type: PopupTypes.Confirm,\r\n title: CommonLabels.Messages.ConfirmDeleteTitle(title, master),\r\n text: CommonLabels.Messages.ConfirmDeleteText,\r\n buttonYesText: CommonLabels.Buttons.Delete,\r\n buttonNoText: CommonLabels.Buttons.Cancel,\r\n yesCallback: () => {\r\n setDeleting(true);\r\n axios.delete(resource, {\r\n params: {\r\n id: key\r\n }\r\n })\r\n .then(response => {\r\n setDeleting(false);\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n history.push({\r\n pathname: backUrl,\r\n search: search,\r\n state: {\r\n deleted: true,\r\n message: result.message\r\n }\r\n });\r\n afterDelete && afterDelete();\r\n }\r\n }\r\n });\r\n }\r\n }));\r\n return startDelete;\r\n};\r\n\r\nexport const useDeleteReason = (title, resource, config, backUrl, search, setDeleting, afterDelete) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const startDelete = (master, key, data, sendRequest = true, afterAction) => {\r\n const windowKey = CommonLabels.Messages.ConfirmDeleteTitle(title, master);\r\n\r\n const newConfig = CloneObject(config);\r\n newConfig.Form.DefaultId = key;\r\n\r\n return dispatch(openPopup({\r\n windowKey: 'wndConfirmDelete',\r\n sectionData: data,\r\n fullScreen: false,\r\n title: windowKey,\r\n type: PopupTypes.Prompt,\r\n bodyProps: { windowKey },\r\n config: newConfig.Form,\r\n saveAction: (data) => {\r\n const requestData = {\r\n id: key,\r\n cancelReason: data.cancelReason\r\n };\r\n if (sendRequest) {\r\n axios.put(resource, requestData)\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n if (result.hasError) {\r\n message.error(result.message);\r\n\r\n return;\r\n }\r\n if (backUrl) {\r\n history.push({\r\n pathname: backUrl,\r\n search: search,\r\n state: {\r\n deleted: true,\r\n message: result.message\r\n }\r\n });\r\n }\r\n afterAction && afterAction();\r\n }\r\n }\r\n });\r\n } else {\r\n afterAction && afterAction(data);\r\n }\r\n\r\n dispatch(closePopupAsync('wndConfirmDelete'));\r\n },\r\n closeAction: () => {\r\n dispatch(closePopup('wndConfirmDelete'));\r\n }\r\n }))\r\n };\r\n return startDelete;\r\n};\r\n\r\nexport const useDeleteItem = (title, action) => {\r\n const dispatch = useDispatch();\r\n const startDelete = (master, data) => dispatch(openPopup({\r\n windowKey: 'wndConfirmDelete',\r\n type: PopupTypes.Confirm,\r\n title: CommonLabels.Messages.ConfirmDeleteTitle(title, master),\r\n text: CommonLabels.Messages.ConfirmDeleteText,\r\n buttonYesText: CommonLabels.Buttons.Delete,\r\n buttonNoText: CommonLabels.Buttons.Cancel,\r\n yesCallback: () => {\r\n action(data);\r\n }\r\n }));\r\n return startDelete;\r\n};\r\n\r\nexport const useCheckReference = (deleteData, resource) =>\r\n (master, screenKey, id, hasreference) => {\r\n if (hasreference) {\r\n axios({\r\n url: `${resource}/hasreference/${id}`,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n if (response.data) {\r\n notification.error({\r\n description: \"You can't delete the region, as there is a connection between region location(s)! Please first remove region location(s).\",\r\n duration: 20,\r\n style: {\r\n padding: '30px'\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n deleteData(master, screenKey);\r\n })\r\n }\r\n\r\n else {\r\n deleteData(master, screenKey);\r\n }\r\n};\r\n","export const LOAD = 'LOAD';\r\nexport const ERROR = 'ERROR';\r\nexport const REACTED_ASSIGNED = 'REACTED_ASSIGNED';\r\nexport const REACTED_ASSIGNEDS = 'REACTED_ASSIGNEDS';\r\nexport const REACTED_AVAILABLE = 'REACTED_AVAILABLE';\r\nexport const REACTED_AVAILABLES = 'REACTED_AVAILABLES';\r\nexport const UNREACT_ORDERS = 'UNREACT_ORDERS';\r\nexport const SET_HEADER_WIDTH = 'SET_HEADER_WIDTH';\r\nexport const UNASSIGN_ORDERS = 'UNASSIGN_ORDERS';\r\nexport const ADD_NEW_LOAD = 'ADD_NEW_LOAD';\r\nexport const ASSIGN_ORDERS_TO_LOAD = 'ASSIGN_ORDERS_TO_LOAD';\r\nexport const ASSIGN_ORDERS_TO_NEW_LOAD = 'ASSIGN_ORDERS_TO_NEW_LOAD';\r\nexport const ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL = 'ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL';\r\nexport const DELETE_LOAD = 'DELETE_LOAD';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const GET_MANIFEST_LIST = 'GET_MANIFEST_LIST';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DATA = 'SET_DATA';\r\nexport const SET_LOAD_DATA = 'SET_LOAD_DATA';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const UPDATE_LOAD_DATA = 'UPDATE_LOAD_DATA';\r\nexport const UPDATE_EFS_DATA = 'UPDATE_EFS_DATA';\r\nexport const CREATE_SUB_LOAD_ASSIGN_ORDERS = 'CREATE_SUB_LOAD_ASSIGN_ORDERS';\r\nexport const SET_ADD_NEW_IN_PROCESS = 'SET_ADD_NEW_IN_PROCESS';\r\nexport const SET_REFRESH_IN_PROCESS = 'SET_REFRESH_IN_PROCESS';\r\nexport const SET_CREATE_IN_PROCESS = 'SET_CREATE_IN_PROCESS';\r\nexport const SET_CREATE_SUB_IN_PROCESS = 'SET_CREATE_SUB_IN_PROCESS';\r\nexport const SET_SORT_LOAD_BY_CARRIER = 'SET_SORT_LOAD_BY_CARRIER';\r\nexport const SET_SORT_LOAD_BY_PICK_APPTS = 'SET_SORT_LOAD_BY_PICK_APPTS';\r\nexport const SET_SORT_LOAD_BY_PICK_LOCATION = 'SET_SORT_LOAD_BY_PICK_LOCATION';\r\nexport const SET_SORT_LOAD_BY_DROP_LOCATION = 'SET_SORT_LOAD_BY_DROP_LOCATION';\r\nexport const SET_SORT_LOAD_BY_DELIVER_NUMBER = 'SET_SORT_LOAD_BY_DELIVER_NUMBER';\r\nexport const FILTER_IN_OUT_ORDERS = 'FILTER_IN_OUT_ORDERS';\r\nexport const GET_HISTORY = 'GET_HISTORY';\r\nexport const GET_HISTORY_LOADING = 'GET_HISTORY_LOADING';\r\nexport const SET_RE_ORDER_LOAD = 'SET_RE_ORDER_LOAD';\r\n\r\nexport const getActionType = (resource, key) => {\r\n\r\n switch (resource) {\r\n case 'manifestlist': return MANIFEST_LIST_BUILD[key];\r\n case 'outboundload': return OUTBOUND_LOAD_BUILD[key];\r\n default:\r\n case 'load': return INBOUND_LOAD_BUILD[key];\r\n \r\n }\r\n};\r\n\r\nexport const INBOUND_LOAD_BUILD = {\r\n LOAD: 'INBOUND_LOAD',\r\n ERROR: 'INBOUND_ERROR',\r\n GET_MANIFEST_LIST : 'GET_MANIFEST_LIST',\r\n REACTED_ASSIGNED: 'INBOUND_REACTED_ASSIGNED',\r\n CHECKBOX_ASSIGNED: 'INBOUND_CHECKBOX_ASSIGNED',\r\n CHECKBOX_AVAILABLE: 'INBOUND_CHECKBOX_AVAILABLE',\r\n REACTED_ASSIGNEDS: 'INBOUND_REACTED_ASSIGNEDS',\r\n REACTED_AVAILABLE: 'INBOUND_REACTED_AVAILABLE',\r\n REACTED_AVAILABLES: 'INBOUND_REACTED_AVAILABLES',\r\n UNREACT_ORDERS: 'INBOUND_UNREACT_ORDERS',\r\n SET_HEADER_WIDTH: 'INBOUND_SET_HEADER_WIDTH',\r\n UNASSIGN_ORDERS: 'INBOUND_UNASSIGN_ORDERS',\r\n ADD_NEW_LOAD: 'INBOUND_ADD_NEW_LOAD',\r\n ASSIGN_ORDERS_TO_LOAD: 'INBOUND_ASSIGN_ORDERS_TO_LOAD',\r\n ASSIGN_ORDERS_TO_NEW_LOAD: 'INBOUND_ASSIGN_ORDERS_TO_NEW_LOAD',\r\n ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL: 'INBOUND_ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL',\r\n DELETE_LOAD: 'INBOUND_DELETE_LOAD',\r\n SET_IN_LOADING: 'INBOUND_SET_IN_LOADING',\r\n RELOAD_ON_ERROR: 'INBOUND_RELOAD_ON_ERROR',\r\n RESET_ERROR: 'INBOUND_RESET_ERROR',\r\n SET_DATA: 'INBOUND_SET_DATA',\r\n SET_LOAD_DATA: 'INBOUND_SET_LOAD_DATA',\r\n UPDATE_EFS_DATA: 'INBOUND_UPDATE_EFS_DATA',\r\n SET_DISPLAY_STATE: 'INBOUND_SET_DISPLAY_STATE',\r\n UPDATE_LOAD_DATA: 'INBOUND_UPDATE_LOAD_DATA',\r\n CREATE_SUB_LOAD_ASSIGN_ORDERS: 'INBOUND_CREATE_SUB_LOAD_ASSIGN_ORDERS',\r\n SET_ADD_NEW_IN_PROCESS: 'INBOUND_SET_ADD_NEW_IN_PROCESS',\r\n SET_REFRESH_IN_PROCESS: 'INBOUND_SET_REFRESH_IN_PROCESS',\r\n SET_CREATE_IN_PROCESS: 'INBOUND_SET_CREATE_IN_PROCESS',\r\n SET_CREATE_SUB_IN_PROCESS: 'INBOUND_SET_CREATE_SUB_IN_PROCESS',\r\n SET_SORT_LOAD_BY_CARRIER: 'INBOUND_SET_SORT_LOAD_BY_CARRIER',\r\n SET_SORT_LOAD_BY_PICK_APPTS: 'INBOUND_SET_SORT_LOAD_BY_PICK_APPTS',\r\n SET_SORT_LOAD_BY_PICK_LOCATION: 'INBOUND_SET_SORT_LOAD_BY_PICK_LOCATION',\r\n SET_SORT_LOAD_BY_DROP_LOCATION: 'INBOUND_SET_SORT_LOAD_BY_DROP_LOCATION',\r\n SET_SORT_LOAD_BY_DELIVER_NUMBER: 'INBOUND_SET_SORT_LOAD_BY_DELIVER_NUMBER',\r\n FILTER_IN_OUT_ORDERS: 'FILTER_IN_OUT_ORDERS',\r\n GET_HISTORY: 'INBOUND_GET_HISTORY',\r\n GET_HISTORY_LOADING: 'INBOUND_GET_HISTORY_LOADING',\r\n SET_RE_ORDER_LOAD: 'INBOUND_SET_RE_ORDER_LOAD',\r\n};\r\n\r\nexport const OUTBOUND_LOAD_BUILD = {\r\n LOAD: 'OUTBOUND_LOAD',\r\n ERROR: 'OUTBOUND_ERROR',\r\n REACTED_ASSIGNED: 'OUTBOUND_REACTED_ASSIGNED',\r\n REACTED_ASSIGNEDS: 'OUTBOUND_REACTED_ASSIGNEDS',\r\n REACTED_AVAILABLE: 'OUTBOUND_REACTED_AVAILABLE',\r\n REACTED_AVAILABLES: 'OUTBOUND_REACTED_AVAILABLES',\r\n UNREACT_ORDERS: 'OUTBOUND_UNREACT_ORDERS',\r\n SET_HEADER_WIDTH: 'OUTBOUND_SET_HEADER_WIDTH',\r\n UNASSIGN_ORDERS: 'OUTBOUND_UNASSIGN_ORDERS',\r\n ADD_NEW_LOAD: 'OUTBOUND_ADD_NEW_LOAD',\r\n ASSIGN_ORDERS_TO_LOAD: 'OUTBOUND_ASSIGN_ORDERS_TO_LOAD',\r\n ASSIGN_ORDERS_TO_NEW_LOAD: 'OUTBOUND_ASSIGN_ORDERS_TO_NEW_LOAD',\r\n ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL: 'OUTBOUND_ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL',\r\n DELETE_LOAD: 'OUTBOUND_DELETE_LOAD',\r\n GET_MANIFEST_LIST: 'GET_MANIFEST_LIST',\r\n SET_IN_LOADING: 'OUTBOUND_SET_IN_LOADING',\r\n RELOAD_ON_ERROR: 'OUTBOUND_RELOAD_ON_ERROR',\r\n RESET_ERROR: 'OUTBOUND_RESET_ERROR',\r\n SET_DATA: 'OUTBOUND_SET_DATA',\r\n SET_LOAD_DATA: 'OUTBOUND_SET_LOAD_DATA',\r\n UPDATE_EFS_DATA: 'OUTBOUND_UPDATE_EFS_DATA',\r\n SET_DISPLAY_STATE: 'OUTBOUND_SET_DISPLAY_STATE',\r\n UPDATE_LOAD_DATA: 'OUTBOUND_UPDATE_LOAD_DATA',\r\n CREATE_SUB_LOAD_ASSIGN_ORDERS: 'OUTBOUND_CREATE_SUB_LOAD_ASSIGN_ORDERS',\r\n SET_ADD_NEW_IN_PROCESS: 'OUTBOUND_SET_ADD_NEW_IN_PROCESS',\r\n SET_REFRESH_IN_PROCESS: 'OUTBOUND_SET_REFRESH_IN_PROCESS',\r\n SET_CREATE_IN_PROCESS: 'OUTBOUND_SET_CREATE_IN_PROCESS',\r\n SET_CREATE_SUB_IN_PROCESS: 'OUTBOUND_SET_CREATE_SUB_IN_PROCESS',\r\n SET_SORT_LOAD_BY_CARRIER: 'OUTBOUND_SET_SORT_LOAD_BY_CARRIER',\r\n SET_SORT_LOAD_BY_PICK_APPTS: 'OUTBOUND_SET_SORT_LOAD_BY_PICK_APPTS',\r\n SET_SORT_LOAD_BY_PICK_LOCATION: 'OUTBOUND_SET_SORT_LOAD_BY_PICK_LOCATION',\r\n SET_SORT_LOAD_BY_DROP_LOCATION: 'OUTBOUND_SET_SORT_LOAD_BY_DROP_LOCATION',\r\n SET_SORT_LOAD_BY_DELIVER_NUMBER: 'OUTBOUND_SET_SORT_LOAD_BY_DELIVER_NUMBER',\r\n FILTER_IN_OUT_ORDERS: 'FILTER_IN_OUT_ORDERS',\r\n GET_HISTORY: 'OUTBOUND_GET_HISTORY',\r\n GET_HISTORY_LOADING: 'OUTBOUND_GET_HISTORY_LOADING',\r\n SET_RE_ORDER_LOAD: 'OUTBOUND_SET_RE_ORDER_LOAD',\r\n};\r\n\r\nexport const MANIFEST_LIST_BUILD = {\r\n GET_MANIFEST_LIST: 'GET_MANIFEST_LIST',\r\n SET_IN_LOADING: 'SET_IN_LOADING',\r\n}","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n GenerateToolBars,\r\n DefaultPagination,\r\n ColumnValidation,\r\n ComponentTypes\r\n} from '../../config';\r\n\r\nimport TrailerTypeConfig from '../TrailerType/config';\r\nimport TrailerSizeConfig from '../TrailerSize/config';\r\n\r\nimport BlackReasonConfig from '../BlackReason/config';\r\nimport { CloneObject } from '../../helper/common';\r\n\r\nconst carrierListViewConfig = CloneObject(ListDefaults);\r\ncarrierListViewConfig.View.AllowNewButton = false;\r\n\r\nexport const CarrierTabs = [\r\n {\r\n Title: 'Truck',\r\n Resource: 'Truck',\r\n Master: 'number',\r\n Key: 'id',\r\n IsRest: true,\r\n ParentField: 'carrierId',\r\n UsePopup: true,\r\n List: {\r\n useLocalState: true,\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n isHiddenSwitch: true,\r\n Search: '_all',\r\n Filter: {\r\n number: {\r\n Type: FilterType.Text,\r\n Title: 'Number'\r\n },\r\n licensePlate: {\r\n Type: FilterType.Text,\r\n Title: 'License Plate'\r\n },\r\n vinNumber: {\r\n Type: FilterType.Text,\r\n Title: 'VIN'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n number: {\r\n Title: 'Truck Number',\r\n Type: ColumnType.Text,\r\n Sorted: 'ascend',\r\n Width: 150\r\n },\r\n vinNumber: {\r\n Type: ColumnType.Text,\r\n Title: 'VIN',\r\n Width: 150\r\n },\r\n licensePlate: {\r\n Title: 'License Plate',\r\n Type: ColumnType.Text,\r\n Width: 150\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Type: ColumnType.Text,\r\n Width: 250\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit,\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n number: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n vinNumber: {\r\n Title: 'VIN',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 17\r\n }\r\n }\r\n },\r\n licensePlate: {\r\n Title: 'License Plate',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 20\r\n }\r\n }\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.Comment()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Cancel'])\r\n }\r\n },\r\n {\r\n Title: 'Driver',\r\n Resource: 'Driver',\r\n Master: 'driverName',\r\n Key: 'id',\r\n IsRest: true,\r\n ParentField: 'carrierId',\r\n UsePopup: true,\r\n List: {\r\n useLocalState: true,\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n isHiddenSwitch: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Filter: {\r\n driverName: {\r\n Type: FilterType.Text,\r\n Title: 'Name'\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Type: FilterType.Phone\r\n },\r\n expirationDate: {\r\n Type: FilterType.Date,\r\n Title: 'Expired'\r\n }\r\n },\r\n Columns: {\r\n driverName: {\r\n Title: 'Name',\r\n Type: ColumnType.Text,\r\n Sorted: 'ascend',\r\n Width: 150\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Type: ColumnType.Phone,\r\n Width: 150\r\n },\r\n expirationDate: {\r\n Title: 'Expired',\r\n Type: (text) => ColumnValidation.MonthExpiration(text, 1, ColumnType.Date, 'orange', 'red'),\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit,\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n driverName: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Field: ElementTypes.Phone(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n driverEmail: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Email()]\r\n },\r\n licenseNumber: {\r\n Title: 'License Number',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n expirationDate: {\r\n Title: 'Expiration Date',\r\n Field: ElementTypes.DateField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.DateIsExpired('License Number')]\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Cancel'])\r\n }\r\n },\r\n {\r\n Title: 'Trailer',\r\n Resource: 'Trailer',\r\n Master: 'number',\r\n Key: 'id',\r\n IsRest: true,\r\n ParentField: 'carrierId',\r\n UsePopup: true,\r\n List: {\r\n useLocalState: true,\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n isHiddenSwitch: true,\r\n Search: '_all',\r\n Filter: {\r\n name: {\r\n Type: FilterType.Text,\r\n Title: 'Name'\r\n },\r\n vinNumber: {\r\n Type: FilterType.Text,\r\n Title: 'VIN'\r\n },\r\n trailerTypeId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/TrailerType/valuelistempty',\r\n Title: 'Trailer'\r\n },\r\n trailerSizeId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/TrailerSize/valuelistempty',\r\n Title: 'Size'\r\n },\r\n active: {\r\n Type: FilterType.Radio,\r\n Title: 'Active'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n name: {\r\n Title: 'Name',\r\n Type: ColumnType.Text,\r\n Sorted: 'ascend',\r\n Width: 150\r\n },\r\n vinNumber: {\r\n Type: ColumnType.Text,\r\n Title: 'VIN',\r\n Width: 150\r\n },\r\n type: {\r\n Title: 'Type',\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n size: {\r\n Title: 'Size',\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n active: {\r\n Title: 'Active',\r\n Type: ColumnType.Bool,\r\n Width: 80\r\n },\r\n notes: {\r\n Type: FilterType.Text,\r\n Title: 'Notes',\r\n Width: 150,\r\n },\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit,\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n name: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n vinNumber: {\r\n Title: 'VIN',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 17\r\n }\r\n }\r\n },\r\n trailerTypeId: {\r\n Title: 'Type',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/TrailerType/valuelistempty',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: TrailerTypeConfig\r\n },\r\n defaultValue: true,\r\n selectedValueType: 'type'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n trailerSizeId: {\r\n Title: 'Size',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/TrailerSize/valuelistempty',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: TrailerSizeConfig\r\n },\r\n selectedValueType: 'size'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment()\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Cancel'])\r\n }\r\n },\r\n {\r\n Title: 'Rate Confirmation',\r\n Resource: 'CarrierRateConfirmation',\r\n Master: 'fileName',\r\n Key: 'id',\r\n IsRest: true,\r\n ParentField: 'carrierId',\r\n UsePopup: true,\r\n List: {\r\n useLocalState: true,\r\n Defaults: carrierListViewConfig,\r\n ShowRefreshButton: true,\r\n isHiddenSwitch: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Type: ColumnType.File,\r\n FileConfig: {\r\n FileFieldName: 'fileName',\r\n Width: 40,\r\n Height: 40\r\n },\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n center: ''\r\n }\r\n }\r\n },\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Type: ColumnType.Text,\r\n Width: 120,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n versionStr: {\r\n Title: 'Version',\r\n Type: ColumnType.Text,\r\n Width: 120,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n pick: {\r\n Title: 'Pick',\r\n Type: ColumnType.MultilineText,\r\n Width: 200,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop: {\r\n Title: 'Drop',\r\n Type: ColumnType.MultilineText,\r\n Width: 200,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n Type: ColumnType.Currency,\r\n Width: 120,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Type: ColumnType.Date,\r\n Width: 120,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Type: ColumnType.Label,\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const CarrierFormConfig = {\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n name: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Name',\r\n Validations: [ElementValidations.Required()]\r\n },\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n dot: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'DOT',\r\n Validations: [ElementValidations.IntField()]\r\n },\r\n mc: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'MC Number',\r\n Validations: [ElementValidations.Required(), ElementValidations.IntField()]\r\n },\r\n },\r\n },\r\n ],\r\n address: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Address',\r\n Validations: [ElementValidations.Required()]\r\n },\r\n additionalAddress: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Additional Address',\r\n },\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n city: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'City',\r\n Validations: [ElementValidations.Required()]\r\n },\r\n stateId: {\r\n Title: 'State',\r\n Dependencies: ['city'],\r\n Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, [\r\n [ElementTypes.Params.dataSource, '/api/location/statekeyvaluelist/'],\r\n [ElementTypes.Params.parentValueType, 'countryId'],\r\n [ElementTypes.Params.reloadOnParentChange, true],\r\n [ElementTypes.Params.selectedValueType, 'stateCode'],\r\n [ElementTypes.Params.editability, o => o && o['countryId'] > 0]\r\n ])\r\n },\r\n },\r\n },\r\n ],\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n zipCode: {\r\n Field: ElementTypes.IntField(),\r\n Title: 'Zip code',\r\n Validations: [ElementValidations.Required()]\r\n },\r\n countryId: {\r\n Title: 'Country',\r\n Dependencies: ['stateId', 'city'],\r\n Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, {\r\n dataSource: '/api/location/countryvaluelist',\r\n selectedValueType: 'countryName'\r\n })\r\n },\r\n },\r\n },\r\n ],\r\n mainContact: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Main Contact',\r\n },\r\n email: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Dispatch Email',\r\n Validations: [ElementValidations.Required(), ElementValidations.Email()]\r\n },\r\n accountingEmail: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Accounting Email',\r\n Validations: [ElementValidations.Email()]\r\n },\r\n Group4: [{\r\n useSeparator: false,\r\n Fields: {\r\n mainPhone: {\r\n Title: 'Main Phone',\r\n Field: ElementTypes.Phone(),\r\n Attributes: {\r\n input: {\r\n maxLength: 15\r\n }\r\n },\r\n Validations: [ElementValidations.Phone()]\r\n },\r\n mainPhoneExt: {\r\n fieldClasses: ['mini'],\r\n Title: 'Ext.',\r\n Field: ElementTypes.TextField()\r\n }\r\n }\r\n }],\r\n }\r\n },\r\n {\r\n Fields: { \r\n insuranceCompany: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Insurance Company',\r\n },\r\n agency: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Insurance Agency',\r\n Validations: [ElementValidations.OnlyLettersAndSpaceBetween()]\r\n },\r\n insuranceEmail: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Insurance Email',\r\n Validations: [ElementValidations.Email()]\r\n },\r\n insurancePhone: {\r\n Field: ElementTypes.Phone(),\r\n Title: 'Insurance Phone',\r\n Attributes: { input: {\r\n maxLength: 15\r\n }\r\n },\r\n Validations: [ElementValidations.Phone()]\r\n },\r\n commercialPolicy: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Commercial Policy #',\r\n Validations: [ElementValidations.AlphanumericAndMinusSign()]\r\n },\r\n commercialPolicyExpirationDate: {\r\n Field: ElementTypes.Generic(ElementTypes.DateField, {\r\n editability: o => o.commercialPolicy,\r\n }),\r\n Title: 'Expiration Date',\r\n Validations: [ ElementValidations.DateIsExpired('Commercial Policy'), \r\n ElementValidations.RequiredIf('', o => o.commercialPolicy)]\r\n },\r\n autoPolicy: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Auto Policy #',\r\n Validations: [ElementValidations.AlphanumericAndMinusSign()]\r\n },\r\n autoPolicyExpirationDate: {\r\n Field: ElementTypes.Generic(ElementTypes.DateField, {\r\n editability: o => o.autoPolicy,\r\n }),\r\n Title: 'Expiration Date',\r\n Validations: [ ElementValidations.DateIsExpired('Auto Policy'), \r\n ElementValidations.RequiredIf('', o => o.autoPolicy)\r\n ]\r\n },\r\n cargoPolicy: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Cargo Policy #',\r\n Validations: [ElementValidations.AlphanumericAndMinusSign()]\r\n },\r\n cargoPolicyExpirationDate: {\r\n Field: ElementTypes.Generic(ElementTypes.DateField, {\r\n editability: o => o.cargoPolicy,\r\n }),\r\n Title: 'Expiration Date',\r\n Validations: [ ElementValidations.DateIsExpired('Cargo Policy'), \r\n ElementValidations.RequiredIf('', o => o.cargoPolicy)]\r\n },\r\n coiGuid: {\r\n Title: 'COI Upload',\r\n Field: ElementTypes.Generic(ElementTypes.Avatar, {\r\n fileFieldName: 'coiFileName',\r\n noImage: true\r\n }),\r\n Dependencies: [\r\n ['coiFileName', 'originalName']\r\n ],\r\n Validations: [ElementValidations.Required()]\r\n },\r\n note: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n },\r\n }\r\n },\r\n {\r\n Fields: {\r\n factoringCompanyId: {\r\n Title: 'Factoring Company',\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, {\r\n dataSource: '/api/FactoringCompany/factoringcompanyvaluelist',\r\n selectedValueType: 'companyName',\r\n })\r\n },\r\n Group5: [{\r\n useSeparator: false,\r\n Fields: {\r\n nca: {\r\n Field: ElementTypes.CheckBox('N.Ca'),\r\n },\r\n west: {\r\n Field: ElementTypes.CheckBox('West'),\r\n },\r\n midWest: {\r\n Field: ElementTypes.CheckBox('Mid West'),\r\n },\r\n }\r\n }],\r\n Group6: [{\r\n useSeparator: false,\r\n Fields: {\r\n east: {\r\n Field: ElementTypes.CheckBox('East'),\r\n },\r\n southEast: {\r\n Field: ElementTypes.CheckBox('South East'),\r\n },\r\n }\r\n }],\r\n Components: {\r\n carrierPackage: {\r\n Component: ComponentTypes.CarrierPackage('id')\r\n }\r\n },\r\n packageDate: {\r\n Title: 'Carrier Package Date',\r\n Field: ElementTypes.Generic(ElementTypes.DateField),\r\n Validations: [ElementValidations.RequiredIf('', o => o.packageUploadGuid)]\r\n },\r\n packageUploadDate: {\r\n Title: 'Carrier Package Upload Date',\r\n Field: ElementTypes.Generic(ElementTypes.DateField),\r\n Validations: [ElementValidations.RequiredIf('', o => o.packageDate), ElementValidations.DateShouldBeLater()]\r\n },\r\n Group: [{\r\n Title: 'Carrier Package Attachment',\r\n Fields: {\r\n packageUploadGuid: {\r\n fieldClasses: ['mini'],\r\n Field: ElementTypes.Generic(ElementTypes.Avatar, {\r\n fileFieldName: 'packageUploadFileName',\r\n noImage: true\r\n }),\r\n Dependencies: ['isApproved',\r\n ['packageUploadFileName', 'originalName']\r\n ],\r\n // Validations: [ElementValidations.Required()]\r\n },\r\n isApproved: {\r\n Title: '',\r\n Field: ElementTypes.Button({\r\n Action: 'RequestCarrierPacket',\r\n Template: 'CarrierPacket'\r\n },\r\n o => o.packageUploadGuid)\r\n },\r\n },\r\n }],\r\n denyReason: {\r\n Title: 'Deny Reason',\r\n Field: ElementTypes.Comment(),\r\n Validations: [ElementValidations.RequiredIf('', o => o.isApproved === false)],\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n },\r\n }\r\n },\r\n {\r\n Fields: {\r\n scheduleVerification: {\r\n Field: ElementTypes.CheckBox('Verification', () => true, () => false)\r\n },\r\n verifiedByName: {\r\n Title: 'Verified By',\r\n Field: ElementTypes.LabelField(o => o.verifiedById)\r\n },\r\n verifiedDateTime: {\r\n Title: 'Verified Date and Time',\r\n Field: ElementTypes.DateTimeLabel(o => o.verifiedById)\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n },\r\n blackList: {\r\n Field: ElementTypes.CheckBox('Black List', () => true, () => false)\r\n },\r\n blackByName: {\r\n Title: 'Blacklist By',\r\n Field: ElementTypes.LabelField(o => o.blackById)\r\n },\r\n blackDate: {\r\n Title: 'Blacklist Date',\r\n Field: ElementTypes.DateTimeLabel(o => o.blackById)\r\n },\r\n blackReasonId: {\r\n //Field: ElementTypes.ComboAdd('/api/blackreason/valuelistempty', {\r\n // TitlePrefix: '',\r\n // PopupConfig: BlackReasonConfig\r\n //}, null, false, o => o.blackList, () => false),\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/blackreason/valuelistempty',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: BlackReasonConfig,\r\n },\r\n displayability: o => o.blackList,\r\n editability: () => false,\r\n selectedValueType: 'blackReasonName'\r\n }),\r\n Title: 'Blacklist Reason',\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n};\r\n\r\nexport const CarrierListConfig = {\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Filter: {\r\n email: {\r\n Type: FilterType.Text,\r\n Title: 'Email'\r\n },\r\n mainPhone: {\r\n Type: FilterType.Phone,\r\n Title: 'Main Phone'\r\n },\r\n accountNumber: {\r\n Type: FilterType.Text,\r\n Title: 'Account Number'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n name: {\r\n Type: ColumnType.Text,\r\n Title: 'Name',\r\n Sorted: 'ascend',\r\n LinkAppPage: true,\r\n DataTitle: false,\r\n Width: 150\r\n },\r\n email: {\r\n Type: ColumnType.Text,\r\n Title: 'Email',\r\n Width: 180\r\n },\r\n mainPhone: {\r\n Type: ColumnType.Phone,\r\n Title: 'Main Phone',\r\n Width: 180\r\n },\r\n dot: {\r\n Type: ColumnType.Text,\r\n Title: 'DOT',\r\n Width: 150\r\n },\r\n mc: {\r\n Type: ColumnType.Text,\r\n Title: 'MC Number',\r\n Width: 150\r\n },\r\n note: {\r\n Type: ColumnType.Text,\r\n Title: 'Note',\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n }\r\n};\r\n\r\nconst Carrier = {\r\n Title: 'Carrier',\r\n Resource: 'Carrier',\r\n Master: 'name',\r\n Key: 'id',\r\n IsRest: true,\r\n ...CarrierListConfig,\r\n Form: {\r\n Tabstrip: [\r\n {\r\n Title: 'Carrier',\r\n Resource: 'Carrier',\r\n Master: 'name',\r\n Key: 'id',\r\n IsRest: true,\r\n ...CarrierFormConfig\r\n },\r\n ...CarrierTabs\r\n ]\r\n }\r\n};\r\n\r\nexport default Carrier;","export const getContentWidth = (headers, page) => {\r\n const isBookingPage = page;\r\n if (isBookingPage) {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => {\r\n return a + (b.visible ? b.width : 0);\r\n }, 0) :\r\n 0);\r\n } else {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => {\r\n return a + (b.visible && !b.hideForLoadPlanning ? b.width : 0);\r\n }, 0) :\r\n 0);\r\n }\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\n","export const GET_LOCATIONS = 'GET_LOCATIONS';\r\nexport const LOCATIONS_LOADING = 'LOCATIONS_LOADING';\r\nexport const LOCATIONS_ERROR = 'LOCATIONS_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return LOCATIONS_BUILD[key];\r\n};\r\n\r\nexport const LOCATIONS_BUILD = {\r\n GET_LOCATIONS: 'GET_LOCATIONS',\r\n LOCATIONS_LOADING: 'LOCATIONS_LOADING',\r\n LOCATIONS_ERROR: 'LOCATIONS_ERROR',\r\n};\r\n","import {\r\n ElementTypes,\r\n GenerateToolBars\r\n} from '../../../config';\r\nimport { InboundLoadingSequenceFields as LoadSequenceFields } from '../loadSequenceFieldsConfig';\r\n\r\nconst LoadSequence = {\r\n Title: 'Load Sequence',\r\n Resource: 'Load/loadcustomerloadingsequencegroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Load Sequence',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...LoadSequenceFields,\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n classes: 'start',\r\n Fields: {\r\n inboundLoadingSequenceId: {\r\n fieldClasses: ['standart'],\r\n Title: 'Loading Sequence',\r\n //Field: ElementTypes.SelectWithCache('/api/loadingsequence/valuelist')\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, {\r\n dataSource: '/api/loadingsequence/valuelist',\r\n selectedValueType: 'inboundLoadingSequenceName'\r\n }),\r\n },\r\n inboundLoadingDescription: {\r\n Title: 'Loading Description',\r\n Field: ElementTypes.Comment(o => o.inboundLoadingSequenceId === 5)\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose','Close'])\r\n }\r\n};\r\n\r\nexport default LoadSequence;","import { CloneObject} from '../../../helper/common';\r\nimport {\r\n ElementTypes,\r\n Action,\r\n ListDefaults,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable,\r\n ComponentTypes,\r\n ElementValidations\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport TruckConfig from '../../Truck/config';\r\nimport DriverConfig from '../../Driver/config';\r\n\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport PickAppointment from './pickAppointmentConfig';\r\nimport DropAppointment from './dropAppointmentConfig';\r\nimport LoadSequence from './loadSequenceForm';\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nconst Load = {\r\n Title: 'Load',\r\n Resource: 'Load',\r\n AreaResource: 'load/area',\r\n LoadResource: 'Load',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true,\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n applyFor: {\r\n Type: FilterType.Select,\r\n Title: 'Apply to orders',\r\n DefaultValue: \"Available\",\r\n ApplyOnChange: true,\r\n Valuelist: [\r\n { \"value\": \"Available\", \"text\": \"Available\" },\r\n { \"value\": \"Assigned\", \"text\": \"Assigned\" },\r\n { \"value\": \"Both\", \"text\": \"Both\" }]\r\n },\r\n referenceNumber: {\r\n Title: 'Row',\r\n Type: FilterType.Text\r\n },\r\n pickLocationId: {\r\n Title: 'Pick Location',\r\n Type: FilterType.Select,\r\n Valuelist: 'pickLocation'\r\n },\r\n pickRegionCode: {\r\n Title: 'Pick Region',\r\n Type: FilterType.Select,\r\n Valuelist: 'pickRegion'\r\n },\r\n customerId: {\r\n Type: FilterType.MultiSelect,\r\n Title: 'Customer',\r\n Valuelist: 'customer'\r\n },\r\n batch: {\r\n Type: FilterType.Select,\r\n Title: 'Batch',\r\n Valuelist: [\r\n { \"value\": 1, \"text\": \"Hard\" },\r\n { \"value\": 2, \"text\": \"Soft\" },\r\n { \"value\": 3, \"text\": \"No\" }]\r\n },\r\n dueDate: {\r\n Type: FilterType.Date,\r\n Title: 'Due-Date'\r\n },\r\n puDate: {\r\n Type: FilterType.Date,\r\n Title: 'Ready/Date'\r\n },\r\n dragDrop: {\r\n Type: FilterType.Draggable,\r\n Title: 'Regions',\r\n Valuelist: 'pickRegion',\r\n FieldSortResource: 'InboundFilterRegions',\r\n Assigned: 'Assigned'\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'Load',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(PickAppointment, DropAppointment, LoadSequence, 'InboundLoadSequence')\r\n },\r\n Actions: {\r\n Display: o => o.isFirst,\r\n Width: 120,\r\n Items: [\r\n Action.Edit,\r\n Action.Delete,\r\n (o) => o.readyToBook ? Action.Booked : Action.Book\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n },\r\n Form: {\r\n Title: 'Truck',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField(o => o.id > 0)\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n Field: ElementTypes.Generic(ElementTypes.CurrencyFieldViewOrEdit, {\r\n condition: o => o.batch > 1\r\n })\r\n },\r\n color: {\r\n Title: 'Color',\r\n Field: ElementTypes.Color()\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n truckId: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddViewOrEdit, {\r\n dataSource: '/api/truck/valuelistempty',\r\n addparams: {\r\n PopupConfig: TruckConfig\r\n },\r\n condition: o => o.batch > 1,\r\n display: o => o.truckNumber\r\n })\r\n },\r\n driverId: {\r\n Title: 'Driver',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddViewOrEdit, {\r\n dataSource: '/api/driver/phonevaluelistempty',\r\n addparams: {\r\n PopupConfig: DriverConfig\r\n },\r\n condition: o => o.batch > 1,\r\n display: o => o.driverName\r\n }),\r\n Dependencies: ['driverPhone']\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n trailer: {\r\n Title: 'Trailer',\r\n Field: ElementTypes.LabelField()\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ,\r\n {\r\n Sections: [\r\n {\r\n classes: 'extra',\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n classes: 'compact',\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.FileSizeLabelField)\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Load;","import {\r\n ElementTypes,\r\n GenerateToolBars\r\n} from '../../../config';\r\nimport { OutboundLoadingSequenceFields as LoadSequenceFields } from '../loadSequenceFieldsConfig';\r\n\r\nconst LoadSequence = {\r\n Title: 'Load Sequence',\r\n Resource: 'OutboundLoad/loadcustomerloadingsequencegroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Load Sequence',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...LoadSequenceFields,\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n classes: 'start',\r\n Fields: {\r\n outboundLoadingSequenceId: {\r\n fieldClasses: ['standart'],\r\n Title: 'Loading Sequence',\r\n //Field: ElementTypes.SelectWithCache('/api/loadingsequence/valuelist')\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, {\r\n dataSource: '/api/loadingsequence/valuelist',\r\n selectedValueType: 'outboundLoadingSequenceName'\r\n }),\r\n },\r\n outboundLoadingDescription: {\r\n Title: 'Loading Description',\r\n Field: ElementTypes.Comment(o => o.outboundLoadingSequenceId === 5)\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Close'])\r\n }\r\n};\r\n\r\nexport default LoadSequence;","import { CloneObject} from '../../../helper/common';\r\nimport {\r\n ElementTypes,\r\n Action,\r\n ListDefaults,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable,\r\n ComponentTypes,\r\n ElementValidations\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport TruckConfig from '../../Truck/config';\r\nimport DriverConfig from '../../Driver/config';\r\n\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport PickAppointment from './pickAppointmentConfig';\r\nimport DropAppointment from './dropAppointmentConfig';\r\nimport LoadSequence from './loadSequenceForm';\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nconst Load = {\r\n Title: 'Outbound Load',\r\n Resource: 'OutboundLoad',\r\n AreaResource: 'outboundload/area',\r\n LoadResource: 'outboundload',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true,\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n applyFor: {\r\n Type: FilterType.Select,\r\n Title: 'Apply to orders',\r\n DefaultValue: \"Available\",\r\n ApplyOnChange: true,\r\n Valuelist: [\r\n { \"value\": \"Available\", \"text\": \"Available\" },\r\n { \"value\": \"Assigned\", \"text\": \"Assigned\" },\r\n { \"value\": \"Both\", \"text\": \"Both\" }]\r\n },\r\n referenceNumber: {\r\n Title: 'Row',\r\n Type: FilterType.Text\r\n },\r\n dropLocationId: {\r\n Title: 'Drop Location',\r\n Type: FilterType.Select,\r\n Valuelist: 'dropLocation'\r\n },\r\n dropRegionCode: {\r\n Title: 'Drop Region',\r\n Type: FilterType.Select,\r\n Valuelist: 'dropRegion'\r\n },\r\n drop2City: {\r\n Title: 'Drop City',\r\n Type: FilterType.Select,\r\n Valuelist: 'drop2City'\r\n },\r\n drop2State: {\r\n Title: 'Drop State',\r\n Type: FilterType.Select,\r\n Valuelist: 'drop2State'\r\n },\r\n drop2WH: {\r\n Title: 'Drop WH',\r\n Type: FilterType.Select,\r\n Valuelist: 'drop2WH'\r\n },\r\n customerId: {\r\n Type: FilterType.MultiSelect,\r\n Title: 'Customer',\r\n Valuelist: 'customer'\r\n },\r\n batch: {\r\n Type: FilterType.Select,\r\n Title: 'Batch',\r\n Valuelist: [\r\n { \"value\": 1, \"text\": \"Hard\" },\r\n { \"value\": 2, \"text\": \"Soft\" },\r\n { \"value\": 3, \"text\": \"No\" }]\r\n },\r\n dueDate: {\r\n Type: FilterType.Date,\r\n Title: 'Due-Date'\r\n },\r\n puDate: {\r\n Type: FilterType.Date,\r\n Title: 'Ready/Date'\r\n },\r\n dragDrop: {\r\n Type: FilterType.Draggable,\r\n Title: 'Regions',\r\n Valuelist: 'dropRegion',\r\n FieldSortResource: 'OutboundFilterRegions',\r\n Assigned: 'Assigned'\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'outboundload',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(PickAppointment, DropAppointment, LoadSequence, 'OutboundLoadSequence')\r\n },\r\n Actions: {\r\n Display: o => o.isFirst,\r\n Width: 120,\r\n Items: [\r\n Action.Edit,\r\n Action.Delete,\r\n (o) => o.readyToBook ? Action.Booked : Action.Book\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n },\r\n Form: {\r\n Title: 'Truck',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField(o => o.id > 0)\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n Field: ElementTypes.Generic(ElementTypes.CurrencyFieldViewOrEdit, {\r\n condition: o => o.batch > 1\r\n })\r\n },\r\n color: {\r\n Title: 'Color',\r\n Field: ElementTypes.Color()\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n truckId: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddViewOrEdit, {\r\n dataSource: '/api/truck/valuelistempty',\r\n addparams: {\r\n PopupConfig: TruckConfig\r\n },\r\n condition: o => o.batch > 1,\r\n display: o => o.truckNumber\r\n })\r\n },\r\n driverId: {\r\n Title: 'Driver',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddViewOrEdit, {\r\n dataSource: '/api/driver/phonevaluelistempty',\r\n addparams: {\r\n PopupConfig: DriverConfig\r\n },\r\n condition: o => o.batch > 1,\r\n display: o => o.driverName\r\n }),\r\n Dependencies: ['driverPhone']\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n trailer: {\r\n Title: 'Trailer',\r\n Field: ElementTypes.LabelField()\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ,\r\n {\r\n Sections: [\r\n {\r\n classes: 'extra',\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n classes: 'compact',\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.FileSizeLabelField)\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Load;","import { useEffect, useState } from 'react';\r\nimport { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';\r\nimport store from '../../../store';\r\n\r\nexport const useClientHubNewRequest = (onNotificationReceive, event) => {\r\n const [connection, setConnection] = useState(null);\r\n const pathname = window.location.pathname;\r\n const needSocket = pathname === '/loadplanning/changerequest' || \r\n pathname === '/loadplanning/revision' || \r\n pathname === '/loadplanning/cancelorder';\r\n\r\n useEffect(() => {\r\n const token = store.getState().auth.userToken;\r\n if (!connection && needSocket) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`/NewRequestNotificationHub`, {\r\n accessTokenFactory: () => token\r\n })\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build();\r\n setConnection(newConnection);\r\n }\r\n return () => {\r\n if (connection) {\r\n connection.stop();\r\n }\r\n };\r\n }, [connection, needSocket]);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchConnection = () => {\r\n if (isMounted && connection) {\r\n if (connection.connectionState === 'Disconnected') {\r\n connection.start()\r\n .then(() => {\r\n console.log('Client HUB for NewRequest Connected!');\r\n connection.on(event, message => {\r\n onNotificationReceive(message);\r\n });\r\n })\r\n .catch(e => console.error('Client HUB Connection failed: ', e));\r\n }\r\n }\r\n }\r\n needSocket && fetchConnection();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [connection, onNotificationReceive, event, needSocket]);\r\n\r\n return null;\r\n};\r\n","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthSomePartOnly = (headers, count) => {\r\n var sum = 0;\r\n for (let i = 0; i < count; i++) {\r\n sum += headers[i]?.width;\r\n }\r\n return sum;\r\n};","import { useEffect } from 'react';\r\n\r\nimport { DefaultMessageTypes } from '../actions'\r\n\r\nexport const useElementValidationFocus = (messages, ref, messageIdentity) => {\r\n useEffect(() => {\r\n if (messages && messages[DefaultMessageTypes.SET_FOCUSE]\r\n && messages[DefaultMessageTypes.SET_FOCUSE] === messageIdentity\r\n && messages[DefaultMessageTypes.START_FOCUSE]\r\n && ref && ref.current//) {\r\n && ref.current.focus && typeof ref.current.focus === 'function') {\r\n ref.current.focus();\r\n }\r\n });\r\n};\r\n\r\nexport const useElementDefaultFocus = (ref, setFocus) => {\r\n useEffect(() => {\r\n if (setFocus && ref && ref.current) {\r\n ref.current.focus();\r\n }\r\n }, [setFocus, ref]);\r\n};","import axios from 'axios';\r\n\r\nimport store from '../../store';\r\n\r\nconst instance = axios.create({\r\n baseURL: '/api/'\r\n});\r\n\r\ninstance.defaults.headers.common['Authorization'] = 'Bearer ' + store.getState().auth.userToken;\r\n\r\nexport default instance;","import React, { useState, useEffect, useCallback, forwardRef, useImperativeHandle } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Menu, Dropdown } from 'antd';\r\nimport { Droppable, Draggable, DragDropContext } from 'react-beautiful-dnd';\r\n\r\nimport { setProfileColumnVisibilityAndIndex } from '../../../store/actions/authentication/authentication';\r\nimport { CloneObject } from '../../helper/common';\r\nimport { ColumnType } from '../../config/list.config';\r\nimport { sorColumnsByIndex } from '../../helper/list';\r\n\r\nconst Settings = forwardRef((props, ref) => {\r\n let { screen, columns, profileSettings, setProfileColumnVisibilityAndIndex } = props;\r\n const [visible, setVisible] = useState(false);\r\n const [changed, setChanged] = useState(false);\r\n\r\n const isColumnVisible = useCallback(columnName => {\r\n if (profileSettings) {\r\n if (profileSettings.screens) {\r\n const selectedScreen = profileSettings.screens[screen];\r\n if (selectedScreen && selectedScreen.list) {\r\n if (selectedScreen.list.columns) {\r\n if (selectedScreen.list.columns[columnName]) {\r\n return !selectedScreen.list.columns[columnName].hidden;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n }, [profileSettings, screen]);\r\n\r\n const getColumnIndex = useCallback(columnName => {\r\n if (profileSettings) {\r\n if (profileSettings.screens) {\r\n const selectedScreen = profileSettings.screens[screen];\r\n if (selectedScreen && selectedScreen.list) {\r\n if (selectedScreen.list.columns) {\r\n if (selectedScreen.list.columns[columnName]) {\r\n return selectedScreen.list.columns[columnName].index;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }, [profileSettings, screen]);\r\n\r\n const getSettingsMenu = useCallback(() => {\r\n const menuSettings = {};\r\n for (const k in Object.keys(columns)) {\r\n const cn = Object.keys(columns)[k];\r\n const c = columns[cn];\r\n if (!c || c.LinkAppPage || c.Type === ColumnType.Empty || !c.Title) {\r\n continue;\r\n }\r\n menuSettings[cn] = {\r\n title: c.Title,\r\n visible: isColumnVisible(cn),\r\n index: getColumnIndex(cn) ?? +k\r\n };\r\n }\r\n return menuSettings;\r\n }, [columns, isColumnVisible, getColumnIndex]);\r\n\r\n const [columnSettings, setColumnSettings] = useState(getSettingsMenu());\r\n\r\n useEffect(() => {\r\n !changed && setColumnSettings(sorColumnsByIndex(getSettingsMenu()));\r\n }, [getSettingsMenu, changed])\r\n\r\n const handleVisibleChange = (flag) => {\r\n setVisible(flag);\r\n if (flag && changed) {\r\n setColumnSettings(sorColumnsByIndex(getSettingsMenu()));\r\n setChanged(false);\r\n }\r\n };\r\n\r\n const columnVisibilityHandler = (e, c) => {\r\n const newColumnSettings = CloneObject(columnSettings);\r\n newColumnSettings[c].visible = e.target.checked;\r\n setColumnSettings(sorColumnsByIndex(newColumnSettings));\r\n setChanged(true);\r\n };\r\n\r\n const saveColumnSettingsHandler = () => {\r\n const selectedColumns = [];\r\n for (const k in Object.keys(columnSettings)) {\r\n const cn = Object.keys(columnSettings)[k];\r\n const c = columnSettings[cn];\r\n selectedColumns.push({\r\n name: cn,\r\n hidden: !c.visible,\r\n index: c.index,\r\n });\r\n }\r\n\r\n setProfileColumnVisibilityAndIndex(screen, selectedColumns);\r\n setChanged(false);\r\n setVisible(false);\r\n };\r\n\r\n useImperativeHandle(\r\n ref,\r\n () => {\r\n return {\r\n saveColumnSettingsHandler: saveColumnSettingsHandler\r\n }\r\n }\r\n );\r\n\r\n const resetColumnSettingsHandler = () => {\r\n const selectedColumns = [];\r\n\r\n for (const k in Object.keys(columnSettings)) {\r\n const cn = Object.keys(columnSettings)[k];\r\n\r\n selectedColumns.push({\r\n name: cn,\r\n hidden: false,\r\n index: null\r\n });\r\n }\r\n\r\n setProfileColumnVisibilityAndIndex(screen, selectedColumns);\r\n setVisible(false);\r\n };\r\n\r\n const onDragEnd = result => {\r\n if (result && result.destination && result.source) {\r\n if (result.destination.index === result.source.index) {\r\n return;\r\n }\r\n\r\n const newColumnSettings = CloneObject(columnSettings);\r\n const arrayOfNewColumnSettings = Object.entries(newColumnSettings);\r\n const newIndex = arrayOfNewColumnSettings[result.destination.index][1].index;\r\n const item = arrayOfNewColumnSettings[result.source.index][1];\r\n item.index = +newIndex;\r\n if (result.destination.index > result.source.index) {\r\n for (let i = result.source.index + 1; i <= result.destination.index; i++) {\r\n arrayOfNewColumnSettings[i][1].index = arrayOfNewColumnSettings[i][1].index - 1;\r\n }\r\n }\r\n else if (result.destination.index < result.source.index) {\r\n for (let i = result.destination.index; i < result.source.index; i++) {\r\n arrayOfNewColumnSettings[i][1].index = +arrayOfNewColumnSettings[i][1].index + 1;\r\n }\r\n }\r\n const sortedList = arrayOfNewColumnSettings.sort((a, b) =>\r\n a[1].index - b[1].index\r\n );\r\n let ret = {};\r\n for (const a in sortedList) {\r\n ret[sortedList[a][0]] = sortedList[a][1];\r\n }\r\n setColumnSettings(ret);\r\n setChanged(true);\r\n }\r\n\r\n props.applyHandlerForRegions && props.applyHandlerForRegions({ name: result.draggableId, index: result.destination.index });\r\n };\r\n\r\n const sortedColumnSettings = columnSettings => sorColumnsByIndex(columnSettings);\r\n\r\n const menu = (\r\n \r\n \r\n \r\n \r\n {(provided) => (\r\n
    \r\n {\r\n Object.keys(sortedColumnSettings(columnSettings)).map((c, index) =>\r\n \r\n {(provided) => (\r\n
  • \r\n {/**/}\r\n \r\n \r\n \r\n {/**/}\r\n
  • \r\n )}\r\n
    \r\n )\r\n }\r\n {provided.placeholder}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {changed && \r\n \r\n
    \r\n Save\r\n
    \r\n
    \r\n } \r\n \r\n
    \r\n Reset\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n );\r\n return <>\r\n {columnSettings && Object.keys(columnSettings).length > 0\r\n ? \r\n e.preventDefault()}>\r\n {props.children}\r\n down\r\n \r\n \r\n : null\r\n }\r\n \r\n});\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettings\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n setProfileColumnVisibilityAndIndex: (resource, columns) => dispatch(setProfileColumnVisibilityAndIndex(resource, columns))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true })(Settings);","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nimport CarrierConfig from '../Carrier/config';\r\n\r\nconst Truck = {\r\n Title: 'Truck',\r\n Resource: 'Truck',\r\n Master: 'number',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Filter: {\r\n number: {\r\n Type: FilterType.Text,\r\n Title: 'Number'\r\n },\r\n carrierId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/Carrier/valuelist',\r\n Title: 'Carrier Name'\r\n },\r\n licensePlate: {\r\n Type: FilterType.Text,\r\n Title: 'License Plate'\r\n },\r\n vinNumber: {\r\n Type: FilterType.Text,\r\n Title: 'VIN'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n number: {\r\n Title: 'Number',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',\r\n DataTitle: false,\r\n Width: 150\r\n },\r\n carrierName: {\r\n Title: 'Carrier Name',\r\n Type: ColumnType.Text,\r\n Width: 150\r\n },\r\n vinNumber: {\r\n Type: ColumnType.Text,\r\n Title: 'VIN',\r\n Width: 150\r\n },\r\n licensePlate: {\r\n Title: 'License Plate',\r\n Type: ColumnType.Text,\r\n Width: 150\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Type: ColumnType.Text,\r\n Width: 250\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n carrierId: {\r\n Title: 'Carrier',\r\n //Field: ElementTypes.ComboAdd('/api/carrier/valueList', {\r\n // TitlePrefix: '',\r\n // PopupConfig: CarrierConfig\r\n //}),\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/carrier/valueList',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: CarrierConfig\r\n },\r\n selectedValueType: 'carrierName'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n number: {\r\n Title: 'Number',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.IntPositiveField()]\r\n },\r\n vinNumber: {\r\n Title: 'VIN',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 17\r\n }\r\n },\r\n Validations: [ElementValidations.Required(), ElementValidations.NoEmptySpace()]\r\n },\r\n licensePlate: {\r\n Title: 'License Plate',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 20\r\n }\r\n },\r\n Validations: [ElementValidations.Required()]\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.Comment()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n}; \r\n\r\nexport default Truck;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n ColumnValidation,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nimport CarrierConfig from '../Carrier/config';\r\n\r\nconst Driver = {\r\n Title: 'Driver',\r\n Resource: 'Driver',\r\n Master: 'driverName',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Filter: {\r\n driverName: {\r\n Type: FilterType.Text,\r\n Title: 'Name'\r\n },\r\n carrierId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/Carrier/valuelist',\r\n Title: 'Carrier Name'\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Type: FilterType.Phone\r\n },\r\n expirationDate: {\r\n Type: FilterType.Date,\r\n Title: 'Expired'\r\n }\r\n },\r\n Columns: {\r\n driverName: {\r\n Title: 'Name',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',\r\n DataTitle: false,\r\n Width: 150\r\n },\r\n carrierName: {\r\n Title: 'Carrier Name',\r\n Type: ColumnType.Text,\r\n Width: 150\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Type: ColumnType.Phone,\r\n Width: 150\r\n },\r\n expirationDate: {\r\n Title: 'Expired',\r\n Type: (text) => ColumnValidation.MonthExpiration(text, 1, ColumnType.Date, 'orange', 'red'),\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n carrierId: {\r\n Title: 'Carrier',\r\n //Field: ElementTypes.ComboAdd('/api/carrier/valuelistempty', {\r\n // PopupConfig: CarrierConfig\r\n //})\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/carrier/valuelistempty',\r\n addparams: {\r\n PopupConfig: CarrierConfig\r\n },\r\n selectedValueType: 'carrierName'\r\n }),\r\n Validations: [ElementValidations.Required()],\r\n },\r\n driverName: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.OnlyLettersAndSpace()]\r\n },\r\n driverPhone: {\r\n Title: 'Phone',\r\n Field: ElementTypes.Phone(),\r\n Attributes: {\r\n input: {\r\n maxLength: 15\r\n }\r\n },\r\n Validations: [ElementValidations.Required()]\r\n },\r\n driverEmail: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Email()]\r\n },\r\n licenseNumber: {\r\n Title: 'License Number',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 20\r\n }\r\n },\r\n Validations: [ElementValidations.Required()]\r\n },\r\n expirationDate: {\r\n Title: 'Expiration Date',\r\n Field: ElementTypes.DateField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.DateIsExpired('License Number')]\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n}; \r\n\r\nexport default Driver;","import React from 'react';\r\n\r\nimport DropDownElement from './dropDownElement';\r\nimport { useValueList } from '../hook/data/useValueList';\r\nimport { ElementConditions } from '../config/condition.config';\r\n\r\nconst SelectElement = props => {\r\n const { dataSource, classes, condition, data, action, valudationMessages,\r\n style, parentValue, reloadOnParentChange, selectedValue, mode,\r\n showSearch, name, allowClear, placeholder, filterOption, defaultValue } = props;\r\n const [list] = useValueList(data, dataSource, parentValue, reloadOnParentChange);\r\n return condition !== ElementConditions.Hidden ? //&& list ?\r\n \r\n : null;\r\n};\r\n\r\n\r\nexport default SelectElement;","import React, { useState } from 'react';\r\nimport { Tooltip, DatePicker, Checkbox } from 'antd';\r\nimport CurrencyInput from 'react-currency-input-field';\r\nimport moment from 'moment';\r\nimport InputMask from 'react-input-mask';\r\nimport 'react-phone-number-input/style.css';\r\nimport { ValidationErrorClass, ValidationWarningClass } from './validation';\r\nimport { getNormalizedAttributes } from '../config/element.config';\r\nimport ButtonAction from '../components/list/buttonActions';\r\n\r\nexport const ElementContent = props => {\r\n const attributes = getNormalizedAttributes(props.Attributes, props.object, props.val);\r\n\r\n const content = (props.Field(\r\n props.val,\r\n props.object,\r\n props.fieldChange,\r\n props.fieldOut,\r\n props.ref,\r\n props.onKeyPress,\r\n attributes,\r\n props.onActionRecord,\r\n props.parentData,\r\n props.clicked,\r\n props.firstTimeAction\r\n )(props.valudationMessages, props.warningMessages)\r\n );\r\n if (!content) {\r\n return null;\r\n }\r\n let messages = [];\r\n if (props.valudationMessages && props.valudationMessages.length > 0) {\r\n messages = props.valudationMessages;\r\n } else if (props.warningMessages?.length) {\r\n messages = props.warningMessages;\r\n } else if (props.Messages && props.Messages.length > 0) {\r\n props.Messages.forEach((m) => {\r\n if (m.charAt(0) === '_') {\r\n const om = m.substring(1);\r\n if (props.object && typeof (props.object) === 'object' && props.object[om]) {\r\n messages.push(props.object[om]);\r\n }\r\n }\r\n else {\r\n messages.push(m);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n {content}\r\n );\r\n};\r\n\r\nexport const ElementClassNames = (o, data, classes) => {\r\n const classNames = [];\r\n if (!classes) {\r\n return classNames;\r\n }\r\n classes.forEach(c => {\r\n if (typeof c === 'function') {\r\n classNames.push(c(o, data));\r\n }\r\n else {\r\n classNames.push(c);\r\n }\r\n });\r\n return classNames;\r\n};\r\n\r\nexport const CssErrorClassHandling = (errorClass, classes, valudationMessages, warningMessages, warningClass) => {\r\n\r\n if (classes.indexOf(errorClass) !== -1) {\r\n classes.pop(errorClass);\r\n }\r\n if (valudationMessages && valudationMessages.length > 0) {\r\n classes.push(errorClass);\r\n } else if (warningMessages?.length) {\r\n classes.push(warningClass);\r\n }\r\n\r\n return classes;\r\n};\r\n\r\nexport const GenerateElementValudationMessages = (valudationMessages) => GenerateMessages(valudationMessages)\r\n\r\nexport const GenerateMessages = (messages) =>\r\n messages && messages.length > 0\r\n ? {messages.map((m, i) =>\r\n
    {m}
    )}\r\n
    : null;\r\n\r\n\r\nexport const GenerateInput = (type, condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, tabIndex, warningMessages, attributes = {}, withTooltip) =>\r\n(withTooltip === 'withTooltip' ?\r\n \r\n \r\n :\r\n \r\n);\r\n\r\nexport const GenerateFileInput = (type, condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, warningMessages, attributes = {}) =>\r\n(\r\n
    \r\n
    \r\n
    \r\n Rate Confirmation\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n file\r\n \r\n PDF\r\n \r\n \r\n
    \r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n \r\n \r\n
    Edit
    \r\n
    Download
    \r\n
    Send
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n);\r\n\r\nexport const GenerateDecimalInput = (type, condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, title, symbol) => {\r\n const isCreatePage = window.location.pathname.split('/')[3] === 'create';\r\n\r\n return (\r\n {\r\n action(\r\n {\r\n nativeEvent: null,\r\n source: null,\r\n target: {\r\n // eslint-disable-next-line eqeqeq\r\n value: values && values != 0 ? parseFloat(values) : (values == 0 && title === 'Space') ? values : '',\r\n type: 'decimal'\r\n }\r\n });\r\n }}\r\n placeholder={placeholder}\r\n onKeyPress={onKeyPress}\r\n name={name}\r\n onBlur={out}\r\n prefix={symbol} />\r\n )\r\n};\r\n\r\nexport const GeneratePhoneInput = (type, condition, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, warningMessages) =>\r\n(\r\n {\r\n action(\r\n {\r\n nativeEvent: null,\r\n source: null,\r\n target: {\r\n value: value/* ? parseFloat(values) : '' */,\r\n type: 'phone'\r\n }\r\n });\r\n }}\r\n onBlur={out} />);\r\n;\r\n\r\nexport const GeneratePassword = props => {\r\n const { condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style } = props;\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n return (\r\n \r\n \r\n setShowPassword(!showPassword)}>\r\n \r\n {showPassword ? \"Hide\" : \"Show\"}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const GenerateStateLessInput = (type, condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style) =>\r\n(\r\n );\r\n\r\nexport const GenerateInputCurrency = (condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, object, fieldName) =>\r\n// (\r\n( {\r\n action(\r\n {\r\n nativeEvent: null,\r\n source: null,\r\n target: {\r\n value: values/* ? parseFloat(values) : '' */,\r\n type: 'currency'\r\n }\r\n });\r\n }}\r\n placeholder={placeholder}\r\n onKeyPress={onKeyPress}\r\n name={name}\r\n onBlur={out} />\r\n // \r\n);\r\n\r\nexport const GenerateTextArea = (condition, ref, data, classes, action, out, valudationMessages, placeholder, onKeyPress, name, itemValue, style, attributes = {}) => {\r\n return \r\n};\r\n\r\nexport const GenerateCheckBox = (label, condition, ref, data, classes, action, out, valudationMessages, style) =>\r\n ;\r\nexport const GenerateCheckBoxNoLabel = (label, condition, ref, data, classes, action, out, valudationMessages, style, name) =>\r\n ;\r\n\r\nexport const GenerateCheckBoxModern = (label, condition, ref, data, classes, action, out, valudationMessages, style) =>\r\n ;\r\n\r\nexport const GenerateSimpleCheckbox = (label, condition, ref, data, classes, action, out, valudationMessages, name, style) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport const GenerateToolBarButton = (condition, title, icon, classes, action) =>\r\n(\r\n {icon ? {icon} : null}\r\n {title}\r\n);\r\n\r\nexport const GenerateRadio = (label, condition, ref, data, classes, action, out, valudationMessages, name, style, object, field) =>\r\n ;\r\n\r\nexport const GenerateRadioSwitcher = (label, condition, ref, data, classes, action, out, valudationMessages, name) => (\r\n
    \r\n \r\n \r\n \r\n
    \r\n);\r\n\r\nexport const GenerateDatePicker = (condition, date_format, ref, data, min, max, classes, action, out, valudationMessages, style, restprops, warningMessages) => {\r\n return action({\r\n target:\r\n {\r\n value: value, type: 'date'\r\n },\r\n nativeEvent: e,\r\n source: [{\r\n value: value,\r\n weekNumber: value && new Date(value).getWeek()\r\n }]\r\n })}\r\n onBlur={out}\r\n style={style}\r\n disabledDate={(d) => (min && d.isBefore(min)) || (max && d.isAfter(max))}\r\n />\r\n};\r\n\r\nexport const GenerateDueDatePicker = (\r\n condition,\r\n date_format,\r\n ref,\r\n data,\r\n min,\r\n max,\r\n classes,\r\n action,\r\n out,\r\n valudationMessages,\r\n style,\r\n restprops,\r\n warningMessages,\r\n object,\r\n fieldName,\r\n hardFieldName,\r\n ) => {\r\n let tooltipData = ''\r\n if (object.isHardDate) {\r\n tooltipData = 'Hard Date';\r\n } else {\r\n if (object && object.orderIndicator === 1) {\r\n tooltipData = 'Standard';\r\n } else if (object && object.orderIndicator === 2) {\r\n tooltipData = 'Data Change';\r\n }\r\n }\r\n return (\r\n action({\r\n target:\r\n {\r\n value: value, type: 'date'\r\n },\r\n nativeEvent: e,\r\n source: [{\r\n value: value,\r\n weekNumber: value && new Date(value).getWeek()\r\n }]\r\n })}\r\n onBlur={out}\r\n style={style}\r\n disabledDate={(d) => (min && d.isBefore(min)) || (max && d.isAfter(max))}\r\n renderExtraFooter={() => (\r\n action({\r\n target:\r\n {\r\n checked: e.target.checked,\r\n type: 'checkbox',\r\n field: hardFieldName\r\n },\r\n nativeEvent: e\r\n })}\r\n id='checkboxId'\r\n tabindex=\"0\"\r\n >\r\n Hard Date\r\n )}\r\n />\r\n \r\n )\r\n};\r\n\r\nexport const GenerateTimePicker = (condition, time_format, minuteStep, use12Hours, ref, data, classes, action, out, valudationMessages, restprops, style) =>\r\n(\r\n action(e.nativeEvent)}\r\n disabled={!condition}\r\n {...restprops}\r\n />\r\n);\r\n\r\nexport const GenerateColumnIndicator = (object, data, text, attributes = {}, dataTitle) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport const GenerateColumnButton = (data, props, value, onActionRecord, parentData, clicked) => {\r\n return () => {\r\n if ('function' === typeof (props.PopupConfig?.Display)) {\r\n value = props.PopupConfig.Display(data, value);\r\n }\r\n return \r\n };\r\n}","import React, { createRef } from 'react';\r\n\r\nimport axios from '../axios/axios';\r\nimport errorHandler from '../error/errorHandler';\r\n\r\nexport function AuthenticatedLink({ url, filename, children }) {\r\n const link = createRef()\r\n\r\n const handleAction = async (event) => {\r\n if (link.current.href && link.current.href !== encodeURI(`${event.currentTarget.baseURI}${filename}`))\r\n {\r\n setTimeout(() => {\r\n link.current.href = filename;\r\n }, 100);\r\n \r\n return;\r\n }\r\n axios.get(url, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).then(response => {\r\n new File([response.data], filename);\r\n const href = window.URL.createObjectURL(response.data);\r\n link.current.download = filename;\r\n link.current.href = href;\r\n link.current.click();\r\n });\r\n event.preventDefault();\r\n };\r\n return ({children});\r\n};\r\n\r\nexport default errorHandler(AuthenticatedLink, axios);","import { useJsApiLoader } from '@react-google-maps/api';\r\n\r\nexport const GetPlace = (place, action) => { \r\n const placesAutocompleteService = new window.google.maps.places.AutocompleteService();\r\n const placesService = new window.google.maps.places.PlacesService(document.createElement('div'));\r\n \r\n if (place.geometry) {\r\n locationHandler(place, action);\r\n } else {\r\n placesAutocompleteService.getPlacePredictions({\r\n input: place.name,\r\n componentRestrictions: { country: [\"us\", \"ca\", \"mx\"] }\r\n }, function (result, status) {\r\n if (result && result.length) {\r\n placesService.getDetails({ placeId: result[0].place_id }, function (result, status) {\r\n if (result) {\r\n locationHandler(result, action);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const locationHandler = (place, action) => {\r\n if (place && action) {\r\n let latValue = place.geometry.location.lat,\r\n lngValue = place.geometry.location.lng;\r\n if (typeof (latValue) === 'function') {\r\n latValue = latValue();\r\n }\r\n if (typeof (lngValue) === 'function') {\r\n lngValue = lngValue();\r\n }\r\n const _addressComponents = {\r\n value: place.formatted_address,\r\n country: '',\r\n stateCode: '',\r\n city: '',\r\n street: '',\r\n streetNumber: '',\r\n countryId: 0,\r\n zip: '',\r\n lat: latValue,\r\n lng: lngValue\r\n };\r\n for (let ac in place.address_components) {\r\n const addressComponent = place.address_components[ac];\r\n if (addressComponent.types.indexOf('country') !== -1) {\r\n _addressComponents.country = addressComponent.short_name;\r\n }\r\n if (addressComponent.types.indexOf('administrative_area_level_1') !== -1) {\r\n _addressComponents.stateCode = addressComponent.short_name;\r\n }\r\n if (addressComponent.types.indexOf('locality') !== -1) {\r\n _addressComponents.city = addressComponent.long_name;\r\n }\r\n if (addressComponent.types.indexOf('route') !== -1) {\r\n _addressComponents.street = addressComponent.long_name;\r\n }\r\n if (addressComponent.types.indexOf('street_number') !== -1) {\r\n _addressComponents.streetNumber = addressComponent.short_name;\r\n }\r\n if (addressComponent.types.indexOf('postal_code') !== -1) {\r\n _addressComponents.zip = addressComponent.short_name;\r\n }\r\n }\r\n const counryIds = {\r\n CA: 40,\r\n MX: 143,\r\n US: 234\r\n };\r\n _addressComponents.countryId = counryIds[_addressComponents.country];\r\n const outeSource = [];\r\n outeSource.push(_addressComponents);\r\n action(\r\n {\r\n nativeEvent: null,\r\n source: outeSource,\r\n target: {\r\n value: _addressComponents.value,\r\n type: 'AddressField'\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst libraries = ['places'];\r\n\r\nexport const useGoogleApiLoader = googleApiKey => useJsApiLoader({\r\n libraries,\r\n id: 'google-map-script',\r\n googleMapsApiKey: `${googleApiKey}&loading=async`,\r\n});","import { useEffect, useState } from 'react';\r\nimport axios from '../../axios/axios';\r\n\r\nexport const useValueList = (data,\r\n dataSource,\r\n parentValue,\r\n reloadOnParentChange, emptyOption) => {\r\n const [list, setList] = useState(null);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = () => {\r\n axios({\r\n method: 'GET',\r\n params: {\r\n selectedId: data\r\n },\r\n baseURL: dataSource + (parentValue ? parentValue : '')\r\n })\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result && emptyOption) {\r\n result.unshift({ value: '', text: '' });\r\n setList(result.filter(i => (!i.archived && !i.archiveDate && !i.inactive) || result === i.value));\r\n }\r\n if (result && (isMounted)) {\r\n setList(result.filter(i => (!i.archived && !i.archiveDate && !i.inactive) || result === i.value));\r\n }\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n });\r\n };\r\n if (typeof dataSource === 'string') {\r\n fetchData();\r\n }\r\n else if (dataSource) {\r\n setList(dataSource);\r\n }\r\n return () => { isMounted = false };\r\n }, [parentValue, dataSource, data, reloadOnParentChange,emptyOption]);\r\n return [list, setList];\r\n};\r\n\r\n\r\nexport const useValueListWithCache = (data,\r\n dataSource,\r\n parentValue,\r\n setList, list, reloadOnParentChange, valueKey) => {\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = () => {\r\n if (list[valueKey]) {\r\n return;\r\n }\r\n axios({\r\n method: 'GET',\r\n params: {\r\n selectedId: data\r\n },\r\n baseURL: valueKey\r\n })\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result && (isMounted || reloadOnParentChange)) {\r\n setList(valueKey, result.filter(i => (!i.archived && !i.archiveDate && !i.inactive) || result === i.value));\r\n }\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n });\r\n };\r\n if (typeof dataSource === 'string') {\r\n fetchData();\r\n }\r\n else if (dataSource) {\r\n setList(valueKey, dataSource);\r\n }\r\n return () => { isMounted = false };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [parentValue, dataSource, data, reloadOnParentChange, valueKey\r\n , setList\r\n ]);\r\n};\r\n","import React from 'react';\r\nimport { Select } from 'antd';\r\n\r\nimport { CssErrorClassHandling } from '../helper/element';\r\nimport { ValidationErrorClass } from '../helper/validation';\r\n//import { CloneObject } from '../helper/common';\r\nimport { getActionArgument } from './util/dropDown';\r\nimport { useEffect } from 'react';\r\n\r\nconst { Option } = Select;\r\n\r\nconst DropDownElement = props => {\r\n var firstTimeAction = props.firstTimeAction;\r\n var data = props.data;\r\n var action = props.action;\r\n let newValueList = props.valueList;// && CloneObject(props.valueList);\r\n useEffect(() => {\r\n if (firstTimeAction) {\r\n firstTimeAction(newValueList.find(i => i.value === data));\r\n }\r\n }, [firstTimeAction, newValueList, data]);\r\n\r\n if (props.defaultValue && !data) {\r\n const event = {\r\n target: ''\r\n };\r\n setTimeout(() => {\r\n props.action(getActionArgument(props.valueList, props.defaultValue, props.mode, event));\r\n }, 0);\r\n }\r\n\r\n \r\n \r\n if (props.selectedValue && newValueList) {\r\n props.mode === 'multiple' ? (JSON.parse(props.selectedValue).forEach(slot => !newValueList.some(obj => obj.value === slot.value) && newValueList.push({ value: slot.value, text: slot.text })))\r\n : !newValueList.some(slot => slot.value === data) && newValueList.push({ value: data, text: props.selectedValue });\r\n }\r\n\r\n \r\n \r\n return action(getActionArgument(props.valueList, value, props.mode, event))}\r\n optionFilterProp=\"children\"\r\n filterOption={props.filterOption ? props.filterOption : (input, option) => {\r\n let item = option.children;\r\n if (typeof item === 'object') {\r\n item = item.props.children;\r\n }\r\n return item.toLowerCase().indexOf(input.toLowerCase()) >= 0;\r\n }}>\r\n {\r\n newValueList && newValueList.map((item, i) =>\r\n \r\n )\r\n }\r\n \r\n};\r\n\r\n\r\nexport default DropDownElement;","import { ValidateElement } from '../../helper/validation';\r\nimport { DefaultMessageTypes } from '../actions'\r\n\r\nexport const useValidation = (messageDispatch, validations, title, messageIdentity, object, warnings) => {\r\n if (!messageDispatch) {\r\n return null;\r\n }\r\n const validate = (data) => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: false });\r\n if (validations && validations.length > 0) {\r\n const invalMessages = ValidateElement(validations, data, title, object);\r\n messageDispatch({ type: messageIdentity, messages: invalMessages });\r\n }\r\n if (warnings && warnings.length > 0) {\r\n const invalMessages = ValidateElement(warnings, data, title, object);\r\n messageDispatch({ type: messageIdentity, messages: invalMessages, messageType: 'warning' });\r\n }\r\n };\r\n return validate;\r\n}","import * as popupActionTypes from './popupActionTypes';\r\n\r\nexport const openPopup = payload => ({\r\n type: popupActionTypes.OPEN_POPUP,\r\n data: payload\r\n});\r\nexport const closePopup = payload => ({\r\n type: popupActionTypes.CLOSE_POPUP,\r\n windowKey: payload\r\n});\r\nexport const closePopupAsync = payload => dispatch => setTimeout(() => {\r\n dispatch(closePopup(payload));\r\n}, 10);\r\nexport const closeAllPopups = () => ({\r\n type: popupActionTypes.CLOSE_ALL_POPUPS\r\n});\r\n","export const useElementChange = (validate, onChange) => {\r\n const fieldChangeHandler = event => {\r\n let data = event.target.value;\r\n if (event.target.type === 'checkbox') {\r\n data = event.target.checked;\r\n }\r\n if (event.target.type === 'radio' && !event.target.field) {\r\n data = event.target.checked;\r\n }\r\n if (event.target.type === 'multiple_select') {\r\n data = event.target.value ? event.target.value.join(',') : '';\r\n }\r\n if (event.target.type === 'number') {\r\n if (event.target.value === '') {\r\n data = null;\r\n }\r\n else {\r\n data = +event.target.value;\r\n }\r\n }\r\n onChange(event, data, event.target.field);\r\n validate(data);\r\n };\r\n return fieldChangeHandler;\r\n};","export const useElementOut = (validate) => {\r\n const fieldOutHandler = event => {\r\n const data = event.target.value;\r\n if (validate && typeof validate === 'function') {\r\n validate(data);\r\n }\r\n //if (!changeRunTime) {\r\n // onBlur(event, data);\r\n //}\r\n };\r\n return fieldOutHandler\r\n};","import React from 'react';\r\nimport { DragDropContext } from 'react-beautiful-dnd';\r\n\r\nconst useDraggabale = (props) => {\r\n function onDragEnd(result) {\r\n if (!result.destination) { // Don't update any data if Dropped out of DropZone\r\n return\r\n }\r\n\r\n const dragIndex = result.source.index;\r\n let dropIndex = result.destination.index;\r\n\r\n const draggableSource = props.getDragDropData && typeof props.getDragDropData === 'function' ?\r\n props.getDragDropData(result.source.droppableId) : props[result.source.droppableId];\r\n const droppableSource = props.getDragDropData && typeof props.getDragDropData === 'function' ?\r\n props.getDragDropData(result.destination.droppableId) : props[result.destination.droppableId];\r\n\r\n let dragRecord = draggableSource.data[dragIndex]; // Get Drag item from dragIndex\r\n const currentRecord = draggableSource.data[dragIndex];\r\n const newSourceData = [...draggableSource.data]; // Clone Drag srource data\r\n\r\n const groupBy = props.groupBy;\r\n const groupType = props.groupType;\r\n const groupTypeValue = props.groupTypeValue;\r\n\r\n if (props.selectedRows?.length) { // props.selectedRows as dragRecord\r\n props.selectedRows.forEach(item => {\r\n const originalItem = newSourceData.find(i => i.id === item.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n\r\n if (index !== -1) {\r\n newSourceData.splice(index, 1);\r\n } else {\r\n alert(`${item.id}: selected item not exists`);\r\n\r\n return;\r\n }\r\n });\r\n } else {\r\n if (props.grouping && groupBy && currentRecord?.[groupType] === groupTypeValue) {\r\n dragRecord = newSourceData.filter(i => i[groupBy] === currentRecord[groupBy]);\r\n dragRecord.forEach(item => {\r\n const originalItem = newSourceData.find(i => i.id === item.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n\r\n if (index !== -1) {\r\n newSourceData.splice(index, 1);\r\n } else {\r\n alert(`${item.id}: selected item not exists`);\r\n\r\n return;\r\n }\r\n });\r\n } else {\r\n newSourceData.splice(dragIndex, 1); // Remove Drag item from Clone data\r\n }\r\n }\r\n\r\n const newDestinationData = [...droppableSource.data]; // Clone Drop srource data\r\n\r\n if (result.source.droppableId === result.destination.droppableId) { // if Dropped in the same Data\r\n if (dragIndex === dropIndex) {\r\n return;\r\n }\r\n\r\n if (props.selectedRows?.length) {\r\n newSourceData.splice(dropIndex, 0, ...props.selectedRows); // Insert Selected Drag items to dropIndex\r\n } else {\r\n if (Array.isArray(dragRecord)) {\r\n newSourceData.splice(dropIndex, 0, ...dragRecord); // Insert Drag item to dropIndex\r\n } else {\r\n newSourceData.splice(dropIndex, 0, currentRecord); // Insert Drag item to dropIndex\r\n }\r\n }\r\n\r\n if (props.grouping && groupBy) {\r\n if ((droppableSource.data[dropIndex]?.[groupBy] !== currentRecord[groupBy] && droppableSource.data[dropIndex + 1]?.[groupBy] !== currentRecord[groupBy])\r\n || (droppableSource.data[dropIndex]?.[groupBy] !== currentRecord[groupBy] && droppableSource.data[dropIndex - 1]?.[groupBy] !== currentRecord[groupBy])\r\n ) {\r\n return;\r\n }\r\n }\r\n\r\n props.dispatch({ type: draggableSource.type, value: newSourceData }); // Update Drag source data. In all cases Drag source need to update\r\n\r\n return;\r\n } else { // if Dropped in the other Data\r\n let dropData = [];\r\n\r\n if (props.selectedRows?.length) {\r\n dropData = props.selectedRows;\r\n // newDestinationData.splice(dropIndex, 0, ...props.selectedRows); // Insert Selected Drag items to dropIndex\r\n } else {\r\n if (Array.isArray(dragRecord)) {\r\n dropData = dragRecord;\r\n // newDestinationData.splice(dropIndex, 0, ...dragRecord); // Insert Drag item to dropIndex\r\n } else {\r\n dropData = [currentRecord];\r\n // newDestinationData.splice(dropIndex, 0, currentRecord); // Insert Drag item to dropIndex\r\n }\r\n }\r\n\r\n // if(result.destination.droppableId !== 'orders') {\r\n if (props.grouping && groupBy) {\r\n newDestinationData.push(...dropData);\r\n } else {\r\n newDestinationData.splice(dropIndex, 0, ...dropData);\r\n }\r\n // } else {\r\n // if (props.grouping && groupBy) {\r\n // if (droppableSource.data?.length && droppableSource.data[dropIndex]?.[groupBy] === droppableSource.data[dropIndex - 1]?.[groupBy]) {\r\n // return;\r\n // }\r\n // } else {\r\n // newDestinationData.splice(dropIndex, 0, ...dropData);\r\n // }\r\n // }\r\n\r\n if (!props.oneState) {\r\n props.dispatch({ type: droppableSource.type, value: newDestinationData }); // Update Drop source data\r\n }\r\n }\r\n\r\n if (props.oneState) {\r\n props.dispatch(\r\n {\r\n type: 'all',\r\n [draggableSource.type]: { type: draggableSource.type, data: newSourceData },\r\n [droppableSource.type]: { type: droppableSource.type, data: newDestinationData }\r\n },\r\n {\r\n dragSource: draggableSource.type,\r\n dropSource: droppableSource.type,\r\n record: props.selectedRows?.length ? props.selectedRows : dragRecord\r\n }\r\n ); // Update Drag source data. In all cases Drag source need to update\r\n } else {\r\n props.dispatch({ type: draggableSource.type, value: newSourceData }); // Update Drag source data. In all cases Drag source need to update\r\n }\r\n }\r\n\r\n return { onDragEnd };\r\n}\r\n\r\n/**\r\n* @props = { // List of Draggable data\r\n droppableId: {\r\n data: firstData, // state\r\n dispatch: setFirstData, // useState\r\n type: type // Type for dispatch\r\n },\r\n droppableId: {\r\n data: scondData, // state\r\n dispatch: setScondData, // useState\r\n type: type // Type for dispatch\r\n },\r\n}\r\n**/\r\nconst DragDrop = (props) => {\r\n const { onDragEnd } = useDraggabale(props);\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default DragDrop\r\n\r\n","import React from 'react';\r\nimport { Resizable } from 'react-resizable';\r\nimport { ColumnType } from '../../config/list.config';\r\n\r\nconst ResizableTitle = props => {\r\n const { onResize, onResizeStop, onResizeStart, width, field, column, className, ...restProps } = props;\r\n\r\n if (!width || (column && column.Type === ColumnType.Empty)) {\r\n return ;\r\n }\r\n return (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(e, s) => onResizeStart(s, field, e)}\r\n onResize={(e, s) => onResize(s, field, e)}\r\n onResizeStop={(e, s) => onResizeStop(s, field, e)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResizableTitle;","export const OPEN_POPUP = 'OPEN_POPUP';\r\nexport const CLOSE_POPUP = 'CLOSE_POPUP';\r\nexport const CLOSE_ALL_POPUPS = 'CLOSE_ALL_POPUPS';","import {\r\n ElementTypes,\r\n ComponentTypes,\r\n Ability\r\n} from '../../config';\r\nimport { GenerateToolBars } from '../../config/element.config';\r\n\r\n\r\nconst LocationForm = {\r\n Title: 'Location',\r\n Resource: 'Location',\r\n Key: 'id',\r\n Master: 'locationName',\r\n IsRest: true,\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n locationTypeStr: {\r\n Title: 'Location Type',\r\n Field: ElementTypes.LabelField()\r\n },\r\n dateChange: {\r\n Title: 'Date Change Needed',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n display: (o, data) => data === 1 ? 'No' : data === 2 ? 'Yes' : data\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n locationName: {\r\n Title: 'Location',\r\n Field: ElementTypes.LabelField()\r\n },\r\n formattedAddress: {\r\n Title: 'Address',\r\n Field: ElementTypes.LabelField()\r\n },\r\n additionalAddress: {\r\n Title: 'Additional Address',\r\n Field: ElementTypes.LabelField()\r\n },\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n city: {\r\n Title: 'City',\r\n Field: ElementTypes.LabelField()\r\n },\r\n zipCode: {\r\n Title: 'Zip Code',\r\n Field: ElementTypes.LabelField()\r\n },\r\n stateCode: {\r\n Title: 'State',\r\n Field: ElementTypes.LabelField()\r\n },\r\n countryName: {\r\n Title: 'Country',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n contactType: {\r\n Title: 'Contact Type',\r\n Field: ElementTypes.LabelField()\r\n },\r\n contact: {\r\n Title: 'Contact Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n phone: {\r\n Title: 'Phone',\r\n Field: ElementTypes.Phone()\r\n },\r\n email: {\r\n Title: 'Email',\r\n Field: ElementTypes.LabelField()\r\n },\r\n }\r\n }\r\n ],\r\n Group4: [\r\n {\r\n Title: 'Another Contact 1',\r\n Fields: {\r\n contact2: {\r\n Title: 'Contact Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n phone2: {\r\n Title: 'Phone',\r\n Field: ElementTypes.Phone()\r\n },\r\n email2: {\r\n Title: 'Email',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n Group5: [\r\n {\r\n Title: 'Another Contact 2',\r\n Fields: {\r\n contact3: {\r\n Title: 'Contact Name',\r\n Field: ElementTypes.LabelField(),\r\n },\r\n phone3: {\r\n Title: 'Phone',\r\n Field: ElementTypes.Phone()\r\n },\r\n email3: {\r\n Title: 'Email',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.CommentLabel()\r\n }\r\n }\r\n },\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n site: {\r\n Title: 'Site',\r\n Field: ElementTypes.CommentLabel()\r\n },\r\n locationLogin: {\r\n Title: 'Login',\r\n Field: ElementTypes.CommentLabel()\r\n },\r\n locationPassword: {\r\n Title: 'Password',\r\n Field: ElementTypes.CommentLabel()\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n lumper: {\r\n Title: 'Lumper',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n display: (o, data) => data === 1 ? 'No' : data === 2 ? 'Yes' : data\r\n })\r\n },\r\n overnightParking: {\r\n Title: 'Overnight Parking',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n display: (o, data) => data === 1 ? 'No' : data === 2 ? 'Yes' : data\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n map: {\r\n Title: 'Map',\r\n Field: ElementTypes.MapField(Ability.Displayability, () => false),\r\n },\r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern(null, null, Ability.Displayability, () => false)\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 236\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n hours: {\r\n Title: 'Hours Comment',\r\n Field: ElementTypes.CommentLabel()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Close'])\r\n }\r\n};\r\n\r\nexport default LocationForm","export const createSeparator = (itemDefaultSize, headers, type, ind, loadId, regionId) => ({\r\n row: [{\r\n key: headers[0].key,\r\n value: '',\r\n editable: false,\r\n height: itemDefaultSize\r\n }],\r\n rowState: {\r\n type: 'separator',\r\n id: `${type}_separator_${ind}`,\r\n loadId,\r\n regionId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: 4\r\n }\r\n});","import store from 'store';\r\n\r\nimport { CloneObject } from '../codeless/helper/common';\r\n\r\nconst UpdateState = (state, val) => {\r\n const newState = CloneObject(state);\r\n const updatedState = { ...newState, val };\r\n return updatedState;\r\n};\r\n\r\nexport const updateStateFromStore = (state, storeKeys) => {\r\n const newState = CloneObject(state);\r\n for (let stateItem in newState) {\r\n newState[stateItem] = store.get(storeKeys[stateItem]) || newState[stateItem];\r\n }\r\n return newState;\r\n};\r\n\r\nexport const updateStoreFromState = (state, storeKeys) => {\r\n for (let stateItem in storeKeys) {\r\n store.set(storeKeys[stateItem], state[stateItem]);\r\n }\r\n};\r\n\r\nexport const removeStore = (storeKeys) => {\r\n for (let stateItem in storeKeys) {\r\n store.remove(storeKeys[stateItem]);\r\n }\r\n};\r\n\r\nexport default UpdateState;","import * as authenticationActionTypes from '../../actions/authentication/authenticationActionTypes';\r\nimport { updateStateFromStore, updateStoreFromState, removeStore } from '../../updateState';\r\nimport { CloneObject } from '../../../codeless/helper/common';\r\n\r\nconst storeAuthenticationKeys = {\r\n isLoggedIn: 'IS_LOGGEDIN',\r\n userToken: 'USER_TOKEN',\r\n userRefreshToken: 'USER_REFRESH_TOKEN',\r\n userRole: 'USER_ROLE',\r\n userMenu: 'USER_MENU',\r\n userLoginName: 'USER_LOGIN_NAME',\r\n userFirstName: 'USER_FIRST_NAME',\r\n userId: 'USER_ID',\r\n userLastName: 'USER_LAST_NAME',\r\n userEmail: 'USER_EMAIL',\r\n userTokenExpiration: 'USER_TOKEN_EXPIRATION_DATE',\r\n userRememberMeToken: 'USER_REMEMBER_ME_TOKEN',\r\n googleApiKey: 'GOOGLE_API_KEY',\r\n profileSettings: 'USER_SETTINGS',\r\n profileSettingsTemp: 'USER_SETTINGS_TEMP',\r\n};\r\n\r\nconst defaultAuthenticationState = {\r\n isLoggedIn: false,\r\n loading: false,\r\n error: null,\r\n redirectUrl: null,\r\n userToken: '',\r\n userRefreshToken: '',\r\n userRole: '',\r\n userMenu: null,\r\n userLoginName: '',\r\n userFirstName: '',\r\n userLastName: '',\r\n userId: '',\r\n userEmail: '',\r\n userTokenExpiration: null,\r\n userRememberMeToken: '',\r\n googleApiKey: '',\r\n profileSettings: null,\r\n profileSettingsTemp: null\r\n};\r\n\r\nconst updateAuthenticationState = (state, authData, isLoggedIn) => {\r\n const updatedState = {\r\n ...state,\r\n isLoggedIn: isLoggedIn,\r\n loading: false,\r\n error: null,\r\n redirectUrl: authData.redirectUrl,\r\n userToken: authData.userToken,\r\n userRefreshToken: authData.refreshToken,\r\n userRole: authData.role,\r\n userMenu: authData.userMenu,\r\n userLoginName: authData.loginName,\r\n userFirstName: authData.firstName,\r\n userLastName: authData.lastName,\r\n userId: authData.userId,\r\n userEmail: authData.email,\r\n userTokenExpiration: authData.exp,\r\n userRememberMeToken: authData.rememberMeToken,\r\n googleApiKey: authData.googleApiKey,\r\n profileSettings: authData.userProfile,\r\n profileSettingsTemp: CloneObject(authData.userProfile)\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst refreshAuthenticationState = (state, authData, isLoggedIn) => {\r\n const updatedState = {\r\n ...state,\r\n isLoggedIn: isLoggedIn,\r\n loading: false,\r\n error: null,\r\n redirectUrl: authData.redirectUrl,\r\n userToken: authData.userToken,\r\n userRefreshToken: authData.refreshToken,\r\n userRole: authData.role,\r\n //userMenu: authData.userMenu, //no need to update userMenu because it will take screen update\r\n userLoginName: authData.loginName,\r\n userFirstName: authData.firstName,\r\n userLastName: authData.lastName,\r\n userId: authData.userId,\r\n userEmail: authData.email,\r\n userTokenExpiration: authData.exp\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst updateProfileState = (state, newState, isLoggedIn) => {\r\n const updatedState = {\r\n ...state,\r\n isLoggedIn: isLoggedIn,\r\n loading: false,\r\n error: null,\r\n // userRole: newState.role,\r\n userLoginName: newState.loginName,\r\n userFirstName: newState.firstName,\r\n userLastName: newState.lastName,\r\n userEmail: newState.email,\r\n // Avatar info\r\n }\r\n\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst removeAuthenticationState = () => {\r\n removeStore(storeAuthenticationKeys);\r\n return defaultAuthenticationState;\r\n};\r\n\r\nconst createProfileDefaults = (profile, data) => {\r\n if (!profile) {\r\n profile = {\r\n screens: {}\r\n };\r\n }\r\n\r\n if (!profile.screens[data.resource]) {\r\n profile.screens[data.resource] = {};\r\n }\r\n if (!profile.screens[data.resource].list) {\r\n profile.screens[data.resource].list = {};\r\n }\r\n if (!profile.screens[data.resource].swap) {\r\n profile.screens[data.resource].swap = false;\r\n }\r\n if (!profile.screens[data.resource].list.columns) {\r\n profile.screens[data.resource].list.columns = {};\r\n }\r\n\r\n return profile;\r\n};\r\n\r\nconst updateScreenSwap = (state, data) => {\r\n const updatedProfileSettings = createProfileDefaults(CloneObject(state.profileSettings), data);\r\n updatedProfileSettings.screens[data.resource].swap = data.swap;\r\n const updatedState = {\r\n ...state,\r\n profileSettings: updatedProfileSettings\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst updateListColumnSettings = (state, data, fields) => {\r\n const updatedProfileSettings = createProfileDefaults(CloneObject(state.profileSettings), data);\r\n for (const k in data.columns) {\r\n const c = data.columns[k];\r\n if (!updatedProfileSettings.screens[data.resource].list.columns[c.name]) {\r\n updatedProfileSettings.screens[data.resource].list.columns[c.name] = {};\r\n }\r\n let field = null;\r\n if (fields && Array.isArray(fields)) {\r\n for (const f in fields) {\r\n field = fields[f];\r\n updatedProfileSettings.screens[data.resource].list.columns[c.name][field] = c[field];\r\n }\r\n }\r\n else {\r\n field = fields;\r\n updatedProfileSettings.screens[data.resource].list.columns[c.name][field] = c[field];\r\n }\r\n\r\n\r\n }\r\n const updatedState = {\r\n ...state,\r\n profileSettings: updatedProfileSettings\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst updateListFilterSettings = (state, data) => {\r\n const updatedProfileSettings = createProfileDefaults(CloneObject(state.profileSettings), data);\r\n\r\n updatedProfileSettings.screens[data.resource].list.columns = data.columns;\r\n\r\n const updatedState = {\r\n ...state,\r\n profileSettings: updatedProfileSettings\r\n }\r\n\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n\r\n return updatedState;\r\n};\r\n\r\n\r\nconst updateListColumnSettingsTemp = (state, data, field) => {\r\n const updatedProfileSettings = createProfileDefaults(CloneObject(state.profileSettingsTemp), data);\r\n for (const k in data.columns) {\r\n const c = data.columns[k];\r\n if (!updatedProfileSettings.screens[data.resource].list.columns[c.name]) {\r\n updatedProfileSettings.screens[data.resource].list.columns[c.name] = {};\r\n }\r\n updatedProfileSettings.screens[data.resource].list.columns[c.name][field] = c[field];\r\n }\r\n const updatedState = {\r\n ...state,\r\n profileSettingsTemp: updatedProfileSettings\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst updateListColumnSettingsFromTemp = state => {\r\n const updatedState = {\r\n ...state,\r\n profileSettings: CloneObject(state.profileSettingsTemp)\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nconst updateListColumnTempSettings = state => {\r\n const updatedState = {\r\n ...state,\r\n profileSettingsTemp: CloneObject(state.profileSettings)\r\n }\r\n updateStoreFromState(updatedState, storeAuthenticationKeys);\r\n return updatedState;\r\n};\r\n\r\nexport default (state = updateStateFromStore(defaultAuthenticationState, storeAuthenticationKeys), action) => {\r\n switch (action.type) {\r\n case authenticationActionTypes.AUTH_START:\r\n return { ...state, error: null, loading: true };\r\n case authenticationActionTypes.AUTH_FAIL:\r\n return { ...state, error: action.error, loading: false }\r\n case authenticationActionTypes.LOGIN:\r\n return updateAuthenticationState(state, action.authData, true);\r\n case authenticationActionTypes.REFRESH:\r\n return refreshAuthenticationState(state, action.authData, true);\r\n case authenticationActionTypes.PROFILE:\r\n return updateProfileState(state, action.data, true);\r\n case authenticationActionTypes.LIST_COLUMN_VISIBILITY:\r\n return updateListColumnSettings(state, action.data, 'hidden');\r\n case authenticationActionTypes.LIST_COLUMN_VISIBILITY_AND_INDEX:\r\n return updateListColumnSettings(state, action.data, ['hidden', 'index']);\r\n case authenticationActionTypes.LIST_FILTER_VISIBILITY_AND_INDEX:\r\n return updateListFilterSettings(state, action.data);\r\n case authenticationActionTypes.LIST_COLUMN_WIDTH:\r\n return updateListColumnSettings(state, action.data, 'width');\r\n case authenticationActionTypes.LOGOUT:\r\n return removeAuthenticationState();\r\n case authenticationActionTypes.LIST_COLUMN_WIDTH_TEMP:\r\n return updateListColumnSettingsTemp(state, action.data, 'width');\r\n case authenticationActionTypes.LIST_COLUMN_WIDTH_FROM_TEMP:\r\n return updateListColumnSettingsFromTemp(state);\r\n case authenticationActionTypes.LIST_COLUMN_WIDTH_UPDATE_TEMP:\r\n return updateListColumnTempSettings(state);\r\n case authenticationActionTypes.SCREEN_SWAP:\r\n return updateScreenSwap(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import * as popupActionTypes from '../../actions/popup/popupActionTypes';\r\n\r\n\r\nconst defaultState = {\r\n popups: []\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n const popups = [...state.popups];\r\n switch (action.type) {\r\n case popupActionTypes.OPEN_POPUP:\r\n popups.push(action.data);\r\n return {\r\n ...state,\r\n popups\r\n };\r\n case popupActionTypes.CLOSE_POPUP:\r\n const index = popups.findIndex(p => p.windowKey === action.windowKey);\r\n if (index >= 0) {\r\n popups.splice(index, 1);\r\n }\r\n return {\r\n ...state,\r\n popups\r\n };\r\n case popupActionTypes.CLOSE_ALL_POPUPS:\r\n return {\r\n ...state,\r\n popups: []\r\n };\r\n default:\r\n return state;\r\n }\r\n};","import * as googleActionTypes from '../../actions/google/googleActionTypes';\r\n\r\nconst defaultState = {\r\n isLoaded: false\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case googleActionTypes.GOOGLE_LOADED:\r\n return { ...state, isLoaded: true }\r\n default:\r\n return state;\r\n }\r\n};","import * as valueListActionTypes from '../../actions/valueList/valueListActionTypes';\r\n\r\nimport { CloneObject } from '../../../codeless/helper/common';\r\n\r\nconst defaultValueListState = {\r\n list: {}\r\n};\r\n\r\nconst addNewValueList = (state, action) => {\r\n //const newState = { ...state };\r\n const newState = CloneObject(state);\r\n newState.list[action.valueKey] = action.valueList;\r\n return newState;\r\n};\r\n\r\nconst removeValueList = (state, action) => {\r\n //const newState = { ...state };\r\n const newState = CloneObject(state);\r\n newState.list[action.valueKey] = null;\r\n return newState;\r\n};\r\n\r\nexport default (state = defaultValueListState, action) => {\r\n switch (action.type) {\r\n case valueListActionTypes.ADD_VALUE_LIST:\r\n return addNewValueList(state, action);\r\n case valueListActionTypes.REMOVE_VALUE_LIST:\r\n return removeValueList(state, action);\r\n default:\r\n return state;\r\n }\r\n}; ","import * as pageContentActionTypes from '../../actions/pageContent/pageContentActionTypes';\r\n\r\nconst defaultState = {\r\n isHiddenMenu: false\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case pageContentActionTypes.HIDE_SHOW_MENU:\r\n return { ...state, isHiddenMenu: action.data };\r\n default:\r\n return state;\r\n }\r\n};","export const getEfsColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { color: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { color: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { color: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { color: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsBGColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { backgroundColor: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { backgroundColor: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { backgroundColor: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { backgroundColor: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsStatusTooltip = status => {\r\n switch (status) {\r\n case 1:\r\n return \"New Request\";\r\n case 2:\r\n return \"Issued\";\r\n case 3:\r\n return \"Rejected\";\r\n case 4:\r\n return \"Sent\";\r\n default:\r\n return null;\r\n }\r\n};","import moment from 'moment';\r\nimport { createSeparator } from '../separator';\r\nimport { getEfsStatusTooltip, getEfsBGColor } from '../dataGeneral';\r\nconst regionGroupField = 'pickRegionCode';\r\nexport const itemDefaultSize = 18;\r\n\r\nexport const extractWebLoadsToList = (loads, headers, doNotrenderSeparator, renderLastSep) => {\r\n let loadsAssignedOrders = [];\r\n loads.forEach((loadItem, i) => {\r\n loadsAssignedOrders.push(loadItem);\r\n loadItem.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n });\r\n loadsAssignedOrders = [...loadsAssignedOrders, ...extractWebLoadsToList(loadItem.subLoads, headers, true, false)];\r\n //if (!doNotrenderSeparator) {\r\n //loadsAssignedOrders.push(createSeparator(itemDefaultSize, headers, 'load', i, loadItem.rowState.id));\r\n //}\r\n });\r\n //if (renderLastSep) {\r\n // loadsAssignedOrders.push(createSeparator(itemDefaultSize, headers, 'load', '-1', '-1'));\r\n //}\r\n return loadsAssignedOrders;\r\n};\r\n\r\nexport const createSubOrder = (so, originalOrder, childSubOrder) => ({\r\n ...originalOrder,\r\n ...{\r\n parentId: so.parentId,\r\n subOrderId: so.id,\r\n loadId: so.loadId,\r\n originalOrderId: so.orderId,\r\n pickLocationId: so.dropLocationId,\r\n pickLocation: so.dropLocation,\r\n dropLocationId: childSubOrder ? childSubOrder.dropLocationId : originalOrder.dropLocationId,\r\n dropLocation: childSubOrder ? childSubOrder.dropLocation : originalOrder.dropLocation,\r\n inboundPickIn: so.pickInDate,\r\n inboundPickOut: so.pickOutDate,\r\n inboundPickAppointment: so.pickAppointmenteDate,\r\n inboundAppointmentStatus: so.pickAppointmentStatus,\r\n puDate: so.puDate,\r\n dueDate: so.dueDate,\r\n deliverDate: so.deliverDate,\r\n inboundDropAppointment: so.dropAppointmenteDate,\r\n inboundDropIn: so.dropInDate,\r\n inboundDropOut: so.dropOutDate,\r\n inboundLumper: so.lumper,\r\n dropRestriction: so.dropRestriction,\r\n pickRestriction: so.pickRestriction,\r\n stepCount: so.stepCount,\r\n carrierName: so.carrierName,\r\n palletCount: so.palletCount,\r\n cases: so.cases,\r\n space: so.space,\r\n weight: so.weight,\r\n poNumber: so.poNumber,\r\n }\r\n});\r\n\r\nexport const createWebLoadArray = (loadIdField, loadsData, assignedOrders, subOrders, headers, oldLoadsAssignedOrders) => {\r\n //create sub orders\r\n const subOrdersData = [];\r\n subOrders.forEach(so => {\r\n subOrdersData.push(createSubOrder(so, assignedOrders.find(o => o.id === so.orderId),\r\n subOrders.find(fso => fso.orderId === so.orderId && fso.parentId === so.id)));\r\n });\r\n const subLoads = loadsData.filter(l => l.parentLoadId);\r\n const loads = [];\r\n loadsData.filter(l => !l.parentLoadId).forEach(l => loads.push(createWebLoad(l, assignedOrders.filter(o => o[loadIdField] === l.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === l.id), false)));\r\n if (assignedOrders.length !== loads.reduce((r, o) => r += o.ordersData.length, 0)) {\r\n console.log('Some assigned orders not found there loads');\r\n }\r\n return loads;\r\n};\r\n\r\nexport const createWebLoad = (loadData, loadOrders, subLoads, subOrdersData, headers, oldWebLoad, isSub) => {\r\n const loadId = `load_${loadData.id}`;\r\n const loadWebData = {\r\n row: [],\r\n ordersData: [],\r\n subLoads: [],\r\n rowState: {\r\n type: 'load',\r\n isSub,\r\n subId: subLoads ? subLoads.find(l => l.parentLoadId === loadData.id) : null,\r\n id: loadId,\r\n loadId: loadData.id,\r\n loadData,\r\n visible: true,\r\n reacted: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n isChecked: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n available: false,\r\n createPickKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}_${order.pickLocationId}`;\r\n }\r\n return createKey;\r\n },\r\n createDropKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}`;\r\n if (order.warehouse) {\r\n createKey = `${createKey}_0_${order.warehouseId}`;\r\n }\r\n else {\r\n createKey = `${createKey}_${order.dropLocationId}_0`;\r\n }\r\n }\r\n return createKey;\r\n },\r\n groups: (orders, keyFunction) => orders.reduce((r, o) => {\r\n const groupBy = keyFunction(o.rowState.orderData);\r\n r[groupBy] = [...r[groupBy] || [], o.rowState.orderData];\r\n return r;\r\n }, {}),\r\n findOrderGroup: (groups, order, createKey) => {\r\n return Object.keys(groups).find(go => {\r\n const oG = groups[go];\r\n if (oG.some(e => e.id === order.id)) {\r\n return groups[go];\r\n }\r\n if (createKey && go === createKey(order)) {\r\n return groups[go];\r\n }\r\n return null;\r\n });\r\n },\r\n height: itemDefaultSize\r\n }\r\n };\r\n\r\n const sortedOrdersByOrderPositionIndex = loadOrders.sort((a,b) => a.inOrderPossitionIndex - b.inOrderPossitionIndex);\r\n sortedOrdersByOrderPositionIndex.forEach(lo => loadWebData.ordersData.push(createWebOrder(lo, headers, loadData, null, loadId, loadWebData.rowState.reacted, isSub, subOrdersData)));\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''));\r\n\r\n const pickInboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createPickKey);\r\n // const dropInboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createDropKey);\r\n let stopNumber = 0;\r\n if (!isSub) {\r\n Object.keys(pickInboundGroups).forEach(key => {\r\n stopNumber++;\r\n const groupOrders = pickInboundGroups[key];\r\n groupOrders.forEach(o => {\r\n loadWebData.ordersData.find(wo => wo.rowState.orderData.id === o.id).row.find(f => f.key === 'left_action').value = stopNumber;\r\n });\r\n });\r\n }\r\n\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => +a.row.find(f => f.key === 'left_action').value - +b.row.find(f => f.key === 'left_action').value);\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n \r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction && !headerItem.rightAction) {\r\n \r\n switch (headerItem.key) {\r\n case 'id':\r\n value = loadData.id;\r\n break;\r\n case 'inboundPickIn': \r\n if (!isSub) {\r\n value = `${Object.keys(pickInboundGroups).length}P`;\r\n }\r\n break;\r\n case 'readyDate':\r\n if (!isSub) {\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const maxDate = Math.max.apply(null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }));\r\n if (maxDate) {\r\n value = new Date(maxDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n }\r\n break;\r\n case 'inboundPickAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n case 'puDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const minDate = Math.min.apply(null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }));\r\n if (minDate) {\r\n value = new Date(minDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n break;\r\n case 'dueDate':\r\n value = '';\r\n fieldType = 'date';\r\n break;\r\n case 'deliverDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'date';\r\n break;\r\n case 'inboundDropAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[0];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n break;\r\n case 'dropLocation':\r\n if (loadWebData.ordersData.length !== 0 && \r\n loadWebData.ordersData.find(order => order.rowState.orderData.routeId === 2)) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n } else {\r\n value = 'San Fernando, CA (TST)';\r\n }\r\n if (loadWebData.ordersData.length === 0) {\r\n value = '';\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'poNumber':\r\n value = loadWebData.ordersData.length;\r\n fieldType = 'text';\r\n break;\r\n case 'palletCount':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'wk':\r\n value = loadData.pickWeek;\r\n fieldType = 'selectManifest';\r\n editable = true;\r\n break;\r\n case 'in_load':\r\n value = isSub ? \"\" : loadData.loadNum;\r\n break;\r\n //case 'out_load':\r\n // //??? it should be the outbound load index, not implemented on backend yet\r\n // break;\r\n case 'carrier':\r\n value = loadData.carrierName;\r\n fieldType = 'text';\r\n //editable = true;\r\n break;\r\n case 'rate':\r\n value = loadData.rate ? loadData.rate : '';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'target':\r\n value = loadData.target ? loadData.target:'';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'efs':\r\n //value = `${loadData.inPaymentMethod ? loadData.inPaymentMethod : ''} ${loadData.inAmount ? '$' + loadData.inAmount : ''} ${loadData.inNote ? loadData.inNote : ''} ${`${loadData.inCardNumber ? `(${loadData.inCardNumber})` : ''}`} ${loadData.inEfsCreateDate ? (moment(loadData.inEfsCreateDate).format('L')) : ''}`;\r\n value = loadData.efsSum;\r\n fieldType = 'currency';\r\n cellStyle = getEfsBGColor(loadData.efsStatusMin);\r\n tooltip = getEfsStatusTooltip(loadData.efsStatusMin);\r\n break;\r\n case 'inboundLumper':\r\n value = Math.round(loadData.inboundLumper);\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'driver_truck_Trailer_VIN':\r\n value = `${(loadData.driverName ? loadData.driverName : '')} ${(loadData.truckNumber ? loadData.truckNumber : '')} ${(loadData.trailer ? loadData.trailer : '')}`;//??? + vin\r\n break;\r\n case 'notes':\r\n value = loadData.loadCommentsCount > 0 ? loadData.loadCommentsCount : '0' ;\r\n fieldType = 'text';\r\n break;\r\n case 'inPickNummber':\r\n value = loadData.inPickNummber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'inDeliverNummber':\r\n value = loadData.inDeliverNummber;\r\n fieldType = 'textInput';\r\n break;\r\n // case 'loadPositionType':\r\n // value = loadData.loadPositionType;\r\n // fieldType = 'select';\r\n // editable = true;\r\n // break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n loadWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n if (subLoads) {\r\n subLoads.filter(sl => sl.parentLoadId === loadData.id).forEach(sl => {\r\n loadWebData.subLoads.push(createWebLoad(sl, subOrdersData.filter(so => so.loadId === sl.id), subLoads, subOrdersData, headers, oldWebLoad, true));\r\n });\r\n }\r\n return loadWebData;\r\n};\r\n\r\nexport const extractWebRegionsToList = (regions, headers) => {\r\n const regionsAvailableOrders = [];\r\n regions.forEach((regionItem, i) => {\r\n extractWebRegionToList(regionItem, headers, regionsAvailableOrders, i);\r\n });\r\n return regionsAvailableOrders;\r\n};\r\n\r\nexport const extractWebRegionToList = (region, headers, regionsAvailableOrders, index) => {\r\n regionsAvailableOrders.push(region);\r\n region.ordersData.forEach(order => {\r\n regionsAvailableOrders.push(order);\r\n });\r\n regionsAvailableOrders.push(createSeparator(headers, 'region', index, null, region.rowState.id));\r\n};\r\n\r\nexport const regionOrderGrouping = orders => orders.reduce((r, o) => {\r\n const groupBy = o[regionGroupField];\r\n r[groupBy] = [...r[groupBy] || [], o];\r\n return r;\r\n}, {});\r\n\r\nexport const createWebRegionArray = (availableOrders, headers, regionHeaders) => {\r\n const regionsOrders = regionOrderGrouping(availableOrders);\r\n const regions = [];\r\n Object.keys(regionsOrders).forEach(r => {\r\n regions.push(createWebRegion(r, regionsOrders[r], headers, regionHeaders));\r\n });\r\n return regions;\r\n};\r\n\r\nexport const createRegionWebId = regionName => `region_${regionName}`;\r\n\r\nexport const createWebRegion = (regionData, regionsOrders, headers, regionHeaders) => {\r\n const regionWebId = createRegionWebId(regionData);\r\n const regionWebData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'region',\r\n id: regionWebId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: itemDefaultSize\r\n }\r\n };\r\n for (let rIndex = 0; rIndex < regionHeaders.length; rIndex++) {\r\n const regionHeader = regionHeaders[rIndex];\r\n regionWebData.row.push({\r\n key: regionHeader.key,\r\n value: rIndex === 1 ? regionData : '',\r\n editable: false\r\n });\r\n }\r\n regionsOrders.forEach(o => regionWebData.ordersData.push(createWebOrder(o, headers, null, regionWebId, null, false, false, null)));\r\n return regionWebData;\r\n};\r\n\r\nconst toDate = value => value ? moment.utc(value).toDate() : '';\r\nconst toDateTime = value => value ? moment.utc(value).toDate() : '';\r\n\r\nconst findFirstSubOrder = (selfId, subOrders, originalOrderId) =>\r\n subOrders.find(o => o.originalOrderId === originalOrderId && o.parentId === selfId);\r\n\r\n//created spradesheet order row\r\nexport const createWebOrder = (oData, headers, loadData, regionId, loadId, isHidden, isSub, subOrders) => {\r\n const orderData = { ...oData };\r\n let allowCreateSubOrder = false;\r\n let firstSubOrder = null;\r\n if (!isSub && loadData !== null) {\r\n firstSubOrder = subOrders ? subOrders.find(o => o.originalOrderId === orderData.id && !o.parentId) : null;\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n if (firstSubOrder) {\r\n orderData.dropLocationId = firstSubOrder.pickLocationId;\r\n orderData.dropLocation = firstSubOrder.pickLocation;\r\n }\r\n }\r\n else if (isSub && subOrders) {\r\n firstSubOrder = findFirstSubOrder(orderData.subOrderId, subOrders, orderData.id);\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n }\r\n if (regionId && loadId) {\r\n console.warn(`regionId and loadId can not have value at same time -> ${regionId}, ${loadId}`);\r\n }\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n isSub,\r\n //efsId: orderData?.efsInId,\r\n subOrderId: orderData.subOrderId,\r\n subId: firstSubOrder && firstSubOrder.id,\r\n id: `${(isSub ? `sub_${orderData.parentId ? orderData.parentId : ''}` : '')}order_${orderData.id}`,\r\n orderObjectId: orderData.id,\r\n loadObjectId: loadData && loadData.id,\r\n orderData: orderData,\r\n loadData,\r\n loadId: loadId && loadId,\r\n regionId: regionId && regionId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData.id,\r\n height: itemDefaultSize,\r\n allowCreateSubOrder,\r\n }\r\n };\r\n \r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let secondValue = null;\r\n let thirdValue = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction && !headerItem.rightAction) {\r\n \r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id;\r\n break;\r\n case 'inboundPickIn':\r\n value = toDateTime(orderData.inboundPickIn);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'inboundPickOut':\r\n value = toDateTime(orderData.inboundPickOut);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'readyDate':\r\n value = toDate(orderData.readyDate);\r\n fieldType = 'date';\r\n editable = !isSub;\r\n break;\r\n case 'inboundPickAppointment':\r\n value = [toDateTime(orderData.inboundPickAppointment), Number(orderData.inboundAppointmentStatus), orderData.inPickNummber, orderData.lastInboundPickFromData, orderData.lastInboundPickToData, orderData.inPickAuthorFullName];\r\n fieldType = 'appointmentSelector';\r\n editable = true;\r\n break;\r\n case 'inboundAppointmentStatus':\r\n value = orderData.inboundAppointmentStatus;\r\n fieldType = 'select';\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'puDate':\r\n value = toDate(orderData.puDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'dueDate':\r\n value = toDate(orderData.dueDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'deliverDate':\r\n value = toDate(orderData.deliverDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'inboundDropAppointment':\r\n value = [toDateTime(orderData.inboundDropAppointment), Number(orderData.dropInboundAppointmentStatus), orderData.inDeliverNummber, orderData.lastInboundDropFromData, orderData.lastInboundDropToData, orderData.inDropAuthorFullName];\r\n fieldType = 'appointmentSelector';\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'dropInboundAppointmentStatus':\r\n value = orderData.dropInboundAppointmentStatus;\r\n fieldType = 'select';\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'inboundDropIn':\r\n value = toDateTime(orderData.inboundDropIn);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'inboundDropOut':\r\n value = toDateTime(orderData.inboundDropOut);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'customerCodeOrName':\r\n value = orderData.customerCodeOrName;\r\n fieldType = 'textInputReadOnly';\r\n editable = true;\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocation;\r\n secondValue = orderData.pickWorkingDaysStr;\r\n fieldType = 'text';\r\n editable = false;\r\n break;\r\n case 'dropLocation':\r\n value = orderWebData.rowState.available ? orderData.dropLocation : orderData.dropLocationId;\r\n fieldType = orderWebData.rowState.available ? 'text' : 'selectLocations';\r\n isBold = !orderData.warehouse;\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n secondValue = isSub ? orderData.stepCount : '';\r\n fieldType = 'textInputPO';\r\n editable = isSub ? true : false;\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInputReadOnly';\r\n editable = true;\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n thirdValue = orderData?.orderHistoryDict?.palletCount;\r\n fieldType = 'integer';\r\n editable = !isSub;\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n thirdValue = orderData?.orderHistoryDict?.space;\r\n fieldType = 'integer';\r\n editable = !isSub;\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n thirdValue = orderData?.orderHistoryDict?.cases;\r\n fieldType = 'integer';\r\n // editable = !isSub;\r\n editable = false;\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n thirdValue = orderData?.orderHistoryDict?.weight;\r\n fieldType = 'integer';\r\n editable = !isSub;\r\n break;\r\n case 'temperature':\r\n value = orderData.temperature;\r\n fieldType = 'integer';\r\n editable = false;\r\n break;\r\n case 'pickRestriction':\r\n value = orderData.pickRestriction;\r\n fieldType = 'select';\r\n editable = true;\r\n break;\r\n case 'loadNumber':\r\n value = loadData ? loadData.loadNumber : '';\r\n secondValue = loadData ? loadData.rateConfirmed : '';\r\n thirdValue = loadData ? loadData.carrierInformed : '';\r\n fieldType = 'text';\r\n break;\r\n case 'wk':\r\n value = orderData.puDate && new Date(orderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'in_load':\r\n value = orderData.inLoad;\r\n break;\r\n case 'out_load':\r\n value = orderData.outLoad;\r\n break;\r\n //case 'target':\r\n // value = orderData.target;\r\n // break;\r\n case 'carrier':\r\n //??? 'Single, Straight', 'SIDEWAYS', I think this should be order field\r\n break;\r\n case 'inboundLumper':\r\n value = Math.round(orderData.inboundLumper);\r\n fieldType = 'currency';\r\n editable =orderData.inboundDropIn;\r\n break;\r\n case 'inPickNummber':\r\n value = orderData.inPickNummber;\r\n fieldType = 'textInput';\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'inDeliverNummber':\r\n value = orderData.inDeliverNummber;\r\n fieldType = 'textInput';\r\n editable = !orderWebData.rowState.available;\r\n break;\r\n case 'efs':\r\n //value = `${orderData.inPaymentMethod ? orderData.inPaymentMethod : ''} ${orderData.inAmount ? '$' + orderData.inAmount : ''} ${orderData.inNote ? orderData.inNote : ''} ${`${orderData.inCardNumber ? `(${orderData.inCardNumber})` : ''}`} ${orderData.inEfsCreateDate ? (moment(orderData.inEfsCreateDate).format('L')) : ''}`;\r\n break;\r\n case 'ap_notes':\r\n value = orderData.lastComment && orderData.lastComment.Comment;\r\n fieldType = 'text';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n secondValue = '';\r\n thirdValue = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n secondValue,\r\n thirdValue,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\n\r\n","import moment from 'moment';\r\nimport { createSeparator } from '../separator';\r\nimport { getEfsStatusTooltip, getEfsBGColor } from '../dataGeneral';\r\nexport const itemDefaultSize = 18;\r\n\r\nconst regionGroupField = 'dropRegionCode';\r\n\r\nexport const extractWebLoadsToList = (loads, headers, doNotrenderSeparator, renderLastSep) => {\r\n let loadsAssignedOrders = [];\r\n loads.forEach((loadItem, i) => {\r\n loadsAssignedOrders.push(loadItem);\r\n loadItem.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n });\r\n loadsAssignedOrders = [...loadsAssignedOrders, ...extractWebLoadsToList(loadItem.subLoads, headers, true, false)];\r\n });\r\n return loadsAssignedOrders;\r\n};\r\n\r\nexport const createSubOrder = (so, originalOrder, childSubOrder) => {\r\n return {\r\n ...originalOrder, \r\n ...{\r\n parentId: so.parentId,\r\n subOrderId: so.id,\r\n loadId: so.loadId,\r\n originalOrderId: so.orderId,\r\n pickLocationId: so.dropLocationId,\r\n pickLocation: so.dropLocation,\r\n dropLocationId: childSubOrder ? childSubOrder?.dropLocationId : originalOrder?.dropLocationId,\r\n dropLocation: childSubOrder ? childSubOrder?.dropLocation : originalOrder?.dropLocation,\r\n outboundPickWeek:so.pickWeek,\r\n outboundPickIn: so.pickInDate,\r\n outboundPickOut: so.pickOutDate,\r\n outboundPickAppointment: so.pickAppointmenteDate,\r\n pickOutboundAppointmentStatus: so.pickAppointmentStatus,\r\n puDate: so.puDate,\r\n dueDate: so.dueDate,\r\n deliverDate: so.deliverDate,\r\n outboundDropAppointment: so.dropAppointmenteDate,\r\n outboundAppointmentStatus: so.dropAppointmentStatus,\r\n outboundDropIn: so.dropInDate,\r\n outboundDropOut: so.dropOutDate,\r\n outboundLumper: so.lumper,\r\n dropRestriction: so.dropRestriction,\r\n pickRestriction: so.pickRestriction,\r\n stepCount: so.stepCount,\r\n carrierName: so.carrierName,\r\n palletCount: so.palletCount,\r\n cases: so.cases,\r\n space: so.space,\r\n weight: so.weight,\r\n poNumber: so.poNumber,\r\n }}\r\n};\r\n\r\nexport const createWebLoadArray = (loadIdField, loadsData, assignedOrders, subOrders, headers, oldLoadsAssignedOrders) => {\r\n //create sub orders\r\n const subOrdersData = [];\r\n subOrders.forEach(so => {\r\n subOrdersData.push(createSubOrder(so, assignedOrders.find(o => o.id === so.orderId),\r\n subOrders.find(fso => fso.orderId === so.orderId && fso.parentId === so.id)));\r\n });\r\n const subLoads = loadsData.filter(l => l.parentLoadId);\r\n const loads = [];\r\n loadsData.filter(l => !l.parentLoadId).forEach(l => loads.push(createWebLoad(l, assignedOrders.filter(o => o[loadIdField] === l.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === l.id), false)));\r\n if (assignedOrders.length !== loads.reduce((r, o) => r += o.ordersData.length, 0)) {\r\n console.log('Some assigned orders not found there loads');\r\n }\r\n\r\n // render subLoads/subOrders without Main Load\r\n const subOrdersOrderIDs = subOrdersData.map(subO => subO.loadId);\r\n const allLoadIDs = loadsData.map(load => load.id);\r\n if (subLoads.length > 0) {\r\n subLoads\r\n .filter(subL => subOrdersOrderIDs.includes(subL.id))\r\n .filter(subL => !allLoadIDs.includes(subL.parentLoadId))\r\n .forEach(subLoad => loads.push(createWebLoad (\r\n subLoad, \r\n subOrdersData.filter(subOrder => subOrder.loadId === subLoad.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === subLoad.id),\r\n true\r\n )));\r\n }\r\n\r\n return loads;\r\n};\r\n\r\nexport const createWebLoad = (loadData, loadOrders, subLoads, subOrdersData, headers, oldWebLoad, isSub) => {\r\n \r\n const loadId = `load_${loadData.id}`;\r\n const loadWebData = {\r\n row: [],\r\n ordersData: [],\r\n subLoads: [],\r\n rowState: {\r\n type: 'load',\r\n isSub,\r\n subId: subLoads ? subLoads.find(l => l.parentLoadId === loadData.id) : null,\r\n id: loadId,\r\n loadId: loadData.id,\r\n loadData,\r\n visible: true,\r\n reacted: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n available: false,\r\n createDropKey: order => {\r\n let createKey = '0';\r\n if (order.outboundLoadId) {\r\n createKey = `${order.outboundLoadId}_${order.dropLocationId}`;\r\n }\r\n return createKey;\r\n },\r\n createPickKey: order => {\r\n let createKey = '0';\r\n if (order.outboundLoadId) {\r\n createKey = `${createKey}`;// _${order.pickLocationId}_0`;\r\n }\r\n return createKey;\r\n },\r\n groups: (orders, keyFunction) => orders.reduce((r, o) => {\r\n const groupBy = keyFunction(o.rowState.orderData);\r\n r[groupBy] = [...r[groupBy] || [], o.rowState.orderData];\r\n return r;\r\n }, {}),\r\n findOrderGroup: (groups, order, createKey) => {\r\n return Object.keys(groups).find(go => {\r\n const oG = groups[go];\r\n if (oG.some(e => e.id === order.id)) {\r\n return groups[go];\r\n }\r\n if (createKey && go === createKey(order)) {\r\n return groups[go];\r\n }\r\n return null;\r\n });\r\n },\r\n height: itemDefaultSize\r\n }\r\n };\r\n \r\n let loadHasSub = false;\r\n if (!loadData.parentLoadId) {\r\n const loadOrdersIds = loadOrders?.map(order => order.id)\r\n const subOrdersIDs = subOrdersData?.map(sub => sub.originalOrderId);\r\n loadOrdersIds.forEach(id => {\r\n if (subOrdersIDs.includes(id)) {\r\n loadHasSub = true;\r\n }\r\n })\r\n }\r\n\r\n if (loadData.parentLoadId) {\r\n const loadsParentIds = subLoads?.map(load => load.parentLoadId);\r\n if (loadsParentIds.includes(loadData.id)) {\r\n loadHasSub = true;\r\n }\r\n }\r\n\r\n const sortedOrdersByOrderPositionIndex = loadOrders.sort((a,b) => a.outOrderPossitionIndex - b.outOrderPossitionIndex);\r\n sortedOrdersByOrderPositionIndex.forEach(lo => loadWebData.ordersData.push(createWebOrder(lo, headers, loadData, null, loadId, loadWebData.rowState.reacted, isSub, subOrdersData, loadHasSub)));\r\n \r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => new Date(a.rowState.orderData.outboundDropAppointment)\r\n - new Date(b.rowState.orderData.outboundDropAppointment ?? '')).reverse();\r\n\r\n const pickOutboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createPickKey);\r\n const dropOutboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createDropKey);\r\n let stopNumber = Object.keys(dropOutboundGroups).length;\r\n if (!isSub) {\r\n Object.keys(dropOutboundGroups).forEach(key => {\r\n \r\n const groupOrders = dropOutboundGroups[key];\r\n groupOrders.forEach(o => {\r\n loadWebData.ordersData.find(wo => wo.rowState.orderData.id === o.id).row.find(f => f.key === 'left_action').value = stopNumber;\r\n });\r\n stopNumber--;\r\n });\r\n }\r\n\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => +a.row.find(f => f.key === 'left_action').value - +b.row.find(f => f.key === 'left_action').value)\r\n .reverse();\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let secondValue = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction && !headerItem.rightAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = loadData.id;\r\n break;\r\n case 'outboundPickIn': \r\n if (!isSub) {\r\n value = `${Object.keys(pickOutboundGroups).length}P`;\r\n }\r\n break;\r\n case 'readyDate':\r\n if (!isSub) {\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const maxDate = Math.max.apply(null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }));\r\n if (maxDate) {\r\n value = new Date(maxDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n }\r\n break;\r\n case 'outboundPickAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n case 'puDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const minDate = Math.min.apply(null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }));\r\n if (minDate) {\r\n value = new Date(minDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n break;\r\n case 'dueDate':\r\n value = '';\r\n fieldType = 'date';\r\n break;\r\n case 'deliverDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'date';\r\n break;\r\n case 'outboundDropAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n value = 'San Fernando, CA (TST)'; //??? need to change\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[0];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).thirdValue;\r\n }\r\n }\r\n break;\r\n case 'poNumber':\r\n value = loadWebData.ordersData.length;\r\n fieldType = 'text';\r\n break;\r\n case 'palletCount':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n if (loadWebData?.rowState?.subId) {\r\n const subLoadId = loadWebData.rowState.subId.id;\r\n const subOrdersPalletCount = subOrdersData.filter(order => order.loadId === subLoadId)\r\n ?.reduce((sub, acc) => Number(sub) + Number(acc.palletCount), 0);\r\n secondValue = subOrdersPalletCount;\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n if (loadWebData?.rowState?.subId) {\r\n const subLoadId = loadWebData.rowState.subId.id;\r\n const subOrdersSpace = subOrdersData.filter(order => order.loadId === subLoadId)\r\n ?.reduce((sub, acc) => Number(sub) + Number(acc.space), 0);\r\n secondValue = subOrdersSpace;\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n if (loadWebData?.rowState?.subId) {\r\n const subLoadId = loadWebData.rowState.subId.id;\r\n const subOrdersWeight = subOrdersData.filter(order => order.loadId === subLoadId)\r\n ?.reduce((sub, acc) => Number(sub) + Number(acc.weight), 0);\r\n secondValue = subOrdersWeight;\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'wk':\r\n value = loadData.pickWeek;\r\n fieldType = 'selectManifest';\r\n editable = true;\r\n break;\r\n case 'in_load':\r\n //value = isSub ? \"\" : loadData.loadNum;\r\n break;\r\n case 'out_load':\r\n value = isSub ? \"\" : loadData.loadNum;\r\n break;\r\n case 'carrier':\r\n value = loadData.carrierName;\r\n fieldType = 'text';\r\n //editable = true;\r\n break;\r\n case 'rate':\r\n value = loadData.rate ? loadData.rate:'';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'outboundLumper':\r\n value = Math.round(loadData.outboundLumper);\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'driver_truck_Trailer_VIN':\r\n value = `${(loadData.driverName ? loadData.driverName : '')} ${(loadData.truckNumber ? loadData.truckNumber : '')} ${(loadData.trailer ? loadData.trailer : '')}`;//??? + vin\r\n break;\r\n case 'notes':\r\n value = loadData.loadCommentsCount > 0 ? loadData.loadCommentsCount : '0' ;\r\n fieldType = 'text';\r\n break;\r\n case 'target':\r\n value = loadData.target ? loadData.target : '';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'efs':\r\n //value = `${loadData.inPaymentMethod ? loadData.inPaymentMethod : ''} ${loadData.inAmount ? '$' + loadData.inAmount : ''} ${loadData.inNote ? loadData.inNote : ''} ${`${loadData.inCardNumber ? `(${loadData.inCardNumber})` : ''}`} ${loadData.inEfsCreateDate ? (moment(loadData.inEfsCreateDate).format('L')) : ''}`;\r\n value = loadData.efsSum;\r\n fieldType = 'currency';\r\n cellStyle = getEfsBGColor(loadData.efsStatusMin);\r\n tooltip = getEfsStatusTooltip(loadData.efsStatusMin);\r\n break;\r\n case 'outPickNummber':\r\n value = loadData.outPickNummber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'outDeliverNummber':\r\n value = loadData.outDeliverNummber;\r\n fieldType = 'textInput';\r\n break;\r\n // case 'loadPositionType':\r\n // value = loadData.loadPositionType;\r\n // fieldType = 'select';\r\n // editable = true;\r\n // break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n secondValue = '';\r\n fieldType = 'text';\r\n }\r\n\r\n loadWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n secondValue,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n if (subLoads) {\r\n subLoads.filter(sl => sl.parentLoadId === loadData.id).forEach(sl => {\r\n loadWebData.subLoads.push(createWebLoad(sl, subOrdersData.filter(so => so.loadId === sl.id), subLoads, subOrdersData, headers, oldWebLoad, true));\r\n });\r\n }\r\n return loadWebData;\r\n};\r\n\r\nexport const extractWebRegionsToList = (regions, headers) => {\r\n const regionsAvailableOrders = [];\r\n regions.forEach((regionItem, i) => {\r\n extractWebRegionToList(regionItem, headers, regionsAvailableOrders, i);\r\n });\r\n return regionsAvailableOrders;\r\n};\r\n\r\nexport const extractWebRegionToList = (region, headers, regionsAvailableOrders, index) => {\r\n regionsAvailableOrders.push(region);\r\n region.ordersData.forEach(order => {\r\n regionsAvailableOrders.push(order);\r\n });\r\n regionsAvailableOrders.push(createSeparator(headers, 'region', index, null, region.rowState.id));\r\n};\r\n\r\nexport const regionOrderGrouping = orders => orders.reduce((r, o) => {\r\n const groupBy = o[regionGroupField];\r\n r[groupBy] = [...r[groupBy] || [], o];\r\n return r;\r\n}, {});\r\n\r\nexport const createWebRegionArray = (availableOrders, headers, regionHeaders) => {\r\n const regionsOrders = regionOrderGrouping(availableOrders);\r\n const regions = [];\r\n Object.keys(regionsOrders).forEach(r => {\r\n regions.push(createWebRegion(r, regionsOrders[r], headers, regionHeaders));\r\n });\r\n return regions;\r\n};\r\n\r\nexport const createRegionWebId = regionName => `region_${regionName}`;\r\n\r\nexport const createWebRegion = (regionData, regionsOrders, headers, regionHeaders) => {\r\n const regionWebId = createRegionWebId(regionData);\r\n const regionWebData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'region',\r\n id: regionWebId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: itemDefaultSize\r\n }\r\n };\r\n for (let rIndex = 0; rIndex < regionHeaders.length; rIndex++) {\r\n const regionHeader = regionHeaders[rIndex];\r\n regionWebData.row.push({\r\n key: regionHeader.key,\r\n value: rIndex === 1 ? regionData : '',\r\n editable: false\r\n });\r\n }\r\n regionsOrders.forEach(o => regionWebData.ordersData.push(createWebOrder(o, headers, null, regionWebId, null, false, false, null)));\r\n return regionWebData;\r\n};\r\n\r\nconst toDate = value => value ? moment.utc(value).toDate() : '';\r\nconst toDateTime = value => value ? moment.utc(value).toDate() : '';\r\n\r\nconst findFirstSubOrder = (selfId, subOrders, originalOrderId) =>\r\n subOrders.find(o => o.originalOrderId === originalOrderId && o.parentId === selfId);\r\n\r\n//created spradesheet order row\r\nexport const createWebOrder = (oData, headers, loadData, regionId, loadId, isHidden, isSub, subOrders, loadHasSub) => {\r\n const orderData = { ...oData };\r\n let allowCreateSubOrder = false;\r\n let firstSubOrder = null;\r\n if (!isSub && loadData !== null) {\r\n firstSubOrder = subOrders ? subOrders.find(o => o.originalOrderId === orderData.id && !o.parentId) : null;\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n if (firstSubOrder) {\r\n orderData.dropLocationId = firstSubOrder.pickLocationId;\r\n orderData.dropLocation = firstSubOrder.pickLocation;\r\n }\r\n }\r\n else if (isSub && subOrders) {\r\n firstSubOrder = findFirstSubOrder(orderData.subOrderId, subOrders, orderData.id);\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n }\r\n if (regionId && loadId) {\r\n console.warn(`regionId and loadId can not have value at same time -> ${regionId}, ${loadId}`);\r\n }\r\n\r\n const orderHasSub = subOrders?.find(sub => sub.id === orderData.id)?.id;\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n isSub,\r\n orderHasSub: orderHasSub,\r\n subId: firstSubOrder && firstSubOrder.id,\r\n id: `${(isSub ? `sub_${orderData.parentId ? orderData.parentId : ''}` : '')}order_${orderData.id}`,\r\n orderObjectId: orderData.id,\r\n loadObjectId: loadData && loadData.id,\r\n orderData: orderData,\r\n loadData,\r\n loadId: loadId && loadId,\r\n regionId: regionId && regionId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData.id,\r\n height: itemDefaultSize,\r\n allowCreateSubOrder,\r\n }\r\n };\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let secondValue = null;\r\n let thirdValue = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction && !headerItem.rightAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id || orderData.originalOrderId;\r\n break;\r\n case 'outboundPickIn':\r\n value = toDateTime(orderData.outboundPickIn);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'inboundDeliveryAPPT':\r\n value = toDateTime(orderData.inboundDropAppointment);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'outboundPickOut':\r\n value = toDateTime(orderData.outboundPickOut);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'readyDate':\r\n value = toDate(orderData.readyDate);\r\n fieldType = 'date';\r\n editable = !isSub;\r\n break;\r\n case 'outboundPickAppointment':\r\n value = [toDateTime(orderData.outboundPickAppointment), Number(orderData.pickOutboundAppointmentStatus), orderData.outPickNummber, orderData.lastOutboundPickFromData, orderData.lastOutboundPickToData, orderData.outPickAuthorFullName];\r\n fieldType = 'appointmentSelector';\r\n editable = true;\r\n break;\r\n case 'puDate':\r\n value = toDate(orderData.puDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'dueDate':\r\n value = toDate(orderData.dueDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'deliverDate':\r\n value = toDate(orderData.deliverDate);\r\n fieldType = 'date';\r\n editable = true;\r\n break;\r\n case 'outboundDropAppointment':\r\n value = [toDateTime(orderData.outboundDropAppointment), Number(orderData.outboundAppointmentStatus), orderData.outDeliverNummber, orderData.lastOutboundDropFromData, orderData.lastOutboundDropToData, orderData.outDropAuthorFullName];\r\n fieldType = 'appointmentSelector';\r\n editable = true;\r\n break;\r\n case 'outboundAppointmentStatus':\r\n value = orderData.outboundAppointmentStatus;\r\n fieldType = 'select';\r\n editable = true;\r\n break;\r\n case 'outboundDropIn':\r\n value = toDateTime(orderData.outboundDropIn);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'outboundDropOut':\r\n value = toDateTime(orderData.outboundDropOut);\r\n fieldType = 'dateTime';\r\n editable = false;\r\n break;\r\n case 'customerCodeOrName':\r\n value = orderData.customerCodeOrName;\r\n fieldType = 'textInputReadOnly';\r\n editable = true;\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocation;\r\n fieldType = 'text';\r\n editable = false;\r\n break;\r\n case 'dropLocation':\r\n value = orderWebData.rowState.available || isSub || orderHasSub ? orderData.dropLocation : orderData.dropLocationId;\r\n fieldType = orderWebData.rowState.available || isSub || orderHasSub ? 'text' : 'selectLocations';\r\n isBold = !orderData.warehouse;\r\n editable = orderWebData.rowState.available || isSub || orderHasSub ? false : true;\r\n secondValue = orderData.pickWorkingDaysStr;\r\n thirdValue = orderData.dropLocation;\r\n break;\r\n case 'dropState':\r\n value = orderData.dropStateName;\r\n fieldType = 'text';\r\n editable = false;\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n secondValue = isSub ? orderData.stepCount : '';\r\n fieldType = 'textInputPO';\r\n editable = isSub ? true : false;\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInputReadOnly';\r\n editable = true;\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n secondValue = orderHasSub ? firstSubOrder?.palletCount : '';\r\n thirdValue = orderData?.outOrderHistoryDict?.palletCount;\r\n fieldType = 'integer';\r\n editable = !loadHasSub;\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n secondValue = orderHasSub ? firstSubOrder?.space : '';\r\n thirdValue = orderData?.outOrderHistoryDict?.space;\r\n fieldType = 'integer';\r\n editable = !loadHasSub;\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n secondValue = orderHasSub ? firstSubOrder?.cases : '';\r\n thirdValue = orderData?.outOrderHistoryDict?.cases;\r\n fieldType = 'integer';\r\n // editable = !loadHasSub;\r\n editable = false;\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n secondValue = orderHasSub ? firstSubOrder?.weight : '';\r\n thirdValue = orderData?.outOrderHistoryDict?.weight; \r\n fieldType = 'integer';\r\n editable = !loadHasSub;\r\n break;\r\n case 'temperature':\r\n value = orderData.temperature;\r\n fieldType = 'integer';\r\n editable = false;\r\n break;\r\n case 'dropRestriction':\r\n value = orderData.dropRestriction;\r\n fieldType = 'select';\r\n editable = true;\r\n break;\r\n case 'loadNumber':\r\n value = loadData ? loadData.loadNumber : '';\r\n secondValue = loadData ? loadData.rateConfirmed : '';\r\n thirdValue = loadData ? loadData.carrierInformed : '';\r\n fieldType = 'text';\r\n break;\r\n case 'wk':\r\n value = orderData.puDate && new Date(orderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'in_load':\r\n value = orderData.inLoad;\r\n break;\r\n case 'out_load':\r\n value = orderData.outLoad;\r\n break;\r\n case 'carrier':\r\n //??? 'Single, Straight', 'SIDEWAYS', I think this should be order field\r\n break;\r\n case 'outboundLumper':\r\n value = Math.round(orderData?.outboundLumper);\r\n fieldType = 'currency';\r\n editable = orderData.outboundDropIn;\r\n break;\r\n case 'efs':\r\n //value = `${orderData.outPaymentMethod ? orderData.outPaymentMethod : ''} ${orderData.outAmount ? '$' + orderData.outAmount : ''} ${orderData.outNote ? orderData.outNote : ''} ${`${orderData.outCardNumber ? `(${orderData.outCardNumber})` : ''}`} ${orderData.outEfsCreateDate ? (moment(orderData.outEfsCreateDate).format('L')) : ''}`;\r\n break;\r\n case 'ap_notes':\r\n value = orderData.lastComment && orderData.lastComment.Comment;\r\n fieldType = 'text';\r\n break;\r\n case 'outPickNummber':\r\n value = orderData.outPickNummber;\r\n fieldType = 'textInput';\r\n editable = true;\r\n break;\r\n case 'outDeliverNummber':\r\n value = orderData.outDeliverNummber;\r\n fieldType = 'textInput';\r\n editable = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n secondValue = '';\r\n thirdValue = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n secondValue,\r\n thirdValue,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\n\r\n","import * as inboundData from './helper/inbound/data';\r\nimport * as outboundData from './helper/outbound/data';\r\n\r\nexport const InboundSubOrderFieldConvertor = {\r\n inboundPickIn: 'pickInDate',\r\n inboundPickOut: 'pickOutDate',\r\n inboundPickAppointment: 'pickAppointmenteDate',\r\n inboundAppointmentStatus: 'pickAppointmentStatus',\r\n inboundDropIn: 'dropInDate',\r\n inboundDropOut: 'dropOutDate',\r\n inboundDropAppointment: 'dropAppointmenteDate',\r\n inboundLumper: 'lumper',\r\n InPickNummber: 'InPickNummber',\r\n puDate: 'puDate',\r\n dueDate: 'dueDate',\r\n deliverDate: 'deliverDate'\r\n};\r\n\r\nexport const OutboundSubOrderFieldConvertor = {\r\n outboundPickIn: 'pickInDate',\r\n outboundPickOut: 'pickOutDate',\r\n outboundPickAppointment: 'pickAppointmenteDate',\r\n pickOutboundAppointmentStatus: 'pickAppointmentStatus',\r\n outboundDropIn: 'dropInDate',\r\n outboundDropOut: 'dropOutDate',\r\n outboundDropAppointment: 'dropAppointmenteDate',\r\n outboundAppointmentStatus: 'dropAppointmentStatus',\r\n outboundLumper: 'lumper',\r\n InPickNummber: 'InPickNummber',\r\n puDate: 'puDate',\r\n dueDate: 'dueDate',\r\n deliverDate: 'deliverDate'\r\n};\r\n\r\nconst SubOrderFieldConvertor = state => state.loadType === 'inbound' ? InboundSubOrderFieldConvertor : OutboundSubOrderFieldConvertor;\r\n\r\nconst extractWebRegionsToList = state => state.loadType === 'inbound' ? inboundData.extractWebRegionsToList\r\n : outboundData.extractWebRegionsToList;\r\n\r\nconst createWebRegionArray = state => state.loadType === 'inbound' ? inboundData.createWebRegionArray\r\n : outboundData.createWebRegionArray;\r\n\r\nconst extractWebLoadsToList = state => state.loadType === 'inbound' ? inboundData.extractWebLoadsToList\r\n : outboundData.extractWebLoadsToList;\r\n\r\nconst createWebLoadArray = state => state.loadType === 'inbound' ? inboundData.createWebLoadArray\r\n : outboundData.createWebLoadArray;\r\n\r\nexport const updateOrdersLoadState = (state, orders, loads, subOrders, hasError = false, message = '', loadsAreSorted = true, loadsSortedBy = '', openModal = false, openModalNewLoad = false, assignedOrders = []) => ({\r\n ...state, ...{\r\n orders,\r\n loads,\r\n subOrders,\r\n loading: false,\r\n hasError,\r\n message,\r\n loadsAreSorted,\r\n loadsSortedBy,\r\n assignedOrders,\r\n regionsAvailableOrders: extractWebRegionsToList(state)(\r\n createWebRegionArray(state)(\r\n orders.filter(o => !o[state.loadIdField]),\r\n state.headers,\r\n state.regionHeaders), state.headers),\r\n loadsAssignedOrders:\r\n extractWebLoadsToList(state)(\r\n createWebLoadArray(state) (\r\n state.loadIdField,\r\n loads,\r\n orders.filter(o => o[state.loadIdField]),\r\n subOrders,\r\n state.headers, \r\n state.loadsAssignedOrders), state.headers, true, true),\r\n openModal,\r\n openModalNewLoad,\r\n }\r\n});\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n const sortedLoads = data.loads.data.sort((loadA, LoadB) => {\r\n const loadACarrierName = loadA.carrierName;\r\n const loadBCarrierName = LoadB.carrierName;\r\n if (loadACarrierName > loadBCarrierName) {\r\n return 1;\r\n }\r\n if (loadACarrierName < loadBCarrierName) {\r\n return -1;\r\n }\r\n return 0;\r\n })\r\n return updateOrdersLoadState(state, [...data.availableOrders.data, ...data.assignedOrders.data], sortedLoads, data.subOrders.data, hasError, message);\r\n};\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state, ...{\r\n headers: [\r\n ...state.headers.slice(0, ind),\r\n ...[header],\r\n ...state.headers.slice(ind + 1)\r\n ],\r\n regionHeaders: state.regionHeaders,\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n regionsAvailableOrders: state.regionsAvailableOrders\r\n }\r\n };\r\n};\r\n\r\nexport const reactedAssigned = (state, type, id) => {\r\n const index = state.loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = state.loadsAssignedOrders[index];\r\n if (item) {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n if (type === 'load') {\r\n const loadOrders = state.loadsAssignedOrders\r\n .filter(i => i.rowState.loadId === id && i.rowState.type === 'order');\r\n loadOrders.forEach(o => o.rowState.visible = !o.rowState.visible);\r\n const length = loadOrders.length + 1;\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n regionsAvailableOrders: state.regionsAvailableOrders,\r\n loadsAssignedOrders: [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...loadOrders,\r\n ...state.loadsAssignedOrders.slice(index + length)\r\n ]\r\n }\r\n }\r\n }\r\n if (type === 'order') {\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n regionsAvailableOrders: state.regionsAvailableOrders,\r\n loadsAssignedOrders: [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const reactedAssigneds = (state, type, ids) => {\r\n const indexes = ids.map(id => state.loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type));\r\n state.regionsAvailableOrders.forEach(i => i.rowState.reacted = false); // Remove if need to separate\r\n state.loadsAssignedOrders.forEach(i => i.rowState.reacted = false);\r\n const items = indexes.map(i => state.loadsAssignedOrders[i]);\r\n let newState;\r\n if (items.length) {\r\n if (type === 'order') {\r\n items.forEach(item => {\r\n item.rowState.reacted = true;\r\n const index = state.loadsAssignedOrders.findIndex(i => i.rowState.id === item.rowState.id && i.rowState.type === type);\r\n newState = {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n regionsAvailableOrders: state.regionsAvailableOrders,\r\n loadsAssignedOrders: [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ]\r\n }\r\n };\r\n });\r\n }\r\n\r\n return newState;\r\n }\r\n return state;\r\n};\r\n\r\nexport const reactedAvailable = (state, type, id) => {\r\n const index = state.regionsAvailableOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = state.regionsAvailableOrders[index];\r\n if (item) {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n if (type === 'region') {\r\n const regionOrders = state.regionsAvailableOrders\r\n .filter(i => i.rowState.regionId === id && i.rowState.type === 'order');\r\n regionOrders.forEach(o => o.rowState.reacted = item.rowState.reacted);\r\n const length = regionOrders.length + 1;\r\n\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n regionsAvailableOrders: [\r\n ...state.regionsAvailableOrders.slice(0, index),\r\n ...[item],\r\n ...regionOrders,\r\n ...state.regionsAvailableOrders.slice(index + length)\r\n ]\r\n }\r\n }\r\n }\r\n if (type === 'order') {\r\n const regionIndex = state.regionsAvailableOrders.findIndex(i => i.rowState.id === item.rowState.regionId\r\n && i.rowState.type === 'region');\r\n const region = state.regionsAvailableOrders[regionIndex];\r\n const reactUbReactCount = state.regionsAvailableOrders\r\n .filter(i => i.rowState.regionId === item.rowState.regionId && i.rowState.type === 'order').reduce((r, i) => {\r\n i.rowState.reacted ? r[0]++ : r[1]++;\r\n return r;\r\n }, [0, 0]);\r\n if (reactUbReactCount[0] === 0) {\r\n region.rowState.reacted = false;\r\n }\r\n if (reactUbReactCount[1] === 0) {\r\n region.rowState.reacted = true;\r\n }\r\n\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n regionsAvailableOrders: [\r\n ...state.regionsAvailableOrders.slice(0, regionIndex),\r\n ...[region],\r\n ...state.regionsAvailableOrders.slice(regionIndex + 1, index),\r\n ...[item],\r\n ...state.regionsAvailableOrders.slice(index + 1)\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const reactedAvailables = (state, type, ids) => {\r\n const indexes = ids.map(id => state.regionsAvailableOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type));\r\n state.regionsAvailableOrders.forEach(i => i.rowState.reacted = false);\r\n state.loadsAssignedOrders.forEach(i => i.rowState.reacted = false); // Remove if need to separate\r\n const items = indexes.map(i => state.regionsAvailableOrders[i]);\r\n let newState;\r\n if (items.length) {\r\n if (type === 'order') {\r\n items.forEach(item => {\r\n const index = state.regionsAvailableOrders.findIndex(i => i.rowState.id === item.rowState.id && i.rowState.type === type);\r\n item.rowState.reacted = true;\r\n const regionIndex = state.regionsAvailableOrders.findIndex(i => i.rowState.id === item.rowState.regionId\r\n && i.rowState.type === 'region');\r\n const region = state.regionsAvailableOrders[regionIndex];\r\n const reactUbReactCount = state.regionsAvailableOrders\r\n .filter(i => i.rowState.regionId === item.rowState.regionId && i.rowState.type === 'order').reduce((r, i) => {\r\n i.rowState.reacted ? r[0]++ : r[1]++;\r\n return r;\r\n }, [0, 0]);\r\n if (reactUbReactCount[0] === 0) {\r\n region.rowState.reacted = false;\r\n }\r\n if (reactUbReactCount[1] === 0) {\r\n region.rowState.reacted = true;\r\n }\r\n\r\n newState = {\r\n ...state, ...{\r\n headers: state.headers,\r\n regionHeaders: state.regionHeaders,\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n regionsAvailableOrders: [\r\n ...state.regionsAvailableOrders.slice(0, regionIndex),\r\n region,\r\n ...state.regionsAvailableOrders.slice(regionIndex + 1, index),\r\n item,\r\n ...state.regionsAvailableOrders.slice(index + 1)\r\n ]\r\n }\r\n };\r\n });\r\n\r\n return newState;\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const unreactOrders = state => {\r\n const newLoadsAssignedOrders = [...state.loadsAssignedOrders];\r\n newLoadsAssignedOrders.forEach(o => {\r\n if (o.rowState.type === 'order') {\r\n o.rowState.reacted = false;\r\n }\r\n });\r\n const newRegionsAvailableOrders = [...state.regionsAvailableOrders];\r\n newRegionsAvailableOrders.forEach(o => {\r\n if (o.rowState.type === 'order' || o.rowState.type === 'region') {\r\n o.rowState.reacted = false;\r\n }\r\n });\r\n return {\r\n ...state, ...{\r\n loadsAssignedOrders: newLoadsAssignedOrders,\r\n regionsAvailableOrders: newRegionsAvailableOrders\r\n }\r\n };\r\n};\r\n\r\nexport const unassignOrders = (state, orders) =>\r\n unassignOrderObjects(state, orders, state.loads, state.subOrders);\r\n\r\nexport const unassignOrderObjects = (state, unAssignedOrderObjects, newLoads, newSubOrders) => {\r\n const newOrders = [...state.orders];\r\n let ordersWithSameLoadAndPosition = [];\r\n newOrders.forEach(o => {\r\n if (unAssignedOrderObjects.findIndex(unaO => unaO.id === o.id) !== -1) {\r\n if (state.loadType === 'inbound') {\r\n o.inboundPickIn = null;\r\n o.inboundPickOut = null;\r\n // o.inboundPickAppointment = null;\r\n // o.inboundAppointmentStatus = 1;\r\n o.inboundDropAppointment = null;\r\n o.dropInboundAppointment = null;\r\n o.dropInboundAppointmentStatus = 2;\r\n o.inboundDropIn = null;\r\n o.inboundDropOut = null;\r\n o.inboundLumper = null;\r\n o.efsInId = null;\r\n o.inEfsCreateDate = null;\r\n o.inEfsUpdateDate = null;\r\n o.inAmount = 0;\r\n o.inCardNumber = null;\r\n o.inPaymentMethod = null;\r\n o.inNote = null;\r\n // o.inPickNummber = \"\";\r\n // o.inDeliverNummber = \"\";\r\n o.inLoad = null;\r\n }\r\n else if (state.loadType === 'outbound') {\r\n o.outboundPickIn = null;\r\n o.outboundPickOut = null;\r\n // o.outboundPickAppointment = null;\r\n // o.outboundDropAppointment = null;\r\n // o.outboundAppointmentStatus = 1;\r\n o.outboundDropIn = null;\r\n o.outboundDropOut = null;\r\n o.outboundLumper = null;\r\n o.efsOutId = null;\r\n o.outEfsCreateDate = null;\r\n o.outEfsUpdateDate = null;\r\n o.outAmount = 0;\r\n o.outCardNumber = null;\r\n o.outPaymentMethod = null;\r\n o.outNote = null;\r\n // o.outPickNummber = \"\";\r\n // o.outDeliverNummber = \"\";\r\n o.outLoad = null;\r\n }\r\n\r\n // reOrdering/reArranging loadOrders (by OrderPossitionIndex)\r\n const OrderPossitionIndex = state.loadType === 'inbound' ? 'inOrderPossitionIndex' : 'outOrderPossitionIndex';\r\n const locationId = state.loadType === 'inbound' ? 'pickLocationId' : 'dropLocationId';\r\n const load_id = state.loadType === 'inbound' ? 'loadId' : 'outboundLoadId';\r\n ordersWithSameLoadAndPosition = newOrders.filter(order => order[load_id] === o[load_id] && order[locationId] === o[locationId]);\r\n const sortedList = ordersWithSameLoadAndPosition.sort((a,b) => a[OrderPossitionIndex] - b[OrderPossitionIndex]);\r\n const index = sortedList.findIndex(item => item.id === o.id);\r\n const newList = [\r\n ...sortedList.slice(0, index),\r\n ...sortedList.slice(index + 1)\r\n ];\r\n\r\n newList.forEach((order, ind) => {\r\n if (ind >= index) {\r\n order[OrderPossitionIndex] = order[OrderPossitionIndex] - 1;\r\n }\r\n });\r\n\r\n o[state.loadIdField] = null;\r\n }\r\n });\r\n return updateOrdersLoadState(state, newOrders, newLoads, newSubOrders);\r\n};\r\n\r\nexport const assignOrdersToLoad = (state, load, orders, openModal, locationObjects) =>\r\n assignOrdersToLoadObject(state, load.rowState.loadData.id, orders, state.loads, load.rowState.loadData.loadNum, openModal, locationObjects);\r\n\r\nexport const assignOrdersToLoadObject = (state, loadId, orders, newLoads, loadNum, openModal, locationObjects ) => {\r\n const pickAppointment = state.loadType === 'inbound' ? 'inboundAppointment': 'outboundAppointment';\r\n const pickAppointmentStatus = state.loadType === 'inbound' ? 'inboundAppointmentStatus': 'outboundAppointmentStatus';\r\n const location = state.loadType === 'inbound' ? 'pickLocation': 'dropLocation';\r\n const orderLoadId = state.loadType === 'inbound' ? 'loadId': 'outboundLoadId';\r\n\r\n const assignedOrderObjects = orders;\r\n const newOrders = [...state.orders];\r\n const orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadId);\r\n const isLoadEmpty = orderLoad?.ordersData?.length === 0;\r\n\r\n if (orderLoad) {\r\n const keysList = [orderLoad.rowState.createPickKey, orderLoad.rowState.createDropKey];\r\n let keyNumber = 0;\r\n keysList.forEach(key => {\r\n const orderGroups = orderLoad.rowState.groups(orderLoad.ordersData, key);\r\n newOrders.forEach(o => {\r\n if (assignedOrderObjects.findIndex(unaO => unaO.id === o.id) !== -1) {\r\n o[state.loadIdField] = loadId;\r\n if (state.loadType === 'inbound') {\r\n o.inLoad = loadNum;\r\n } else {\r\n o.outLoad = loadNum;\r\n }\r\n if (Object.keys(orderGroups).length !== 0) {\r\n const foundGroupKey = orderLoad.rowState.findOrderGroup(orderGroups, o, key);\r\n if (foundGroupKey) {\r\n const foundGroup = orderGroups[foundGroupKey];\r\n const firstOrder = foundGroup[0];\r\n const fields = keyNumber === 0 ? state.groupingPickUpdateFields : state.groupingDropUpdateFields;\r\n fields.forEach(h => {\r\n if (openModal) {\r\n o[h] = null;\r\n } else if (!firstOrder['inboundAppointment']) {\r\n //\r\n } else {\r\n o[h] = firstOrder[h];\r\n if (h === pickAppointment) {\r\n o[pickAppointmentStatus] = firstOrder[pickAppointmentStatus];\r\n }\r\n }\r\n });\r\n } else {\r\n const fields = keyNumber === 0 ? state.groupingPickUpdateFields : state.groupingDropUpdateFields;\r\n fields.forEach(h => {\r\n if (h === 'inboundAppointmentStatus' || h === 'outboundAppointmentStatus') {\r\n o[h] = 2 } // TODO\r\n else {\r\n o[h] = null;\r\n }\r\n \r\n });\r\n }\r\n }\r\n // empty pick and drop data if load is empty\r\n if (isLoadEmpty) {\r\n o.inboundPickIn = null;\r\n o.inboundPickOut = null;\r\n o.inboundDropIn = null;\r\n o.inboundDropOut = null;\r\n // o.inboundPickAppointment = null;\r\n // o.inboundDropAppointment = null;\r\n o.outboundPickIn = null;\r\n o.outboundPickOut = null;\r\n o.outboundDropIn = null;\r\n o.outboundDropOut = null;\r\n // o.outboundPickAppointment = null;\r\n // o.outboundDropAppointment = null;\r\n }\r\n \r\n // reOrdering/reArranging loadOrders (by OrderPossitionIndex)\r\n const OrderPossitionIndex = state.loadType === 'inbound' ? 'inOrderPossitionIndex' : 'outOrderPossitionIndex';\r\n const locationId = state.loadType === 'inbound' ? 'pickLocationId' : 'dropLocationId';\r\n const load_id = state.loadType === 'inbound' ? 'loadId' : 'outboundLoadId';\r\n const ordersWithSameLoadAndPosition = newOrders.filter(order => order[load_id]=== o[load_id] && order[locationId] === o[locationId]);\r\n\r\n ordersWithSameLoadAndPosition.forEach((order, index) => {\r\n order[OrderPossitionIndex] = index + 1;\r\n });\r\n ordersWithSameLoadAndPosition.forEach((order, index) => {\r\n if (order.id === o.id) {\r\n o[OrderPossitionIndex] = order[OrderPossitionIndex];\r\n }\r\n })\r\n\r\n }\r\n });\r\n\r\n // case with existing order in load and NOT\r\n const load_id = state.loadType === 'inbound' ? 'loadId' : 'outboundLoadId';\r\n const ordersInLoad = newOrders.filter(order => order[load_id] === loadId);\r\n const assignedOrdersIds = orders.map(order => order.id);\r\n const ordersInLoadBeforeAssign = ordersInLoad.filter(order => !assignedOrdersIds.includes(order.id));\r\n\r\n if (locationObjects?.length) {\r\n locationObjects.forEach(locationObject => {\r\n // case automatic selected appt and status\r\n const ordersInLoadWithSameLoc = ordersInLoadBeforeAssign.filter(order => order[location] === locationObject[location])[0];\r\n const selectedLocation = locationObject[location];\r\n if (ordersInLoadBeforeAssign.filter(order => order[location] === selectedLocation)) {\r\n if (ordersInLoadWithSameLoc) {\r\n newOrders.forEach(order => {\r\n if (order.id === ordersInLoadWithSameLoc.id) {\r\n order[pickAppointment] = locationObject.checkedAppointment;\r\n order[pickAppointmentStatus] = locationObject.checkedStatus;\r\n }\r\n })\r\n }\r\n }\r\n newOrders.forEach(order => {\r\n locationObjects.forEach(locationObject => {\r\n if (order[location] === locationObject[location] && locationObject.checkedAppointment) {\r\n order[pickAppointment] = locationObject.checkedAppointment;\r\n order[pickAppointmentStatus] = locationObject.checkedStatus;\r\n }\r\n })\r\n })\r\n \r\n })\r\n\r\n if (!openModal) {\r\n newOrders.forEach(order => {\r\n locationObjects.forEach(locationObject => {\r\n if (order?.[location] === locationObject?.[location] && \r\n order[orderLoadId] === loadId && \r\n locationObject.checkedAppointment &&\r\n !order[pickAppointment]) {\r\n order[pickAppointment] = locationObject.checkedAppointment;\r\n order[pickAppointmentStatus] = locationObject.checkedStatus;\r\n }\r\n })\r\n })\r\n }\r\n\r\n } else { //assignOrdersWithoutModal\r\n orders.forEach(assignedOrder => {\r\n if (!openModal) {\r\n const thereIsOrderWithSameLocation = ordersInLoadBeforeAssign.filter(order => order[location] === assignedOrder[location]).length > 0;\r\n const orderWithSameLocation = ordersInLoadBeforeAssign.filter(order => order[location] === assignedOrder[location])[0];\r\n const ordersWithSameLocation = ordersInLoadBeforeAssign.filter(order => order[location] === assignedOrder[location]);\r\n const ordersWithSameLocInAssigned = orders.filter(order => order[location] === assignedOrder[location]);\r\n\r\n if (thereIsOrderWithSameLocation) {\r\n if (!orderWithSameLocation[pickAppointment]) {\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n ordersWithSameLocation.forEach(o => {\r\n order[pickAppointment] = assignedOrder[pickAppointment];\r\n order[pickAppointmentStatus] = assignedOrder[pickAppointmentStatus];\r\n })\r\n }\r\n })\r\n }\r\n } else {\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n ordersWithSameLocInAssigned.forEach(o => {\r\n order[pickAppointment] = o[pickAppointment];\r\n order[pickAppointmentStatus] = o[pickAppointmentStatus];\r\n })\r\n }\r\n })\r\n }\r\n }\r\n })\r\n }\r\n\r\n // inboundPage all delAppts should be the same\r\n const orderInboundDropAppointment = ordersInLoad.filter(order => !assignedOrdersIds.includes(order.id))[0]?.inboundDropAppointment;\r\n const orderDropInboundAppointment = ordersInLoad.filter(order => !assignedOrdersIds.includes(order.id))[0]?.orderDropInboundAppointment;\r\n const orderDelAppointmentStatus = ordersInLoad.filter(order => !assignedOrdersIds.includes(order.id))[0]?.dropInboundAppointmentStatus;\r\n const orderInLoadWithPickAppt = ordersInLoadBeforeAssign.filter(order => order.inboundPickAppointment);\r\n // if the page is INBOUND and all orders in inboundDropAppointment are null\r\n if (state.loadType === 'inbound' && ordersInLoadBeforeAssign?.length && !ordersInLoadBeforeAssign[0].inboundDropAppointment) {\r\n orders.forEach(assignedOrder => {\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n order.inboundDropAppointment = null;\r\n order.dropInboundAppointment = null;\r\n order.dropInboundAppointmentStatus = null;\r\n }\r\n })\r\n })\r\n } else {\r\n orders.forEach(assignedOrder => {\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n if (orderInboundDropAppointment) {\r\n order.inboundDropAppointment = orderInboundDropAppointment;\r\n order.dropInboundAppointment = orderDropInboundAppointment;\r\n order.dropInboundAppointmentStatus = orderDelAppointmentStatus;\r\n } else {\r\n if (ordersInLoad.length > 0) {\r\n ordersInLoad.forEach(orderInLoad => {\r\n newOrders.forEach(order => {\r\n if (orderInLoad.id === order.id) {\r\n order.inboundDropAppointment = assignedOrder.inboundDropAppointment;\r\n order.dropInboundAppointment = assignedOrder.dropInboundAppointment;\r\n order.dropInboundAppointmentStatus = assignedOrder.dropInboundAppointmentStatus;\r\n }\r\n })\r\n })\r\n }\r\n }\r\n }\r\n })\r\n })\r\n }\r\n // if the page is INBOUND and all orders in inboundPickAppointment are null\r\n if (state.loadType === 'inbound' && !orderInLoadWithPickAppt.length) {\r\n orders.forEach(assignedOrder => {\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n order.inboundPickAppointment = assignedOrder.inboundPickAppointment;\r\n }\r\n })\r\n })\r\n }\r\n\r\n keyNumber++;\r\n });\r\n }\r\n else {\r\n orders.forEach(assignedOrder => {\r\n const ordersWithSameLocInAssigned = orders.filter(order => order[location] === assignedOrder[location]);\r\n newOrders.forEach(order => {\r\n if (order.id === assignedOrder.id) {\r\n ordersWithSameLocInAssigned.forEach(o => {\r\n order[pickAppointment] = o[pickAppointment];\r\n order[pickAppointmentStatus] = o[pickAppointmentStatus];\r\n })\r\n }\r\n })\r\n }) \r\n newOrders.forEach(o => {\r\n if (assignedOrderObjects.findIndex(unaO => unaO.id === o.id) !== -1) {\r\n o[state.loadIdField] = loadId;\r\n if (state.loadType === 'inbound') {\r\n o.inLoad = loadNum;\r\n }\r\n else {\r\n o.outLoad = loadNum;\r\n }\r\n }\r\n });\r\n\r\n // reOrdering/reArranging loadOrders (by OrderPossitionIndex), createNewLoad\r\n newOrders.forEach(ord => {\r\n if (assignedOrderObjects.findIndex(unaO => unaO.id === ord.id) !== -1) {\r\n const OrderPossitionIndex = state.loadType === 'inbound' ? 'inOrderPossitionIndex' : 'outOrderPossitionIndex';\r\n const locationId = state.loadType === 'inbound' ? 'pickLocationId' : 'dropLocationId';\r\n const load_id = state.loadType === 'inbound' ? 'loadId' : 'outboundLoadId';\r\n const ordersWithSameLoadAndPosition = newOrders.filter(order => order[load_id] === ord[load_id] && order[locationId] === ord[locationId]);\r\n \r\n ordersWithSameLoadAndPosition.forEach((order, index) => { \r\n if (order.id === ord.id) {\r\n ord[OrderPossitionIndex] = index + 1;\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n return updateOrdersLoadState(state, newOrders, newLoads, state.subOrders, false, '', true, '', openModal);\r\n};\r\n\r\nexport const assignOrdersToNewLoadWithModal = (state, orders, openModalNewLoad) => {\r\n const assignedOrders = orders;\r\n return updateOrdersLoadState(state, state.orders, state.loads, state.subOrders, false, '', true, '', false, openModalNewLoad, assignedOrders);\r\n};\r\n\r\nexport const addNewLoad = (state, loadData) => {\r\n const newLoads = [...state.loads];\r\n newLoads.push(loadData);\r\n return updateOrdersLoadState(state, state.orders, newLoads, state.subOrders);\r\n};\r\n\r\nexport const assignOrdersToNewLoad = (state, orders, loadData) => {\r\n const newLoads = [...state.loads];\r\n newLoads.push(loadData);\r\n return assignOrdersToLoadObject(state, loadData.id, orders, newLoads, loadData.loadNum);\r\n};\r\n\r\nexport const createSubLoadAssignOrders = (state, orders, loadData, dropLocationId) => {\r\n const newLoads = [...state.loads];\r\n newLoads.push(loadData);\r\n const addedSubOrders = [];\r\n //const \r\n\r\n orders.forEach(o => {\r\n addedSubOrders.push({\r\n orderId: o.rowState.orderData.id,\r\n dropLocationId,\r\n loadId: loadData.id,\r\n dropLocation: 'Need to define' //???\r\n });\r\n });\r\n\r\n const newSuborders = [...state.subOrders, ...addedSubOrders];\r\n\r\n\r\n return updateOrdersLoadState(state, state.orders, newLoads, newSuborders);\r\n};\r\n\r\nexport const collectDeletedSubLoads = (loads, deletedLoads, deletedLoadId) =>\r\n loads.filter(sl => sl.parentLoadId === deletedLoadId).forEach(dl => {\r\n deletedLoads.push(dl.id);\r\n collectDeletedSubLoads(loads, deletedLoads, dl.id);\r\n });\r\n\r\nexport const deleteLoad = (state, rowState) => {\r\n const unAssignedOrderObjects = state.orders.filter(o => o[state.loadIdField] === rowState.loadData.id);\r\n const deletedLoads = [rowState.loadData.id];\r\n collectDeletedSubLoads(state.loads, deletedLoads, rowState.loadData.id);\r\n const newLoads = state.loads.filter(l => !deletedLoads.includes(l.id));\r\n const newSubOrders = state.subOrders.filter(so => deletedLoads.indexOf(so.loadId) === -1);\r\n return unassignOrderObjects(state,\r\n unAssignedOrderObjects,\r\n newLoads, newSubOrders);\r\n};\r\n\r\nexport const updateLoadOrderGroupData = (state, loadId, order, header, newValue, newOrders) => {\r\n const orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadId);\r\n if (orderLoad) {\r\n let key;\r\n if (header?.pickGroup) {\r\n key = orderLoad.rowState.createPickKey;\r\n }\r\n else if (header?.dropGroup) {\r\n key = orderLoad.rowState.createDropKey;\r\n }\r\n if (key) {\r\n const orderGroups = orderLoad.rowState.groups(orderLoad.ordersData, key);\r\n const foundGroupKey = orderLoad.rowState.findOrderGroup(orderGroups, order);\r\n const foundGroup = orderGroups[foundGroupKey];\r\n foundGroup.forEach(go => {\r\n const changedOrder = newOrders.find(o => o.id === go.id);\r\n if (changedOrder) {\r\n if (header?.key === 'readyDate' && !newValue) {\r\n changedOrder['puDate'] = '';\r\n }\r\n changedOrder[header?.key] = newValue;\r\n }\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport const updateLoadOrders = (state, loadId, order, header, newValue, newOrders) => {\r\n const orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadId);\r\n const load_id = state.loadType === 'inbound' ? 'loadId' : 'outboundLoadId';\r\n const changedOrder = newOrders.find(o => o.id === order.id);\r\n if (orderLoad && state.loadType === 'inbound') {\r\n // pick appointment and status should be updated according to the pick location (should be the same for the same locations.)\r\n const orderInLoads = newOrders.filter(order => order[load_id] === loadId);\r\n const ordersWithSamePickLocation = newOrders.filter(order => order[load_id] === loadId && order.pickLocationId === changedOrder.pickLocationId)\r\n ordersWithSamePickLocation.forEach(order => {\r\n order.inboundAppointmentStatus = changedOrder.inboundAppointmentStatus;\r\n order.inboundPickAppointment = changedOrder.inboundPickAppointment;\r\n });\r\n // del appointment and status should be the same as they are being delivered to the same location.\r\n orderInLoads.forEach(order => {\r\n order.dropInboundAppointmentStatus = changedOrder.dropInboundAppointmentStatus;\r\n order.inboundDropAppointment = changedOrder.inboundDropAppointment;\r\n });\r\n } else if (orderLoad && state.loadType === 'outbound') {\r\n // pick appointment and status should be the same as they are taken from the same location\r\n const orderInLoads = newOrders.filter(order => order[load_id] === loadId);\r\n orderInLoads.forEach(order => {\r\n order.pickOutboundAppointmentStatus = changedOrder.pickOutboundAppointmentStatus;\r\n order.outboundPickAppointment = changedOrder.outboundPickAppointment;\r\n });\r\n // del appointment and status should be updated according to the pick location (should be the same for the same locations.)\r\n const ordersWithSameDropLocation = newOrders.filter(order => order[load_id] === loadId && order.dropLocationId === changedOrder.dropLocationId)\r\n ordersWithSameDropLocation.forEach(order => {\r\n order.outboundAppointmentStatus = changedOrder.outboundAppointmentStatus;\r\n order.outboundDropAppointment = changedOrder.outboundDropAppointment;\r\n });\r\n }\r\n};\r\n\r\nexport const setLoadData = (state, newValue, rowState, header) => {\r\n const newLoads = [...state.loads];\r\n const changedLoad = newLoads.find(o => o.id === rowState.loadData.id);\r\n if (header.key === 'wk') {\r\n const oldWeek = changedLoad['pickWeek'];\r\n changedLoad['pickWeek'] = newValue;\r\n changedLoad['loadNumber'] = changedLoad['loadNumber'].replace(`WK- ${oldWeek}`, `WK- ${newValue}`);\r\n }\r\n else {\r\n changedLoad[header.key] = newValue;\r\n }\r\n \r\n return updateOrdersLoadState(state, state.orders, newLoads, state.subOrders);\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header) => {\r\n if (rowState.orderData) {\r\n if (rowState.isSub) {\r\n //sub order set\r\n const newSubOrders = [...state.subOrders];\r\n const changedSubOrder = newSubOrders.find(o => o.id === rowState.orderData.subOrderId);\r\n if (changedSubOrder) {\r\n if (header?.key === 'readyDate' && !newValue) {\r\n changedSubOrder['puDate'] = '';\r\n }\r\n Array.isArray(newValue) && newValue.forEach(item => {\r\n changedSubOrder[SubOrderFieldConvertor(state)[item.header]] = item.value;\r\n });\r\n if (header?.key === 'dropLocation') {\r\n changedSubOrder['dropLocationId'] = newValue;\r\n } else {\r\n changedSubOrder[header?.key] = newValue;\r\n }\r\n }\r\n return updateOrdersLoadState(state, state.orders, state.loads, newSubOrders);\r\n }\r\n else {\r\n //order set\r\n const newOrders = [...state.orders];\r\n const changedOrder = newOrders.find(o => o.id === rowState.orderData.id);\r\n\r\n // update data (Appt) for hardBatch orders as well\r\n const orderGroupIndex = changedOrder?.orderGroupIndex;\r\n const hardBatchOrders = newOrders\r\n .filter(order => order?.orderGroupIndex === orderGroupIndex && order?.batchType === 'Hard');\r\n \r\n // update data (location) for subOrders which are subOrders of current hardBatchOrders\r\n const subOrders = [...state.subOrders];\r\n const subOrdersOfHardOrder = subOrders.filter(order => order.orderId === changedOrder.id);\r\n\r\n let hardBatchSubOrders = [];\r\n for (let i = 0; i < hardBatchOrders.length; i++) {\r\n for (let j = 0; j < subOrdersOfHardOrder.length; j++) {\r\n if (hardBatchOrders[i].id === subOrdersOfHardOrder[j].orderId) {\r\n hardBatchSubOrders.push(subOrdersOfHardOrder[j])\r\n }\r\n }\r\n }\r\n\r\n if (hardBatchOrders.length > 0 && header?.key === 'dropLocation') {\r\n hardBatchOrders.forEach(order => {\r\n if (header?.key === 'dropLocation') {\r\n order['dropLocationId'] = newValue;\r\n } else {\r\n order[header?.key] = newValue;\r\n }\r\n Array.isArray(newValue) && newValue.forEach(item => {\r\n order[item.header] = item.value;\r\n });\r\n })\r\n // for subOrders for hardBatchOrder\r\n if (hardBatchSubOrders.length) {\r\n hardBatchSubOrders.forEach(order => {\r\n if (header?.key === 'dropLocation') {\r\n order['dropLocationId'] = newValue;\r\n } else {\r\n order[header?.key] = newValue;\r\n }\r\n })\r\n }\r\n } else if (changedOrder) {\r\n if (header?.key === 'readyDate' && !newValue) {\r\n changedOrder['puDate'] = '';\r\n changedOrder[header?.key] = newValue;\r\n } else if ((header?.key === 'palletCount' || header?.key === 'cases' || header?.key === 'weight' || header?.key === 'space') && newValue !== 'unColor') {\r\n changedOrder['orderHistoryDict'][header?.key] = true;\r\n changedOrder['outOrderHistoryDict'][header?.key] = true;\r\n changedOrder[header?.key] = newValue;\r\n } else if (header?.key === 'dropLocation') {\r\n changedOrder['dropLocationId'] = newValue;\r\n } else if (newValue === 'unColor') {\r\n changedOrder['orderHistoryDict'][header?.key] = false;\r\n changedOrder['outOrderHistoryDict'][header?.key] = false;\r\n } else {\r\n changedOrder[header?.key] = newValue;\r\n }\r\n Array.isArray(newValue) && newValue.forEach(item => {\r\n changedOrder[item.header] = item.value;\r\n });\r\n }\r\n updateLoadOrders(state, rowState?.loadData?.id, rowState.orderData, header, newValue, newOrders);\r\n updateLoadOrderGroupData(state, rowState?.loadData?.id, rowState.orderData, header, newValue, newOrders);\r\n return updateOrdersLoadState(state, newOrders, state.loads, state.subOrders);\r\n }\r\n }\r\n else {\r\n //load set\r\n //??? todo\r\n return state;\r\n }\r\n};\r\n\r\nexport const setDataEfs = (state, newValue, rowState, header) => {\r\n if (rowState.orderData) {\r\n const newEfs = [...state.orders];\r\n const changedEfs = newEfs.find(o => o.id === rowState.orderData.id);\r\n if (changedEfs) {\r\n changedEfs[header.key] = newValue;\r\n if (state.loadType === 'inbound') {\r\n changedEfs.inPaymentMethod = newValue.paymentMethod;\r\n changedEfs.inAmount = newValue.amount;\r\n changedEfs.inCardNumber = newValue.cardNumber;\r\n changedEfs.inNote = newValue.note;\r\n changedEfs.efsInId = newValue.id;\r\n changedEfs.inEfsCreateDate = changedEfs.inEfsCreateDate ? changedEfs.inEfsCreateDate : Date.now();\r\n }\r\n else if (state.loadType === 'outbound') {\r\n changedEfs.outPaymentMethod = newValue.paymentMethod;\r\n changedEfs.outAmount = newValue.amount;\r\n changedEfs.outCardNumber = newValue.cardNumber;\r\n changedEfs.outNote = newValue.note;\r\n changedEfs.efsOutId = newValue.id;\r\n changedEfs.outEfsCreateDate = changedEfs.outEfsCreateDate ? changedEfs.outEfsCreateDate : Date.now();\r\n }\r\n }\r\n updateLoadOrderGroupData(state, rowState?.loadData?.id, rowState.orderData, header, newValue, newEfs);\r\n return updateOrdersLoadState(state, newEfs, state.loads, state.subOrders);\r\n \r\n }\r\n else {\r\n //load set\r\n //??? todo\r\n return state;\r\n }\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state, ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable\r\n }\r\n }\r\n});\r\n\r\nexport const updateLoadData = (state, newData) => {\r\n\r\n const newLoads = [...state.loads];\r\n const changedLoad = newLoads.find(l => l.id === newData.id);\r\n changedLoad.driverName = newData.driverName;\r\n changedLoad.color = newData.color;\r\n changedLoad.target = newData.target;\r\n changedLoad.driverPhone = newData.driverPhone;\r\n changedLoad.rate = newData.rate;\r\n changedLoad.truckNumber = newData.truckNumber;\r\n changedLoad.carrierName = newData.carrierName;\r\n changedLoad.trailer = newData.trailer;\r\n changedLoad.carrierId = newData.carrierId;\r\n changedLoad.truckId = newData.truckId;\r\n changedLoad.notes = newData.notes;\r\n changedLoad.efsSum = newData.efsSum;\r\n changedLoad.efsStatusMin = newData.efsStatusMin;\r\n return updateOrdersLoadState(state, state.orders, newLoads, state.subOrders);\r\n};\r\n\r\nexport const setAddNewInInProcess = (state, condition) => ({\r\n ...state,\r\n ...{\r\n addNewInProcess: condition\r\n }\r\n});\r\n\r\nexport const setRefreshInProcess = (state, condition) => ({\r\n ...state,\r\n ...{\r\n refreshInProcess: condition\r\n }\r\n});\r\n\r\nexport const setCreateInProcess = (state, condition) => ({\r\n ...state,\r\n ...{\r\n createInProcess: condition\r\n }\r\n});\r\n\r\nexport const setCreateSubInProcess = (state, condition) => ({\r\n ...state,\r\n ...{\r\n createSubInProcess: condition\r\n }\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: ''\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n\r\nexport const setSortLoadsByCarrier = (state, sort) => {\r\n const sortedLoads = state.loads.sort((loadA, LoadB) => sort ? \r\n loadA?.carrierName?.localeCompare(LoadB.carrierName) :\r\n LoadB?.carrierName?.localeCompare(loadA.carrierName)\r\n )\r\n return updateOrdersLoadState(state, state.orders, sortedLoads, state.subOrders, state.hasError, state.message, sort, 'carrier');\r\n};\r\n\r\nexport const setSortLoadsByPickAppts = (state, sort) => {\r\n const loads = state.loadsAssignedOrders.filter(order => order.rowState.type === 'load');\r\n\r\n const appts = state.loadType === 'inbound' ? 'inboundPickAppointment' : state.loadType === 'outbound' ? 'outboundPickAppointment' : '';\r\n let loadWithSortedOrdersEmpty = [];\r\n let loadWithSortedOrdersFilled = [];\r\n for (let i = 0; i < loads.length; i++) {\r\n if (loads[i].ordersData.length === 0) {\r\n loadWithSortedOrdersEmpty.push(loads[i].rowState.loadData);\r\n } else {\r\n let temp = loads[i].ordersData.sort((a, b) => new Date(b.rowState.orderData[appts]) - new Date(a.rowState.orderData[appts]));\r\n loadWithSortedOrdersFilled.push(temp)\r\n }\r\n };\r\n\r\n let joinedLoadWithSortedOrders = [];\r\n\r\n if (sort) {\r\n loadWithSortedOrdersFilled.sort((a, b) => new Date(a[0]?.rowState.orderData[appts]) - new Date(b[0]?.rowState.orderData[appts]))\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersFilled, ...loadWithSortedOrdersEmpty];\r\n } else {\r\n loadWithSortedOrdersFilled.sort((a, b) => new Date(b[0]?.rowState.orderData[appts]) - new Date(a[0]?.rowState.orderData[appts]))\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersEmpty, ...loadWithSortedOrdersFilled];\r\n };\r\n\r\n const result = joinedLoadWithSortedOrders.map(load => load[0]?.rowState ? load[0]?.rowState.loadData : load);\r\n return updateOrdersLoadState(state, state.orders, result, state.subOrders, state.hasError, state.message, sort, 'pickAppts');\r\n};\r\n\r\nexport const setSortLoadsByPickLocation = (state, sort) => {\r\n const loads = state.loadsAssignedOrders.filter(order => order.rowState.type === 'load');\r\n\r\n let loadWithSortedOrdersEmpty = [];\r\n let loadWithSortedOrdersFilled = [];\r\n for (let i = 0; i < loads.length; i++) {\r\n if (loads[i].ordersData.length === 0) {\r\n loadWithSortedOrdersEmpty.push(loads[i]);\r\n } else {\r\n loadWithSortedOrdersFilled.push(loads[i].ordersData);\r\n }\r\n }\r\n\r\n let joinedLoadWithSortedOrders = [];\r\n\r\n if (sort) {\r\n loadWithSortedOrdersFilled.sort((a, b) => a[0]?.rowState?.orderData.pickLocation.localeCompare(b[0]?.rowState?.orderData.pickLocation));\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersFilled, ...loadWithSortedOrdersEmpty];\r\n } else {\r\n loadWithSortedOrdersFilled.sort((a, b) => b[0]?.rowState?.orderData.pickLocation.localeCompare(a[0]?.rowState?.orderData.pickLocation));\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersEmpty, ...loadWithSortedOrdersFilled];\r\n }\r\n\r\n const result = joinedLoadWithSortedOrders.map(load => load[0]?.rowState ? load[0]?.rowState.loadData : load);\r\n\r\n return updateOrdersLoadState(state, state.orders, result, state.subOrders, state.hasError, state.message, sort, 'pickLocation');\r\n};\r\n\r\nexport const setSortLoadsByDropLocation = (state, sort) => {\r\n const loads = state.loadsAssignedOrders.filter(order => order.rowState.type === 'load');\r\n\r\n let loadWithSortedOrdersEmpty = [];\r\n let loadWithSortedOrdersFilledSanFernanto = [];\r\n let loadWithSortedOrdersFilledOther = [];\r\n let joinedLoadWithSortedOrders = [];\r\n\r\n for (let i = 0; i < loads.length; i++) {\r\n if (loads[i].ordersData.length === 0) {\r\n loadWithSortedOrdersEmpty.push(loads[i]);\r\n } else if (loads[i].ordersData.find(order => order.rowState.orderData.routeId === 2)) {\r\n loadWithSortedOrdersFilledSanFernanto.push(loads[i].ordersData);\r\n } else {\r\n loadWithSortedOrdersFilledOther.push(loads[i].ordersData);\r\n }\r\n }\r\n\r\n if (sort) {\r\n loadWithSortedOrdersFilledOther.sort((a, b) => a[a.length - 1]?.rowState?.orderData.dropLocation.localeCompare(b[a.length - 1]?.rowState?.orderData.dropLocation));\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersEmpty, ...loadWithSortedOrdersFilledSanFernanto, ...loadWithSortedOrdersFilledOther];\r\n } else {\r\n loadWithSortedOrdersFilledOther.sort((a, b) => b[a.length - 1]?.rowState?.orderData.dropLocation.localeCompare(a[a.length - 1]?.rowState?.orderData.dropLocation));\r\n joinedLoadWithSortedOrders = [...loadWithSortedOrdersFilledOther, ...loadWithSortedOrdersFilledSanFernanto, ...loadWithSortedOrdersEmpty];\r\n }\r\n\r\n const result = joinedLoadWithSortedOrders.map(load => load[0]?.rowState ? load[0]?.rowState.loadData : load);\r\n return updateOrdersLoadState(state, state.orders, result, state.subOrders, state.hasError, state.message, sort, 'dropLocation');\r\n};\r\n\r\nexport const setSortLoadsByDeliverNumber = (state, sort) => {\r\n const sortedLoads = state.loads; // TODO\r\n // const sortedLoads = state.loads.sort((loadA, LoadB) => {\r\n // need to clarify\r\n // })\r\n return updateOrdersLoadState(state, state.orders, sortedLoads, state.subOrders, state.hasError, state.message, sort, 'deliverNumber');\r\n};\r\n\r\nexport const filterInOutOrders = (state, data) => {\r\n const { filterType, option} = data;\r\n const stateFilterOptions = JSON.parse(JSON.stringify(state.filterOptions));\r\n Object.keys(stateFilterOptions).forEach(key => {\r\n if (key === filterType) {\r\n stateFilterOptions[key] = option;\r\n } else if (filterType === 'default') {\r\n stateFilterOptions[key] = 'All';\r\n }\r\n });\r\n\r\n return {\r\n ...state,\r\n ...{\r\n filterOptions: stateFilterOptions,\r\n },\r\n }\r\n};\r\n\r\nexport const getHistoryList = (state, response) => {\r\n const data = response.data.data || [];\r\n return {\r\n ...state,\r\n historyList: data,\r\n historyLoading: false,\r\n }\r\n};\r\n\r\nexport const setHistoryLoading = state => ({\r\n ...state, ...{\r\n historyLoading: true\r\n }\r\n});\r\n\r\nexport const setReOrderLoad = (state, data) => {\r\n const { firstOrderId, secondOrderId } = data;\r\n const newOrders = [...state.orders];\r\n const orderPossitionIndex = state.loadType === 'inbound' ? 'inOrderPossitionIndex': 'outOrderPossitionIndex';\r\n\r\n const firstOrder = newOrders.find(order => order.id === firstOrderId);\r\n const secondOrder = newOrders.find(order => order.id === secondOrderId); \r\n\r\n const firstOrderIndex = firstOrder?.[orderPossitionIndex];\r\n const secondOrderIndex = secondOrder?.[orderPossitionIndex];\r\n\r\n firstOrder[orderPossitionIndex] = secondOrderIndex;\r\n secondOrder[orderPossitionIndex] = firstOrderIndex;\r\n\r\n return updateOrdersLoadState(state, newOrders, state.loads, state.subOrders);\r\n};","import { INBOUND_LOAD_BUILD as actionTypes } from '../../actions/loadArea/loadActionTypes';\r\nimport { getContentWidth } from './helper/general';\r\nimport * as loadArea from './loadArea';\r\n//import {\r\n// extractWebRegionsToList,\r\n// createWebRegionArray,\r\n// extractWebLoadsToList,\r\n// createWebLoadArray\r\n//} from './helper/inbound/data';\r\n\r\nconst allHeders = [\r\n {\r\n key: 'left_action',\r\n title: '',\r\n width: 20,\r\n leftAction: true,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'id',\r\n title: 'ID',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: process.env.REACT_APP_SHOW_ID_FIELD === 'true'\r\n },\r\n {\r\n key: 'inboundPickIn',\r\n title: 'Pick IN',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'inboundPickOut',\r\n title: 'Pick OUT',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'inboundPickAppointment',\r\n title: 'Pick Appt',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'inboundAppointmentStatus',\r\n title: 'Appt Status',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'Ready Date',\r\n width: 70,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'puDate',\r\n title: 'P/U Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'inboundDropAppointment',\r\n title: 'Del Appt',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'deliverDate',\r\n title: 'D/L Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n //{\r\n // key: 'dropInboundAppointmentStatus',\r\n // title: 'Appt Status',\r\n // width: 100,\r\n // leftAction: false,\r\n // rightAction: false,\r\n // visible: true,\r\n // pickGroup: false\r\n //},\r\n {\r\n key: 'inboundDropIn',\r\n title: 'Del IN',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'inboundDropOut',\r\n title: 'Del Out',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'customerCodeOrName',\r\n title: 'Cust',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Pick',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'Delivery',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'space',\r\n title: 'SPA',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'cases',\r\n title: 'Cs',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'Lbs',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'Temp',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickRestriction',\r\n title: 'Sequence',\r\n width: 70,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadNumber',\r\n title: 'Load #',\r\n width: 70,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'wk',\r\n title: 'WK',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'in_load',\r\n title: 'In Load',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'out_load',\r\n title: 'Out Load',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'carrier',\r\n title: 'Carrier',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'rate',\r\n title: 'Rate',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'target',\r\n title: 'Target',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'driver_truck_Trailer_VIN',\r\n title: 'Driver/Truck#/Trailer#/VIN#',\r\n width: 160,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n // {\r\n // key: 'inboundLumper',\r\n // title: 'Lumper',\r\n // width: 50,\r\n // leftAction: false,\r\n // rightAction: false,\r\n // visible: true\r\n // },\r\n {\r\n key: 'efs',\r\n title: 'EFS',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'Notes',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'inPickNummber',\r\n title: 'Pick up #',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'inDeliverNummber',\r\n title: 'Del #',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n // the next for just load Datepicker fields update (we don't have such headers) \r\n {\r\n key: 'lastInboundPickFromData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastInboundPickToData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastInboundDropFromData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastInboundDropToData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'actions',\r\n title: '',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: true,\r\n visible: true\r\n }\r\n];\r\n\r\nconst defaultState = {\r\n headers: allHeders.filter(h => h.visible),\r\n allHeaders: allHeders,\r\n regionHeaders: [\r\n {\r\n key: 'left_action',\r\n width: (headers) => (headers && headers.length > 0) ? headers[0].width : 0\r\n },\r\n {\r\n key: 'region_name',\r\n width: () => 200\r\n },\r\n {\r\n key: 'empty',\r\n width: (headers) => getContentWidth(headers) - 200 - ((headers && headers.length > 0) ? headers[0].width : 0)\r\n }\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n orders: null,\r\n loads: null,\r\n regionsAvailableOrders: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n loadIdField: 'loadId',\r\n loadType: 'inbound',\r\n addNewInProcess: false,\r\n refreshInProcess: false,\r\n createInProcess: false,\r\n createSubInProcess: false,\r\n groupingPickUpdateFields: ['inboundPickIn', 'inboundPickOut', 'inboundPickAppointment', 'inboundAppointmentStatus'],\r\n groupingDropUpdateFields: ['inboundDropIn', 'inboundDropOut', 'inboundDropAppointment', 'dropInboundAppointmentStatus'],\r\n loadsSortedBy: '',\r\n filterOptions: {\r\n pick: 'All',\r\n drop: 'All',\r\n del: 'All',\r\n apptStatus: 'All',\r\n stateName: 'All',\r\n },\r\n apptHistoryList: null,\r\n openModal: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_IN_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.LOAD:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return loadArea.loadContent(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.REACTED_ASSIGNED:\r\n return loadArea.reactedAssigned(state, action.data.type, action.data.id);\r\n case actionTypes.REACTED_ASSIGNEDS:\r\n return loadArea.reactedAssigneds(state, action.data.type, action.data.ids);\r\n case actionTypes.REACTED_AVAILABLE:\r\n return loadArea.reactedAvailable(state, action.data.type, action.data.id);\r\n case actionTypes.REACTED_AVAILABLES:\r\n return loadArea.reactedAvailables(state, action.data.type, action.data.ids);\r\n case actionTypes.UNREACT_ORDERS:\r\n return loadArea.unreactOrders(state);\r\n case actionTypes.UNASSIGN_ORDERS:\r\n return loadArea.unassignOrders(state, action.data);\r\n case actionTypes.ASSIGN_ORDERS_TO_LOAD:\r\n return loadArea.assignOrdersToLoad(state, action.data.loadData, action.data.orders, action.data.openModal, action.data.locationObjects);\r\n case actionTypes.DELETE_LOAD:\r\n return loadArea.deleteLoad(state, action.data.rowState);\r\n case actionTypes.ADD_NEW_LOAD:\r\n return loadArea.addNewLoad(state, action.data.loadData);\r\n case actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD:\r\n return loadArea.assignOrdersToNewLoad(state, action.data.orders, action.data.loadData);\r\n case actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL:\r\n return loadArea.assignOrdersToNewLoadWithModal(state, action.data.orders, action.data.openModalNewLoad);\r\n case actionTypes.SET_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.SET_LOAD_DATA:\r\n return loadArea.setLoadData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.SET_DISPLAY_STATE:\r\n return loadArea.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.UPDATE_EFS_DATA:\r\n return loadArea.setDataEfs(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.UPDATE_LOAD_DATA:\r\n return loadArea.updateLoadData(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.CREATE_SUB_LOAD_ASSIGN_ORDERS:\r\n return loadArea.createSubLoadAssignOrders(state, action.data.orders, action.data.loadData, action.data.dropLocationId);\r\n case actionTypes.SET_ADD_NEW_IN_PROCESS:\r\n return loadArea.setAddNewInInProcess(state, action.data);\r\n case actionTypes.SET_REFRESH_IN_PROCESS:\r\n return loadArea.setRefreshInProcess(state, action.data);\r\n case actionTypes.SET_CREATE_IN_PROCESS:\r\n return loadArea.setCreateInProcess(state, action.data);\r\n case actionTypes.SET_CREATE_SUB_IN_PROCESS:\r\n return loadArea.setCreateSubInProcess(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_CARRIER:\r\n return loadArea.setSortLoadsByCarrier(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_PICK_APPTS:\r\n return loadArea.setSortLoadsByPickAppts(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_PICK_LOCATION:\r\n return loadArea.setSortLoadsByPickLocation(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_DROP_LOCATION:\r\n return loadArea.setSortLoadsByDropLocation(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_DELIVER_NUMBER:\r\n return loadArea.setSortLoadsByDeliverNumber(state, action.data);\r\n case actionTypes.FILTER_IN_OUT_ORDERS:\r\n return loadArea.filterInOutOrders(state, action.data);\r\n case actionTypes.GET_HISTORY:\r\n return loadArea.getHistoryList(state, action.data);\r\n case actionTypes.GET_HISTORY_LOADING:\r\n return loadArea.setHistoryLoading(state, action.data);\r\n case actionTypes.SET_RE_ORDER_LOAD:\r\n return loadArea.setReOrderLoad(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import { OUTBOUND_LOAD_BUILD as actionTypes } from '../../actions/loadArea/loadActionTypes';\r\nimport { getContentWidthExceptLeftAction } from './helper/general';\r\nimport * as loadArea from './loadArea';\r\n//import {\r\n// extractWebRegionsToList,\r\n// createWebRegionArray,\r\n// extractWebLoadsToList,\r\n// createWebLoadArray\r\n//} from './helper/inbound/data';\r\n\r\nconst allHeders = [\r\n {\r\n key: 'left_action',\r\n title: '',\r\n width: 20,\r\n leftAction: true,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'id',\r\n title: 'ID',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: process.env.REACT_APP_SHOW_ID_FIELD === 'true'\r\n },\r\n {\r\n key: 'inboundDeliveryAPPT',\r\n title: 'Inbound Del Appt',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'outboundPickIn',\r\n title: 'Pick IN',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'outboundPickOut',\r\n title: 'Pick OUT',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'outboundPickAppointment',\r\n title: 'Pick Appt',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'outboundAppointmentStatus',\r\n title: 'Appt Status',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'pickOutboundAppointmentStatus',\r\n title: 'Appt Status',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'Ready Date',\r\n width: 70,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'puDate',\r\n title: 'P/U Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'outboundDropAppointment',\r\n title: 'Del Appt',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'deliverDate',\r\n title: 'D/L Date',\r\n width: 70,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'outboundDropIn',\r\n title: 'Del IN',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'outboundDropOut',\r\n title: 'Del Out',\r\n width: 110,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n dropGroup: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'customerCodeOrName',\r\n title: 'Cust',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Pick',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'Delivery',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropState',\r\n title: 'State',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 90,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'space',\r\n title: 'SPA',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'cases',\r\n title: 'Cs',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'Lbs',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'Temp',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropRestriction',\r\n title: 'Sequence',\r\n width: 70,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadNumber',\r\n title: 'Load #',\r\n width: 70,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'wk',\r\n title: 'WK',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'in_load',\r\n title: 'In Load',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'out_load',\r\n title: 'Out Load',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n // {\r\n // key: 'carrier',\r\n // title: 'Carrier',\r\n // width: 80,\r\n // leftAction: false,\r\n // rightAction: false,\r\n // visible: true\r\n // },\r\n {\r\n key: 'rate',\r\n title: 'Rate',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'target',\r\n title: 'Target',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'driver_truck_Trailer_VIN',\r\n title: 'Driver/Truck#/Trailer#/VIN#',\r\n width: 160,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'outboundLumper',\r\n title: 'Lumper',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'efs',\r\n title: 'EFS',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n hideForLoadPlanning: true,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'Notes',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'outPickNummber',\r\n title: 'Pick up #',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'outDeliverNummber',\r\n title: 'Del #',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n // the next for just load Datepicker fields update (we don't have such headers) \r\n {\r\n key: 'lastOutboundPickFromData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastOutboundPickToData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastOutboundDropFromData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'lastOutboundDropToData',\r\n title: '',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: false\r\n },\r\n {\r\n key: 'actions',\r\n title: '',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: true,\r\n visible: true\r\n }\r\n];\r\n\r\nconst defaultState = {\r\n headers: allHeders.filter(h => h.visible),\r\n allHeaders: allHeders,\r\n regionHeaders: [\r\n {\r\n key: 'left_action',\r\n width: (headers) => (headers && headers.length > 0) ? headers[0].width : 0\r\n },\r\n {\r\n key: 'region_name',\r\n width: () => 200\r\n },\r\n {\r\n key: 'empty',\r\n width: (headers) => getContentWidthExceptLeftAction(headers) - 200\r\n }\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n orders: null,\r\n loads: null,\r\n regionsAvailableOrders: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n loadIdField: 'outboundLoadId',\r\n loadType: 'outbound',\r\n addNewInProcess: false,\r\n refreshInProcess: false,\r\n createInProcess: false,\r\n createSubInProcess: false,\r\n groupingPickUpdateFields: ['outboundPickIn', 'outboundPickOut', 'outboundPickAppointment'],\r\n groupingDropUpdateFields: ['outboundDropIn', 'outboundDropOut', 'outboundDropAppointment', 'outboundAppointmentStatus'],\r\n loadsSortedBy: '',\r\n filterOptions: {\r\n pick: 'All',\r\n drop: 'All',\r\n del: 'All',\r\n apptStatus: 'All',\r\n stateName: 'All',\r\n },\r\n};\r\n\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_IN_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.LOAD:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return loadArea.loadContent(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.REACTED_ASSIGNED:\r\n return loadArea.reactedAssigned(state, action.data.type, action.data.id);\r\n case actionTypes.REACTED_ASSIGNEDS:\r\n return loadArea.reactedAssigneds(state, action.data.type, action.data.ids);\r\n case actionTypes.REACTED_AVAILABLE:\r\n return loadArea.reactedAvailable(state, action.data.type, action.data.id);\r\n case actionTypes.REACTED_AVAILABLES:\r\n return loadArea.reactedAvailables(state, action.data.type, action.data.ids);\r\n case actionTypes.UNREACT_ORDERS:\r\n return loadArea.unreactOrders(state);\r\n case actionTypes.UNASSIGN_ORDERS:\r\n return loadArea.unassignOrders(state, action.data);\r\n case actionTypes.ASSIGN_ORDERS_TO_LOAD:\r\n return loadArea.assignOrdersToLoad(state, action.data.loadData, action.data.orders, action.data.openModal, action.data.locationObjects);\r\n case actionTypes.DELETE_LOAD:\r\n return loadArea.deleteLoad(state, action.data.rowState);\r\n case actionTypes.ADD_NEW_LOAD:\r\n return loadArea.addNewLoad(state, action.data.loadData);\r\n case actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD:\r\n return loadArea.assignOrdersToNewLoad(state, action.data.orders, action.data.loadData);\r\n case actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL:\r\n return loadArea.assignOrdersToNewLoadWithModal(state, action.data.orders, action.data.openModalNewLoad);\r\n case actionTypes.SET_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.SET_LOAD_DATA:\r\n return loadArea.setLoadData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.SET_DISPLAY_STATE:\r\n return loadArea.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.UPDATE_EFS_DATA:\r\n return loadArea.setDataEfs(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.UPDATE_LOAD_DATA:\r\n return loadArea.updateLoadData(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.CREATE_SUB_LOAD_ASSIGN_ORDERS:\r\n return loadArea.createSubLoadAssignOrders(state, action.data.orders, action.data.loadData, action.data.dropLocationId);\r\n case actionTypes.SET_ADD_NEW_IN_PROCESS:\r\n return loadArea.setAddNewInInProcess(state, action.data);\r\n case actionTypes.SET_REFRESH_IN_PROCESS:\r\n return loadArea.setRefreshInProcess(state, action.data);\r\n case actionTypes.SET_CREATE_IN_PROCESS:\r\n return loadArea.setCreateInProcess(state, action.data);\r\n case actionTypes.SET_CREATE_SUB_IN_PROCESS:\r\n return loadArea.setCreateSubInProcess(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_CARRIER:\r\n return loadArea.setSortLoadsByCarrier(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_PICK_APPTS:\r\n return loadArea.setSortLoadsByPickAppts(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_PICK_LOCATION:\r\n return loadArea.setSortLoadsByPickLocation(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_DROP_LOCATION:\r\n return loadArea.setSortLoadsByDropLocation(state, action.data);\r\n case actionTypes.SET_SORT_LOAD_BY_DELIVER_NUMBER:\r\n return loadArea.setSortLoadsByDeliverNumber(state, action.data);\r\n case actionTypes.FILTER_IN_OUT_ORDERS:\r\n return loadArea.filterInOutOrders(state, action.data);\r\n case actionTypes.GET_HISTORY:\r\n return loadArea.getHistoryList(state, action.data);\r\n case actionTypes.GET_HISTORY_LOADING:\r\n return loadArea.setHistoryLoading(state, action.data);\r\n case actionTypes.SET_RE_ORDER_LOAD:\r\n return loadArea.setReOrderLoad(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import moment from 'moment';\r\nimport { formatPhoneNumber } from \"../../../codeless/helper/common\";\r\nexport const itemDefaultSize = 20;\r\nconst toDateTime = value => value ? moment.utc(value).toDate() : '';\r\n\r\nconst extractWebLoadsToList = state => (loads) => {\r\n let loadsAssignedOrders = [];\r\n loads.forEach(loadItem => {\r\n loadsAssignedOrders.push(loadItem);\r\n loadItem.stops.forEach(stop => {\r\n loadsAssignedOrders.push(stop);\r\n stop.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n });\r\n })\r\n loadItem.subLoads.forEach(subLoad => {\r\n loadsAssignedOrders.push(subLoad);\r\n subLoad.stops.forEach(stop => {\r\n loadsAssignedOrders.push(stop);\r\n stop.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n });\r\n })\r\n })\r\n });\r\n // remove loads without any stop/order\r\n const filteredLoadsAssignedOrders = loadsAssignedOrders\r\n .filter(order => order.rowState.type !== 'load' || (order.rowState.type === 'load' && order.stops?.length > 0));\r\n\r\n return filteredLoadsAssignedOrders;\r\n};\r\n\r\nexport const createSubOrder = (so, originalOrder, childSubOrder) => {\r\n return {\r\n ...originalOrder,\r\n ...{\r\n parentId: so.parentId,\r\n subOrderId: so.id,\r\n loadId: so.loadId,\r\n originalOrderId: so.orderId,\r\n pickLocationId: so.dropLocationId,\r\n pickLocation: so.dropLocation,\r\n dropLocationId: childSubOrder ? childSubOrder.dropLocationId : originalOrder.dropLocationId,\r\n dropLocation: childSubOrder ? childSubOrder.dropLocation : originalOrder.dropLocation,\r\n inboundPickIn: so.pickInDate,\r\n inboundPickOut: so.pickOutDate,\r\n inboundPickAppointment: so.pickAppointmenteDate,\r\n inboundAppointmentStatus: so.pickAppointmentStatus,\r\n puDate: so.puDate,\r\n dueDate: so.dueDate,\r\n deliverDate: so.deliverDate,\r\n inboundDropAppointment: so.dropAppointmenteDate,\r\n inboundDropIn: so.dropInDate,\r\n inboundDropOut: so.dropOutDate,\r\n inboundLumper: so.lumper,\r\n dropRestriction: so.dropRestriction,\r\n pickRestriction: so.pickRestriction,\r\n inboundDeliveryEstimate: so.inboundDeliveryEstimate,\r\n pickInDate: so.pickInDate,\r\n pickOutDate: so.pickOutDate,\r\n dropInDate: so.dropInDate,\r\n dropOutDate: so.dropOutDate,\r\n outboundPickIn: so.pickInDate,\r\n outboundPickOut: so.pickOutDate,\r\n outboundDropIn: so.dropInDate,\r\n outboundDropOut: so.dropOutDate,\r\n stepCount: so.stepCount,\r\n carrierName: so.carrierName,\r\n palletCount: so.palletCount,\r\n cases: so.cases,\r\n space: so.space,\r\n weight: so.weight,\r\n poNumber: so.poNumber,\r\n callCheckOutAttachment: so.callCheckOutAttachment,\r\n outPodRequestStatus: so.outPodRequestStatus,\r\n }\r\n }\r\n};\r\n\r\nconst createWebLoadArray = state => (loadsData, assignedOrders, subOrders, headers, oldLoadsAssignedOrders) => {\r\n //create sub orders\r\n const subOrdersData = [];\r\n subOrders.forEach(so => {\r\n subOrdersData.push(createSubOrder(so, assignedOrders.find(o => o.id === so.orderId),\r\n subOrders.find(fso => fso.orderId === so.orderId && fso.parentId === so.id)));\r\n });\r\n const subLoads = loadsData.filter(load => load.parentLoadId);\r\n const loads = [];\r\n loadsData\r\n .forEach(load => loads.push(createWebLoad (\r\n load, \r\n assignedOrders.filter(o => o.loadId === load.id || o.outboundLoadId === load.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === load.id),\r\n false\r\n )));\r\n if (assignedOrders.length !== loads.reduce((r, o) => r += o.ordersData.length, 0)) {\r\n console.log('Some assigned orders not found there loads');\r\n }\r\n\r\n // render subLoads/subOrders without Main Load\r\n const subOrdersOrderIDs = subOrdersData.map(subO => subO.loadId);\r\n const allLoadIDs = loadsData.map(load => load.id);\r\n if (subLoads.length > 0) {\r\n subLoads\r\n .filter(subL => subOrdersOrderIDs.includes(subL.id))\r\n .filter(subL => !allLoadIDs.includes(subL.parentLoadId))\r\n .forEach(subLoad => loads.push(createWebLoad (\r\n subLoad, \r\n subOrdersData.filter(subOrder => subOrder.loadId === subLoad.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === subLoad.id),\r\n true\r\n )));\r\n }\r\n return loads;\r\n};\r\n\r\nexport const updateOrdersLoadState = (state, orders, loads, subOrders, hasError = false, message = '', filterType = 'all') => ({\r\n ...state, ...{\r\n orders,\r\n loads,\r\n subOrders,\r\n loading: false,\r\n hasError,\r\n message,\r\n filterType,\r\n loadsAssignedOrders:\r\n extractWebLoadsToList(state) (\r\n createWebLoadArray(state) (\r\n loads,\r\n orders,\r\n subOrders,\r\n state.headers,\r\n state.loadsAssignedOrders), state.headers),\r\n }\r\n});\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n const filterType = state.filterType ? state.filterType : 'all';\r\n return updateOrdersLoadState(state, [...data.assignedOrders.data], data.loads.data, data.subOrders.data, hasError, message, filterType);\r\n};\r\n\r\nexport const createWebLoad = (loadData, loadOrders, subLoads, subOrdersData, headers, oldWebLoad, isSub) => {\r\n const loadId = `load_${loadData.id}`;\r\n const loadWebData = {\r\n row: [],\r\n ordersData: [],\r\n subLoads: [],\r\n stops: [],\r\n rowState: {\r\n type: 'load',\r\n isSub,\r\n subId: subLoads ? subLoads.find(l => l.parentLoadId === loadData.id)?.id : null,\r\n id: loadId,\r\n loadId: loadData.id,\r\n loadData,\r\n visible: true,\r\n reacted: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n isChecked: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n available: false,\r\n createPickKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}_${order.pickLocationId}`;\r\n }\r\n return createKey;\r\n },\r\n createDropKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}`;\r\n if (order.warehouse) {\r\n createKey = `${createKey}_0_${order.warehouseId}`;\r\n }\r\n else {\r\n createKey = `${createKey}_${order.dropLocationId}_0`;\r\n }\r\n }\r\n return createKey;\r\n },\r\n groups: (orders, keyFunction) => orders.reduce((r, o) => {\r\n const groupBy = keyFunction(o.rowState.orderData);\r\n r[groupBy] = [...r[groupBy] || [], o.rowState.orderData];\r\n return r;\r\n }, {}),\r\n findOrderGroup: (groups, order, createKey) => {\r\n return Object.keys(groups).find(go => {\r\n const oG = groups[go];\r\n if (oG.some(e => e.id === order.id)) {\r\n return groups[go];\r\n }\r\n if (createKey && go === createKey(order)) {\r\n return groups[go];\r\n }\r\n return null;\r\n });\r\n },\r\n height: itemDefaultSize\r\n }\r\n };\r\n loadOrders.forEach(lo => loadWebData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, loadWebData.rowState.reacted, '', isSub, subOrdersData)));\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''));\r\n\r\n const pickInboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createPickKey);\r\n let stopNumber = 0;\r\n\r\n Object.keys(pickInboundGroups).forEach(key => {\r\n stopNumber++;\r\n const groupOrders = pickInboundGroups[key];\r\n groupOrders.forEach(o => {\r\n loadWebData.ordersData.find(wo => wo.rowState.orderData.id === o.id).row.find(f => f.key === 'left_action').value = stopNumber;\r\n });\r\n });\r\n\r\n const stopsList = loadData?.loadType === 1 ? [...new Set(loadOrders.map(order => order.pickLocationId))] :\r\n loadData?.loadType === 3 ? [...new Set(loadOrders.map(order => order.dropLocationId))] : '';\r\n stopsList.forEach((stopNumber, i) => {\r\n loadWebData.stops.push(createStop(loadOrders, headers, loadData, loadId, loadWebData?.rowState.reacted, stopNumber, stopsList));\r\n });\r\n\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => +a.row.find(f => f.key === 'left_action').value - +b.row.find(f => f.key === 'left_action').value);\r\n \r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) { \r\n switch (headerItem.key) {\r\n case 'palletCount':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadNumber;\r\n fieldType = 'link';\r\n break;\r\n case 'carrierName':\r\n value = loadData.carrierName;\r\n fieldType = 'text';\r\n break;\r\n case 'driverName':\r\n value = loadData.driverName;\r\n break;\r\n case 'driverPhone':\r\n value = formatPhoneNumber(loadData.driverPhone);\r\n break;\r\n case 'loadCallCheckNote':\r\n value = loadData.loadCommentsCount ? loadData.loadCommentsCount : 0;\r\n break;\r\n // case 'loadPositionType':\r\n // value = loadData.loadPositionType;\r\n // break;\r\n case 'delivered':\r\n value = 'text';\r\n fieldType = 'button';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n loadWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n if (subLoads) {\r\n subLoads\r\n .filter(sl => sl.parentLoadId === loadData.id)\r\n .forEach(sl => {\r\n loadWebData.subLoads.push(createWebLoad(\r\n sl, \r\n subOrdersData.filter(so => so.loadId === sl.id),\r\n subLoads, \r\n subOrdersData, \r\n headers, \r\n oldWebLoad, \r\n true));\r\n });\r\n }\r\n return loadWebData;\r\n};\r\n\r\nexport const createStop = (loadOrders, headers, loadData, loadId, isHidden, stopNumber, stopsList) => {\r\n const stop = loadData.stops.filter(stop => stop.locationId === stopNumber);\r\n const loadType = loadData.loadType;\r\n const stopData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'stop',\r\n id: `stop_${loadData.id}_${stopNumber}`,\r\n loadData,\r\n firstOrderData: {},\r\n loadId: loadId && loadId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData?.id,\r\n height: itemDefaultSize,\r\n stopNumber,\r\n notes: stop?.[0]?.notes,\r\n }\r\n };\r\n\r\n loadOrders.forEach(lo => {\r\n if (loadType === 1 && lo.pickLocationId === stopNumber) {\r\n stopData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, stopData.rowState.reacted, stopData.rowState.id));\r\n stopData.ordersData.forEach(order => order.row.find(row => row.key === 'left_action').value = stopsList.indexOf(stopNumber)+1)\r\n } else if (loadType === 3 && lo.dropLocationId === stopNumber) {\r\n stopData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, stopData.rowState.reacted, stopData.rowState.id));\r\n stopData.ordersData.forEach(order => order.row.find(row => row.key === 'left_action').value = stopsList.indexOf(stopNumber)+1)\r\n }\r\n });\r\n\r\n stopData.ordersData =\r\n stopData.ordersData.sort((a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''));\r\n\r\n stopData.rowState.firstOrderData = stopData.ordersData[0].rowState.orderData;\r\n const firstOrderData = stopData.ordersData[0].rowState.orderData;\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let value2 = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'pickInDate':\r\n value = loadData.loadType === 1 ? toDateTime(firstOrderData.inboundPickIn): loadData.loadType === 3 ? toDateTime(firstOrderData.outboundPickIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(firstOrderData.inboundPickOut): loadData.loadType === 3 ? toDateTime(firstOrderData.outboundPickOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropInDate':\r\n value = loadData.loadType === 1 ? toDateTime(firstOrderData.inboundDropIn): loadData.loadType === 3 ? toDateTime(firstOrderData.outboundDropIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(firstOrderData.inboundDropOut): loadData.loadType === 3 ? toDateTime(firstOrderData.outboundDropOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'warehouse':\r\n value = loadData.loadType === 1 ? firstOrderData.pickLocation: loadData.loadType === 3 ? firstOrderData.dropLocation : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'dropLocation':\r\n // value = 'San Fernando, CA (TST)'; //??? need to change\r\n // fieldType = 'text';\r\n // break;\r\n case 'inboundPickAppointment':\r\n value = loadData.loadType === 1 ? toDateTime(firstOrderData.inboundPickAppointment): loadData.loadType === 3 ? toDateTime(firstOrderData.outboundPickAppointment) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'palletCount':\r\n value = stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.palletCount\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n value = stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.cases\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n value = stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.weight\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData ? loadData.loadNumber : '';\r\n fieldType = 'link';\r\n break;\r\n case 'lumper_efs':\r\n value = loadData.loadType === 1 ? firstOrderData.pickWhLumper : firstOrderData.dropWhLumper;\r\n value2 = loadData.loadType === 1 ? firstOrderData.pickWhEfs : firstOrderData.dropWhEfs;\r\n fieldType = 'text';\r\n break;\r\n case 'loadCallCheckNote':\r\n value = stopData.rowState.notes;\r\n fieldType = 'textInput';\r\n editable = true;\r\n break;\r\n case 'orderStatusByCall':\r\n value = loadData.loadType === 1 ? firstOrderData.inOrderStatusByCall : loadData.loadType === 3 ? firstOrderData.outOrderStatusByCall : '';\r\n editable = true;\r\n fieldType = 'select';\r\n break;\r\n case 'delayedReason':\r\n value = loadData.loadType === 1 ? firstOrderData.inDelayedReason : loadData.loadType === 3 ? firstOrderData.outDelayedReason : '';\r\n editable = true;\r\n fieldType = 'select';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n value2 = '';\r\n fieldType = 'text';\r\n }\r\n\r\n stopData.row.push({\r\n key: headerItem.key,\r\n value,\r\n value2,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n return stopData;\r\n};\r\n\r\nconst findFirstSubOrder = (selfId, subOrders, originalOrderId) =>\r\n subOrders.find(o => o.originalOrderId === originalOrderId && o.parentId === selfId);\r\n\r\nexport const createWebOrder = (oData, headers, loadData, loadId, isHidden, stopId, isSub, subOrders) => {\r\n const orderData = { ...oData };\r\n let allowCreateSubOrder = false;\r\n let firstSubOrder = null;\r\n if (!isSub && loadData !== null) {\r\n firstSubOrder = subOrders ? subOrders.find(o => o.originalOrderId === orderData.id && !o.parentId) : null;\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n if (firstSubOrder) {\r\n orderData.dropLocationId = firstSubOrder.pickLocationId;\r\n orderData.dropLocation = firstSubOrder.pickLocation;\r\n }\r\n }\r\n else if (isSub && subOrders) {\r\n firstSubOrder = findFirstSubOrder(orderData.subOrderId, subOrders, orderData.id);\r\n allowCreateSubOrder = firstSubOrder === undefined;\r\n }\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n isSub,\r\n subId: firstSubOrder && firstSubOrder.id,\r\n id: `${(isSub ? `sub_${orderData.parentId ? orderData.parentId : ''}` : '')}order_${orderData.id}`,\r\n orderObjectId: orderData.id,\r\n loadObjectId: loadData && loadData.id,\r\n orderData: orderData,\r\n loadData,\r\n orderId: `order_${orderData.id}`,\r\n loadId: loadId && loadId,\r\n stopId: stopId && stopId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData.id,\r\n height: itemDefaultSize,\r\n allowCreateSubOrder,\r\n }\r\n };\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let value2 = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id;\r\n break;\r\n case 'inboundDeliveryEstimate':\r\n value = toDateTime(orderData.inboundDeliveryEstimate);\r\n fieldType = 'dateTime';\r\n editable = loadData.loadType === 1 ? true : false;\r\n break;\r\n case 'inboundPickAppointment':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickAppointment): loadData.loadType === 3 ? toDateTime(orderData.outboundPickAppointment) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickIn): loadData.loadType === 3 ? toDateTime(orderData.outboundPickIn) : '';\r\n fieldType = 'dateTime';\r\n editable = true;\r\n break;\r\n case 'pickOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickOut): loadData.loadType === 3 ? toDateTime(orderData.outboundPickOut) : '';\r\n fieldType = 'dateTime';\r\n editable = true;\r\n break;\r\n case 'dueDate':\r\n value = toDateTime(orderData.dueDate);\r\n fieldType = 'dateTime';\r\n break;\r\n case 'inDelAppt':\r\n value = toDateTime(orderData.inboundDropAppointment);\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropIn): loadData.loadType === 3 ? toDateTime(orderData.outboundDropIn) : '';\r\n fieldType = 'dateTime';\r\n editable = true;\r\n break;\r\n case 'dropOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropOut): loadData.loadType === 3 ? toDateTime(orderData.outboundDropOut) : '';\r\n fieldType = 'dateTime';\r\n editable = true;\r\n break;\r\n case 'customerName':\r\n value = orderData.customerName;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverDate':\r\n value = toDateTime(orderData.deliverDate);\r\n editable = true;\r\n fieldType = 'date';\r\n break;\r\n // case 'pickLocation':\r\n // value = orderData.pickLocation;\r\n // fieldType = 'text';\r\n // break;\r\n // case 'dropLocation':\r\n // value = orderData.dropLocation;\r\n // fieldType = 'text';\r\n // break;\r\n case 'warehouse':\r\n value = loadData.loadType === 1 ? orderData.pickLocation: loadData.loadType === 3 ? orderData.dropLocation : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'inboundDropAppointment':\r\n // value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropAppointment): loadData.loadType === 3 ? toDateTime(orderData.outboundDropAppointment) : '';\r\n // fieldType = 'dateTime';\r\n // break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n value2 = orderData.stepCount;\r\n editable = orderData.stepCount ? true : false;\r\n fieldType = 'textInputPO';\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n fieldType = 'integer';\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n fieldType = 'integer';\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n fieldType = 'integer';\r\n break;\r\n case 'loadPositionType':\r\n value = loadData.loadType === 1 ? orderData.pickRestriction : orderData.dropRestriction;\r\n break;\r\n case 'loadNumber':\r\n value = loadData ? loadData.loadNumber : '';\r\n fieldType = 'link';\r\n break;\r\n case 'podRequestStatus':\r\n value = loadData.loadType === 1 ? orderData.inPodRequestStatus : loadData.loadType === 3 ? orderData.outPodRequestStatus : '';\r\n editable = true;\r\n fieldType = 'select';\r\n tooltip = loadData.loadType === 1 && orderData.inPodRequestAuthorFullName.trim() ?\r\n `Last Changed: ${orderData.inPodRequestAuthorFullName}` :\r\n loadData.loadType === 1 && !orderData.inPodRequestAuthorFullName.trim() ?\r\n `No changes` :\r\n loadData.loadType === 3 && orderData.outPodRequestAuthorFullName.trim() ?\r\n `Last Changed: ${orderData.outPodRequestAuthorFullName}` :\r\n loadData.loadType === 3 && !orderData.outPodRequestAuthorFullName.trim() ?\r\n `No changes` : '';\r\n break;\r\n case 'podDoc':\r\n value = loadData.loadType === 1 ? orderData.callCheckInAttachment?.fileName : loadData.loadType === 3 ? orderData.callCheckOutAttachment?.fileName : '';\r\n editable = true;\r\n fieldType = 'upload';\r\n tooltip = loadData.loadType === 1 && orderData.callCheckInAttachment?.fullName ?\r\n `Last Changed: ${orderData.callCheckInAttachment?.fullName}` :\r\n loadData.loadType === 1 && !orderData.callCheckInAttachment?.fullName ?\r\n `No changes` :\r\n loadData.loadType === 3 && orderData.callCheckOutAttachment?.fullName ?\r\n `Last Changed: ${orderData?.callCheckOutAttachment?.fullName}` :\r\n loadData.loadType === 3 && !orderData.callCheckOutAttachment?.fullName ?\r\n `No changes` : '';\r\n break;\r\n case 'orderNotesByCall':\r\n value = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n value2 = loadData.loadType === 1 ? orderData.inPodNotesHistory : loadData.loadType === 3 ? orderData.outPodNotesHistory : '';\r\n fieldType = 'select_and_popover';\r\n editable = true;\r\n break;\r\n case 'actions':\r\n value = 'text';\r\n fieldType = 'actions';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n value2,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n return orderWebData;\r\n};\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state, ...{\r\n headers: [\r\n ...state.headers.slice(0, ind),\r\n ...[header],\r\n ...state.headers.slice(ind + 1)\r\n ],\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n }\r\n };\r\n};\r\n\r\nexport const filterCallChecks = (state, type) => {\r\n return {\r\n ...state,\r\n ...{\r\n filterType: type,\r\n },\r\n }\r\n};\r\n\r\nexport const reactedAssigned = (state, type, id) => {\r\n const loadsAssignedOrders = state.loadsAssignedOrders;\r\n const index = loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = loadsAssignedOrders[index];\r\n\r\n if (item) {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n if (type === 'load') {\r\n const stops = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'stop');\r\n const orders = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'order');\r\n orders.forEach(o => o.rowState.visible = !o.rowState.visible);\r\n\r\n stops.forEach(stop => {\r\n if (stop.rowState.visible) {\r\n orders.forEach(o => o.rowState.visible = false);\r\n stop.rowState.visible = false;\r\n } else {\r\n orders.forEach(o => o.rowState.visible = true);\r\n stop.rowState.visible = true;\r\n }\r\n })\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n }\r\n if (type === 'stop') {\r\n const stopOrders = state.loadsAssignedOrders.filter(i => i.rowState.stopId === id && i.rowState.type === 'order');\r\n stopOrders.forEach(o => o.rowState.visible = !o.rowState.visible);\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const updateLoadOrderGroupData = (state, loadData, changedOrder, header, newValue, newOrders, isSub) => {\r\n if (!isSub) {\r\n let stopsOrders;\r\n let orderLoad;\r\n const orderStops = state.loadsAssignedOrders.filter(order => order.rowState?.orderData?.id === changedOrder?.id);\r\n const changedOrderLoadType = loadData.loadType;\r\n const orderStopId = orderStops.find(stop => stop.rowState.loadData.loadType === changedOrderLoadType)?.rowState?.stopId;\r\n \r\n const stopOrdersState = state.loadsAssignedOrders.filter(order => order.rowState.stopId === orderStopId);\r\n\r\n const stopOrdersIds = stopOrdersState.map(order => order.rowState.orderData?.id);\r\n stopsOrders = newOrders.filter(order => stopOrdersIds.includes(order.id));\r\n orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadData.id);\r\n\r\n if (orderLoad) {\r\n stopsOrders.forEach(order => {\r\n if (header.key === 'pickInDate') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outboundPickIn'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inboundPickIn'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'pickOutDate') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outboundPickOut'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inboundPickOut'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'dropInDate') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outboundDropIn'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inboundDropIn'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'dropOutDate') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outboundDropOut'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inboundDropOut'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'orderStatusByCall') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outOrderStatusByCall'] = newValue;\r\n if (newValue === 0 || newValue === 1) {\r\n order['outDelayedReason'] = null;\r\n }\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n if (newValue === 0 || newValue === 1) {\r\n order['inDelayedReason'] = null;\r\n }\r\n order['inOrderStatusByCall'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'delayedReason') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outDelayedReason'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inDelayedReason'] = newValue;\r\n }\r\n }\r\n order[header.key] = newValue;\r\n });\r\n }\r\n } else {\r\n if (changedOrder) {\r\n if (header.key === 'podRequestStatus') {\r\n changedOrder['outPodRequestStatus'] = newValue;\r\n } else {\r\n changedOrder[header?.key] = newValue;\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header, hasSub) => {\r\n if (rowState.orderData || rowState.firstOrderData) {\r\n const newOrders = [...state.orders];\r\n const subOrders = [...state.subOrders];\r\n let isSub = false;\r\n let changedOrder;\r\n if (rowState.firstOrderData) {\r\n changedOrder = newOrders.find(o => o.id === rowState.firstOrderData.id);\r\n } else if (rowState.orderData.subOrderId) {\r\n isSub = true;\r\n changedOrder = subOrders.find(o => o.id === rowState.orderData.subOrderId);\r\n } else {\r\n changedOrder = newOrders.find(o => o.id === rowState.orderData.id);\r\n };\r\n if (changedOrder) {\r\n if (header.key === 'orderStatusByCall') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outOrderStatusByCall'] = newValue;\r\n if (newValue !== 2) {\r\n changedOrder['outDelayedReason'] = null;\r\n }\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inOrderStatusByCall'] = newValue;\r\n if (newValue !== 2) {\r\n changedOrder['inDelayedReason'] = null;\r\n }\r\n }\r\n } else if (header.key === 'delayedReason') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outDelayedReason'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inDelayedReason'] = newValue;\r\n }\r\n } else if (header.key === 'orderNotesByCall') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outNotes'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inNotes'] = newValue;\r\n }\r\n } else if (header.key === 'podRequestStatus') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outPodRequestStatus'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inPodRequestStatus'] = newValue;\r\n }\r\n // remove uploaded file if we change the status into \"Don't split\" from Received and order doesn't have sub\r\n if (newValue === 3 && !hasSub) {\r\n if (rowState.loadData.loadType === 3 && rowState.orderData.outPodRequestStatus === 1 ) {\r\n changedOrder['callCheckOutAttachment'] = null;\r\n } else if (rowState.loadData.loadType === 1 && rowState.orderData.inPodRequestStatus === 1) {\r\n changedOrder['callCheckInAttachment'] = null;\r\n }\r\n }\r\n } else if (header.key === 'pickInDate') {\r\n if (isSub) {\r\n changedOrder['pickInDate'] = newValue;\r\n } else {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outboundPickIn'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inboundPickIn'] = newValue;\r\n }\r\n }\r\n } else if (header.key === 'pickOutDate') {\r\n if (isSub) {\r\n changedOrder['pickOutDate'] = newValue;\r\n } else {\r\n if (rowState.loadData.loadType === 3) {\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inboundPickOut'] = newValue;\r\n }\r\n }\r\n } else if (header.key === 'dropInDate') {\r\n if (isSub) {\r\n changedOrder['dropInDate'] = newValue;\r\n } else {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outboundDropIn'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inboundDropIn'] = newValue;\r\n }\r\n }\r\n } else if (header.key === 'dropOutDate') {\r\n if (isSub) {\r\n changedOrder['dropOutDate'] = newValue;\r\n } else {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outboundDropOut'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inboundDropOut'] = newValue;\r\n }\r\n }\r\n } else if (header.key === 'podDoc') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['callCheckOutAttachment'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['callCheckInAttachment'] = newValue;\r\n }\r\n } else if (header.key === 'loadCallCheckNote') {\r\n if (rowState.loadData.loadType === 3) {\r\n const stop = rowState.loadData.stops.filter(stop => stop.locationId === changedOrder.dropLocationId);\r\n if (stop && stop[0]) {\r\n stop[0].notes = newValue;\r\n } else if (!stop[0]) {\r\n rowState.loadData.stops.push({ notes: newValue, locationId: changedOrder.dropLocationId })\r\n }\r\n } else if (rowState.loadData.loadType === 1) {\r\n const stop = rowState.loadData.stops.filter(stop => stop.locationId === changedOrder.pickLocationId);\r\n if (stop && stop[0]) {\r\n stop[0].notes = newValue;\r\n } else if (!stop[0]) {\r\n rowState.loadData.stops.push({ notes: newValue, locationId: changedOrder.pickLocationId })\r\n }\r\n }\r\n } else changedOrder[header.key] = newValue;\r\n }\r\n\r\n //sub order set\r\n const newSubOrders = [...state.subOrders];\r\n const changedSubOrder = newSubOrders.find(o => o.id === rowState.orderData?.subOrderId)\r\n || newSubOrders.find(o => o.orderId === rowState.orderData?.id);\r\n\r\n if (changedSubOrder) {\r\n if (header.key === 'podRequestStatus') {\r\n if (newValue === 3) {\r\n changedSubOrder['callCheckOutAttachment'] = changedOrder.callCheckOutAttachment;\r\n changedSubOrder['outPodRequestStatus'] = newValue;\r\n }\r\n } else if (header.key === 'podDoc' && newValue === 3) {\r\n changedSubOrder['outPodRequestStatus'] = 3;\r\n changedSubOrder['callCheckOutAttachment'] = newValue;\r\n changedSubOrder['callCheckAttachment'] = newValue;\r\n } else if (header.key === 'podDoc' && changedOrder.outPodRequestStatus === 3) {\r\n changedSubOrder['callCheckAttachment'] = newValue;\r\n changedSubOrder['callCheckOutAttachment'] = newValue;\r\n } else {\r\n changedSubOrder[header?.key] = newValue;\r\n }\r\n }\r\n \r\n updateLoadOrderGroupData(state, rowState?.loadData, changedOrder, header, newValue, newOrders, isSub);\r\n return updateOrdersLoadState(state, newOrders, state.loads, newSubOrders, state.hasError, state.message, state.filterType);\r\n }\r\n else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const getHistoryListCallCheck = (state, response) => {\r\n const data = response.data.data || [];\r\n return {\r\n ...state,\r\n historyList: data,\r\n historyLoading: false,\r\n }\r\n};\r\n\r\nexport const setHistoryLoadingCallCheck = state => ({\r\n ...state, ...{\r\n historyLoading: true\r\n }\r\n});\r\n\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state, ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable\r\n }\r\n }\r\n});\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: ''\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","import { CALL_CHECK_BUILD as actionTypes } from '../../actions/callCheck/callCheckActionTypes';\r\nimport * as loadArea from './callCheckReducer';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'left_action',\r\n title: '',\r\n width: 36,\r\n leftAction: true,\r\n visible: true\r\n },\r\n {\r\n key: 'inboundDeliveryEstimate',\r\n title: 'Del Est Time',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'inboundPickAppointment',\r\n title: 'Pick Appt',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'pickInDate',\r\n title: 'Pick IN',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'pickOutDate',\r\n title: 'Pick OUT',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n }, {\r\n key: 'inDelAppt',\r\n title: 'In Del Appt',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'dropInDate',\r\n title: 'Del IN',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'dropOutDate',\r\n title: 'Del Out',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'deliverDate',\r\n title: 'D/L Date',\r\n width: 60,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'warehouse',\r\n title: 'Warehouse',\r\n width: 183,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'customerName',\r\n title: 'Cust.',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 90,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 37,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'cases',\r\n title: 'CS',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'LBS',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadPositionType',\r\n title: 'Sequence',\r\n width: 80,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadNumber',\r\n title: 'Load #',\r\n width: 120,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'carrierName',\r\n title: 'Carrier',\r\n width: 98,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'driverName',\r\n title: 'Driver',\r\n width: 70,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'driverPhone',\r\n title: 'Driver Phone',\r\n width: 105,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadCallCheckNote',\r\n title: 'Notes',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'lumper_efs',\r\n title: 'Lumper',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'orderStatusByCall',\r\n title: 'Status',\r\n width: 77,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'delayedReason',\r\n title: 'Delayed reason',\r\n width: 110,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'podRequestStatus',\r\n title: 'POD Request',\r\n width: 95,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'podDoc',\r\n title: 'POD Doc.',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'orderNotesByCall',\r\n title: 'POD Status',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'actions',\r\n title: 'Action',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'delivered',\r\n title: '',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n orders: null,\r\n loads: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n filterType: '',\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_CALL_CHECK:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.CALL_CHECK_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.FILTER_CALL_CHECKS:\r\n return loadArea.filterCallChecks(state, action.data);\r\n case actionTypes.GET_CALL_CHECK_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.RELOAD_ON_ERROR_CALL_CHECK:\r\n return loadArea.loadContent(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH_CALL_CHECK:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.SET_DISPLAY_STATE:\r\n return loadArea.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.REACTED_ASSIGNED:\r\n return loadArea.reactedAssigned(state, action.data.type, action.data.id);\r\n case actionTypes.SET_CALL_CHECK_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.GET_HISTORY_CALL_CHECK:\r\n return loadArea.getHistoryListCallCheck(state, action.data);\r\n case actionTypes.GET_HISTORY_CALL_CHECK_LOADING:\r\n return loadArea.setHistoryLoadingCallCheck(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import moment from 'moment';\r\nimport { getEfsStatusTooltip, getEfsBGColor } from './dataGeneral';\r\nexport const itemDefaultSize = 20;\r\nconst toDateTime = value => value ? moment.utc(value).toDate() : '';\r\n\r\nconst extractWebLoadsToList = state => (loads) => {\r\n let loadsAssignedOrders = [];\r\n loads.forEach(loadItem => {\r\n loadsAssignedOrders.push(loadItem);\r\n loadItem.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n })\r\n loadItem.subLoads.forEach(subLoad => {\r\n loadsAssignedOrders.push(subLoad);\r\n subLoad.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n })\r\n })\r\n });\r\n // remove loads without any stop/order\r\n const filteredLoadsAssignedOrders = loadsAssignedOrders\r\n .filter(order => order.rowState.type === 'order' || (order.rowState.type === 'load' && order.ordersData?.length > 0));\r\n\r\n return filteredLoadsAssignedOrders;\r\n};\r\n\r\nexport const createSubOrder = (so, originalOrder, childSubOrder) => {\r\n return {\r\n ...originalOrder,\r\n ...{\r\n parentId: so.parentId,\r\n subOrderId: so.id,\r\n loadId: so.loadId,\r\n originalOrderId: so.orderId,\r\n pickLocationId: so.dropLocationId,\r\n pickLocation: so.dropLocation,\r\n // dropLocationId: childSubOrder ? childSubOrder?.dropLocationId : originalOrder?.dropLocationId,\r\n // dropLocation: childSubOrder ? childSubOrder?.dropLocation : originalOrder?.dropLocation,\r\n inboundPickIn: so.pickInDate,\r\n inboundPickOut: so.pickOutDate,\r\n inboundPickAppointment: so.pickAppointmenteDate,\r\n inboundAppointmentStatus: so.pickAppointmentStatus,\r\n puDate: so.puDate,\r\n dueDate: so.dueDate,\r\n deliverDate: so.deliverDate,\r\n inboundDropAppointment: so.dropAppointmenteDate,\r\n inboundDropIn: so.dropInDate,\r\n inboundDropOut: so.dropOutDate,\r\n inboundLumper: so.lumper,\r\n dropRestriction: so.dropRestriction,\r\n pickRestriction: so.pickRestriction,\r\n inboundDeliveryEstimate: so.inboundDeliveryEstimate,\r\n pickInDate: so.pickInDate,\r\n pickOutDate: so.pickOutDate,\r\n dropInDate: so.dropInDate,\r\n dropOutDate: so.dropOutDate,\r\n outboundPickIn: so.pickInDate,\r\n outboundPickOut: so.pickOutDate,\r\n outboundDropIn: so.dropInDate,\r\n outboundDropOut: so.dropOutDate,\r\n stepCount: so.stepCount,\r\n carrierName: so.carrierName,\r\n palletCount: so.palletCount,\r\n cases: so.cases,\r\n space: so.space,\r\n weight: so.weight,\r\n poNumber: so.poNumber,\r\n }\r\n }\r\n};\r\n\r\nconst createWebLoadArray = state => (loadsData, assignedOrders, subOrders, headers, oldLoadsAssignedOrders) => {\r\n //create sub orders\r\n const subOrdersData = [];\r\n subOrders.forEach(so => {\r\n subOrdersData.push(createSubOrder(\r\n so, \r\n assignedOrders.find(o => o.id === so.orderId),\r\n subOrders.find(fso => fso.orderId === so.orderId && fso.parentId === so.id)\r\n ));\r\n });\r\n const subLoads = loadsData.filter(load => load.parentLoadId);\r\n\r\n const loads = [];\r\n // add loads and orders\r\n loadsData\r\n .filter(l => !l.parentLoadId)\r\n .forEach(load => loads.push(createWebLoad(\r\n load, \r\n assignedOrders.filter(o => o['loadId'] === load.id || o['outboundLoadId'] === load.id),\r\n subLoads,\r\n subOrdersData,\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === load.id),\r\n false\r\n )));\r\n\r\n // render subLoads/subOrders without Main Load\r\n // const subOrdersOrderIDs = subOrdersData.map(subO => subO.loadId);\r\n // const allLoadIDs = loadsData.map(load => load.id);\r\n // if (subLoads.length > 0) {\r\n // subLoads\r\n // .filter(subL => subOrdersOrderIDs.includes(subL.id))\r\n // .filter(subL => !allLoadIDs.includes(subL.parentLoadId))\r\n // .forEach(subLoad => loads.push(createWebLoad (\r\n // subLoad, \r\n // subOrdersData.filter(subOrder => subOrder.loadId === subLoad.id),\r\n // subLoads,\r\n // subOrdersData,\r\n // headers,\r\n // (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === subLoad.id),\r\n // true\r\n // )));\r\n // }\r\n\r\n if (assignedOrders.length !== loads.reduce((r, o) => r += o.ordersData.length, 0)) {\r\n console.log('Some assigned orders not found there loads');\r\n }\r\n return loads;\r\n};\r\n\r\nexport const updateOrdersLoadState = (state, orders, loads, subOrders, hasError = false, message = '', filterType = 'all', sortType = {type: \"\", ind: \"\", sort: null}) => ({\r\n ...state, ...{\r\n orders,\r\n loads,\r\n subOrders,\r\n loading: false,\r\n hasError,\r\n message,\r\n filterType,\r\n sortType,\r\n loadsAssignedOrders:\r\n extractWebLoadsToList(state) (\r\n createWebLoadArray(state) (\r\n loads,\r\n orders,\r\n subOrders,\r\n state.headers,\r\n state.loadsAssignedOrders), state.headers),\r\n }\r\n});\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return updateOrdersLoadState(state, [...data.assignedOrders.data], data.loads.data, data.subOrders.data, hasError, message);\r\n};\r\n\r\nexport const createWebLoad = (loadData, loadOrders, subLoads, subOrdersData, headers, oldWebLoad, isSub) => {\r\n const loadId = `load_${loadData.id}`;\r\n const loadWebData = {\r\n row: [],\r\n ordersData: [],\r\n subLoads: [],\r\n rowState: {\r\n type: 'load',\r\n isSub: isSub,\r\n subId: subLoads ? subLoads.find(l => l.parentLoadId === loadData.id)?.id : null,\r\n id: loadId,\r\n loadId: loadData.id,\r\n loadData,\r\n visible: true,\r\n reacted: oldWebLoad !== undefined && oldWebLoad?.rowState?.reacted,\r\n isChecked: oldWebLoad !== undefined && oldWebLoad?.rowState?.reacted,\r\n available: false,\r\n createPickKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}_${order.pickLocationId}`;\r\n }\r\n return createKey;\r\n },\r\n createDropKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}`;\r\n if (order.warehouse) {\r\n createKey = `${createKey}_0_${order.warehouseId}`;\r\n }\r\n else {\r\n createKey = `${createKey}_${order.dropLocationId}_0`;\r\n }\r\n }\r\n return createKey;\r\n },\r\n groups: (orders, keyFunction) => orders.reduce((r, o) => {\r\n const groupBy = keyFunction(o.rowState.orderData);\r\n r[groupBy] = [...r[groupBy] || [], o.rowState.orderData];\r\n return r;\r\n }, {}),\r\n findOrderGroup: (groups, order, createKey) => {\r\n return Object.keys(groups).find(go => {\r\n const oG = groups[go];\r\n if (oG.some(e => e.id === order.id)) {\r\n return groups[go];\r\n }\r\n if (createKey && go === createKey(order)) {\r\n return groups[go];\r\n }\r\n return null;\r\n });\r\n },\r\n height: itemDefaultSize\r\n }\r\n };\r\n loadOrders.forEach(lo => loadWebData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, loadWebData.rowState.reacted, isSub)));\r\n loadWebData.ordersData =\r\n loadWebData.ordersData.sort((a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''));\r\n\r\n const pickInboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createPickKey);\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) { \r\n switch (headerItem.key) {\r\n case 'readyToPay':\r\n value = \"SEND TO PAID\";\r\n fieldType = 'button';\r\n break\r\n case 'paid':\r\n value = \"Paid\";\r\n fieldType = 'text';\r\n break\r\n case 'sendToPayBy':\r\n value = loadData?.payerFullName;\r\n fieldType = 'text';\r\n break\r\n case 'paidDate':\r\n value = loadData?.paidDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'efs':\r\n value = loadData.efsSum ? `$${loadData.efsSum}` : '';\r\n fieldType = 'currency';\r\n cellStyle = getEfsBGColor(loadData.efsStatusMin);\r\n tooltip = getEfsStatusTooltip(loadData.efsStatusMin);\r\n break\r\n case 'driver_truck_Trailer_VIN':\r\n value = `${(loadData.driverName ? loadData.driverName : '')} ${(loadData.truckNumber ? loadData.truckNumber : '')} ${(loadData.trailer ? loadData.trailer : '')}`;//??? + vin\r\n fieldType = 'text';\r\n break;\r\n case 'pickLocation':\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[0];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n break;\r\n case 'dropLocation':\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[0];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n break;\r\n case 'carrierName':\r\n value = loadData.carrierName;\r\n fieldType = 'text';\r\n //editable = true;\r\n break;\r\n case 'rate':\r\n value = loadData.rate ? loadData.rate : '';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'additionalPay':\r\n const val = `${loadData.amount? `$${loadData.amount}`:' '} ${loadData?.additionalPay}`\r\n value = val;\r\n fieldType = 'text';\r\n break;\r\n case 'instructions':\r\n value = loadData.notes ? loadData.notes : '';\r\n fieldType = 'currency';\r\n //editable = true;\r\n break;\r\n case 'pickInDate':\r\n value = loadData?.loadType === 1 ? `${Object.keys(pickInboundGroups).length}P` : '1P';\r\n break;\r\n case 'palletCount':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ?\r\n +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadNumber;\r\n break;\r\n case 'readyDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const maxDate = Math.max.apply(null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }));\r\n if (maxDate) {\r\n value = new Date(maxDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n\r\n break;\r\n case 'inboundPickAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n loadWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n if (subLoads) {\r\n subLoads\r\n .filter(sl => sl.parentLoadId === loadData.id)\r\n .forEach(sl => {\r\n loadWebData.subLoads.push(createWebLoad(\r\n sl, \r\n subOrdersData.filter(so => so.loadId === sl.id),\r\n subLoads, \r\n subOrdersData, \r\n headers, \r\n oldWebLoad, \r\n true));\r\n });\r\n }\r\n\r\n return loadWebData;\r\n};\r\n\r\nexport const createWebOrder = (oData, headers, loadData, loadId, isHidden, isSub) => {\r\n const orderData = { ...oData };\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n id: `order_${orderData.id}_${loadId}`,\r\n isSub: isSub,\r\n orderObjectId: orderData.id,\r\n loadObjectId: loadData && loadData.id,\r\n orderData: orderData,\r\n loadData,\r\n orderId: `order_${orderData.id}`,\r\n loadId: loadId && loadId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData.id,\r\n height: itemDefaultSize,\r\n }\r\n };\r\n const pathname = window.location.pathname;\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let value2 = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id;\r\n break;\r\n case 'pickInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickIn): loadData.loadType === 3 ? toDateTime(orderData.outboundPickIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'lumper':\r\n value = loadData.loadType === 1 ? orderData.inboundLumper: loadData.loadType === 3 ? orderData.outboundLumper : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'dellAppt':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropAppointment): loadData.loadType === 3 ? toDateTime(orderData.outboundDropAppointment) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickOut): loadData.loadType === 3 ? toDateTime(orderData.outboundPickOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'readyDate':\r\n value = toDateTime(orderData.readyDate);\r\n fieldType = 'date';\r\n break;\r\n case 'in_load':\r\n value = orderData.inLoad;\r\n break;\r\n case 'out_load':\r\n value = orderData.outLoad;\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadType === 1 ? orderData.inboundLoadNumber: loadData.loadType === 3 ? orderData.outboundLoadNumber : '';\r\n break;\r\n case 'wk':\r\n value = orderData.puDate && new Date(orderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n fieldType = 'text';\r\n break;\r\n case 'dueDate':\r\n value = toDateTime(orderData.dueDate);\r\n fieldType = 'date';\r\n editable = false;\r\n break;\r\n case 'dropInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropIn): loadData.loadType === 3 ? toDateTime(orderData.outboundDropIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropOutDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropOut): loadData.loadType === 3 ? toDateTime(orderData.outboundDropOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'customerCodeOrName':\r\n value = orderData.customerCodeOrName;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = orderData.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'inboundPickAppointment':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickAppointment): loadData.loadType === 3 ? toDateTime(orderData.outboundPickAppointment) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n value2 = orderData.stepCount;\r\n fieldType = 'textInputPO';\r\n editable = orderData.stepCount ? true : false;\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n fieldType = 'integer';\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n fieldType = 'integer';\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n fieldType = 'integer';\r\n break;\r\n case 'podRequestStatus':\r\n let tempValue = loadData.loadType === 1 ? orderData.inPodRequestStatus : loadData.loadType === 3 ? orderData.outPodRequestStatus : '';\r\n if(pathname === \"/ap/deliveredtrucks\"){\r\n value = tempValue\r\n editable = true;\r\n fieldType = 'select';\r\n } else {\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested', 3: 'Don’t Split' };\r\n value = selectOptionsPOD[tempValue]\r\n editable = false;\r\n fieldType = 'text';\r\n }\r\n tooltip = loadData?.loadType === 1 && orderData?.inPodRequestAuthorFullName?.trim() ?\r\n `Last Changed: ${orderData?.inPodRequestAuthorFullName}` :\r\n loadData.loadType === 1 && !orderData?.inPodRequestAuthorFullName?.trim() ?\r\n `No changes` :\r\n loadData.loadType === 3 && orderData?.outPodRequestAuthorFullName?.trim() ?\r\n `Last Changed: ${orderData?.outPodRequestAuthorFullName}` :\r\n loadData.loadType === 3 && !orderData?.outPodRequestAuthorFullName?.trim() ?\r\n `No changes` : '';\r\n break;\r\n case 'podDoc':\r\n value = loadData.loadType === 1 ? orderData.callCheckInAttachment?.fileName : loadData.loadType === 3 ? orderData.callCheckOutAttachment?.fileName : '';\r\n if(pathname === \"/ap/deliveredtrucks\"){\r\n editable = true;\r\n fieldType = 'upload';\r\n } else {\r\n fieldType = 'download';\r\n editable = false;\r\n }\r\n tooltip = loadData.loadType === 1 && orderData.callCheckInAttachment?.fullName ?\r\n `Last Changed: ${orderData.callCheckInAttachment?.fullName}` :\r\n loadData.loadType === 1 && !orderData.callCheckInAttachment?.fullName ?\r\n `No changes` :\r\n loadData.loadType === 3 && orderData.callCheckOutAttachment?.fullName ?\r\n `Last Changed: ${orderData?.callCheckOutAttachment?.fullName}` :\r\n loadData.loadType === 3 && !orderData.callCheckOutAttachment?.fullName ?\r\n `No changes` : '';\r\n break;\r\n case 'orderNotesByCall':\r\n // value = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n value2 = loadData.loadType === 1 ? orderData.inPodNotesHistory : loadData.loadType === 3 ? orderData.outPodNotesHistory : '';\r\n // value = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n // fieldType = 'select';\r\n // editable = true;\r\n // break;\r\n let tempValueOrderNotes = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : ''\r\n if(pathname === \"/ap/deliveredtrucks\"){\r\n value = tempValueOrderNotes\r\n editable = true;\r\n fieldType = 'select_and_popover';\r\n } else {\r\n const selectOptionsPODStatus = { 'Delivered': 'Delivered', 'Shortage': 'Shortage', 'Overage': 'Overage', 'Reject': 'Reject' };\r\n value = selectOptionsPODStatus[tempValueOrderNotes]\r\n editable = false;\r\n fieldType = 'popover';\r\n }\r\n break;\r\n case 'actions':\r\n value = 'text';\r\n fieldType = 'actions';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n value2,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n return orderWebData;\r\n};\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state, ...{\r\n headers: [\r\n ...state.headers.slice(0, ind),\r\n ...[header],\r\n ...state.headers.slice(ind + 1)\r\n ],\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n }\r\n };\r\n};\r\n\r\nexport const filterDeliveredTrucks = (state, type) => {\r\n return {\r\n ...state,\r\n ...{\r\n filterType: type,\r\n },\r\n }\r\n};\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortType: sortValue,\r\n },\r\n});\r\n\r\nexport const reactedAssigned = (state, type, id) => {\r\n const loadsAssignedOrders = state.loadsAssignedOrders;\r\n const index = loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = loadsAssignedOrders[index];\r\n\r\n if (item && item.rowState.type !== 'order') {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n\r\n if (type === 'load') {\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header) => {\r\n if (rowState.orderData) {\r\n let newOrders = rowState.isSub ? [...state.subOrders] : [...state.orders];\r\n const changedOrder = newOrders.find(o => o.id === rowState.orderData.id);\r\n\r\n if (changedOrder) {\r\n if (header.key === 'orderNotesByCall') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outNotes'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inNotes'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'podRequestStatus') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outPodRequestStatus'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inPodRequestStatus'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'podDoc') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['callCheckOutAttachment'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['callCheckInAttachment'] = newValue;\r\n }\r\n } else\r\n changedOrder[header.key] = newValue;\r\n }\r\n newOrders = [...state.orders]; // ?\r\n return updateOrdersLoadState(state, newOrders, state.loads, state.subOrders, state.hasError, state.message, state.filterType, state.sortType);\r\n }\r\n else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const getHistoryListDeliveredTrucks = (state, response) => {\r\n const data = response.data.data || [];\r\n return {\r\n ...state,\r\n historyList: data,\r\n historyLoading: false,\r\n }\r\n};\r\n\r\nexport const setHistoryLoadingDeliveredTrucks = state => ({\r\n ...state, ...{\r\n historyLoading: true\r\n }\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state, ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable\r\n }\r\n }\r\n});\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: ''\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","export const getEfsColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { color: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { color: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { color: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { color: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsBGColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { backgroundColor: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { backgroundColor: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { backgroundColor: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { backgroundColor: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsStatusTooltip = status => {\r\n switch (status) {\r\n case 1:\r\n return \"New Request\";\r\n case 2:\r\n return \"Issued\";\r\n case 3:\r\n return \"Rejected\";\r\n case 4:\r\n return \"Sent\";\r\n default:\r\n return null;\r\n }\r\n};","import {\r\n DELIVERED_TRUCKS_BUILD as actionTypes,\r\n} from '../../actions/deliveredTrucksActions/deliveredTrucksActionTypes';\r\nimport * as loadArea from './deliveredTrucksReducer';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'left_action',\r\n title: '',\r\n width: 36,\r\n leftAction: true,\r\n visible: true\r\n },\r\n {\r\n key: 'pickInDate',\r\n title: 'Pick IN',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n\r\n },\r\n {\r\n key: 'pickOutDate',\r\n title: 'Pick OUT',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'Ready date',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'inboundPickAppointment',\r\n title: 'Pick Appt',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dellAppt',\r\n title: 'Del Appt',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropInDate',\r\n title: 'Del In',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'dropOutDate',\r\n title: 'Del Out',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'customerCodeOrName',\r\n title: 'Cust',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Pick',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'Delivery',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 57,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 37,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'space',\r\n title: 'SPA',\r\n width: 37,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'cases',\r\n title: 'CS',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'LBS',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'loadNumber',\r\n title: 'LOAD #',\r\n width: 90,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'wk',\r\n title: 'WK',\r\n width: 40,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'in_load',\r\n title: 'In Load',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'out_load',\r\n title: 'Out Load',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'carrierName',\r\n title: 'Carrier',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'rate',\r\n title: 'Rate',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'additionalPay',\r\n title: 'Additional Pay',\r\n width: 100,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'driver_truck_Trailer_VIN',\r\n title: 'Driver/Truck',\r\n width: 160,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'lumper',\r\n title: 'Lumper',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'efs',\r\n title: 'EFS',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'instructions',\r\n title: 'Notes',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'podRequestStatus',\r\n title: 'POD Request',\r\n width: 95,\r\n leftAction: false,\r\n visible: true,\r\n sortable: true\r\n },\r\n {\r\n key: 'podDoc',\r\n title: 'POD Doc.',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'orderNotesByCall',\r\n title: 'POD Status',\r\n width: 110,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'actions',\r\n title: 'Action',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n }\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n orders: null,\r\n loads: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n filterType: '',\r\n sortType: {type: \"\", ind: \"\", sort: null},\r\n};\r\nconst defaultStateClone = {...defaultState};\r\n\r\nexport default (state = defaultState, action) => {\r\n const pathname = window.location.pathname;\r\n if(pathname === \"/ap/readytopay\" && !state.headers.filter(item => item.key === \"readyToPay\").length){\r\n state.headers = [...defaultStateClone.headers, {\r\n key: 'readyToPay',\r\n title: '',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n }]\r\n }\r\n if(pathname === \"/ap/paid\" && !state.headers.filter(item => item.key === \"paid\" ).length){\r\n state.headers = [...defaultStateClone.headers, {\r\n key: 'paid',\r\n title: 'Paid Status',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },{\r\n key: 'sendToPayBy',\r\n title: 'Send to Pay by',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },{\r\n key: 'paidDate',\r\n title: 'Paid Date',\r\n width: 150,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },\r\n ]\r\n }\r\n if(pathname === \"/ap/deliveredtrucks\"){\r\n state.headers = [...defaultStateClone.headers]\r\n }\r\n switch (action.type) {\r\n case actionTypes.GET_DELIVERED_TRUCKS:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.DELIVERED_TRUCKS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.FILTER_DELIVERED_TRUCKS:\r\n return loadArea.filterDeliveredTrucks(state, action.data);\r\n case actionTypes.SORT_DELIVERED_TRUCKS:\r\n return loadArea.sortBy(state, action.data);\r\n case actionTypes.GET_DELIVERED_TRUCKS_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.RELOAD_ON_ERROR_DELIVERED_TRUCKS:\r\n return loadArea.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH_DELIVERED_TRUCKS:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.SET_DISPLAY_STATE_DELIVERED_TRUCKS:\r\n return loadArea.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.REACTED_ASSIGNED_DELIVERED_TRUCKS:\r\n return loadArea.reactedAssigned(state, action.data.type, action.data.id);\r\n case actionTypes.SET_DELIVERED_TRUCKS_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.GET_HISTORY_DELIVERED_TRUCKS:\r\n return loadArea.getHistoryListDeliveredTrucks(state, action.data);\r\n case actionTypes.GET_HISTORY_DELIVERED_TRUCKS_LOADING:\r\n return loadArea.setHistoryLoadingDeliveredTrucks(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import { createSeparator } from './helper/separator';\r\nimport { formatPhoneNumber } from \"../../../codeless/helper/common\";\r\n\r\nconst itemDefaultSize = 20;\r\nconst defRowHeight = 40;\r\nconst statusList = {\r\n currentlyInDoor: 5,\r\n nextUp: 1,\r\n};\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n id: `load_${data.loadId}`,\r\n loadId: data.loadId,\r\n type: data.loadType,\r\n loadData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n }, \r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let color = '#080E0E';\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let subType = null;\r\n let statusValue = null;\r\n let priorityValue = null;\r\n let delayedValue = null;\r\n let valueText = null;\r\n switch (headerItem.key) {\r\n case 'loadNum':\r\n value = data.loadvIdentifier;\r\n color = data.loadStatus === 5 ? '#FF0000' : '#FFACAC';\r\n break;\r\n case 'carrierName':\r\n value = data.carrierName;\r\n break;\r\n case 'driverPhone':\r\n value = formatPhoneNumber(data.driverPhone);\r\n break;\r\n case 'driverName':\r\n value = data.driverName;\r\n break;\r\n case 'st':\r\n value = data.state;\r\n fieldType = 'text';\r\n break;\r\n case 'palIn':\r\n value = data.loadType === 1 ? data.palletCountSum : '';\r\n fieldType = 'text';\r\n break;\r\n case 'palOut':\r\n value = data.loadType === 3 ? data.palletCountSum : '';\r\n fieldType = 'text';\r\n break;\r\n case 'day':\r\n value = data.previousDt;\r\n fieldType = 'date';\r\n break;\r\n case 'time':\r\n value = data.previousDt;\r\n fieldType = 'date';\r\n break;\r\n case 'customer':\r\n value = data.customer;\r\n fieldType = 'text';\r\n break;\r\n case 'in':\r\n value = data.previousIn;\r\n fieldType = 'date';\r\n break;\r\n case 'out':\r\n value = data.previousOut;\r\n fieldType = 'date';\r\n break;\r\n case 'whDay':\r\n value = data.whDt;\r\n fieldType = 'date';\r\n break;\r\n case 'whTime':\r\n value = data.whDt;\r\n fieldType = 'date';\r\n break;\r\n case 'eta':\r\n value = data.whDour;\r\n fieldType = 'select';\r\n editable = true;\r\n break;\r\n case 'checkIn':\r\n value = data.whIn;\r\n fieldType = 'date';\r\n break;\r\n case 'checkOut':\r\n value = data.whOut;\r\n fieldType = 'date';\r\n break;\r\n case 'firstDrop':\r\n value = data.firstDrop;\r\n fieldType = 'text';\r\n break;\r\n case 'truckVerified':\r\n value = data.isTruckVerifaed;\r\n fieldType = 'select';\r\n editable = true;\r\n color = data.isTruckVerifaed === 2 ? '#008000' : data.isTruckVerifaed === 3 ? '#FF0000': '#000000';\r\n break;\r\n case 'inboundsNeeded':\r\n value = data.inLoadNeeds;\r\n break;\r\n case 'trafficNote':\r\n value = data.trafficNote;\r\n fieldType = 'textInput';\r\n editable = true;\r\n break;\r\n case 'status':\r\n fieldType = (loadStatus === 6 || loadStatus === 7) ? 'text' : 'checkbox';\r\n editable = loadStatus === 6 ? false : true;\r\n valueText = loadStatus === 6 ? 'DONE' : 'REOPEN';\r\n statusValue = loadStatus;\r\n priorityValue = data.isPriority;\r\n delayedValue = data.isDelayed;\r\n value = loadStatus;\r\n color = loadStatus === 7 ? '#FF0000' : 'black' ;\r\n break;\r\n case 'status2':\r\n valueText = loadStatus === 6 ? 'REOPEN' : loadStatus === 7 ? 'DONE' : loadStatus === 1 ? 'CURRENTLY_IN_DOOR' : loadStatus === 5 ? 'SEND_DONE' : '';\r\n fieldType = loadStatus === 6 ? 'select' : 'text';\r\n editable = loadStatus === 6 || loadStatus === 7 ? true : false;\r\n statusValue = loadStatus;\r\n value = loadStatus;\r\n break;\r\n case 'status3':\r\n valueText = loadStatus === 5 ? 'NEXT_UP' : loadStatus === 6 || loadStatus === 7 ? 'COMPLETED' : '' ;\r\n fieldType = 'text';\r\n editable = false;\r\n color = data.loadStatus === 6 ? '#29CABA' : '#DEDEDE';\r\n statusValue = data.loadStatus;\r\n value = loadStatus;\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n color,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n subType,\r\n statusValue,\r\n priorityValue,\r\n delayedValue,\r\n valueText,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nexport const createWebSubHeader = (currentAndNextHeaders, subHeaderName) => {\r\n const subHeaderData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'subHeader',\r\n id: subHeaderName,\r\n visible: true,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n for (let Index = 0; Index < currentAndNextHeaders.length; Index++) {\r\n const regionHeader = currentAndNextHeaders[Index];\r\n subHeaderData.row.push({\r\n key: regionHeader.key,\r\n value: Index === 0 ? subHeaderName : '',\r\n editable: false,\r\n });\r\n }\r\n return subHeaderData;\r\n};\r\n\r\nconst createDoneTrafficList = (state, doneTrafficList) => doneTrafficList.map(data => createWebOrder(data, state.headers));\r\nconst createCurrentTrafficList = (state, currentTrafficList) => currentTrafficList.map(data => createWebOrder(data, state.headers));\r\nconst createNextTrafficList = (state, nextTrafficList) => nextTrafficList.map(data => createWebOrder(data, state.headers));\r\n\r\nconst createHeaderForTrafficList = (state, loadType) => createWebSubHeader(state.currentAndNextHeaders, loadType);\r\n\r\nconst createCurrentTrafficListWithSeparator = (state, curentTrafficList) => {\r\n const currentTraffics = [];\r\n currentTraffics.push(createHeaderForTrafficList(state, 'Currently in door'));\r\n curentTrafficList.map(item => currentTraffics.push(item));\r\n return currentTraffics;\r\n};\r\nconst createNextTrafficListWithSeparator = (state, nextTrafficList) => {\r\n const nextTraffics = [];\r\n nextTraffics.push(createSeparator(defRowHeight, state.headers, 'nextTraffic'));\r\n nextTraffics.push(createHeaderForTrafficList(state, 'Next Up'));\r\n nextTrafficList.map(item => nextTraffics.push(item));\r\n return nextTraffics;\r\n};\r\n\r\nconst currentAndNextTrafficList = (state, currentTrafficListState, nextTrafficListState) =>\r\n createCurrentTrafficListWithSeparator(state, currentTrafficListState).concat(\r\n createNextTrafficListWithSeparator(state, nextTrafficListState),\r\n);\r\n\r\nconst allTrafficListJoined = (state, doneTrafficList, currentTrafficList, nextTrafficList) => (\r\n createDoneTrafficList(state, doneTrafficList).concat(createCurrentTrafficList(state, currentTrafficList), createNextTrafficList(state, nextTrafficList)\r\n));\r\n\r\nexport const setTrafficControl = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const allTrafficList = [...data.doneTrafficList, ...data.curentTrafficList, ...data.nextTrafficList];\r\n const doneTrafficList = allTrafficList.filter(load => load.loadStatus === 6 || load.loadStatus === 7);\r\n const currentTrafficList = allTrafficList.filter(load => load.loadStatus === 5);\r\n const nextTrafficList = allTrafficList.filter(load => load.loadStatus === 1);\r\n const allTrafficListState = allTrafficListJoined(state, doneTrafficList, currentTrafficList, nextTrafficList);\r\n const currentTrafficListState = allTrafficListState.filter(load => load.rowState.loadStatus === 5);\r\n const nextTrafficListState = allTrafficListState.filter(load => load.rowState.loadStatus === 1);\r\n const doneTrafficListState = allTrafficListState.filter(load => load.rowState.loadStatus === 6 || load.rowState.loadStatus === 7);\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError,\r\n message,\r\n allTrafficList: allTrafficListJoined(state, doneTrafficList, currentTrafficList, nextTrafficList),\r\n doneTrafficList: doneTrafficListState.sort((load1, load2) => load1.rowState.loadId - load2.rowState.loadId),\r\n currentTrafficList: currentTrafficListState,\r\n nextTrafficList: nextTrafficListState,\r\n currentAndNextTrafficList: currentAndNextTrafficList(state, currentTrafficListState, nextTrafficListState),\r\n currentAndNextRowList: createHeaderForTrafficList(state),\r\n palletCountSummary: data.paletCountSum,\r\n },\r\n };\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header, subType) => {\r\n if (rowState.loadData) {\r\n const trafficList = rowState.loadStatus === 6 || rowState.loadStatus === 7 ? [...state.doneTrafficList] : [...state.currentAndNextTrafficList];\r\n\r\n const changedLoad = trafficList.find(o => o.rowState.id === rowState.id);\r\n if (changedLoad) {\r\n changedLoad.row.forEach(row => {\r\n if (row.key === header.key && header.key === 'truckVerified') {\r\n if (newValue === 1) {\r\n row.color = '#000000';\r\n } else if (newValue === 2) {\r\n row.color = '#008000';\r\n } else if (newValue === 3) {\r\n row.color = '#FF0000';\r\n }\r\n }\r\n\r\n if (row.key === header.key && header.key === 'status') {\r\n if (subType === 'priority') {\r\n row.priorityValue = newValue;\r\n } else if (subType === 'delayed') {\r\n row.delayedValue = newValue;\r\n }\r\n }\r\n\r\n if (row.key === header.key) {\r\n return (row.value = newValue);\r\n }\r\n });\r\n }\r\n return state;\r\n } else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const updateLoadStatus = (state, newStatus, rowState, header, loadId) => {\r\n if (rowState.loadData) {\r\n const changedLoad = state.allTrafficList.find(o => o.rowState.loadId === loadId);\r\n if (changedLoad) {\r\n changedLoad.row.forEach(row => {\r\n if (row.key === 'status' && newStatus === 6) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'DONE';\r\n row.fieldType = 'text';\r\n }\r\n if (row.key === 'status' && newStatus === 7) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'REOPEN';\r\n row.fieldType = 'text';\r\n row.color = '#FF0000';\r\n }\r\n if (row.key === 'status' && newStatus === 5) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.fieldType = 'checkbox';\r\n }\r\n if (row.key === 'status2' && newStatus === 6) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'REOPEN';\r\n row.color = 'FF0000';\r\n row.fieldType = 'select';\r\n row.editable = true;\r\n }\r\n if (row.key === 'status2' && newStatus === 7) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'DONE';\r\n row.color = 'FF0000';\r\n row.fieldType = 'text';\r\n row.editable = false;\r\n }\r\n if (row.key === 'status2' && newStatus === 5) {\r\n row.valueText = 'SEND_DONE';\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.fieldType = 'text';\r\n }\r\n if (row.key === 'status2' && newStatus === 1) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'CURRENTLY_IN_DOOR';\r\n }\r\n if (row.key === 'status3' && newStatus === 5) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'NEXT_UP';\r\n }\r\n if (row.key === 'status3' && (newStatus === 7)) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'COMPLETED';\r\n row.color = '#DEDEDE';\r\n }\r\n if (row.key === 'status3' && (newStatus === 6)) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = 'COMPLETED';\r\n row.color = '#29CABA';\r\n }\r\n if (row.key === 'status3' && newStatus === 1) {\r\n row.value = newStatus;\r\n row.statusValue = newStatus;\r\n row.valueText = '';\r\n }\r\n });\r\n }\r\n changedLoad.rowState.loadStatus = newStatus;\r\n\r\n return {\r\n ...state,\r\n doneTrafficList: state.allTrafficList.filter(load => load.rowState.loadStatus === 6 || load.rowState.loadStatus === 7),\r\n currentTrafficList: state.allTrafficList.filter(load => load.rowState.loadStatus === 5),\r\n nextTrafficList: state.allTrafficList.filter(load => load.rowState.loadStatus === 1),\r\n currentAndNextTrafficList: currentAndNextTrafficList(state, \r\n state.allTrafficList.filter(load => load.rowState.loadStatus === 5),\r\n state.allTrafficList.filter(load => load.rowState.loadStatus === 1),\r\n )\r\n };\r\n } else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const reOrderLoads = (state, newList) => {\r\n const currentTrafficOrderedLoadsIDs = state.currentAndNextTrafficList\r\n ?.filter(load => load.rowState.loadStatus === statusList.currentlyInDoor)\r\n .map(load => load.rowState.loadId);\r\n\r\n const dragOnCurrentlyInDoor = currentTrafficOrderedLoadsIDs?.filter(loadId => loadId === newList[0])[0];\r\n\r\n const sortByDragAndDrop = (trafficListState, newList) => {\r\n const reSortedList = [];\r\n for (let i = 0; i < newList.length; i++) {\r\n for (let j = 0; j < trafficListState.length; j++) {\r\n if (newList[i] === trafficListState[j].rowState.loadId) {\r\n reSortedList.push(trafficListState[j]);\r\n }\r\n }\r\n }\r\n return reSortedList;\r\n };\r\n\r\n const sortedCurrentTrafficListState = dragOnCurrentlyInDoor ? sortByDragAndDrop(state.currentTrafficList, newList) : state.currentTrafficList;\r\n const sortedNextTrafficListState = !dragOnCurrentlyInDoor ? sortByDragAndDrop(state.nextTrafficList, newList) : state.nextTrafficList;\r\n\r\n return {\r\n ...state,\r\n currentAndNextTrafficList: currentAndNextTrafficList(state, sortedCurrentTrafficListState, sortedNextTrafficListState),\r\n currentTrafficList: dragOnCurrentlyInDoor ? sortByDragAndDrop(state.currentTrafficList, newList) : state.currentTrafficList,\r\n nextTrafficList: !dragOnCurrentlyInDoor ? sortByDragAndDrop(state.nextTrafficList, newList) : state.nextTrafficList,\r\n };\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n\r\n let index = 0;\r\n let len = 0;\r\n let start = 0;\r\n if (ind < 5) { // length of first subHeader\r\n index = 0;\r\n len = 5;\r\n } else if (ind >= 5 && ind < 6) {\r\n index = 1;\r\n len = 6; // length of first and second subHeaders\r\n start = 5;\r\n } else if (ind >= 6 && ind < 7) {\r\n index = 2;\r\n len = 7; // length of first, second and third subHeaders\r\n start = 6;\r\n } else if (ind >= 7 && ind < 12) {\r\n index = 3;\r\n len = 12; // length of first, second, third and forth subHeaders\r\n start = 7;\r\n } else if (ind >= 12 && ind < 17) {\r\n index = 4;\r\n len = 17;\r\n start = 12;\r\n } else if (ind >= 17 && ind < 24) {\r\n index = 5;\r\n len = 24;\r\n start = 17;\r\n }\r\n\r\n const subHeader = state.subHeaders[index];\r\n subHeader.width = 0;\r\n let subHeaderWidth = 0;\r\n \r\n for (let i = 0; i < ind+1; i++) {\r\n subHeaderWidth = subHeaderWidth + state.headers[i].width;\r\n }\r\n\r\n for (let i = start; i < len; i++) {\r\n if (i === ind) {\r\n subHeader.width = subHeader.width + width;\r\n } else {\r\n subHeader.width = subHeader.width + state.headers[i].width;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n subHeaders: [...state.subHeaders.slice(0, index), ...[subHeader], ...state.subHeaders.slice(index+1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return setTrafficControl(state, response, hasError, message);\r\n };\r\n\r\n\r\nexport const setLoadNeedId = (state, id) => ({\r\n ...state,\r\n ...{\r\n inLoadNeedId: id,\r\n },\r\n});\r\n \r\n\r\nexport const setError = (state, error) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: error?.statusText ? error?.statusText : 'Something went wrong, try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","export const createSeparator = (itemDefaultSize, headers, type) => ({\r\n row: [{\r\n key: headers[0].key,\r\n value: '',\r\n editable: false,\r\n height: itemDefaultSize\r\n }],\r\n rowState: {\r\n type: 'separator',\r\n id: `${type}_separator`,\r\n visible: true,\r\n height: 4\r\n }\r\n});","import { TRAFFIC_CONTROL_BUILD as actionTypes } from '../../actions/trafficControl/trafficControlActionTypes';\r\nimport * as trafficControl from './trafficReducers';\r\nimport { getContentWidthExceptLeftAction } from './helper/general';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'loadNum',\r\n title: 'Load #',\r\n width: 80,\r\n visible: true,\r\n },\r\n {\r\n key: 'carrierName',\r\n title: 'CARRIER',\r\n width: 80,\r\n visible: true,\r\n },\r\n {\r\n key: 'driverName',\r\n title: 'DRIVER NAME',\r\n width: 90,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'driverPhone',\r\n title: 'DRIVER #',\r\n width: 80,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'st',\r\n title: 'ST',\r\n width: 50,\r\n visible: true,\r\n },\r\n {\r\n key: 'palIn',\r\n title: 'PAL IN',\r\n width: 50,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'palOut',\r\n title: 'PAL OUT',\r\n width: 55,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'day',\r\n title: 'DAY',\r\n width: 50,\r\n visible: true,\r\n },\r\n {\r\n key: 'time',\r\n title: 'TIME',\r\n width: 50,\r\n visible: true,\r\n },\r\n {\r\n key: 'customer',\r\n title: 'CUST',\r\n width: 100,\r\n visible: true,\r\n dropGroup: true,\r\n },\r\n {\r\n key: 'in',\r\n title: 'IN',\r\n width: 50,\r\n visible: true,\r\n dropGroup: true,\r\n },\r\n {\r\n key: 'out',\r\n title: 'OUT',\r\n width: 50,\r\n visible: true,\r\n dropGroup: true,\r\n },\r\n {\r\n key: 'whDay',\r\n title: 'DAY',\r\n width: 50,\r\n visible: true,\r\n },\r\n {\r\n key: 'whTime',\r\n title: 'WH TIME',\r\n width: 60,\r\n visible: true,\r\n },\r\n {\r\n key: 'eta',\r\n title: 'ETA',\r\n width: 85,\r\n visible: true,\r\n },\r\n {\r\n key: 'checkIn',\r\n title: 'CHECK IN',\r\n width: 60,\r\n visible: true,\r\n },\r\n {\r\n key: 'checkOut',\r\n title: 'CHECK OUT',\r\n width: 70,\r\n visible: true,\r\n },\r\n {\r\n key: 'firstDrop',\r\n title: '1ST DROP',\r\n width: 100,\r\n visible: true,\r\n },\r\n {\r\n key: 'truckVerified',\r\n title: 'TRUCK VERIFIED',\r\n width: 100,\r\n visible: true,\r\n },\r\n {\r\n key: 'inboundsNeeded',\r\n title: 'INBOUNDS NEEDED',\r\n width: 120,\r\n visible: true,\r\n },\r\n {\r\n key: 'trafficNote',\r\n title: 'ADD NOTES',\r\n width: 100,\r\n visible: true,\r\n },\r\n {\r\n key: 'status',\r\n title: 'STATUS',\r\n width: 70,\r\n visible: true,\r\n },\r\n {\r\n key: 'status2',\r\n title: '',\r\n width: 80,\r\n visible: true,\r\n },\r\n {\r\n key: 'status3',\r\n title: '',\r\n width: 80,\r\n visible: true,\r\n },\r\n ],\r\n subHeaders: [\r\n {\r\n key: 'empty1',\r\n title: '',\r\n width: 380,\r\n visible: true,\r\n },\r\n {\r\n key: 'netPal',\r\n title: 'NET PAL',\r\n width: 50,\r\n visible: true,\r\n },\r\n {\r\n key: 'empty2',\r\n title: '',\r\n width: 55,\r\n visible: true,\r\n },\r\n {\r\n key: 'previouSP',\r\n title: 'PREVIOUS P/U',\r\n width: 300,\r\n visible: true,\r\n },\r\n {\r\n key: 'sanFernando',\r\n title: 'SAN FERNANDO',\r\n width: 325,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'empty3',\r\n title: '',\r\n width: 650,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n ],\r\n currentAndNextHeaders: [\r\n {\r\n key: 'title',\r\n width: () => 150,\r\n },\r\n {\r\n key: 'empty',\r\n width: headers => getContentWidthExceptLeftAction(headers) - 150,\r\n },\r\n ],\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n existing: 0,\r\n doneTrafficList: null,\r\n currentTrafficList: null,\r\n nextTrafficList: null,\r\n currentAndNextTrafficList: null,\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false,\r\n },\r\n inLoadNeedId: '',\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_IN_LOADING:\r\n return trafficControl.setInLoading(state);\r\n case actionTypes.ERROR:\r\n return trafficControl.setError(state, action.data);\r\n case actionTypes.SET_HEADER_WIDTH_TRAFFIC:\r\n return trafficControl.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.RESET_ERROR:\r\n return trafficControl.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR_TRAFFIC:\r\n return trafficControl.loadContent(state, action.data, true, 'Required fields missing');\r\n case actionTypes.GET_TRAFFIC_CONTROL:\r\n return trafficControl.setTrafficControl(state, action.data);\r\n case actionTypes.SET_DATA:\r\n return trafficControl.setData(state, action.data.value, action.data.rowState, action.data.header, action.data.subType);\r\n case actionTypes.SET_DISPLAY_STATE:\r\n return trafficControl.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.UPDATE_LOAD_STATUS:\r\n return trafficControl.updateLoadStatus(state, action.data.newStatus, action.data.rowState, action.data.header, action.data.loadId,);\r\n case actionTypes.RE_ORDER_LOADS:\r\n return trafficControl.reOrderLoads(state, action.data.newList);\r\n case actionTypes.SET_LOAD_NEED_ID:\r\n return trafficControl.setLoadNeedId(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { formatPhoneNumber } from \"../../../codeless/helper/common\";\r\n\r\nconst itemDefaultSize = 20;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n id: `load_${data.loadId}`,\r\n loadId: data.loadId,\r\n type: data.loadType,\r\n loadData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n }, \r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let color = '#080E0E';\r\n let fieldType = 'text';\r\n let editable = false;\r\n let isBold = false;\r\n let cellStyle = {};\r\n let subType = null;\r\n let statusValue = null;\r\n let priorityValue = null;\r\n let delayedValue = null;\r\n let valueText = null;\r\n let date = null;\r\n switch (headerItem.key) {\r\n case 'loadNum':\r\n value = data?.loadvIdentifier;\r\n color = '#FFACAC';\r\n break;\r\n case 'carrierName':\r\n value = data.carrierName;\r\n break;\r\n case 'driverPhone':\r\n value = formatPhoneNumber(data.driverPhone);\r\n break;\r\n case 'driverName':\r\n value = data.driverName;\r\n break;\r\n case 'st':\r\n value = data.state;\r\n fieldType = 'text';\r\n break;\r\n case 'palIn':\r\n value = data.loadType === 1 ? data.palletCountSum : '';\r\n fieldType = 'text';\r\n break;\r\n case 'palOut':\r\n value = data.loadType === 3 ? data.palletCountSum : '';\r\n fieldType = 'text';\r\n break;\r\n case 'day':\r\n value = data.whDt;\r\n fieldType = 'date';\r\n break;\r\n case 'time':\r\n value = data.whDt;\r\n fieldType = 'date';\r\n break;\r\n case 'customer':\r\n value = data.customer;\r\n fieldType = 'text';\r\n break;\r\n case 'in':\r\n value = data.previousIn;\r\n fieldType = 'date';\r\n break;\r\n case 'firstDrop':\r\n value = data.firstDrop;\r\n fieldType = 'text';\r\n break;\r\n case 'trafficNote':\r\n value = data.trafficNote;\r\n fieldType = 'textInput';\r\n editable = true;\r\n break;\r\n case 'status':\r\n fieldType = 'checkbox';\r\n editable = true;\r\n priorityValue = data.isPriority;\r\n value = loadStatus;\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n color,\r\n fieldType,\r\n displayState: 1,\r\n isBold,\r\n editable,\r\n cellStyle,\r\n subType,\r\n statusValue,\r\n priorityValue,\r\n delayedValue,\r\n valueText,\r\n date,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nexport const createWebSubHeader = (currentAndNextHeaders, subHeaderName) => {\r\n const subHeaderData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'subHeader',\r\n id: subHeaderName,\r\n visible: true,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n for (let Index = 0; Index < currentAndNextHeaders.length; Index++) {\r\n const regionHeader = currentAndNextHeaders[Index];\r\n subHeaderData.row.push({\r\n key: regionHeader.key,\r\n value: Index === 0 ? subHeaderName : '',\r\n editable: false,\r\n });\r\n }\r\n return subHeaderData;\r\n};\r\n\r\nconst createUpcomingTrafficList = (state, upcomingTrafficList) => upcomingTrafficList.map(data => createWebOrder(data, state.headers));\r\n\r\nconst allTrafficListJoined = (state, upcomingTrafficList) => createUpcomingTrafficList(state, upcomingTrafficList);\r\n\r\nexport const setTrafficControlUpcoming = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const upcomingTrafficListState = allTrafficListJoined(state, [...data.nextTrafficList]);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError,\r\n message,\r\n upcomingTrafficList: upcomingTrafficListState.sort((load1, load2) => load1.rowState.loadId - load2.rowState.loadId),\r\n },\r\n };\r\n};\r\n\r\nexport const setFilterByDate = (state, filteredOrdersList) => {\r\n return {\r\n ...state,\r\n ...{\r\n filteredUpcomingTrafficList: filteredOrdersList,\r\n },\r\n };\r\n};\r\n\r\nexport const setDataUpcoming = (state, newValue, rowState, header, subType) => {\r\n if (rowState.loadData) {\r\n const trafficList = [...state.upcomingTrafficList];\r\n \r\n const changedLoad = trafficList.find(o => o.rowState.id === rowState.id);\r\n if (changedLoad) {\r\n changedLoad.row.forEach(row => {\r\n if (row.key === header.key && header.key === 'status') {\r\n if (subType === 'priority') {\r\n row.priorityValue = newValue;\r\n }\r\n }\r\n if (row.key === header.key) {\r\n return (row.value = newValue);\r\n }\r\n });\r\n }\r\n return state;\r\n } else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n\r\n let index = 0;\r\n let len = 0;\r\n let start = 0;\r\n if (ind < 7) { // length of first subHeader\r\n index = 0;\r\n len = 7;\r\n } else if (ind >= 7 && ind < 9) {\r\n index = 1;\r\n len = 9; // length of first and second subHeaders\r\n start = 7;\r\n } else if (ind >= 9 && ind < 12) {\r\n index = 2;\r\n len = 12;\r\n start = 9;\r\n }\r\n\r\n const subHeader = state.subHeaders[index];\r\n subHeader.width = 0;\r\n\r\n for (let i = start; i < len; i++) {\r\n if (i === ind) {\r\n subHeader.width = subHeader.width + width;\r\n } else {\r\n subHeader.width = subHeader.width + state.headers[i].width;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n subHeaders: [...state.subHeaders.slice(0, index), ...[subHeader], ...state.subHeaders.slice(index+1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return setTrafficControlUpcoming(state, response, hasError, message);\r\n};\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","import { TRAFFIC_CONTROL_BUILD as actionTypes } from '../../actions/trafficControlUpcoming/trafficControlUpcomingActionTypes';\r\nimport * as trafficControlUpcoming from './trafficControlUpcomingReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'loadNum',\r\n title: 'Load #',\r\n width: 120,\r\n },\r\n {\r\n key: 'carrierName',\r\n title: 'CARRIER',\r\n width: 80,\r\n },\r\n {\r\n key: 'driverName',\r\n title: 'DRIVER NAME',\r\n width: 90,\r\n },\r\n {\r\n key: 'driverPhone',\r\n title: 'DRIVER #',\r\n width: 80,\r\n },\r\n {\r\n key: 'st',\r\n title: 'ST',\r\n width: 50,\r\n },\r\n {\r\n key: 'palIn',\r\n title: 'PAL IN',\r\n width: 60,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'palOut',\r\n title: 'PAL OUT',\r\n width: 60,\r\n },\r\n {\r\n key: 'day',\r\n title: 'DAY',\r\n width: 60,\r\n visible: true,\r\n },\r\n {\r\n key: 'time',\r\n title: 'WH TIME',\r\n width: 60,\r\n visible: true,\r\n },\r\n {\r\n key: 'firstDrop',\r\n title: '1ST DROP',\r\n width: 100,\r\n visible: true,\r\n },\r\n {\r\n key: 'trafficNote',\r\n title: 'ADD NOTES',\r\n width: 100,\r\n visible: true,\r\n },\r\n {\r\n key: 'status',\r\n title: 'STATUS',\r\n width: 70,\r\n visible: true,\r\n },\r\n ],\r\n subHeaders: [\r\n {\r\n key: 'filter1',\r\n title: '',\r\n width: 540,\r\n visible: true,\r\n },\r\n {\r\n key: 'sanFernando',\r\n title: 'SAN FERNANDO',\r\n width: 120,\r\n visible: true,\r\n },\r\n {\r\n key: 'empty',\r\n title: '',\r\n width: 270,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n ],\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n existing: 0,\r\n upcomingTrafficList: null,\r\n filteredUpcomingTrafficList: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_IN_LOADING:\r\n return trafficControlUpcoming.setInLoading(state);\r\n case actionTypes.SET_HEADER_WIDTH_TRAFFIC_UPCOMING:\r\n return trafficControlUpcoming.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.RESET_ERROR:\r\n return trafficControlUpcoming.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return trafficControlUpcoming.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_DATA_UPCOMING:\r\n return trafficControlUpcoming.setDataUpcoming(state, action.data.value, action.data.rowState, action.data.header, action.data.subType);\r\n case actionTypes.GET_TRAFFIC_CONTROL_UPCOMING:\r\n return trafficControlUpcoming.setTrafficControlUpcoming(state, action.data);\r\n case actionTypes.FILTER_BY_DATE_UPCOMING:\r\n return trafficControlUpcoming.setFilterByDate(state, action.data.filteredOrdersList);\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const setCustomerDashboard = (state, data) => ({\r\n ...state,\r\n hasError: data.hasError,\r\n message: data.message,\r\n loading: false,\r\n ...data,\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});","import { CUSTOMER_DASHBOARD_BUILD as actionTypes } from '../../actions/customerDashboard/customerDashboardActionTypes';\r\nimport * as customerDashboard from './customerDashboardReducers';\r\n\r\nconst defaultState = {\r\n hasError: false,\r\n message: '',\r\n loading: true,\r\n customerDashboard: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) { \r\n case actionTypes.CUSTOMER_DASHBOARD_LOADING:\r\n return customerDashboard.setInLoading(state);\r\n case actionTypes.RESET_ERROR:\r\n return customerDashboard.resetError(state);\r\n case actionTypes.SET_CUSTOMER_DASHBOARD_DATA:\r\n return customerDashboard.setCustomerDashboard(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { orderBy } from \"lodash\";\r\nconst itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n loadId: `load_${data.loadId}`,\r\n orderId: data.id,\r\n type: data.loadType,\r\n orderData: data,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'readyDate':\r\n fieldType = 'dateTime';\r\n value = data.readyDate;\r\n break;\r\n case 'pueDate':\r\n fieldType = 'dateTime';\r\n value = data.puDate;\r\n break;\r\n case 'dueDate':\r\n fieldType = 'dateTime';\r\n value = data.dueDate;\r\n break;\r\n case 'pickLocation':\r\n value = data.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverWH':\r\n value = data.direct ? data.drop1WH : data.drop2WH;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverCity':\r\n value = data.direct ? data.drop1City : data.drop2City;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverState':\r\n value = data.direct ? data.drop1State : data.drop2State;\r\n fieldType = 'text';\r\n break;\r\n case 'temperature':\r\n value = data.temperature === 1 ? 'Frozen' : \r\n data.temperature === 2 ? 'Chilled' :\r\n data.temperature === 3 ? 'Dry' :\r\n data.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'freight':\r\n // value = data.freight;\r\n // fieldType = 'text';\r\n // break; \r\n case 'poNumber':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = data.soNumber;\r\n break;\r\n case 'palletCount':\r\n value = data.revisionPalletCount && (data.revisionPalletCount !== data.palletCount) ? [data.palletCount, data.revisionPalletCount] : data.palletCount;\r\n fieldType = data.revisionPalletCount && (data.revisionPalletCount !== data.palletCount) ? 'revisionText' : 'text';\r\n break;\r\n case 'spa':\r\n value = data.revisionSpace > -1 && (data.revisionSpace !== data.space) ? [data.space, data.revisionSpace] : data.space;\r\n fieldType = data.revisionSpace > -1 && (data.revisionSpace !== data.space) ? 'revisionText' : 'text';\r\n break;\r\n case 'lbs':\r\n value = data.revisionWeight && (data.revisionWeight !== data.weight) ? [data.weight, data.revisionWeight] : data.weight;\r\n fieldType = data.revisionWeight && (data.revisionWeight !== data.weight) ? 'revisionText' : 'text';\r\n break;\r\n case 'price':\r\n value = data.price;\r\n break;\r\n case 'notes':\r\n value = data.revisionNotes && (data.revisionNotes !== data.customerOrderNotes) ? [data.customerOrderNotes, data.revisionNotes] : data.customerOrderNotes;\r\n fieldType = data.revisionNotes && (data.revisionNotes !== data.customerOrderNotes) ? 'revisionText' : 'text';\r\n break;\r\n case 'orderCycle':\r\n value = data.orderStatus;\r\n break;\r\n case 'podStatus':\r\n value = data.outNotes;\r\n break;\r\n case 'actions':\r\n fieldType = 'actions';\r\n value = 'button';\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createCustomerOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const customerOrder = (state, responce, hasError = false, message = '') => {\r\n let { instantOrders, revisionOrders } = responce.data;\r\n\r\n for (let i = 0; i < instantOrders.data.length; i++) {\r\n for (let j = 0; j < revisionOrders.data.length; j++) {\r\n if (instantOrders.data[i].id === revisionOrders.data[j].revisionOrderid) {\r\n instantOrders.data[i].revisionPalletCount = revisionOrders.data[j].revisionPalletCount\r\n instantOrders.data[i].revisionSpace = revisionOrders.data[j].revisionSpace\r\n instantOrders.data[i].revisionWeight = revisionOrders.data[j].revisionWeight\r\n instantOrders.data[i].revisionNotes = revisionOrders.data[j].revisionNotes\r\n };\r\n };\r\n };\r\n\r\n const customerOrderInProgress = createCustomerOrdersList(state, instantOrders.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError,\r\n message,\r\n customerOrderInProgress: customerOrderInProgress,\r\n total: instantOrders.total,\r\n },\r\n };\r\n};\r\n\r\nexport const revisionCustomerOrder = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{ \r\n orderUpdated: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nconst sortByValue = (customerOrderInProgress, value) => {\r\n let sortedList = [];\r\n if (value === 'byStatuses') {\r\n sortedList = orderBy(customerOrderInProgress, [c => c.row[17].value], [\"asc\"]);\r\n };\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerOrderInProgress, [c => c.row[0].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerOrderInProgress, [c => c.row[5].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortedCustomerOrderInProgress: sortByValue(state.customerOrderInProgress, sortValue),\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return customerOrder(state, response, hasError, message);\r\n};\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerOrderInProgress/customerOrderActionTypes';\r\nimport * as customerOrder from './customerOrderInProgressReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'readyDate',\r\n title: 'READY DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'pueDate',\r\n title: 'PU DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 100,\r\n },\r\n {\r\n key: 'deliverWH',\r\n title: 'DELIVERY WH',\r\n width: 100,\r\n },\r\n {\r\n key: 'deliverCity',\r\n title: 'DELIVERY CITY',\r\n width: 100,\r\n },\r\n {\r\n key: 'deliverState',\r\n title: 'DELIVERY STATE',\r\n width: 100,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'TEMP',\r\n width: 60,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'FRIEGHT VALUE',\r\n // width: 60,\r\n // },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 40,\r\n },\r\n {\r\n key: 'spa',\r\n title: 'SPA',\r\n width: 40,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 50,\r\n },\r\n {\r\n key: 'price',\r\n title: 'PRICE',\r\n width: 50,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'NOTES',\r\n width: 60,\r\n },\r\n {\r\n key: 'orderCycle',\r\n title: 'ORDER CYCLE',\r\n width: 70,\r\n },\r\n {\r\n key: 'podStatus',\r\n title: 'POD STATUS',\r\n width: 70,\r\n },\r\n {\r\n key: 'actions',\r\n title: 'EDIT',\r\n width: 70,\r\n },\r\n ],\r\n loading: false,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n existing: 0,\r\n customerOrder: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.CUSTOMER_ORDERS_LOADING:\r\n return customerOrder.setInLoading(state);\r\n case actionTypes.SET_HEADER_WIDTH_ORDER_IN_PROGRESS:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return customerOrder.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.GET_CUSTOMER_ORDERS_IN_PROGRESS:\r\n return customerOrder.customerOrder(state, action.data);\r\n case actionTypes.SORT_ORDERS_IN_PROGRESS:\r\n return customerOrder.sortBy(state, action.data);\r\n case actionTypes.REVISION_CUSTOMER_ORDER:\r\n return customerOrder.revisionCustomerOrder(state, action.data); \r\n default:\r\n return state;\r\n }\r\n};\r\n","import { orderBy } from \"lodash\";\r\n\r\nconst itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n loadId: `load_${data.loadId}`,\r\n orderId: data.id,\r\n type: data.loadType,\r\n orderData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'readyDate':\r\n value = data.readyDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dueDate':\r\n value = data.dueDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n value = data.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = data.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'poNumber':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = data.soNumber;\r\n break;\r\n case 'palletCount':\r\n value = data.palletCount;\r\n fieldType = 'text';\r\n break;\r\n case 'spa':\r\n value = data.space;\r\n fieldType = 'text';\r\n break;\r\n case 'lbs':\r\n fieldType = 'checkbox';\r\n value = data.weight;\r\n break;\r\n case 'temperature':\r\n value = data.temperature === 1 ? 'Frozen' : \r\n data.temperature === 2 ? 'Chilled' :\r\n data.temperature === 3 ? 'Dry' :\r\n data.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'freight':\r\n // value = data.freight;\r\n // fieldType = 'text';\r\n // break;\r\n case 'orderCycle':\r\n value = 'Requested';\r\n break;\r\n case 'actions':\r\n fieldType = 'actions';\r\n value = 'button';\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createCustomerOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const customerOrder = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const customerOrderNewOrders = createCustomerOrdersList(state, data.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError,\r\n message,\r\n customerOrderNewOrders: customerOrderNewOrders,\r\n totalOrders: data.total,\r\n orderAdded: false,\r\n orderUpdated: false,\r\n },\r\n };\r\n};\r\n\r\nexport const deleteCustomerOrder = (state, responce) => {\r\n const { data } = responce;\r\n\r\n return {\r\n ...state,\r\n ...{ \r\n totalOrders: data?.hasError === false ? (state.totalOrders -1) : state.totalOrders \r\n },\r\n };\r\n};\r\n\r\nexport const addCustomerOrder = (state, responce) => {\r\n const { data } = responce;\r\n\r\n return {\r\n ...state,\r\n ...{ \r\n totalOrders: data.hasError ? state.totalOrders : state.totalOrders + 1,\r\n hasError: data.hasError,\r\n message: data.message ? data.message : 'Something went wrong, please try again',\r\n orderAdded: !data.hasError,\r\n addCustomerOrderloading: false,\r\n },\r\n };\r\n};\r\n\r\nexport const editCustomerOrder = (state, responce) => {\r\n\r\n return {\r\n ...state,\r\n ...{ \r\n orderUpdated: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nconst sortByValue = (customerOrderNewOrders, value) => {\r\n let sortedList = [];\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerOrderNewOrders, [c => c.row[0].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerOrderNewOrders, [c => c.row[3].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortedCustomerOrderNewOrders: sortByValue(state.customerOrderNewOrders, sortValue),\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return customerOrder(state, response, hasError, message);\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n orderAdded: false,\r\n orderUpdated: false,\r\n },\r\n});\r\n\r\nexport const resetOrderAdded = state => ({\r\n ...state,\r\n ...{\r\n orderAdded: false,\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n\r\nexport const setAddCustomerOrderLoading = state => ({\r\n ...state,\r\n ...{\r\n addCustomerOrderloading: true,\r\n },\r\n});\r\n\r\nexport const setFormValues = (state, formValues) => ({\r\n ...state,\r\n ...{\r\n formValues: formValues,\r\n },\r\n});\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerOrderNewOrders/customerOrderActionTypes';\r\nimport * as customerOrder from './customerOrderNewOrdersReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'readyDate',\r\n title: 'READY DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 100,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DELIVERY WH',\r\n width: 100,\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 40,\r\n },\r\n {\r\n key: 'spa',\r\n title: 'SPA',\r\n width: 40,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 50,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'TEMP',\r\n width: 60,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'FREIGHT VALUE',\r\n // width: 60,\r\n // },\r\n {\r\n key: 'orderCycle',\r\n title: 'ORDER CYCLE',\r\n width: 70,\r\n },\r\n {\r\n key: 'actions',\r\n title: '',\r\n width: 90,\r\n },\r\n ],\r\n loading: false,\r\n addCustomerOrderloading: false,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n totalOrders: 0,\r\n existing: 0,\r\n customerOrder: null,\r\n orderAdded: false,\r\n orderUpdated: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.CUSTOMER_ORDERS_LOADING:\r\n return customerOrder.setInLoading(state);\r\n case actionTypes.SET_HEADER_WIDTH_NEW_ORDERS:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.ERROR:\r\n return customerOrder.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return customerOrder.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.GET_CUSTOMER_ORDERS_NEW_ORDERS:\r\n return customerOrder.customerOrder(state, action.data);\r\n case actionTypes.SORT_ORDERS_NEW_ORDERS:\r\n return customerOrder.sortBy(state, action.data);\r\n case actionTypes.DELETE_CUSTOMER_ORDER:\r\n return customerOrder.deleteCustomerOrder(state, action.data);\r\n case actionTypes.ADD_CUSTOMER_ORDER:\r\n return customerOrder.addCustomerOrder(state, action.data);\r\n case actionTypes.ADD_CUSTOMER_ORDER_LOADING:\r\n return customerOrder.setAddCustomerOrderLoading(state, action.data);\r\n case actionTypes.SET_FORM_VALUES:\r\n return customerOrder.setFormValues(state, action.data);\r\n case actionTypes.RESET_ORDER_ADDED:\r\n return customerOrder.resetOrderAdded(state, action.data);\r\n case actionTypes.EDIT_CUSTOMER_ORDER:\r\n return customerOrder.editCustomerOrder(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const setIsLoadingPickLocation = state => ({\r\n ...state,\r\n ...{\r\n pickLocationLoading: true,\r\n },\r\n});\r\n\r\nexport const setIsLoadingFavoriteDoorsList = state => ({\r\n ...state,\r\n ...{\r\n favoriteDoorsLocationsLoading: true,\r\n },\r\n});\r\n\r\nexport const setIsLoadingAllDoorsList = state => ({\r\n ...state,\r\n ...{\r\n allDoorsLocationsLoading: true,\r\n },\r\n});\r\n\r\nexport const getFavoriteLocationDoorList = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n return {\r\n ...state,\r\n ...{\r\n hasError,\r\n message,\r\n favoriteLocationsDoorsList: data,\r\n total: data.length,\r\n favoriteDoorsLocationsLoading: false,\r\n },\r\n };\r\n};\r\n\r\nexport const getAllLocationDoorList = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n return {\r\n ...state,\r\n ...{\r\n hasError,\r\n message,\r\n allLocationsDoorsList: data,\r\n total: data.length,\r\n allDoorsLocationsLoading: false,\r\n },\r\n };\r\n};\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerOrderLocations/customerOrderLocationsActionTypes';\r\nimport * as customerOrder from './customerOrderLocationsReducer';\r\n\r\nconst defaultState = {\r\n favoriteDoorsLocationsLoading: false,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n existing: 0,\r\n favoriteLocationsDoorsList: null,\r\n allLocationsDoorsList: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_FAVORITE_LOCATION_DOORS_LOADING:\r\n return customerOrder.setIsLoadingFavoriteDoorsList(state);\r\n case actionTypes.GET_FAVORITE_LOCATION_DOORS:\r\n return customerOrder.getFavoriteLocationDoorList(state, action.data);\r\n case actionTypes.GET_ALL_LOCATION_DOORS_LOADING:\r\n return customerOrder.setIsLoadingAllDoorsList(state);\r\n case actionTypes.GET_ALL_LOCATION_DOORS:\r\n return customerOrder.getAllLocationDoorList(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { orderBy } from \"lodash\";\r\n\r\nconst itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n loadId: `load_${data.loadId}`,\r\n orderId: data.id,\r\n type: data.loadType,\r\n orderData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'readyDate':\r\n value = data.readyDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dueDate':\r\n value = data.dueDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n value = data.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = data.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'poNumber':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = data.soNumber;\r\n break;\r\n case 'palletCount':\r\n value = data.palletCount;\r\n fieldType = 'text';\r\n break;\r\n case 'spa':\r\n value = data.space;\r\n fieldType = 'text';\r\n break;\r\n case 'lbs':\r\n fieldType = 'checkbox';\r\n value = data.weight;\r\n break;\r\n case 'temperature':\r\n value = data.temperature === 1 ? 'Frozen' : \r\n data.temperature === 2 ? 'Chilled' :\r\n data.temperature === 3 ? 'Dry' :\r\n data.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'freight':\r\n // value = data.freight;\r\n // fieldType = 'text';\r\n // break;\r\n case 'rejectNotes':\r\n value = data.rejectReason;\r\n fieldType = 'text';\r\n break;\r\n case 'orderCycle':\r\n value = 'Rejected';\r\n break;\r\n case 'actions':\r\n fieldType = 'actions';\r\n value = 'button';\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createCustomerOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const customerOrdersRejected = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const customerRejectedOrders = createCustomerOrdersList(state, data.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loadingRejectedOrders: false,\r\n hasError,\r\n message,\r\n customerRejectedOrders: customerRejectedOrders,\r\n totalRejectedOrders: data.total,\r\n },\r\n };\r\n};\r\n\r\nexport const setInLoadingRejectedOrders = state => ({\r\n ...state,\r\n ...{\r\n loadingRejectedOrders: true,\r\n },\r\n});\r\n\r\n\r\nconst sortByValue = (customerOrderRejectedOrders, value) => {\r\n console.log('customerOrderRejectedOrders', customerOrderRejectedOrders);\r\n console.log('value', value);\r\n\r\n let sortedList = [];\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerOrderRejectedOrders, [c => c.row[0].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerOrderRejectedOrders, [c => c.row[3].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortedCustomerRejectedOrders: sortByValue(state.customerRejectedOrders, sortValue),\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return customerOrdersRejected(state, response, hasError, message);\r\n};\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerRejectedOrders/customerRejectedOrdersActionTypes';\r\nimport * as customerOrder from './customerRejectedOrdersReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'readyDate',\r\n title: 'READY DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 100,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DELIVERY WH',\r\n width: 100,\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 40,\r\n },\r\n {\r\n key: 'spa',\r\n title: 'SPA',\r\n width: 40,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 50,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'TEMP',\r\n width: 60,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'FREIGHT VALUE',\r\n // width: 60,\r\n // },\r\n {\r\n key: 'rejectNotes',\r\n title: 'REJECT NOTES',\r\n width: 70,\r\n },\r\n {\r\n key: 'orderCycle',\r\n title: 'ORDER CYCLE',\r\n width: 70,\r\n },\r\n {\r\n key: 'actions',\r\n title: '',\r\n width: 90,\r\n },\r\n ],\r\n loading: false,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n totalOrders: 0,\r\n existing: 0,\r\n customerOrder: null,\r\n customerRejectedOrders: null,\r\n totalRejectedOrders: 0,\r\n loadingRejectedOrders: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_HEADER_WIDTH_REJECTED_ORDERS:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return customerOrder.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.GET_CUSTOMER_ORDERS_REJECTED:\r\n return customerOrder.customerOrdersRejected(state, action.data);\r\n case actionTypes.CUSTOMER_ORDERS_REJECTED_LOADING:\r\n return customerOrder.setInLoadingRejectedOrders(state, action.data);\r\n case actionTypes.SORT_ORDERS_REJECTED_ORDERS:\r\n return customerOrder.sortBy(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { orderBy } from \"lodash\";\r\nconst itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n loadId: `load_${data.loadId}`,\r\n orderId: data.id,\r\n type: data.loadType,\r\n orderData: data,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'readyDate':\r\n fieldType = 'dateTime';\r\n value = data.readyDate;\r\n break;\r\n case 'pueDate':\r\n fieldType = 'dateTime';\r\n value = data.puDate;\r\n break;\r\n case 'dueDate':\r\n fieldType = 'dateTime';\r\n value = data.dueDate;\r\n break;\r\n case 'deliveryDate':\r\n fieldType = 'dateTime';\r\n value = data.deliverDate;\r\n break;\r\n case 'pickLocation':\r\n value = data.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverWH':\r\n value = data.direct ? data.drop1WH : data.drop2WH;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverCity':\r\n value = data.direct ? data.drop1City : data.drop2City;\r\n fieldType = 'text';\r\n break;\r\n case 'deliverState':\r\n value = data.direct ? data.drop1State : data.drop2State;\r\n fieldType = 'text';\r\n break;\r\n case 'temperature':\r\n value = data.temperature === 1 ? 'Frozen' : \r\n data.temperature === 2 ? 'Chilled' :\r\n data.temperature === 3 ? 'Dry' :\r\n data.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'freight':\r\n // value = data.freight;\r\n // fieldType = 'text';\r\n // break; \r\n case 'poNumber':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = data.soNumber;\r\n break;\r\n case 'palletCount':\r\n value = data.palletCount;\r\n fieldType = 'text';\r\n break;\r\n case 'spa':\r\n value = data.space;\r\n break;\r\n case 'lbs':\r\n value = data.weight;\r\n break;\r\n case 'price':\r\n value = data.price;\r\n break;\r\n case 'notes':\r\n value = data.customerOrderNotes;\r\n break;\r\n case 'podStatus':\r\n value = data.outNotes;\r\n break;\r\n case 'orderCycle':\r\n value = data.orderStatus;\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createCustomerOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const customerLastOrders = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const customerLastOrders = createCustomerOrdersList(state, data.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError,\r\n message,\r\n customerLastOrders: customerLastOrders,\r\n total: customerLastOrders.length || 0,\r\n },\r\n };\r\n};\r\n\r\nconst sortByValue = (customerLastOrders, value) => {\r\n let sortedList = [];\r\n if (value === 'byStatuses') {\r\n sortedList = orderBy(customerLastOrders, [c => c.row[17].value], [\"asc\"]);\r\n };\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerLastOrders, [c => c.row[3].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerLastOrders, [c => c.row[5].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortedCustomerLastOrders: sortByValue(state.customerLastOrders, sortValue),\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return customerLastOrders(state, response, hasError, message);\r\n};\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerLastOrders/customerLastOrdersActionTypes';\r\nimport * as customerOrder from './customerLastOrdersReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'readyDate',\r\n title: 'READY DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'pueDate',\r\n title: 'PU DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'deliveryDate',\r\n title: 'DELIVERY DATE',\r\n width: 90,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 100,\r\n },\r\n {\r\n key: 'deliverWH',\r\n title: 'DELIVERY WH',\r\n width: 100,\r\n },\r\n {\r\n key: 'deliverCity',\r\n title: 'DELIVERY CITY',\r\n width: 90,\r\n },\r\n {\r\n key: 'deliverState',\r\n title: 'DELIVERY STATE',\r\n width: 100,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'TEMP',\r\n width: 60,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'FRIEGHT VALUE',\r\n // width: 60,\r\n // },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 40,\r\n },\r\n {\r\n key: 'spa',\r\n title: 'SPA',\r\n width: 40,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 50,\r\n },\r\n {\r\n key: 'price',\r\n title: 'PRICE',\r\n width: 50,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'NOTES',\r\n width: 60,\r\n },\r\n {\r\n key: 'podStatus',\r\n title: 'POD STATUS',\r\n width: 70,\r\n },\r\n {\r\n key: 'orderCycle',\r\n title: 'ORDER CYCLE',\r\n width: 70,\r\n },\r\n ],\r\n loading: false,\r\n hasError: false,\r\n message: '',\r\n total: 0,\r\n existing: 0,\r\n customerOrder: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.CUSTOMER_LAST_ORDERS_LOADING:\r\n return customerOrder.setInLoading(state);\r\n case actionTypes.SET_HEADER_WIDTH_LAST_ORDERS:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return customerOrder.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.GET_CUSTOMER_LAST_ORDERS:\r\n return customerOrder.customerLastOrders(state, action.data);\r\n case actionTypes.SORT_LAST_ORDERS:\r\n return customerOrder.sortBy(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { orderBy } from \"lodash\";\r\n\r\nconst itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n id: `load_${data.loadId}`,\r\n loadId: data.loadId,\r\n type: data.loadType,\r\n loadData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'customer':\r\n value = data.customerName;\r\n fieldType = 'checkbox';\r\n break;\r\n case 'readyDate':\r\n value = data.readyDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dueDate':\r\n value = data.dueDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n value = data.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = data.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'poNumber':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = data.soNumber;\r\n break;\r\n case 'palletCount':\r\n value = data.palletCount;\r\n fieldType = 'text';\r\n break;\r\n case 'lbs':\r\n fieldType = 'text';\r\n value = data.weight;\r\n break;\r\n case 'space':\r\n fieldType = 'text';\r\n value = data.space;\r\n break;\r\n case 'temperature':\r\n value = data.temperature === 1 ? 'Frozen' : \r\n data.temperature === 2 ? 'Chilled' :\r\n data.temperature === 3 ? 'Dry' :\r\n data.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n // case 'freight':\r\n // value = data.freight;\r\n // fieldType = 'text';\r\n // break;\r\n case 'orderCycle':\r\n value = 'Requested';\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createCustomerOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const customerOrderAdmin = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const customerOrderAdmin = createCustomerOrdersList(state, data.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError: false,\r\n messageText: '',\r\n customerOrderAdmin: customerOrderAdmin,\r\n total: data.total,\r\n orderGenerated: false,\r\n },\r\n };\r\n};\r\n\r\nexport const generateCustomerOrder = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n generateCustomerOrderLoading: false,\r\n total: state.total - 1,\r\n hasError: responce.data.hasError,\r\n messageText: responce?.data.message ? responce?.data.message : '',\r\n orderGenerated: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nexport const rejectCustomerOrder = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n rejectCustomerOrderLoading: false,\r\n total: state.total - 1,\r\n hasError: responce.data.hasError,\r\n messageText: responce?.data.message ? responce?.data.message : '',\r\n orderRejected: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nexport const filterByCustomer = (state, customerId) => ({\r\n ...state,\r\n ...{\r\n filteredCustomerOrderAdmin: state.sortedCustomerOrderAdmin ? state.sortedCustomerOrderAdmin.filter(item => item.rowState.loadData.customerId === customerId) : state.customerOrderAdmin?.filter(item => item.rowState.loadData.customerId === customerId),\r\n },\r\n});\r\n\r\nconst sortByValue = (customerOrderAdmin, value) => {\r\n let sortedList = [];\r\n if (value === 'byCustomer') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[0].value], [\"asc\"]);\r\n };\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[1].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[4].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortedCustomerOrderAdmin: state.filteredCustomerOrderAdmin?.length ? sortByValue(state.filteredCustomerOrderAdmin, sortValue) : sortByValue(state.customerOrderAdmin, sortValue),\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return customerOrderAdmin(state, response, hasError, message);\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n messageText: err?.statusText ? err?.statusText : 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n generateCustomerOrderLoading: false,\r\n rejectCustomerOrderLoading: false,\r\n orderRejected: false,\r\n orderGenerated: false,\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n\r\nexport const generateCustomerOrderLoading = state => ({\r\n ...state,\r\n ...{\r\n generateCustomerOrderLoading: true,\r\n },\r\n});\r\n\r\nexport const rejectCustomerOrderLoading = state => ({\r\n ...state,\r\n ...{\r\n rejectCustomerOrderLoading: true,\r\n },\r\n});\r\n\r\nexport const newRequestOrdersCount = (state, count) => ({\r\n ...state,\r\n ...{\r\n newRequestCount: count,\r\n },\r\n});\r\n\r\n\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/customerOrderAdmin/customerOrderAdminActionTypes';\r\nimport * as customerOrder from './customerOrderAdminReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'customer',\r\n title: 'CUSTOMER',\r\n width: 123,\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'READY DATE',\r\n width: 123,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 123,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 123,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DELIVERY',\r\n width: 123,\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 123,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 123,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 123,\r\n },\r\n {\r\n key: 'space',\r\n title: 'SPACE',\r\n width: 123,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 123,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'TEMP',\r\n width: 123,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'FREIGHT VALUE',\r\n // width: 123,\r\n // },\r\n {\r\n key: 'orderCycle',\r\n title: 'ORDER CYCLE',\r\n width: 123,\r\n },\r\n ],\r\n loading: false,\r\n generateCustomerOrderLoading: false,\r\n hasError: false,\r\n messageText: '',\r\n total: 0,\r\n existing: 0,\r\n customerOrderAdmin: null,\r\n orderGenerated: false,\r\n orderRejected: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.CUSTOMER_ORDER_ADMIN_LOADING:\r\n return customerOrder.setInLoading(state);\r\n case actionTypes.SET_HEADER_WIDTH_ORDER_ADMIN:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.ERROR:\r\n return customerOrder.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.GET_CUSTOMER_ORDER_ADMIN:\r\n return customerOrder.customerOrderAdmin(state, action.data);\r\n case actionTypes.SORT_ORDERS_ADMIN:\r\n return customerOrder.sortBy(state, action.data);\r\n case actionTypes.FILTER_BY_CUSTOMER:\r\n return customerOrder.filterByCustomer(state, action.data);\r\n case actionTypes.GENERATE_CUSTOMER_ORDER_LOADING:\r\n return customerOrder.generateCustomerOrderLoading(state);\r\n case actionTypes.REJECT_CUSTOMER_ORDER_LOADING:\r\n return customerOrder.rejectCustomerOrderLoading(state);\r\n case actionTypes.GENERATE_CUSTOMER_ORDER:\r\n return customerOrder.generateCustomerOrder(state, action.data);\r\n case actionTypes.REJECT_CUSTOMER_ORDER:\r\n return customerOrder.rejectCustomerOrder(state, action.data);\r\n case actionTypes.NEW_REQUEST_ORDERS_COUNT:\r\n return customerOrder.newRequestOrdersCount(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","const itemDefaultSize = 28;\r\n\r\nexport const createWebOrder = (oData, headers) => {\r\n const data = { ...oData };\r\n const loadStatus = data.loadStatus;\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n loadId: `load_${data.loadId}`,\r\n orderId: data.id,\r\n type: data.loadType,\r\n orderData: data,\r\n height: itemDefaultSize,\r\n loadStatus,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'group':\r\n value = data.orderGroupIndex;\r\n fieldType = 'text';\r\n break;\r\n case 'po':\r\n value = data.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'so':\r\n value = data.soNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'customer':\r\n value = data.customerName;\r\n fieldType = 'text';\r\n break;\r\n case 'batch':\r\n value = data.batch === 1 ? \"Hard Batch\" : data.batch === 2 ? \"Soft Batch\" : data.batch === 3 ? \"No Batch\" : '';\r\n fieldType = 'text';\r\n break;\r\n case 'puCity':\r\n value = data.pickCity;\r\n break;\r\n case 'puState':\r\n value = data.pickState;\r\n fieldType = 'text';\r\n break;\r\n case 'pickUpWH':\r\n fieldType = 'text';\r\n value = data.pickLocationName;\r\n break;\r\n case 'drop1City':\r\n value = data.drop1City;\r\n fieldType = 'text';\r\n break;\r\n case 'drop1WH':\r\n value = data.drop1WH;\r\n fieldType = 'text';\r\n break;\r\n case 'drop2City':\r\n value = data.drop2City;\r\n break;\r\n case 'drop2WH':\r\n value = data.drop2WH;\r\n fieldType = 'text';\r\n break;\r\n case 'puDate':\r\n value = data.puDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dueDate':\r\n value = data.dueDate;\r\n fieldType = 'dateTime';\r\n break;\r\n case 'route':\r\n value = data.routeId === 1 ? \"WHS\" : data.routeId === 2 ? \"DIR\" : data.routeId === 3 ? \"Both\" : 'NO';\r\n break;\r\n case 'palletCount':\r\n value = [data.palletCount, data.revisionPalletCount];\r\n fieldType = 'revisionText';\r\n break;\r\n case 'spa':\r\n value = [data.space, data.revisionSpace];\r\n fieldType = 'revisionText';\r\n break;\r\n case 'case':\r\n value = [data.cases, data.revisionCases];\r\n fieldType = 'revisionText';\r\n break;\r\n case 'lbs':\r\n value = [data.weight, data.revisionWeight];\r\n fieldType = 'revisionText';\r\n break;\r\n case 'price':\r\n value = data.price;\r\n fieldType = 'text';\r\n break;\r\n case 'notes':\r\n value = [data.customerOrderNotes, data.revisionNotes];\r\n fieldType = 'revisionText';\r\n break;\r\n case 'status':\r\n value = 'Revision';\r\n break;\r\n case 'link':\r\n value = 'Link';\r\n fieldType = 'link';\r\n break;\r\n case 'actions':\r\n value = 'text';\r\n fieldType = 'actions';\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createRevisionOrdersList = (state, customerOrders) => customerOrders.map(data => createWebOrder(data, state.headers));\r\n\r\nexport const revisionOrderAdmin = (state, responce, hasError = false, message = '') => {\r\n const { data } = responce;\r\n const revisionOrderAdmin = createRevisionOrdersList(state, data.data);\r\n\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n acceptRevisionOrderLoading: false,\r\n rejectRevisionOrderLoading: false,\r\n hasError: false,\r\n messageText: '',\r\n revisionOrderAdminList: revisionOrderAdmin,\r\n total: data.total,\r\n orderAccepted: false,\r\n orderRejected: false,\r\n },\r\n };\r\n};\r\n\r\nexport const acceptRevisionOrder = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n acceptRevisionOrderLoading: false,\r\n total: state.total - 1,\r\n hasError: responce.data.hasError,\r\n messageText: responce.data.message ? responce.data.message : 'Something went wrong, please try again',\r\n orderAccepted: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nexport const rejectRevisionOrder = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n rejectRevisionOrderLoading: false,\r\n total: state.total - 1,\r\n hasError: responce.data.hasError,\r\n messageText: responce?.data.message ? responce.data.message : 'Something went wrong, please try again',\r\n orderRejected: !responce.data.hasError,\r\n },\r\n };\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n return revisionOrderAdmin(state, response, hasError, message);\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n messageText: err?.statusText ? err?.statusText : 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n acceptRevisionOrderLoading: false,\r\n rejectRevisionOrderLoading: false,\r\n orderAccepted: false,\r\n orderRejected: false,\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n\r\nexport const acceptRevisionOrderLoading = state => ({\r\n ...state,\r\n ...{\r\n acceptRevisionOrderLoading: true,\r\n },\r\n});\r\n\r\nexport const rejectRevisionOrderLoading = state => ({\r\n ...state,\r\n ...{\r\n rejectRevisionOrderLoading: true,\r\n },\r\n});\r\n\r\n\r\n","import { CUSTOMER_ORDERS_BUILD as actionTypes } from '../../actions/revisionOrderAdmin/revisionOrderAdminActionTypes';\r\nimport * as customerOrder from './revisionOrderAdminReducers';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'po',\r\n title: 'PO#',\r\n width: 56,\r\n },\r\n {\r\n key: 'so',\r\n title: 'SO#',\r\n width: 56,\r\n },\r\n {\r\n key: 'customer',\r\n title: 'CUSTOMER',\r\n width: 100,\r\n },\r\n {\r\n key: 'batch',\r\n title: 'BATCH',\r\n width: 70,\r\n },\r\n // {\r\n // key: 'puCity',\r\n // title: 'P/U CITY',\r\n // width: 80,\r\n // },\r\n // {\r\n // key: 'puState',\r\n // title: 'P/U STATE',\r\n // width: 80,\r\n // },\r\n {\r\n key: 'pickUpWH',\r\n title: 'PICK UP WH',\r\n width: 100,\r\n },\r\n // {\r\n // key: 'drop1City',\r\n // title: 'DROP 1 CITY',\r\n // width: 100,\r\n // },\r\n // {\r\n // key: 'drop1WH',\r\n // title: 'DROP 1 WH',\r\n // width: 100,\r\n // },\r\n // {\r\n // key: 'drop2City',\r\n // title: 'DROP 2 CITY',\r\n // width: 100,\r\n // },\r\n {\r\n key: 'drop2WH',\r\n title: 'DELIVERY WH',\r\n width: 100,\r\n },\r\n {\r\n key: 'route',\r\n title: 'ROUTE',\r\n width: 60,\r\n },\r\n {\r\n key: 'puDate',\r\n title: 'PU DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'DUE DATE',\r\n width: 80,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'PAL',\r\n width: 60,\r\n },\r\n {\r\n key: 'spa',\r\n title: 'SPA',\r\n width: 50,\r\n },\r\n {\r\n key: 'case',\r\n title: 'Cs',\r\n width: 50,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 50,\r\n },\r\n {\r\n key: 'price',\r\n title: 'PRICE',\r\n width: 55,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'NOTES',\r\n width: 80,\r\n },\r\n {\r\n key: 'status',\r\n title: 'STATUS',\r\n width: 70,\r\n },\r\n {\r\n key: 'link',\r\n title: 'LINK',\r\n width: 60,\r\n },\r\n {\r\n key: 'group',\r\n title: 'GROUP',\r\n width: 60,\r\n },\r\n {\r\n key: 'actions',\r\n title: 'ACTION',\r\n width: 120,\r\n },\r\n ],\r\n loading: false,\r\n acceptRevisionOrderLoading: false,\r\n rejectRevisionOrderLoading: false,\r\n hasError: false,\r\n messageText: '',\r\n total: 0,\r\n revisionOrderAdminList: null,\r\n orderAccepted: false,\r\n orderRejected: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_HEADER_WIDTH_ADMIN_REVISION:\r\n return customerOrder.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.ERROR:\r\n return customerOrder.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return customerOrder.resetError(state);\r\n case actionTypes.GET_REVISION_ORDER_ADMIN_LOADING:\r\n return customerOrder.setInLoading(state);\r\n case actionTypes.GET_REVISION_ORDER_ADMIN:\r\n return customerOrder.revisionOrderAdmin(state, action.data);\r\n case actionTypes.ACCEPT_REVISION_ORDER_LOADING:\r\n return customerOrder.acceptRevisionOrderLoading(state);\r\n case actionTypes.REJECT_REVISION_ORDER_LOADING:\r\n return customerOrder.rejectRevisionOrderLoading(state);\r\n case actionTypes.ACCEPT_REVISION_ORDER:\r\n return customerOrder.acceptRevisionOrder(state, action.data);\r\n case actionTypes.REJECT_REVISION_ORDER:\r\n return customerOrder.rejectRevisionOrder(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const getComments = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n comments: data.comments,\r\n attachments: data.attachments,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setComment = (state, comment) => {\r\n return {\r\n ...state, ...{\r\n comments: [...state.comments, comment],\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","import { COMMENTS_BUILD as actionTypes } from '../../actions/comments/commentsActionTypes';\r\nimport * as loadArea from './commentsReducer';\r\n\r\nconst defaultState = {\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n comments: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.COMMENTS_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.GET_COMMENTS:\r\n return loadArea.getComments(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_COMMENTS:\r\n return loadArea.getComments(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.COMMENTS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.SET_COMMENT:\r\n return loadArea.setComment(state, action.data.value, action.data.rowState, action.data.header);\r\n default:\r\n return state;\r\n }\r\n};","import moment from 'moment';\r\nexport const itemDefaultSize = 20;\r\nconst toDateTime = value => value ? moment.utc(value).toDate() : '';\r\n\r\nconst extractWebLoadsToList = (state, orders) => {\r\n let loadsAssignedOrders = [];\r\n orders.forEach(item=> loadsAssignedOrders.push(createWebOrder(item, state.headers)))\r\n return loadsAssignedOrders;\r\n};\r\n\r\nexport const updateOrdersLoadState = (state, orders, endpoint, hasError = false, message = '', filterType = 'all', sortType = {type: \"\", ind: \"\", sort: null }) => ({\r\n ...state, ...{\r\n orders,\r\n loading: false,\r\n changeRequestListLoading: endpoint === 'orderschangerequestslist' ? false : true,\r\n openOrdersLoading: endpoint === 'availableorderlist' ? false : true,\r\n hasError,\r\n message,\r\n filterType,\r\n sortType,\r\n loadsAssignedOrders: extractWebLoadsToList(state, orders),\r\n }\r\n});\r\n\r\nexport const loadContent = (state, responce, hasError = false, message = '') => {\r\n const data = responce.responce.data || [];\r\n console.log(responce.endpoint);\r\n return updateOrdersLoadState(state, [...data.data], responce.endpoint, hasError, message);\r\n};\r\n\r\nexport const createWebOrder = (oData, headers, isHidden) => {\r\n const orderData = { ...oData };\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n id: `order_${orderData.id}`,\r\n orderObjectId: orderData.id,\r\n orderData: orderData,\r\n orderId: `order_${orderData.id}`,\r\n visible: !isHidden,\r\n reacted: false,\r\n height: itemDefaultSize,\r\n }\r\n };\r\n const pathname = window.location.pathname;\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let value2 = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id;\r\n break;\r\n case 'temperature':\r\n value = orderData.temperature === 1 ? 'Frozen' : \r\n orderData.temperature === 2 ? 'Chilled' : \r\n orderData.temperature === 3 ? 'Dry' :\r\n orderData.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n case 'customerName':\r\n value = orderData.customerName;\r\n break;\r\n case 'orderGroupIndex':\r\n value = orderData.batch === 3 ? '' : orderData.orderGroupIndex;\r\n break;\r\n case 'price':\r\n value = orderData.price ? `$${orderData.price}` : '';\r\n break;\r\n case 'batchType':\r\n value = orderData.batchType;\r\n break;\r\n case 'pickLocationName':\r\n value = orderData.pickLocationName;\r\n break;\r\n case 'drop2WH':\r\n value = orderData.drop2WH;\r\n break;\r\n case 'referenceNumber':\r\n value = orderData.referenceNumber;\r\n break;\r\n case 'routeId':\r\n value = orderData.routeId === 1 ? \"WHS\" : orderData.routeId === 2 ? \"DIR\" : \"Both\";\r\n break;\r\n case 'deliveredDate':\r\n value = pathname === \"/ar/openorders\" || pathname === \"/ar/changerequestsar\" ? orderData?.deliverDate : orderData?.deliveredDate;\r\n fieldType = pathname === \"/ar/openorders\" || pathname === \"/ar/changerequestsar\" ? 'date' : 'dateTime';\r\n break;\r\n case 'pickInDate':\r\n value = toDateTime(orderData.outboundPickIn);\r\n fieldType = 'dateTime';\r\n break;\r\n case 'puDate':\r\n value = toDateTime(orderData.puDate);\r\n fieldType = 'date';\r\n break;\r\n case 'dellAppt':\r\n value = toDateTime(orderData.outboundDropAppointment);\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickOutDate':\r\n value = toDateTime(orderData.outboundPickOut);\r\n fieldType = 'dateTime';\r\n break;\r\n case 'wk':\r\n value = orderData.puDate && new Date(orderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n fieldType = 'text';\r\n break;\r\n case 'dueDate':\r\n value = toDateTime(orderData.dueDate);\r\n fieldType = 'date';\r\n editable = false;\r\n break;\r\n case 'customerCodeOrName':\r\n value = orderData.customerCodeOrName;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = orderData.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n fieldType = 'text';\r\n break;\r\n case 'lumper':\r\n value = orderData.outboundLumper ? `$${orderData.outboundLumper}` : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'podRequestStatus':\r\n let tempValue = orderData.outPodRequestStatus ;\r\n if(pathname === \"/ar/deliverednopod\"){\r\n value = tempValue\r\n editable = true;\r\n fieldType = 'select';\r\n } else {\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested' };\r\n value = selectOptionsPOD[tempValue]\r\n editable = false;\r\n fieldType = 'text';\r\n }\r\n tooltip = orderData.outPodRequestAuthorFullName?.trim() ?\r\n `Last Changed: ${orderData.outPodRequestAuthorFullName}` :\r\n `No changes`;\r\n break;\r\n case 'podDoc':\r\n value = orderData.callCheckOutAttachment?.fileName;\r\n if(pathname === \"/ar/deliverednopod\"){\r\n editable = true;\r\n fieldType = 'upload';\r\n } else {\r\n fieldType = 'download';\r\n editable = false;\r\n }\r\n tooltip = orderData.callCheckOutAttachment?.fullName?.trim() ?\r\n `Last Changed: ${orderData?.callCheckOutAttachment?.fullName}` :\r\n `No changes`;\r\n break;\r\n case 'orderNotesByCall':\r\n // value = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n value2 = orderData.outPodNotesHistory;\r\n // value = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n // fieldType = 'select';\r\n // editable = true;\r\n // break;\r\n let tempValueOrderNotes = orderData.outNotes;\r\n if(pathname === \"/ar/deliverednopod\"){\r\n value = tempValueOrderNotes\r\n editable = true;\r\n fieldType = 'select_and_popover';\r\n } else {\r\n const selectOptionsPODStatus = { 'Delivered': 'Delivered', 'Shortage': 'Shortage', 'Overage': 'Overage', 'Reject': 'Reject' };\r\n value = selectOptionsPODStatus[tempValueOrderNotes]\r\n editable = false;\r\n fieldType = 'popover';\r\n }\r\n break;\r\n case 'outPodRequestStatus':\r\n value = orderData.outPodRequestStatus;\r\n value = orderData.outPodRequestStatus === 1 ? 'Received' : orderData.outPodRequestStatus === 2 ? 'Requested' : '-';\r\n break;\r\n case 'freight':\r\n value = orderData.freight ? `$ ${orderData.freight}` : '';\r\n break; \r\n case 'orderStatus':\r\n value = orderData.orderStatus;\r\n break;\r\n case 'actions':\r\n value = 'text';\r\n fieldType = 'actions';\r\n break;\r\n case 'readyToBill':\r\n value = \"SEND TO BILL\";\r\n fieldType = 'button';\r\n break\r\n case 'status':\r\n value = \"BILLED\";\r\n fieldType = 'buttonText';\r\n break\r\n case 'billedBy':\r\n value = orderData.billedByFullName;\r\n fieldType = 'text';\r\n break\r\n case 'billedDate':\r\n value = orderData.billedDate;\r\n fieldType = 'dateTime';\r\n break\r\n case 'changeHistory':\r\n value = \"Change History\";\r\n fieldType = 'button';\r\n break\r\n case 'priceTemplateType':\r\n value = orderData.priceTemplateType === 1 ? 'Spot Price' : orderData.priceTemplateType > 1 ? 'Price Template' : 'Spot Price';\r\n fieldType = 'text';\r\n break\r\n case 'recalculation':\r\n value = \"Recalculation\";\r\n fieldType = 'button';\r\n break\r\n case 'confirm':\r\n value = \"Confirm\";\r\n fieldType = 'button';\r\n break\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n value2,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n return orderWebData;\r\n};\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state, ...{\r\n headers: [\r\n ...state.headers.slice(0, ind),\r\n ...[header],\r\n ...state.headers.slice(ind + 1)\r\n ],\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n }\r\n };\r\n};\r\n\r\nexport const getChangeRequestData = (state, data) => {\r\n return {\r\n ...state, ...{\r\n changeRequestData: data.data,\r\n loading: false,\r\n }\r\n };\r\n};\r\n\r\nexport const setOrderId = (state, orderId) => {\r\n return {\r\n ...state, ...{\r\n orderId: orderId,\r\n }\r\n };\r\n};\r\n\r\nexport const setChecked = (state, orderId) => {\r\n const loadsAssignedOrders = state.loadsAssignedOrders;\r\n if (orderId?.length) {\r\n loadsAssignedOrders.map(order => order.rowState.checked = true);\r\n return {\r\n ...state, ...{\r\n loadsAssignedOrders: loadsAssignedOrders\r\n }\r\n }\r\n } else if (orderId?.length === 0) {\r\n loadsAssignedOrders.map(order => order.rowState.checked = false);\r\n return {\r\n ...state, ...{\r\n loadsAssignedOrders: loadsAssignedOrders\r\n }\r\n }\r\n } else {\r\n const index = loadsAssignedOrders.findIndex(i => i.rowState.orderObjectId === orderId);\r\n const item = loadsAssignedOrders[index];\r\n loadsAssignedOrders.map(order => order.rowState.checked = false);\r\n item.rowState.checked = true;\r\n return {\r\n ...state, ...{\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport const filterDeliveredTrucks = (state, type) => {\r\n return {\r\n ...state,\r\n ...{\r\n filterType: type,\r\n },\r\n }\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortType: sortValue,\r\n },\r\n});\r\n\r\nexport const reactedAssigned = (state, type, id) => {\r\n const loadsAssignedOrders = state.loadsAssignedOrders;\r\n const index = loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = loadsAssignedOrders[index];\r\n\r\n if (item && item.rowState.type !== 'order') {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n\r\n if (type === 'load') {\r\n const stops = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'stop');\r\n const orders = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'order');\r\n\r\n stops.forEach(stop => {\r\n if (stop.rowState.visible) {\r\n orders.forEach(o => o.rowState.visible = false);\r\n stop.rowState.visible = false;\r\n } else {\r\n orders.forEach(o => o.rowState.visible = true);\r\n stop.rowState.visible = true;\r\n }\r\n })\r\n\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n }\r\n if (type === 'stop') {\r\n const stopOrders = state.loadsAssignedOrders.filter(i => i.rowState.stopId === id && i.rowState.type === 'order');\r\n stopOrders.forEach(o => o.rowState.visible = !o.rowState.visible);\r\n return {\r\n ...state, ...{\r\n headers: state.headers,\r\n loadsAssignedOrders:\r\n [\r\n ...state.loadsAssignedOrders.slice(0, index),\r\n ...[item],\r\n ...state.loadsAssignedOrders.slice(index + 1)\r\n ],\r\n }\r\n }\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const updateLoadOrderGroupData = (state, loadData, changedOrder, header, newValue, newOrders) => {\r\n let stopsOrders;\r\n let orderLoad;\r\n\r\n const orderStops = state.loadsAssignedOrders.filter(order => order.rowState?.orderData?.id === changedOrder.id);\r\n const changedOrderLoadType = loadData.loadType;\r\n const orderStopId = orderStops.find(stop => stop.rowState.loadData.loadType === changedOrderLoadType).rowState.stopId;\r\n \r\n const stopOrdersState = state.loadsAssignedOrders.filter(order => order.rowState.stopId === orderStopId);\r\n const stopOrdersIds = stopOrdersState.map(order => order.rowState.orderData.id);\r\n stopsOrders = newOrders.filter(order => stopOrdersIds.includes(order.id));\r\n orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadData.id);\r\n\r\n if (orderLoad) {\r\n stopsOrders.forEach(order => {\r\n\r\n if (header.key === 'orderStatusByCall') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outOrderStatusByCall'] = newValue;\r\n if (newValue === 0 || newValue === 1) {\r\n order['outDelayedReason'] = null;\r\n }\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n if (newValue === 0 || newValue === 1) {\r\n order['inDelayedReason'] = null;\r\n }\r\n order['inOrderStatusByCall'] = newValue;\r\n }\r\n } else\r\n if (header.key === 'delayedReason') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outDelayedReason'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inDelayedReason'] = newValue;\r\n }\r\n }\r\n order[header.key] = newValue;\r\n });\r\n }\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header) => {\r\n if (rowState.orderData || rowState.firstOrderData) {\r\n const newOrders = [...state.orders];\r\n const changedOrder = rowState.firstOrderData ? \r\n newOrders.find(o => o.id === rowState.firstOrderData.id) :\r\n newOrders.find(o => o.id === rowState.orderData.id);\r\n if (changedOrder) {\r\n if (header.key === 'orderStatusByCall') {\r\n changedOrder['outOrderStatusByCall'] = newValue;\r\n if (newValue !== 2) {\r\n changedOrder['outDelayedReason'] = null;\r\n }\r\n } else if (header.key === 'delayedReason') {\r\n changedOrder['outDelayedReason'] = newValue;\r\n } else if (header.key === 'orderNotesByCall') {\r\n changedOrder['outNotes'] = newValue;\r\n } else if (header.key === 'podRequestStatus') {\r\n changedOrder['outPodRequestStatus'] = newValue;\r\n } else if (header.key === 'podDoc') {\r\n changedOrder['callCheckOutAttachment'] = newValue;\r\n }\r\n changedOrder[header.key] = newValue;\r\n }\r\n // updateLoadOrderGroupData(state, rowState?.loadData, changedOrder, header, newValue, newOrders);\r\n return updateOrdersLoadState(state, newOrders,state.hasError, state.message, state.filterType, state.sortType);\r\n }\r\n else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const updatePrice = (state, responce) => {\r\n const data = responce.responce.data || [];\r\n const id = responce.id;\r\n const orders = state.orders;\r\n const selectedOrder = orders.filter(order => order.id === id)[0];\r\n const selectedOrderIndex = orders.findIndex(order => order.id === id);\r\n selectedOrder.price = data.price;\r\n selectedOrder.priceTemplateType = data.priceTemplateType;\r\n\r\n const updatedOrders = [\r\n ...state.orders.slice(0, selectedOrderIndex),\r\n ...[selectedOrder],\r\n ...state.orders.slice(selectedOrderIndex + 1)\r\n ];\r\n return updateOrdersLoadState(state, updatedOrders, state.hasError, state.message, state.filterType, state.sortType);\r\n};\r\n\r\nexport const reCalculatePrice = (state, responce) => {\r\n const price = responce.price;\r\n const id = responce.id;\r\n const priceTemplateType = responce.priceTemplateTypeId;\r\n const orders = state.orders;\r\n const selectedOrder = orders.filter(order => order.id === id)[0];\r\n const selectedOrderIndex = orders.findIndex(order => order.id === id);\r\n selectedOrder.price = price;\r\n selectedOrder.priceTemplateType = priceTemplateType;\r\n const updatedOrders = [\r\n ...state.orders.slice(0, selectedOrderIndex),\r\n ...[selectedOrder],\r\n ...state.orders.slice(selectedOrderIndex + 1)\r\n ];\r\n return updateOrdersLoadState(state, updatedOrders, responce.endpoint, state.hasError, state.message, state.filterType, state.sortType);\r\n};\r\n\r\nexport const setPriceAsCalculated = (state, responce) => {\r\n const list = state.priceIsCalculated;\r\n list.push(responce);\r\n return {\r\n ...state, \r\n ...{\r\n priceIsCalculated: list,\r\n }\r\n }\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state, ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable\r\n }\r\n }\r\n});\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: ''\r\n }\r\n});\r\n\r\nexport const setInLoading = (state, endpoint) => ({\r\n ...state, ...{\r\n loading: true,\r\n changeRequestListLoading: endpoint === 'orderschangerequestslist' ? true : false,\r\n openOrdersLoading: endpoint === 'availableorderlist' ? true : false,\r\n }\r\n});\r\n","import { ACCOUNT_RECEIVABLE_BUILD as actionTypes } from '../../actions/accountReceivableActions/accountReceivableActionTypes';\r\nimport * as loadArea from './accountReceivableReducer';\r\n\r\nconst pathname = window.location.pathname;\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'deliveredDate',\r\n title: 'Delivery Date',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n sortable: true,\r\n },\r\n // {\r\n // key: 'referenceNumber',\r\n // title: 'Row',\r\n // width: 60,\r\n // leftAction: false,\r\n // visible: true\r\n // },\r\n {\r\n key: 'customerName',\r\n title: 'Customer',\r\n width: 110,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'batchType',\r\n title: 'Batch',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickLocationName',\r\n title: 'Pick Up WH',\r\n width: 160,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'drop2WH',\r\n title: 'Delivery Warehouse',\r\n width: 160,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'routeId',\r\n title: 'Route',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'puDate',\r\n title: 'Pue Date',\r\n width: 80,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 80,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'space',\r\n title: 'Space',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'cases',\r\n title: 'Cases',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'LBS',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'price',\r\n title: 'Price',\r\n width: 40,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'lumper',\r\n title: 'Lumper',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'podRequestStatus',\r\n title: 'POD Request',\r\n width: 80,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'podDoc',\r\n title: 'POD Doc.',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'orderNotesByCall',\r\n title: 'POD Status',\r\n width: 70,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'notes',\r\n title: 'Notes',\r\n width: 40,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'orderGroupIndex',\r\n title: 'Group',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'actions',\r\n title: 'Action',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n }\r\n ],\r\n openOrdersHeaders: [\r\n {\r\n key: 'temperature',\r\n title: 'Temp',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due/D',\r\n width: 60,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'deliveredDate',\r\n title: 'Del/D',\r\n width: pathname === \"/ar/openorders\" || pathname === \"/ar/changerequestsar\" ? 60 : 110,\r\n leftAction: false,\r\n visible: true,\r\n sortable: true\r\n },\r\n {\r\n key: 'customerName',\r\n title: 'Customer',\r\n width: 110,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'pickLocationName',\r\n title: 'Pick Up WH',\r\n width: 160,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'drop2WH',\r\n title: 'Delivery Warehouse',\r\n width: 160,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'routeId',\r\n title: 'Route',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pallet',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'space',\r\n title: 'Space',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'cases',\r\n title: 'Case',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true\r\n },\r\n {\r\n key: 'weight',\r\n title: 'LBS',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n {\r\n key: 'batchType',\r\n title: 'Batch',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'Freight',\r\n // width: 60,\r\n // leftAction: false,\r\n // visible: true\r\n // },\r\n {\r\n key: 'orderGroupIndex',\r\n title: 'Group',\r\n width: 50,\r\n leftAction: false,\r\n visible: true\r\n },\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n orders: null,\r\n loads: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n changeRequestListLoading: true,\r\n openOrdersLoading: true,\r\n hasError: false,\r\n message: '',\r\n filterType: '',\r\n sortType: {type: \"\", ind: \"\", sort: null},\r\n orderId: '',\r\n priceIsCalculated: [],\r\n};\r\nconst defaultStateClone = {...defaultState};\r\n\r\nexport default (state = defaultState, action) => {\r\n const pathname = window.location.pathname;\r\n const newHeaders = defaultStateClone.headers.filter(item => item.key !== \"actions\")\r\n if (pathname === \"/ar/readytobill\" && !state.headers.filter(item => item.key === \"readyToBill\").length){\r\n state.headers = [...newHeaders, {\r\n key: 'readyToBill',\r\n title: '',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n }, {\r\n key: 'actions',\r\n title: 'Action',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n }]\r\n }\r\n if (pathname === \"/ar/alreadybilled\" && !state.headers.filter(item => item.key === \"status\" ).length) {\r\n state.headers = [...newHeaders, {\r\n key: 'status',\r\n title: 'Status',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },{\r\n key: 'billedBy',\r\n title: 'Billed by',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },{\r\n key: 'billedDate',\r\n title: 'Billed Date',\r\n width: 150,\r\n leftAction: false,\r\n visible: true,\r\n\r\n },{\r\n key: 'actions',\r\n title: 'Action',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n }\r\n ]\r\n }\r\n if (pathname === \"/ar/deliverednopod\"){\r\n state.headers = [...defaultStateClone.headers]\r\n }\r\n if (pathname === \"/ar/openorders\") {\r\n state.headers = [...defaultState.openOrdersHeaders]\r\n }\r\n if (pathname === \"/ar/changerequestsar\") {\r\n state.headers = [\r\n ...defaultState.openOrdersHeaders,\r\n {\r\n key: 'price',\r\n title: 'Price',\r\n width: 50,\r\n leftAction: false,\r\n visible: true,\r\n }, {\r\n key: 'priceTemplateType',\r\n title: 'Price calculation option',\r\n width: 100,\r\n leftAction: false,\r\n visible: true\r\n }, {\r\n key: 'recalculation',\r\n title: 'Recalculation',\r\n width: 80,\r\n leftAction: false,\r\n visible: true\r\n }, {\r\n key: 'changeHistory',\r\n title: 'Change History',\r\n width: 90,\r\n leftAction: false,\r\n visible: true,\r\n }, {\r\n key: 'confirm',\r\n title: 'Confirm',\r\n width: 60,\r\n leftAction: false,\r\n visible: true\r\n }\r\n ]\r\n };\r\n\r\n switch (action.type) {\r\n case actionTypes.GET_ACCOUNT_RECEIVABLE:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.ACCOUNT_RECEIVABLE_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.FILTER_ACCOUNT_RECEIVABLE:\r\n return loadArea.filterDeliveredTrucks(state, action.data);\r\n case actionTypes.SORT_ACCOUNT_RECEIVABLE:\r\n return loadArea.sortBy(state, action.data);\r\n case actionTypes.GET_ACCOUNT_RECEIVABLE_LOADING:\r\n return loadArea.setInLoading(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE:\r\n return loadArea.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.GET_CHANGE_REQUEST_DATA:\r\n return loadArea.getChangeRequestData(state, action.data);\r\n case actionTypes.GET_CHANGE_REQUEST_DATA_LOADING:\r\n return loadArea.setInLoading(state, action.data);\r\n case actionTypes.GET_CHANGE_REQUEST_DATA_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.SET_ACCOUNT_RECEIVABLE_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.SET_ORDER_ID:\r\n return loadArea.setOrderId(state, action.data);\r\n case actionTypes.SET_CHECKED:\r\n return loadArea.setChecked(state, action.data); \r\n case actionTypes.UPDATE_PRICE:\r\n return loadArea.updatePrice(state, action.data);\r\n case actionTypes.RECALCULATE_PRICE:\r\n return loadArea.reCalculatePrice(state, action.data);\r\n case actionTypes.SET_PRICE_AS_CALCULATED:\r\n return loadArea.setPriceAsCalculated(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","export const getLoadDetails = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n loadDetails: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setLoadDetails = (state, loadDetails) => {\r\n return {\r\n ...state, ...{\r\n loadDetails: loadDetails,\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n }\r\n});\r\n\r\nexport const clearLoadDetailsData = state => ({\r\n ...state,\r\n ...{\r\n loadDetails: null,\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n\r\nexport const getCarrierList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n carrierList: data?.filter(carrier => !carrier.inactive),\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getTrucksList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n trucksList: data?.filter(truck => !truck.inactive),\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getTrailersList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n trailersList: data?.filter(trailer => !trailer.inactive),\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getDriversList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n driversList: data?.filter(driver => !driver.inactive),\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getEmptyEFS = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n EFS: data,\r\n EFSLoading: false,\r\n hasError: hasError || data.hasError,\r\n message: message || data.message,\r\n } \r\n }\r\n};\r\n\r\nexport const getEFS = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n EFS: data,\r\n EFSLoading: false,\r\n hasError: hasError || data.hasError,\r\n message: message || data.message,\r\n } \r\n }\r\n};\r\n\r\nexport const getEFSList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n EFSList: data,\r\n EFSLoading: false,\r\n hasError: hasError || data.hasError,\r\n message: message || data.message,\r\n } \r\n }\r\n};\r\n\r\nexport const setEFSLoading = state => ({\r\n ...state, ...{\r\n EFSLoading: true\r\n }\r\n});\r\n\r\nexport const setEFS = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n EFS: data,\r\n EFSLoading: false,\r\n hasError: hasError || data.hasError,\r\n message: message || data.message,\r\n } \r\n }\r\n};\r\n\r\nexport const updateEFS = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n EFS: data,\r\n EFSLoading: false,\r\n hasError: hasError || data.hasError,\r\n message: message || data.message,\r\n } \r\n }\r\n};","import { LOAD_DETAILS_BUILD as actionTypes } from '../../actions/loadDetails/loadDetailsActionTypes';\r\nimport * as loadArea from './loadDetailsReducer';\r\n\r\nconst defaultState = {\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n loadDetails: null,\r\n carrierList: null,\r\n trucksList: null,\r\n trailersList: null,\r\n driversList: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.LOAD_DETAILS_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.GET_LOAD_DETAILS:\r\n return loadArea.getLoadDetails(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_LOAD_DETAILS:\r\n return loadArea.getLoadDetails(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.LOAD_DETAILS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.SET_LOAD_DETAILS:\r\n return loadArea.setLoadDetails(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.GET_CARRIER_LIST:\r\n return loadArea.getCarrierList(state, action.data);\r\n case actionTypes.GET_TRUCKS_LIST:\r\n return loadArea.getTrucksList(state, action.data);\r\n case actionTypes.GET_TRAILERS_LIST:\r\n return loadArea.getTrailersList(state, action.data);\r\n case actionTypes.GET_DRIVERS_LIST:\r\n return loadArea.getDriversList(state, action.data);\r\n case actionTypes.CLEAR_LOAD_DETAILS_DATA:\r\n return loadArea.clearLoadDetailsData(state, action.data);\r\n case actionTypes.EMPTY_EFS_LOADING:\r\n return loadArea.setEFSLoading(state);\r\n case actionTypes.GET_EMPTY_EFS:\r\n return loadArea.getEmptyEFS(state, action.data);\r\n case actionTypes.EFS_LIST_LOADING:\r\n return loadArea.setEFSLoading(state);\r\n case actionTypes.GET_EFS:\r\n return loadArea.getEFS(state, action.data);\r\n case actionTypes.GET_EFS_LOADING:\r\n return loadArea.setEFSLoading(state);\r\n case actionTypes.GET_EFS_LIST:\r\n return loadArea.getEFSList(state, action.data);\r\n case actionTypes.SET_EFS_LOADING:\r\n return loadArea.setEFSLoading(state);\r\n case actionTypes.SET_EFS:\r\n return loadArea.setEFS(state, action.data);\r\n case actionTypes.UPDATE_EFS_LOADING:\r\n return loadArea.setEFSLoading(state);\r\n case actionTypes.UPDATE_EFS:\r\n return loadArea.updateEFS(state, action.data);\r\n case actionTypes.UPDATE_EFS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.EMPTY_EFS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.GET_EFS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.EFS_LIST_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.SET_EFS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","export const getRateConfirmationData = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n rateConfirmationData: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getRateConfirmationPDF_URL = (state, response, hasError = false, message = '') => {\r\n const guid = response.substring(response.lastIndexOf('/') + 1);\r\n return {\r\n ...state, ...{\r\n rateConfirmationGUID: guid,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const getCarrierRateConfirmationdata = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n\r\n return {\r\n ...state, ...{\r\n carrierRateConfirmationData: data.data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n ...state.rateConfirmationData,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n }\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","import { RATE_CONFIRMATION_BUILD as actionTypes } from '../../actions/rateConfirmation/rateConfirmationActionTypes';\r\nimport * as loadArea from './rateConfirmationReducer';\r\n\r\nconst defaultState = {\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n rateConfirmationData: null,\r\n rateConfirmationGUID: null,\r\n carrierRateConfirmationData: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_RATE_CONFIRMATION_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.GET_RATE_CONFIRMATION_DATA:\r\n return loadArea.getRateConfirmationData(state, action.data);\r\n case actionTypes.GET_RATE_CONFIRMATION_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.GET_RATE_CONFIRMATION_PDF_URL:\r\n return loadArea.getRateConfirmationPDF_URL(state, action.data);\r\n case actionTypes.GET_CARRIER_RATE_CONFIRMATION_DATA:\r\n return loadArea.getCarrierRateConfirmationdata(state, action.data); \r\n default:\r\n return state;\r\n }\r\n};","export const getNotes = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n notes: data.comments,\r\n loading: false,\r\n hasError,\r\n message,\r\n loadData: data,\r\n } \r\n }\r\n};\r\n\r\nexport const setNotes = (state, note) => {\r\n return {\r\n ...state, ...{\r\n notes: [...state.notes, note],\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","import { NOTES_BUILD as actionTypes } from '../../actions/notes/notesActionTypes';\r\nimport * as loadArea from './notesReducer';\r\n\r\nconst defaultState = {\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n notes: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.NOTES_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.GET_NOTES:\r\n return loadArea.getNotes(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_NOTES:\r\n return loadArea.getNotes(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.NOTES_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.SET_NOTES:\r\n return loadArea.setNotes(state, action.data.value, action.data.rowState, action.data.header);\r\n default:\r\n return state;\r\n }\r\n};","import moment from 'moment';\r\nimport { getEfsStatusTooltip, getEfsBGColor } from './dataGeneral';\r\nexport const itemDefaultSize = 20;\r\nconst toDateTime = value => (value ? moment.utc(value).toDate() : '');\r\n\r\nconst extractWebLoadsToList = state => loads => {\r\n let loadsAssignedOrders = [];\r\n loads.forEach(loadItem => {\r\n loadsAssignedOrders.push(loadItem);\r\n loadItem.stops.forEach(stop => {\r\n loadsAssignedOrders.push(stop);\r\n stop.ordersData.forEach(order => {\r\n loadsAssignedOrders.push(order);\r\n });\r\n });\r\n });\r\n return loadsAssignedOrders;\r\n};\r\n\r\nconst createWebLoadArray = state => (loadsData, assignedOrders, headers, oldLoadsAssignedOrders) => {\r\n const loads = [];\r\n loadsData\r\n .filter(l => !l.parentLoadId)\r\n .forEach(l =>\r\n loads.push(\r\n createWebLoad(\r\n l,\r\n assignedOrders.filter(o => o['loadId'] === l.id || o['outboundLoadId'] === l.id),\r\n headers,\r\n (oldLoadsAssignedOrders || []).find(ol => ol.rowState.type === 'load' && ol.rowState.loadData.id === l.id),\r\n false,\r\n ),\r\n ),\r\n );\r\n if (assignedOrders.length !== loads.reduce((r, o) => (r += o.ordersData.length), 0)) {\r\n console.log('Some assigned orders not found there loads');\r\n }\r\n return loads;\r\n};\r\n\r\nexport const updateOrdersLoadState = (\r\n state,\r\n orders,\r\n loads,\r\n subOrders,\r\n hasError = false,\r\n message = '',\r\n filterType = 'all',\r\n sortType = { type: '', ind: '', sort: null },\r\n) => ({\r\n ...state,\r\n ...{\r\n orders,\r\n loads,\r\n subOrders,\r\n loading: false,\r\n hasError,\r\n message,\r\n filterType,\r\n sortType,\r\n loadsAssignedOrders: extractWebLoadsToList(state)(\r\n createWebLoadArray(state)(loads, orders, state.headers, state.loadsAssignedOrders),\r\n state.headers,\r\n ),\r\n },\r\n});\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return updateOrdersLoadState(state, [...data.assignedOrders.data], data.loads.data, data.subOrders.data, hasError, message);\r\n};\r\n\r\nexport const createWebLoad = (loadData, loadOrders, headers, oldWebLoad) => {\r\n const loadId = `load_${loadData.id}`;\r\n const loadWebData = {\r\n row: [],\r\n ordersData: [],\r\n stops: [],\r\n rowState: {\r\n type: 'load',\r\n id: loadId,\r\n loadId: loadData.id,\r\n loadData,\r\n visible: true,\r\n reacted: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n isChecked: oldWebLoad !== undefined && oldWebLoad.rowState.reacted,\r\n available: false,\r\n createPickKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}_${order.pickLocationId}`;\r\n }\r\n return createKey;\r\n },\r\n createDropKey: order => {\r\n let createKey = '0';\r\n if (order.loadId) {\r\n createKey = `${order.loadId}`;\r\n if (order.warehouse) {\r\n createKey = `${createKey}_0_${order.warehouseId}`;\r\n } else {\r\n createKey = `${createKey}_${order.dropLocationId}_0`;\r\n }\r\n }\r\n return createKey;\r\n },\r\n groups: (orders, keyFunction) =>\r\n orders.reduce((r, o) => {\r\n const groupBy = keyFunction(o.rowState.orderData);\r\n r[groupBy] = [...(r[groupBy] || []), o.rowState.orderData];\r\n return r;\r\n }, {}),\r\n findOrderGroup: (groups, order, createKey) => {\r\n return Object.keys(groups).find(go => {\r\n const oG = groups[go];\r\n if (oG.some(e => e.id === order.id)) {\r\n return groups[go];\r\n }\r\n if (createKey && go === createKey(order)) {\r\n return groups[go];\r\n }\r\n return null;\r\n });\r\n },\r\n height: itemDefaultSize,\r\n },\r\n };\r\n loadOrders.forEach(lo => loadWebData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, loadWebData.rowState.reacted)));\r\n loadWebData.ordersData = loadWebData.ordersData.sort(\r\n (a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''),\r\n );\r\n\r\n const pickInboundGroups = loadWebData.rowState.groups(loadWebData.ordersData, loadWebData.rowState.createPickKey);\r\n\r\n let stopNumber = 0;\r\n\r\n Object.keys(pickInboundGroups).forEach(key => {\r\n stopNumber++;\r\n const groupOrders = pickInboundGroups[key];\r\n groupOrders.forEach(o => {\r\n loadWebData.ordersData.find(wo => wo.rowState.orderData.id === o.id).row.find(f => f.key === 'left_action').value = stopNumber;\r\n });\r\n });\r\n\r\n const stopsList =\r\n loadData?.loadType === 1\r\n ? [...new Set(loadOrders.map(order => order.pickLocationId))]\r\n : loadData?.loadType === 3\r\n ? [...new Set(loadOrders.map(order => order.dropLocationId))]\r\n : '';\r\n stopsList.forEach((stopNumber, i) => {\r\n loadWebData.stops.push(createStop(loadOrders, headers, loadData, loadId, loadWebData?.rowState.reacted, stopNumber, stopsList));\r\n });\r\n\r\n loadWebData.ordersData = loadWebData.ordersData.sort(\r\n (a, b) => +a.row.find(f => f.key === 'left_action').value - +b.row.find(f => f.key === 'left_action').value,\r\n );\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'efs':\r\n value = loadData.efsSum ? `$${loadData.efsSum}` : '';\r\n fieldType = 'currency';\r\n cellStyle = getEfsBGColor(loadData.efsStatusMin);\r\n tooltip = getEfsStatusTooltip(loadData.efsStatusMin);\r\n break;\r\n case 'driver_truck_Trailer_VIN':\r\n value = `${loadData.driverName ? loadData.driverName : ''} ${loadData.truckNumber ? loadData.truckNumber : ''} ${\r\n loadData.trailer ? loadData.trailer : ''\r\n }`; //??? + vin\r\n fieldType = 'text';\r\n break;\r\n case 'pickLocation':\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[0];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n break;\r\n case 'carrierName':\r\n value = loadData.carrierName;\r\n fieldType = 'text';\r\n break;\r\n case 'rate':\r\n value = loadData.rate ? loadData.rate : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'instructions':\r\n value = loadData.notes ? loadData.notes : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'pickInDate':\r\n value = loadData?.loadType === 1 ? `${Object.keys(pickInboundGroups).length}P` : '1P';\r\n break;\r\n case 'palletCount':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ? +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ? +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ? +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n if (loadWebData.ordersData.length > 0) {\r\n value = loadWebData.ordersData.reduce((a, b) => {\r\n return a + (b ? +b.row.find(f => f.key === headerItem.key).value : 0);\r\n }, 0);\r\n }\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadNumber;\r\n break;\r\n case 'readyDate':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const filterData = loadWebData.ordersData.filter(o => o.rowState.orderData[headerItem.key]);\r\n if (filterData && filterData.length > 0) {\r\n const maxDate = Math.max.apply(\r\n null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData[headerItem.key]);\r\n }),\r\n );\r\n if (maxDate) {\r\n value = new Date(maxDate);\r\n }\r\n }\r\n }\r\n fieldType = 'date';\r\n break;\r\n case 'inboundPickAppointment':\r\n value = '';\r\n if (loadWebData.ordersData.length !== 0) {\r\n const order = loadWebData.ordersData[loadWebData.ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === headerItem.key).value;\r\n }\r\n }\r\n fieldType = 'dateTime';\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n } else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n loadWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip,\r\n });\r\n }\r\n\r\n return loadWebData;\r\n};\r\n\r\nexport const createStop = (loadOrders, headers, loadData, loadId, isHidden, stopNumber, stopsList) => {\r\n const stop = loadData.stops.filter(stop => stop.locationId === stopNumber);\r\n const loadType = loadData.loadType;\r\n const stopData = {\r\n row: [],\r\n ordersData: [],\r\n rowState: {\r\n type: 'stop',\r\n id: `stop_${loadData.id}_${stopNumber}`,\r\n loadData,\r\n firstOrderData: {},\r\n loadId: loadId && loadId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData?.id,\r\n height: itemDefaultSize,\r\n stopNumber,\r\n notes: stop?.[0]?.notes,\r\n },\r\n };\r\n\r\n loadOrders.forEach(lo => {\r\n if (loadType === 1 && lo.pickLocationId === stopNumber) {\r\n stopData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, stopData.rowState.reacted, stopData.rowState.id));\r\n stopData.ordersData.forEach(order => (order.row.find(row => row.key === 'left_action').value = stopsList.indexOf(stopNumber) + 1));\r\n } else if (loadType === 3 && lo.dropLocationId === stopNumber) {\r\n stopData.ordersData.push(createWebOrder(lo, headers, loadData, loadId, stopData.rowState.reacted, stopData.rowState.id));\r\n stopData.ordersData.forEach(order => (order.row.find(row => row.key === 'left_action').value = stopsList.indexOf(stopNumber) + 1));\r\n }\r\n });\r\n\r\n stopData.ordersData = stopData.ordersData.sort(\r\n (a, b) => new Date(a.rowState.orderData.inboundPickAppointment) - new Date(b.rowState.orderData.inboundPickAppointment ?? ''),\r\n );\r\n\r\n stopData.rowState.firstOrderData = stopData.ordersData[0].rowState.orderData;\r\n const firstOrderData = stopData.ordersData[0].rowState.orderData;\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'pickInDate':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(firstOrderData.inboundPickIn)\r\n : loadData.loadType === 3\r\n ? toDateTime(firstOrderData.outboundPickIn)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'lumper':\r\n value = loadData.loadType === 1 ? firstOrderData.inboundLumper : loadData.loadType === 3 ? firstOrderData.outboundLumper : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'driver_truck_Trailer_VIN':\r\n value = `${firstOrderData.driverName ? firstOrderData.driverName : ''} ${firstOrderData.truckNumber ? firstOrderData.truckNumber : ''} ${\r\n firstOrderData.trailer ? firstOrderData.trailer : ''\r\n }`; //??? + vin\r\n break;\r\n case 'carrierName':\r\n value = firstOrderData.carrierName;\r\n fieldType = 'text';\r\n break;\r\n case 'rate':\r\n value = firstOrderData.rate ? firstOrderData.rate : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'space':\r\n value = firstOrderData.space;\r\n fieldType = 'text';\r\n break;\r\n case 'dellAppt':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(firstOrderData.inboundDropAppointment)\r\n : loadData.loadType === 3\r\n ? toDateTime(firstOrderData.outboundDropAppointment)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickOutDate':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(firstOrderData.inboundPickOut)\r\n : loadData.loadType === 3\r\n ? toDateTime(firstOrderData.outboundPickOut)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'readyDate':\r\n value = toDateTime(firstOrderData.readyDate);\r\n fieldType = 'date';\r\n break;\r\n case 'in_load':\r\n value = firstOrderData.inLoad;\r\n break;\r\n case 'out_load':\r\n value = firstOrderData.outLoad;\r\n break;\r\n case 'wk':\r\n value = firstOrderData.puDate && new Date(firstOrderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'dueDate':\r\n value = toDateTime(firstOrderData.dueDate);\r\n fieldType = 'date';\r\n break;\r\n case 'dropInDate':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(firstOrderData.inboundDropIn)\r\n : loadData.loadType === 3\r\n ? toDateTime(firstOrderData.outboundDropIn)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropOutDate':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(firstOrderData.inboundDropOut)\r\n : loadData.loadType === 3\r\n ? toDateTime(firstOrderData.outboundDropOut)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickLocation':\r\n value = firstOrderData.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = 'San Fernando, CA (TST)'; //??? need to change\r\n fieldType = 'text';\r\n break;\r\n case 'inboundPickAppointment':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(stopData.inboundPickAppointment)\r\n : loadData.loadType === 3\r\n ? toDateTime(stopData.outboundPickAppointment)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'palletCount':\r\n value =\r\n stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.palletCount;\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'cases':\r\n value =\r\n stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.cases;\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'weight':\r\n value =\r\n stopData.ordersData.reduce((acc, order) => {\r\n return acc + order.rowState.orderData.weight;\r\n }, 0) || '';\r\n fieldType = 'text';\r\n break;\r\n case 'loadNumber':\r\n value = loadData ? loadData.loadNumber : '';\r\n fieldType = 'link';\r\n break;\r\n case 'notes':\r\n value = loadData.notes;\r\n break;\r\n case 'orderStatusByCall':\r\n value = loadData.loadType === 1 ? firstOrderData.inOrderStatusByCall : loadData.loadType === 3 ? firstOrderData.outOrderStatusByCall : '';\r\n fieldType = 'select';\r\n break;\r\n case 'delayedReason':\r\n value = loadData.loadType === 1 ? firstOrderData.inDelayedReason : loadData.loadType === 3 ? firstOrderData.outDelayedReason : '';\r\n fieldType = 'select';\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n stopData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip,\r\n });\r\n }\r\n\r\n return stopData;\r\n};\r\n\r\nexport const createWebOrder = (oData, headers, loadData, loadId, isHidden, stopId) => {\r\n const orderData = { ...oData };\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n id: `order_${orderData.id}_${loadId}`,\r\n orderObjectId: orderData.id,\r\n loadObjectId: loadData && loadData.id,\r\n orderData: orderData,\r\n loadData,\r\n orderId: `order_${orderData.id}`,\r\n loadId: loadId && loadId,\r\n stopId: stopId && stopId,\r\n visible: !isHidden,\r\n reacted: false,\r\n available: loadData === null || !loadData.id,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n const pathname = window.location.pathname;\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let value2 = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'id':\r\n value = orderData.id;\r\n break;\r\n case 'pickInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundPickIn) : loadData.loadType === 3 ? toDateTime(orderData.outboundPickIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'lumper':\r\n value = loadData.loadType === 1 ? orderData.inboundLumper : loadData.loadType === 3 ? orderData.outboundLumper : '';\r\n fieldType = 'currency';\r\n break;\r\n case 'dellAppt':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(orderData.inboundDropAppointment)\r\n : loadData.loadType === 3\r\n ? toDateTime(orderData.outboundDropAppointment)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'pickOutDate':\r\n value =\r\n loadData.loadType === 1 ? toDateTime(orderData.inboundPickOut) : loadData.loadType === 3 ? toDateTime(orderData.outboundPickOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'readyDate':\r\n value = toDateTime(orderData.readyDate);\r\n fieldType = 'date';\r\n break;\r\n case 'in_load':\r\n value = orderData.inLoad;\r\n break;\r\n case 'out_load':\r\n value = orderData.outLoad;\r\n break;\r\n case 'loadNumber':\r\n value = loadData.loadType === 1 ? orderData.inboundLoadNumber : loadData.loadType === 3 ? orderData.outboundLoadNumber : '';\r\n break;\r\n case 'wk':\r\n value = orderData.puDate && new Date(orderData.puDate).getWeek();\r\n fieldType = 'text';\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n fieldType = 'text';\r\n break;\r\n case 'dueDate':\r\n value = toDateTime(orderData.dueDate);\r\n fieldType = 'date';\r\n break;\r\n case 'dropInDate':\r\n value = loadData.loadType === 1 ? toDateTime(orderData.inboundDropIn) : loadData.loadType === 3 ? toDateTime(orderData.outboundDropIn) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'dropOutDate':\r\n value =\r\n loadData.loadType === 1 ? toDateTime(orderData.inboundDropOut) : loadData.loadType === 3 ? toDateTime(orderData.outboundDropOut) : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'customerCodeOrName':\r\n value = orderData.customerCodeOrName;\r\n fieldType = 'text';\r\n break;\r\n case 'dropLocation':\r\n value = orderData.dropLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocation;\r\n fieldType = 'text';\r\n break;\r\n case 'inboundPickAppointment':\r\n value =\r\n loadData.loadType === 1\r\n ? toDateTime(orderData.inboundPickAppointment)\r\n : loadData.loadType === 3\r\n ? toDateTime(orderData.outboundPickAppointment)\r\n : '';\r\n fieldType = 'dateTime';\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n fieldType = 'integer';\r\n break;\r\n case 'cases':\r\n value = orderData.cases;\r\n fieldType = 'integer';\r\n break;\r\n case 'weight':\r\n value = orderData.weight;\r\n fieldType = 'integer';\r\n break;\r\n case 'podRequestStatus':\r\n let tempValue = loadData.loadType === 1 ? orderData.inPodRequestStatus : loadData.loadType === 3 ? orderData.outPodRequestStatus : '';\r\n if (pathname === '/ap/deliveredtrucks') {\r\n value = tempValue;\r\n fieldType = 'select';\r\n } else {\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested', 3: 'Don’t Split' };\r\n value = selectOptionsPOD[tempValue];\r\n fieldType = 'text';\r\n }\r\n tooltip =\r\n loadData.loadType === 1 && orderData.inPodRequestAuthorFullName.trim()\r\n ? `Last Changed: ${orderData.inPodRequestAuthorFullName}`\r\n : loadData.loadType === 1 && !orderData.inPodRequestAuthorFullName.trim()\r\n ? `No changes`\r\n : loadData.loadType === 3 && orderData.outPodRequestAuthorFullName.trim()\r\n ? `Last Changed: ${orderData.outPodRequestAuthorFullName}`\r\n : loadData.loadType === 3 && !orderData.outPodRequestAuthorFullName.trim()\r\n ? `No changes`\r\n : '';\r\n break;\r\n case 'podDoc':\r\n value =\r\n loadData.loadType === 1\r\n ? orderData.callCheckInAttachment?.fileName\r\n : loadData.loadType === 3\r\n ? orderData.callCheckOutAttachment?.fileName\r\n : '';\r\n tooltip =\r\n loadData.loadType === 1 && orderData.callCheckInAttachment?.fullName\r\n ? `Last Changed: ${orderData.callCheckInAttachment?.fullName}`\r\n : loadData.loadType === 1 && !orderData.callCheckInAttachment?.fullName\r\n ? `No changes`\r\n : loadData.loadType === 3 && orderData.callCheckOutAttachment?.fullName\r\n ? `Last Changed: ${orderData?.callCheckOutAttachment?.fullName}`\r\n : loadData.loadType === 3 && !orderData.callCheckOutAttachment?.fullName\r\n ? `No changes`\r\n : '';\r\n break;\r\n case 'orderNotesByCall':\r\n value2 = loadData.loadType === 1 ? orderData.inPodNotesHistory : loadData.loadType === 3 ? orderData.outPodNotesHistory : '';\r\n let tempValueOrderNotes = loadData.loadType === 1 ? orderData.inNotes : loadData.loadType === 3 ? orderData.outNotes : '';\r\n if (pathname === '/ap/deliveredtrucks') {\r\n value = tempValueOrderNotes;\r\n fieldType = 'select_and_popover';\r\n } else {\r\n const selectOptionsPODStatus = { Delivered: 'Delivered', Shortage: 'Shortage', Overage: 'Overage', Reject: 'Reject' };\r\n value = selectOptionsPODStatus[tempValueOrderNotes];\r\n fieldType = 'popover';\r\n }\r\n break;\r\n case 'actions':\r\n value = 'text';\r\n fieldType = 'actions';\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n value2,\r\n fieldType,\r\n displayState: 1,\r\n editable,\r\n cellStyle,\r\n tooltip,\r\n });\r\n }\r\n\r\n return orderWebData;\r\n};\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n loadsAssignedOrders: state.loadsAssignedOrders,\r\n },\r\n };\r\n};\r\n\r\nexport const filterDeliveredLoads = (state, type) => {\r\n return {\r\n ...state,\r\n ...{\r\n filterType: type,\r\n },\r\n };\r\n};\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n sortType: sortValue,\r\n },\r\n});\r\n\r\nexport const reactedAssigned = (state, type, id) => {\r\n const loadsAssignedOrders = state.loadsAssignedOrders;\r\n const index = loadsAssignedOrders.findIndex(i => i.rowState.id === id && i.rowState.type === type);\r\n const item = loadsAssignedOrders[index];\r\n\r\n if (item && item.rowState.type !== 'order') {\r\n item.rowState.reacted = !item.rowState.reacted;\r\n\r\n if (type === 'load') {\r\n const stops = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'stop');\r\n const orders = loadsAssignedOrders.filter(i => i.rowState.loadId === id && i.rowState.type === 'order');\r\n\r\n stops.forEach(stop => {\r\n if (stop.rowState.visible) {\r\n orders.forEach(o => (o.rowState.visible = false));\r\n stop.rowState.visible = false;\r\n } else {\r\n orders.forEach(o => (o.rowState.visible = true));\r\n stop.rowState.visible = true;\r\n }\r\n });\r\n\r\n return {\r\n ...state,\r\n ...{\r\n headers: state.headers,\r\n loadsAssignedOrders: [...state.loadsAssignedOrders.slice(0, index), ...[item], ...state.loadsAssignedOrders.slice(index + 1)],\r\n },\r\n };\r\n }\r\n if (type === 'stop') {\r\n const stopOrders = state.loadsAssignedOrders.filter(i => i.rowState.stopId === id && i.rowState.type === 'order');\r\n stopOrders.forEach(o => (o.rowState.visible = !o.rowState.visible));\r\n\r\n return {\r\n ...state,\r\n ...{\r\n headers: state.headers,\r\n loadsAssignedOrders: [...state.loadsAssignedOrders.slice(0, index), ...[item], ...state.loadsAssignedOrders.slice(index + 1)],\r\n },\r\n };\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const updateLoadOrderGroupData = (state, loadData, changedOrder, header, newValue, newOrders) => {\r\n let stopsOrders;\r\n let orderLoad;\r\n\r\n const orderStops = state.loadsAssignedOrders.filter(order => order.rowState?.orderData?.id === changedOrder.id);\r\n const changedOrderLoadType = loadData.loadType;\r\n const orderStopId = orderStops.find(stop => stop.rowState.loadData.loadType === changedOrderLoadType).rowState.stopId;\r\n\r\n const stopOrdersState = state.loadsAssignedOrders.filter(order => order.rowState.stopId === orderStopId);\r\n const stopOrdersIds = stopOrdersState.map(order => order.rowState.orderData.id);\r\n stopsOrders = newOrders.filter(order => stopOrdersIds.includes(order.id));\r\n orderLoad = state.loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.loadData.id === loadData.id);\r\n\r\n if (orderLoad) {\r\n stopsOrders.forEach(order => {\r\n if (header.key === 'orderStatusByCall') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outOrderStatusByCall'] = newValue;\r\n if (newValue === 0 || newValue === 1) {\r\n order['outDelayedReason'] = null;\r\n }\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n if (newValue === 0 || newValue === 1) {\r\n order['inDelayedReason'] = null;\r\n }\r\n order['inOrderStatusByCall'] = newValue;\r\n }\r\n } else if (header.key === 'delayedReason') {\r\n if (orderLoad.rowState.loadData.loadType === 3) {\r\n order['outDelayedReason'] = newValue;\r\n } else if (orderLoad.rowState.loadData.loadType === 1) {\r\n order['inDelayedReason'] = newValue;\r\n }\r\n }\r\n order[header.key] = newValue;\r\n });\r\n }\r\n};\r\n\r\nexport const setData = (state, newValue, rowState, header) => {\r\n if (rowState.orderData || rowState.firstOrderData) {\r\n const newOrders = [...state.orders];\r\n const changedOrder = rowState.firstOrderData\r\n ? newOrders.find(o => o.id === rowState.firstOrderData.id)\r\n : newOrders.find(o => o.id === rowState.orderData.id);\r\n if (changedOrder) {\r\n if (header.key === 'orderStatusByCall') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outOrderStatusByCall'] = newValue;\r\n if (newValue !== 2) {\r\n changedOrder['outDelayedReason'] = null;\r\n }\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inOrderStatusByCall'] = newValue;\r\n if (newValue !== 2) {\r\n changedOrder['inDelayedReason'] = null;\r\n }\r\n }\r\n } else if (header.key === 'delayedReason') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outDelayedReason'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inDelayedReason'] = newValue;\r\n }\r\n } else if (header.key === 'orderNotesByCall') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outNotes'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inNotes'] = newValue;\r\n }\r\n } else if (header.key === 'podRequestStatus') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['outPodRequestStatus'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['inPodRequestStatus'] = newValue;\r\n }\r\n } else if (header.key === 'podDoc') {\r\n if (rowState.loadData.loadType === 3) {\r\n changedOrder['callCheckOutAttachment'] = newValue;\r\n } else if (rowState.loadData.loadType === 1) {\r\n changedOrder['callCheckInAttachment'] = newValue;\r\n }\r\n } else if (header.key === 'loadCallCheckNote') {\r\n if (rowState.loadData.loadType === 3) {\r\n const stop = rowState.loadData.stops.filter(stop => stop.locationId === changedOrder.dropLocationId);\r\n if (stop && stop[0]) {\r\n stop[0].notes = newValue;\r\n } else if (!stop[0]) {\r\n rowState.loadData.stops.push({ notes: newValue, locationId: changedOrder.dropLocationId });\r\n }\r\n } else if (rowState.loadData.loadType === 1) {\r\n const stop = rowState.loadData.stops.filter(stop => stop.locationId === changedOrder.pickLocationId);\r\n if (stop && stop[0]) {\r\n stop[0].notes = newValue;\r\n } else if (!stop[0]) {\r\n rowState.loadData.stops.push({ notes: newValue, locationId: changedOrder.pickLocationId });\r\n }\r\n }\r\n }\r\n changedOrder[header.key] = newValue;\r\n }\r\n updateLoadOrderGroupData(state, rowState?.loadData, changedOrder, header, newValue, newOrders);\r\n return updateOrdersLoadState(state, newOrders, state.loads, state.subOrders, state.hasError, state.message, state.filterType, state.sortType);\r\n } else {\r\n return state;\r\n }\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n","export const getEfsColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { color: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { color: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { color: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { color: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsBGColor = status => {\r\n let cellStyle = {};\r\n switch (status) {\r\n case 1:\r\n cellStyle = { backgroundColor: '#E71717', fontWeight: 'bold' };\r\n break;\r\n case 2:\r\n cellStyle = { backgroundColor: '#0C78B5', fontWeight: 'bold' };\r\n break;\r\n case 3:\r\n cellStyle = { backgroundColor: '#000', fontWeight: 'bold' };\r\n break;\r\n case 4:\r\n cellStyle = { backgroundColor: '#67A7A5', fontWeight: 'bold' };\r\n break;\r\n default:\r\n break;\r\n }\r\n return cellStyle;\r\n};\r\n\r\nexport const getEfsStatusTooltip = status => {\r\n switch (status) {\r\n case 1:\r\n return \"New Request\";\r\n case 2:\r\n return \"Issued\";\r\n case 3:\r\n return \"Rejected\";\r\n case 4:\r\n return \"Sent\";\r\n default:\r\n return null;\r\n }\r\n};","import { DELIVERED_LOADS_BUILD as actionTypes } from '../../actions/deliveredLoads/deliveredLoadsActionTypes';\r\nimport * as loadArea from './deliveredLoadsReducer';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'left_action',\r\n title: '',\r\n width: 36,\r\n leftAction: true,\r\n visible: true,\r\n },\r\n {\r\n key: 'pickInDate',\r\n title: 'Pick IN',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'pickOutDate',\r\n title: 'Pick OUT',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'Ready date',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'inboundPickAppointment',\r\n title: 'Pick Appt',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n dropGroup: true,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due Date',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'dellAppt',\r\n title: 'Del Appt',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'dropInDate',\r\n title: 'Del In',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'dropOutDate',\r\n title: 'Del Out',\r\n width: 120,\r\n leftAction: false,\r\n visible: true,\r\n pickGroup: true,\r\n },\r\n {\r\n key: 'customerCodeOrName',\r\n title: 'Cust',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Pick',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Delivery',\r\n width: 200,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 43,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 57,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 37,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'space',\r\n title: 'SPA',\r\n width: 37,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'cases',\r\n title: 'CS',\r\n width: 60,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'weight',\r\n title: 'LBS',\r\n width: 50,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'loadNumber',\r\n title: 'LOAD #',\r\n width: 90,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'wk',\r\n title: 'WK',\r\n width: 40,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'in_load',\r\n title: 'In Load',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'out_load',\r\n title: 'Out Load',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'carrierName',\r\n title: 'Carrier',\r\n width: 80,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'rate',\r\n title: 'Rate',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'driver_truck_Trailer_VIN',\r\n title: 'Driver/Truck',\r\n width: 160,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'lumper',\r\n title: 'Lumper',\r\n width: 50,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'efs',\r\n title: 'EFS',\r\n width: 40,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'instructions',\r\n title: 'Notes',\r\n width: 60,\r\n leftAction: false,\r\n rightAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'podRequestStatus',\r\n title: 'POD Request',\r\n width: 95,\r\n leftAction: false,\r\n visible: true,\r\n sortable: true,\r\n },\r\n {\r\n key: 'podDoc',\r\n title: 'POD Doc.',\r\n width: 100,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n {\r\n key: 'orderNotesByCall',\r\n title: 'POD Status',\r\n width: 110,\r\n leftAction: false,\r\n visible: true,\r\n },\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false,\r\n },\r\n orders: null,\r\n loads: null,\r\n loadsAssignedOrders: null,\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n filterType: '',\r\n sortType: { type: '', ind: '', sort: null },\r\n};\r\n\r\n export default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_DELIVERED_LOADS_LOADING:\r\n return loadArea.setInLoading(state);\r\n case actionTypes.GET_DELIVERED_LOADS:\r\n return loadArea.loadContent(state, action.data);\r\n case actionTypes.DELIVERED_LOADS_ERROR:\r\n return loadArea.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return loadArea.resetError(state);\r\n case actionTypes.REACTED_ASSIGNED_DELIVERED_LOADS:\r\n return loadArea.reactedAssigned(state, action.data.type, action.data.id);\r\n case actionTypes.FILTER_DELIVERED_LOADS:\r\n return loadArea.filterDeliveredLoads(state, action.data);\r\n case actionTypes.SORT_DELIVERED_LOADS:\r\n return loadArea.sortBy(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_DELIVERED_LOADS:\r\n return loadArea.loadContent(state, action.data, true, 'Something go wrong, data reloaded!');\r\n case actionTypes.SET_HEADER_WIDTH_DELIVERED_LOADS:\r\n return loadArea.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.SET_DISPLAY_STATE_DELIVERED_LOADS:\r\n return loadArea.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n case actionTypes.SET_DELIVERED_LOADS_DATA:\r\n return loadArea.setData(state, action.data.value, action.data.rowState, action.data.header);\r\n default:\r\n return state;\r\n }\r\n};\r\n","const itemDefaultSize = 22;\r\n\r\nexport const getCustomersList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n customersList: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const createCustomerPrice = (oData, headers) => {\r\n const data = { ...oData };\r\n const customerPriceData = {\r\n row: [],\r\n rowState: {\r\n id: data.id,\r\n data: data,\r\n height: itemDefaultSize,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n switch (headerItem.key) {\r\n case 'pickLocation':\r\n value = data.pickLocation ? data.pickLocation : data.pickLocationId;\r\n fieldType = 'selectPickLocation';\r\n break;\r\n case 'dropLocation':\r\n value = data.dropLocation ? data.dropLocation : data.dropLocationId;\r\n fieldType = 'selectDropLocation';\r\n break;\r\n case 'tl':\r\n value = data.maxPrice;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '1':\r\n value = data.formulas[0]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '2-4':\r\n value = data.formulas[1]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '5-8':\r\n value = data.formulas[2]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '9-12':\r\n value = data.formulas[3]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '13-16':\r\n value = data.formulas[4]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '17-21':\r\n value = data.formulas[5]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case 'delete':\r\n value = 'delete';\r\n fieldType = 'delete';\r\n break;\r\n case 'minPrice':\r\n value = data.minPrice;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case 'perWeight':\r\n value = data.perWeight;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '2':\r\n value = data.formulas[1]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '3':\r\n value = data.formulas[2]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '4':\r\n value = data.formulas[3]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '5':\r\n value = data.formulas[4]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '6':\r\n value = data.formulas[5]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '7':\r\n value = data.formulas[6]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '8':\r\n value = data.formulas[7]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '9':\r\n value = data.formulas[8]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '10':\r\n value = data.formulas[9]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '11':\r\n value = data.formulas[10]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '12':\r\n value = data.formulas[11]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '13':\r\n value = data.formulas[12]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '14':\r\n value = data.formulas[13]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '15':\r\n value = data.formulas[14]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '16':\r\n value = data.formulas[15]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '17':\r\n value = data.formulas[16]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '18':\r\n value = data.formulas[17]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '19':\r\n value = data.formulas[18]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '20':\r\n value = data.formulas[19]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '21':\r\n value = data.formulas[20]?.price;\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n customerPriceData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n editable,\r\n });\r\n }\r\n return customerPriceData;\r\n};\r\n\r\nexport const createEmptyCustomerPriceLine = (headers, customerId) => {\r\n const isPricePerPall = headers.filter(header => header.key === '2');\r\n const data = {\r\n id: 0,\r\n customerId: customerId,\r\n dropLocationId: '',\r\n pickLocationId: '',\r\n minPrice: 0,\r\n maxPrice: 0,\r\n perWeight: 0,\r\n formulas: isPricePerPall && isPricePerPall.length > 0? [\r\n {\r\n pallCount: 1,\r\n price: 0\r\n },\r\n {\r\n pallCount: 2,\r\n price: 0\r\n },\r\n {\r\n pallCount: 3,\r\n price: 0\r\n },\r\n {\r\n pallCount: 4,\r\n price: 0\r\n },\r\n {\r\n pallCount: 5,\r\n price: 0\r\n },\r\n {\r\n pallCount: 6,\r\n price: 0\r\n },\r\n {\r\n pallCount: 7,\r\n price: 0\r\n },\r\n {\r\n pallCount: 8,\r\n price: 0\r\n },\r\n {\r\n pallCount: 9,\r\n price: 0\r\n },\r\n {\r\n pallCount: 10,\r\n price: 0\r\n },\r\n {\r\n pallCount: 11,\r\n price: 0\r\n },\r\n {\r\n pallCount: 12,\r\n price: 0\r\n },\r\n {\r\n pallCount: 13,\r\n price: 0\r\n },\r\n {\r\n pallCount: 14,\r\n price: 0\r\n },\r\n {\r\n pallCount: 15,\r\n price: 0\r\n },\r\n {\r\n pallCount: 16,\r\n price: 0\r\n },\r\n {\r\n pallCount: 17,\r\n price: 0\r\n },\r\n {\r\n pallCount: 18,\r\n price: 0\r\n },\r\n {\r\n pallCount: 19,\r\n price: 0\r\n },\r\n {\r\n pallCount: 20,\r\n price: 0\r\n },\r\n {\r\n pallCount: 21,\r\n price: 0\r\n }\r\n ] : [\r\n {\r\n fromItem: 1,\r\n toItem: 1,\r\n price: 0\r\n },\r\n {\r\n fromItem: 2,\r\n toItem: 4,\r\n price: 0\r\n },\r\n {\r\n fromItem: 5,\r\n toItem: 8,\r\n price: 0\r\n },\r\n {\r\n fromItem: 9,\r\n toItem: 12,\r\n price: 0\r\n },\r\n {\r\n fromItem: 13,\r\n toItem: 16,\r\n price: 0\r\n },\r\n {\r\n fromItem: 17,\r\n toItem: 21,\r\n price: 0\r\n }\r\n ]\r\n }\r\n\r\n const customerPriceData = {\r\n row: [],\r\n rowState: {\r\n id: 0,\r\n height: itemDefaultSize,\r\n data: data,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let editable = false;\r\n switch (headerItem.key) {\r\n case 'pickLocation':\r\n value = '';\r\n fieldType = 'selectPickLocation';\r\n break;\r\n case 'dropLocation':\r\n value = '';\r\n fieldType = 'selectDropLocation';\r\n break;\r\n case 'tl':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '1':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '2-4':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '5-8':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '9-12':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '13-16':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '17-21':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case 'minPrice':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case 'perWeight':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case 'delete':\r\n value = 'delete';\r\n fieldType = 'delete';\r\n break;\r\n case '2':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '3':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '4':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '5':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '6':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '7':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '8':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '9':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '10':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '11':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '12':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '13':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '14':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '15':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '16':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '17':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '18':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '19':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '20':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n case '21':\r\n value = '';\r\n fieldType = 'integer';\r\n editable = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n customerPriceData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n editable,\r\n });\r\n }\r\n return customerPriceData;\r\n};\r\n\r\nconst createCustomerPriceList = (state, customerPriceData) => customerPriceData.map(data => createCustomerPrice(data, state.headers));\r\n\r\nexport const getCustomersPriceList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n const customerPriceList = createCustomerPriceList(state, data.data);\r\n\r\n return {\r\n ...state, ...{\r\n customersPriceList: customerPriceList,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setLocationsList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n locationsList: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const addEmptyLineOnPriceList = (state, customerId) => {\r\n const emptyLine = createEmptyCustomerPriceLine(state.headers, customerId);\r\n\r\n return {\r\n ...state, ...{\r\n customersPriceList: [\r\n ...[emptyLine],\r\n ...state.customersPriceList,\r\n ]\r\n }\r\n }\r\n};\r\n\r\nexport const removeEmptyLinesOnPriceList = (state) => {\r\n const updatedList = state.customersPriceList.filter(item => item?.rowState.id);\r\n\r\n return {\r\n ...state, ...{\r\n customersPriceList: updatedList\r\n }\r\n }\r\n};\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state, ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable\r\n }\r\n }\r\n});\r\n\r\nconst priceRange = {\r\n '1': 0,\r\n '2-4': 1,\r\n '5-8': 2,\r\n '9-12': 3,\r\n '13-16': 4,\r\n '17-21': 5,\r\n};\r\n\r\nconst pricePall = {\r\n '1': 0,\r\n '2': 1,\r\n '3': 2,\r\n '4': 3,\r\n '5': 4,\r\n '6': 5,\r\n '7': 6,\r\n '8': 7,\r\n '9': 8,\r\n '10': 9,\r\n '11': 10,\r\n '12': 11,\r\n '13': 12,\r\n '14': 13,\r\n '15': 14,\r\n '16': 15,\r\n '17': 16,\r\n '18': 17,\r\n '19': 18,\r\n '20': 19,\r\n '21': 20,\r\n};\r\n\r\nexport const setPriceData = (state, newValue, rowState, header) => {\r\n const isPricePerPall = Object.keys(pricePall).includes(header.key);\r\n\r\n const changedPrice = state.customersPriceList.find(price => price.rowState.data?.id === rowState.data?.id)\r\n if (header.key === 'tl') {\r\n changedPrice.rowState.data.maxPrice = newValue;\r\n } else if (header.key === 'minPrice') {\r\n changedPrice.rowState.data.minPrice = newValue;\r\n } else if (header.key === 'perWeight') {\r\n changedPrice.rowState.data.perWeight = newValue;\r\n } else if (header.key === 'pickLocation') {\r\n changedPrice.rowState.data.pickLocationId = newValue;\r\n } else if (header.key === 'dropLocation') {\r\n changedPrice.rowState.data.dropLocationId = newValue;\r\n } else {\r\n if (isPricePerPall) {\r\n changedPrice.rowState.data.formulas[pricePall[header.key]].price = newValue;\r\n } else {\r\n changedPrice.rowState.data.formulas[priceRange[header.key]].price = newValue;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ...{\r\n customersPriceList: state.customersPriceList,\r\n }\r\n }\r\n};\r\n\r\nexport const addCustomersPrice = (state, newPrice) => {\r\n const newCreatedPrice = createCustomerPrice(newPrice.data, state.headers);\r\n return {\r\n ...state, ...{\r\n customersPriceList: [\r\n ...state.customersPriceList.slice(1),\r\n ...[newCreatedPrice],\r\n ],\r\n loading: false\r\n }\r\n }\r\n};\r\n\r\nexport const setcustomerPriceType = (state, response, hasError = false, message = '') => {\r\n return {\r\n ...state, ...{\r\n loading: true,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: err ? err : 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n\r\nexport const setPerPalletType = (state, perPalletType) => ({\r\n ...state, ...{\r\n perPalletType: perPalletType\r\n }\r\n});\r\n","import { CUSTOMERS_BUILD as actionTypes } from '../../actions/customers/customersActionTypes';\r\nimport * as customers from './customersReducer';\r\n\r\nconst defaultState = {\r\n headers: [],\r\n headersPricePerRange: [\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DROP LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: '1',\r\n title: '1',\r\n width: 50,\r\n },\r\n {\r\n key: '2-4',\r\n title: '2-4',\r\n width: 50,\r\n },\r\n {\r\n key: '5-8',\r\n title: '5-8',\r\n width: 50,\r\n },\r\n {\r\n key: '9-12',\r\n title: '9-12',\r\n width: 50,\r\n },\r\n {\r\n key: '13-16',\r\n title: '13-16',\r\n width: 50,\r\n },\r\n {\r\n key: '17-21',\r\n title: '17-21',\r\n width: 50,\r\n },\r\n {\r\n key: 'tl',\r\n title: 'TL',\r\n width: 50,\r\n },\r\n {\r\n key: 'delete',\r\n title: '',\r\n width: 40,\r\n }\r\n ],\r\n headersPricePerPound: [\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DROP LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: 'minPrice',\r\n title: 'MIN PRICE',\r\n width: 70,\r\n },\r\n {\r\n key: 'perWeight',\r\n title: 'PER POUND',\r\n width: 70,\r\n },\r\n {\r\n key: 'tl',\r\n title: 'TL',\r\n width: 50,\r\n },\r\n {\r\n key: 'delete',\r\n title: '',\r\n width: 40,\r\n }\r\n ],\r\n headersPricePerPall: [\r\n {\r\n key: 'pickLocation',\r\n title: 'PICK LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: 'dropLocation',\r\n title: 'DROP LOCATION',\r\n width: 180,\r\n },\r\n {\r\n key: '1',\r\n title: '1',\r\n width: 50,\r\n },\r\n {\r\n key: '2',\r\n title: '2',\r\n width: 50,\r\n },\r\n {\r\n key: '3',\r\n title: '3',\r\n width: 50,\r\n },\r\n {\r\n key: '4',\r\n title: '4',\r\n width: 50,\r\n },\r\n {\r\n key: '5',\r\n title: '5',\r\n width: 50,\r\n },\r\n {\r\n key: '6',\r\n title: '6',\r\n width: 50,\r\n },\r\n {\r\n key: '7',\r\n title: '7',\r\n width: 50,\r\n },\r\n {\r\n key: '8',\r\n title: '8',\r\n width: 50,\r\n },\r\n {\r\n key: '9',\r\n title: '9',\r\n width: 50,\r\n },\r\n {\r\n key: '10',\r\n title: '10',\r\n width: 50,\r\n },\r\n {\r\n key: '11',\r\n title: '11',\r\n width: 50,\r\n },\r\n {\r\n key: '12',\r\n title: '12',\r\n width: 50,\r\n },\r\n {\r\n key: '13',\r\n title: '13',\r\n width: 50,\r\n },\r\n {\r\n key: '14',\r\n title: '14',\r\n width: 50,\r\n },\r\n {\r\n key: '15',\r\n title: '15',\r\n width: 50,\r\n },\r\n {\r\n key: '16',\r\n title: '16',\r\n width: 50,\r\n },\r\n {\r\n key: '17',\r\n title: '17',\r\n width: 50,\r\n },\r\n {\r\n key: '18',\r\n title: '18',\r\n width: 50,\r\n },\r\n {\r\n key: '19',\r\n title: '19',\r\n width: 50,\r\n },\r\n {\r\n key: '20',\r\n title: '20',\r\n width: 50,\r\n },\r\n {\r\n key: '21',\r\n title: '21',\r\n width: 50,\r\n },\r\n {\r\n key: 'tl',\r\n title: 'TL',\r\n width: 50,\r\n },\r\n {\r\n key: 'delete',\r\n title: '',\r\n width: 40,\r\n }\r\n ],\r\n lastSelected: {\r\n id: null,\r\n headerKey: null,\r\n enable: false\r\n },\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n customersList: null,\r\n customersPriceList: null,\r\n perPalletType: true,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n const pathname = window.location.pathname;\r\n if (pathname === '/loadplanning/customer_price/priceperrange') {\r\n state.headers = defaultState.headersPricePerRange;\r\n } else if (pathname === '/loadplanning/customer_price/priceperpound') {\r\n state.headers = [...defaultState.headersPricePerPound];\r\n } else if (pathname === '/loadplanning/customer_price/priceperpall') {\r\n state.headers = [...defaultState.headersPricePerPall];\r\n }\r\n\r\n switch (action.type) {\r\n case actionTypes.GET_CUSTOMERS_LIST_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.GET_CUSTOMERS_LIST:\r\n return customers.getCustomersList(state, action.data);\r\n case actionTypes.RELOAD_ON_ERROR_LOAD_DETAILS:\r\n return customers.getCustomersList(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.GET_CUSTOMERS_LIST_ERROR:\r\n return customers.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return customers.resetError(state);\r\n case actionTypes.SET_DISPLAY_STATE:\r\n return customers.setDisplayState(state, action.data.rowState, action.data.header, action.data.enable);\r\n\r\n case actionTypes.GET_CUSTOMERS_PRICE_LIST_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.GET_CUSTOMERS_PRICE_LIST:\r\n return customers.getCustomersPriceList(state, action.data);\r\n case actionTypes.GET_CUSTOMERS_PRICE_LIST_ERROR:\r\n return customers.setError(state, action.data);\r\n case actionTypes.ADD_EMPTY_LINE_ON_PRICE_LIST:\r\n return customers.addEmptyLineOnPriceList(state, action.data);\r\n case actionTypes.REMOVE_EMPTY_LINES_ON_PRICE_LIST:\r\n return customers.removeEmptyLinesOnPriceList(state);\r\n case actionTypes.SET_CUSTOMER_PRICE_DATA:\r\n return customers.setPriceData(state, action.data.value, action.data.rowState, action.data.header);\r\n case actionTypes.ADD_CUSTOMER_PRICE_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.ADD_CUSTOMER_PRICE:\r\n return customers.addCustomersPrice(state, action.data);\r\n case actionTypes.ADD_CUSTOMER_PRICE_ERROR:\r\n return customers.setError(state, action.data);\r\n case actionTypes.SET_CUSTOMER_PRICE_TYPE:\r\n return customers.setcustomerPriceType(state, action.data);\r\n case actionTypes.SET_CUSTOMER_PRICE_TYPE_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.SET_CUSTOMER_PRICE_TYPE_ERROR:\r\n return customers.setError(state, action.data);\r\n case actionTypes.DELETE_CUSTOMER_PRICE_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.DELETE_CUSTOMER_PRICE_ERROR:\r\n return customers.setError(state, action.data);\r\n case actionTypes.SET_PER_PALLET_TYPE:\r\n return customers.setPerPalletType(state, action.data);\r\n case actionTypes.GET_CUSTOMER_LOCATIONS_LIST_LOADING:\r\n return customers.setInLoading(state);\r\n case actionTypes.GET_CUSTOMER_LOCATIONS_LIST:\r\n return customers.setLocationsList(state, action.data);\r\n case actionTypes.GET_CUSTOMER_LOCATIONS_LIST_ERROR:\r\n return customers.setError(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","export const getOrdersList = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n ordersList: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n newGroupCreated: false,\r\n }\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n\r\nconst extractWebLoadsToList = (state, orders) => {\r\n let loadsAssignedOrders = [];\r\n orders.forEach(item=> loadsAssignedOrders.push(createWebOrder(item, state.headers)))\r\n return loadsAssignedOrders;\r\n};\r\n\r\nexport const updateOrdersLoadState = (state, orders, hasError = false, message = '', filterType = 'all', sortType = {type: \"\", ind: \"\", sort: null}) => ({\r\n ...state, ...{\r\n orders,\r\n loading: false,\r\n hasError,\r\n message,\r\n filterType,\r\n sortType,\r\n loadsAssignedOrders: extractWebLoadsToList(state, orders),\r\n }\r\n});\r\n\r\nexport const loadContent = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return updateOrdersLoadState(state, [...data.data], hasError, message);\r\n};\r\n\r\nexport const createWebOrder = (oData, headers, isHidden) => {\r\n const orderData = { ...oData };\r\n\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n type: 'order',\r\n id: `order_${orderData.id}`,\r\n orderObjectId: orderData.id,\r\n orderData: orderData,\r\n orderId: `order_${orderData.id}`,\r\n visible: !isHidden,\r\n reacted: false,\r\n }\r\n };\r\n\r\n for (let hederIndex = 0; hederIndex < headers.length; hederIndex++) {\r\n const headerItem = headers[hederIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n let cellStyle = {};\r\n let tooltip = null;\r\n if (!headerItem.leftAction) {\r\n switch (headerItem.key) {\r\n case 'checkbox':\r\n fieldType = 'checkbox';\r\n break;\r\n case 'temperature':\r\n value = orderData.temperature === 1 ? 'Frozen' : \r\n orderData.temperature === 2 ? 'Chilled' :\r\n orderData.temperature === 3 ? 'Dry' :\r\n orderData.temperature === 4 ? 'C|F' : '';\r\n fieldType = 'text';\r\n break;\r\n case 'readyDate':\r\n value = orderData.readyDate;\r\n fieldType = 'date';\r\n break;\r\n case 'dueDate':\r\n value = orderData.dueDate;\r\n fieldType = 'date';\r\n break;\r\n case 'customer':\r\n value = orderData.customerName;\r\n fieldType = 'text';\r\n tooltip = orderData.customerName;\r\n break;\r\n case 'deliveryDate':\r\n value = orderData.deliverDate;\r\n fieldType = 'date';\r\n break;\r\n case 'pickLocation':\r\n value = orderData.pickLocationName;\r\n tooltip = orderData.pickLocationName;\r\n break;\r\n case 'drop2WH':\r\n value = orderData.drop2WH;\r\n tooltip = orderData.drop2WH;\r\n break;\r\n case 'route':\r\n value = orderData.route;\r\n break;\r\n case 'poNumber':\r\n value = orderData.poNumber;\r\n fieldType = 'text';\r\n break;\r\n case 'soNumber':\r\n value = orderData.soNumber;\r\n fieldType = 'textInput';\r\n break;\r\n case 'palletCount':\r\n value = orderData.palletCount;\r\n fieldType = 'integer';\r\n break;\r\n case 'space':\r\n value = orderData.space;\r\n fieldType = 'text';\r\n break;\r\n case 'case':\r\n value = orderData.cases;\r\n fieldType = 'integer';\r\n break;\r\n case 'lbs':\r\n value = orderData.weight;\r\n fieldType = 'integer';\r\n break;\r\n case 'batchType':\r\n value = orderData.batchType;\r\n break; \r\n // case 'freight':\r\n // value = orderData.freight;\r\n // break;\r\n case 'podStatus':\r\n value = orderData.outPodRequestStatus === 1 ? 'Received' : orderData.outPodRequestStatus === 2 ? 'Requested' : orderData.outPodRequestStatus === 3 ? 'Don’t Split' : '-';\r\n break;\r\n case 'status':\r\n value = orderData.orderStatus;\r\n break\r\n case 'group':\r\n value = orderData.orderGroupIndex;\r\n break\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n value = '';\r\n fieldType = 'text';\r\n }\r\n\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n cellStyle,\r\n tooltip\r\n });\r\n }\r\n\r\n return orderWebData;\r\n};\r\n\r\nexport const createGroup = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n hasError: responce.data.hasError,\r\n message: responce?.data.message ? responce?.data.message : '',\r\n newGroupCreated: !responce.data.hasError,\r\n loading: false,\r\n newGroupId: responce.data.groupId,\r\n },\r\n };\r\n};\r\n\r\nexport const setBatchType = (state, responce) => {\r\n return {\r\n ...state,\r\n ...{\r\n batchType: responce,\r\n },\r\n };\r\n};\r\n\r\n","import { ORDERS_BUILD as actionTypes } from '../../actions/orders/ordersActionTypes';\r\nimport * as orders from './ordersReducer';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'checkbox',\r\n title: '',\r\n width: 40,\r\n },\r\n {\r\n key: 'temperature',\r\n title: 'Temp',\r\n width: 60,\r\n },\r\n {\r\n key: 'readyDate',\r\n title: 'R/D',\r\n width: 70,\r\n },\r\n {\r\n key: 'dueDate',\r\n title: 'Due/D',\r\n width: 70,\r\n },\r\n {\r\n key: 'deliveryDate',\r\n title: 'DEL/D',\r\n width: 70,\r\n },\r\n {\r\n key: 'customer',\r\n title: 'Cust',\r\n width: 80,\r\n },\r\n {\r\n key: 'pickLocation',\r\n title: 'Pick Location',\r\n width: 160,\r\n },\r\n {\r\n key: 'drop2WH',\r\n title: 'Delivery WH',\r\n width: 160,\r\n },\r\n {\r\n key: 'route',\r\n title: 'Route',\r\n width: 50,\r\n },\r\n {\r\n key: 'poNumber',\r\n title: 'PO#',\r\n width: 60,\r\n },\r\n {\r\n key: 'soNumber',\r\n title: 'SO#',\r\n width: 50,\r\n },\r\n {\r\n key: 'palletCount',\r\n title: 'Pal',\r\n width: 50,\r\n },\r\n {\r\n key: 'space',\r\n title: 'Spa',\r\n width: 50,\r\n },\r\n {\r\n key: 'case',\r\n title: 'Case',\r\n width: 40,\r\n },\r\n {\r\n key: 'lbs',\r\n title: 'LBS',\r\n width: 40,\r\n },\r\n {\r\n key: 'batchType',\r\n title: 'Batch',\r\n width: 40,\r\n },\r\n // {\r\n // key: 'freight',\r\n // title: 'Freight',\r\n // width: 50,\r\n // },\r\n {\r\n key: 'podStatus',\r\n title: 'POD',\r\n width: 50,\r\n },\r\n {\r\n key: 'status',\r\n title: 'Status',\r\n width: 60,\r\n },\r\n {\r\n key: 'group',\r\n title: 'Group',\r\n width: 60,\r\n },\r\n ],\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n orders: null,\r\n batchType: '',\r\n newGroupCreated: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.RELOAD_ON_ERROR_LOAD_DETAILS:\r\n return orders.getOrdersList(state, action.data.responce, true, action.data.errorText ? action.data.errorText : 'Something go wrong, data reloaded!');\r\n case actionTypes.RESET_ERROR:\r\n return orders.resetError(state);\r\n case actionTypes.GET_ORDERS_LIST_BY_ID_LOADING:\r\n return orders.setInLoading(state);\r\n case actionTypes.GET_ORDERS_LIST_BY_ID:\r\n return orders.loadContent(state, action.data);\r\n case actionTypes.GET_ORDERS_LIST_BY_ID_ERROR:\r\n return orders.setError(state, action.data);\r\n case actionTypes.CREATE_NEW_GROUP:\r\n return orders.createGroup(state, action.data);\r\n case actionTypes.CREATE_NEW_GROUP_LOADING:\r\n return orders.setInLoading(state);\r\n case actionTypes.CREATE_NEW_GROUP_ERROR:\r\n return orders.setError(state, action.data);\r\n case actionTypes.SET_BATCH_TYPE:\r\n return orders.setBatchType(state, action.data); \r\n default:\r\n return state;\r\n }\r\n};","import { orderBy } from \"lodash\";\r\n\r\nexport const createFactoringCompany = (factoringData, headers) => {\r\n const data = { ...factoringData };\r\n const orderWebData = {\r\n row: [],\r\n rowState: {\r\n factoringCompanyData: data,\r\n height: 20,\r\n },\r\n };\r\n\r\n for (let headerIndex = 0; headerIndex < headers.length; headerIndex++) {\r\n const headerItem = headers[headerIndex];\r\n let value = null;\r\n let fieldType = 'text';\r\n switch (headerItem.key) {\r\n case 'name':\r\n value = data.companyName;\r\n fieldType = 'link';\r\n break;\r\n case 'terms':\r\n value = data.terms;\r\n fieldType = 'text';\r\n break;\r\n case 'mailingAddress':\r\n value = data.mailingAddress;\r\n fieldType = 'text';\r\n break;\r\n case 'additionalAddress':\r\n value = data.additionalAddress;\r\n fieldType = 'text';\r\n break;\r\n case 'city':\r\n value = data.city;\r\n break;\r\n case 'state':\r\n value = data.state;\r\n fieldType = 'text';\r\n break;\r\n case 'zipCode':\r\n fieldType = 'text';\r\n value = data.zipCode;\r\n break;\r\n case 'email':\r\n value = data.email;\r\n fieldType = 'text';\r\n break;\r\n case 'phone':\r\n value = data.phone;\r\n fieldType = 'text';\r\n break;\r\n case 'notes':\r\n value = data.notes;\r\n break;\r\n default:\r\n break;\r\n }\r\n orderWebData.row.push({\r\n key: headerItem.key,\r\n value,\r\n fieldType,\r\n });\r\n }\r\n return orderWebData;\r\n};\r\n\r\nconst createFactoringCompanyList = (state, factoringCompanyList) => factoringCompanyList?.map(data => createFactoringCompany(data, state.headers));\r\n\r\nexport const getFactoringCompanyList = (state, response, hasError = false, message = '') => {\r\n const { data } = response;\r\n const factoringCompanyList = data?.data?.length && createFactoringCompanyList(state, data?.data);\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError: hasError,\r\n messageText: message,\r\n factoringCompanyList: [...orderBy(factoringCompanyList, item => item.rowState.factoringCompanyData.companyName, state.sortValue='asc')],\r\n total: data.total,\r\n newFactoryAdded: false,\r\n },\r\n };\r\n};\r\n\r\nexport const getFactoringCompanyDetails = (state, response, hasError = false, message = '') => {\r\n const { data } = response;\r\n return {\r\n ...state,\r\n ...{\r\n loading: false,\r\n hasError: hasError,\r\n messageText: message,\r\n factoringCompanyDetails: data,\r\n newFactoryAdded: false,\r\n factoryCompanyUpdated: false,\r\n },\r\n };\r\n};\r\n\r\nexport const addFactoringCompanyDetails = (state, response, hasError = false, message = '') => {\r\n const { data } = response.response;\r\n return {\r\n ...state,\r\n ...{\r\n hasError: data.hasError,\r\n messageText: data.message,\r\n factoringCompanyDetails: data,\r\n newFactoryAdded: true,\r\n factoryCompanyUpdated: false,\r\n submitActinType: response.submitActinType,\r\n },\r\n };\r\n};\r\n\r\nexport const updateFactoringCompanyDetails = (state, response) => {\r\n const { data } = response.response;\r\n return {\r\n ...state,\r\n ...{\r\n hasError: data.hasError,\r\n messageText: data.message,\r\n factoringCompanyDetails: data,\r\n submitActinType: response.submitActinType,\r\n newFactoryAdded: false,\r\n factoryCompanyUpdated: true,\r\n },\r\n };\r\n};\r\n\r\nexport const getStatesList = (state, response, hasError = false, message = '') => {\r\n const { data } = response;\r\n return {\r\n ...state,\r\n ...{\r\n hasError: hasError,\r\n messageText: message,\r\n statesList: data,\r\n },\r\n };\r\n};\r\n\r\nexport const sortBy = (state, sortValue) => ({\r\n ...state,\r\n ...{\r\n factoringCompanyList: [...orderBy(state.factoringCompanyList, item => item.rowState.factoringCompanyData.companyName, sortValue)],\r\n sortType: sortValue,\r\n },\r\n});\r\n\r\nexport const emptyFactoringCompanyDetails = state => ({\r\n ...state,\r\n ...{\r\n loading: false,\r\n factoringCompanyDetails: '',\r\n factoryCompanyUpdated: false,\r\n newFactoryAdded: false,\r\n },\r\n});\r\n\r\nexport const setDisplayState = (state, rowState, header, enable) => ({\r\n ...state,\r\n ...{\r\n lastSelected: {\r\n id: rowState.id,\r\n headerKey: header.key,\r\n enable: enable,\r\n },\r\n },\r\n});\r\n\r\nexport const setHeaderWidth = (state, ind, width) => {\r\n const header = state.headers[ind];\r\n header.width = width;\r\n return {\r\n ...state,\r\n ...{\r\n headers: [...state.headers.slice(0, ind), ...[header], ...state.headers.slice(ind + 1)],\r\n },\r\n };\r\n};\r\n\r\nexport const setError = (state, errorMessage) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n messageText: errorMessage ? errorMessage : 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const resetError = state => ({\r\n ...state,\r\n ...{\r\n hasError: false,\r\n message: '',\r\n loading: false,\r\n factoryCompanyUpdated: false,\r\n newFactoryAdded: false,\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state,\r\n ...{\r\n loading: true,\r\n },\r\n});\r\n\r\n\r\n","import { FACTORING_COMPANY_BUILD as actionTypes } from '../../actions/factoringCompany/factoringCompanyActionTypes';\r\nimport * as factoringCompany from './factoringCompanyReducer';\r\n\r\nconst defaultState = {\r\n headers: [\r\n {\r\n key: 'name',\r\n title: 'Name',\r\n width: 200,\r\n sortable: true,\r\n },\r\n {\r\n key: 'terms',\r\n title: 'Terms',\r\n width: 80,\r\n },\r\n {\r\n key: 'mailingAddress',\r\n title: 'Mailing Address',\r\n width: 200,\r\n },\r\n {\r\n key: 'additionalAddress',\r\n title: 'Additional Address',\r\n width: 200,\r\n },\r\n {\r\n key: 'city',\r\n title: 'City',\r\n width: 80,\r\n },\r\n {\r\n key: 'state',\r\n title: 'State',\r\n width: 80,\r\n },\r\n {\r\n key: 'zipCode',\r\n title: 'Zip Code',\r\n width: 80,\r\n },\r\n {\r\n key: 'email',\r\n title: 'Email',\r\n width: 200,\r\n },\r\n {\r\n key: 'phone',\r\n title: 'Phone',\r\n width: 100,\r\n },\r\n {\r\n key: 'notes',\r\n title: 'Notes',\r\n width: 250,\r\n },\r\n ],\r\n loading: false,\r\n hasError: false,\r\n messageText: '',\r\n factoringCompanyList: null,\r\n factoringCompanyDetails: null,\r\n sortType: 'asc',\r\n newFactoryAdded: false,\r\n factoryCompanyUpdated: false,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_HEADER_WIDTH_FACTORING_COMPANY:\r\n return factoringCompany.setHeaderWidth(state, action.data.ind, action.data.width);\r\n case actionTypes.ERROR:\r\n return factoringCompany.setError(state, action.data);\r\n case actionTypes.RESET_ERROR:\r\n return factoringCompany.resetError(state);\r\n case actionTypes.RELOAD_ON_ERROR:\r\n return factoringCompany.getFactoringCompanyList(state, action.data);\r\n case actionTypes.GET_FACTORING_COMPANY_LIST_LOADING:\r\n return factoringCompany.setInLoading(state);\r\n case actionTypes.GET_FACTORING_COMPANY_LIST:\r\n return factoringCompany.getFactoringCompanyList(state, action.data);\r\n case actionTypes.SORT_FACTORING_COMPANY:\r\n return factoringCompany.sortBy(state, action.data);\r\n case actionTypes.GET_FACTORING_COMPANY_DETAILS_LOADING:\r\n return factoringCompany.setInLoading(state);\r\n case actionTypes.GET_FACTORING_COMPANY_DETAILS:\r\n return factoringCompany.getFactoringCompanyDetails(state, action.data);\r\n case actionTypes.DELETE_FACTORING_COMPANY_LOADING:\r\n return factoringCompany.setInLoading(state, action.data);\r\n case actionTypes.GET_STATES_LIST:\r\n return factoringCompany.getStatesList(state, action.data);\r\n case actionTypes.EMPTY_FACTORING_COMPANY_DETAILS:\r\n return factoringCompany.emptyFactoringCompanyDetails(state, action.data);\r\n case actionTypes.ADD_FACTORING_COMPANY_LOADING:\r\n return factoringCompany.setInLoading(state, action.data);\r\n case actionTypes.ADD_FACTORING_COMPANY:\r\n return factoringCompany.addFactoringCompanyDetails(state, action.data);\r\n case actionTypes.UPDATE_FACTORING_COMPANY:\r\n return factoringCompany.updateFactoringCompanyDetails(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const getLocations = (state, response, hasError = false, message = '') => {\r\n const data = response.data || [];\r\n return {\r\n ...state, ...{\r\n locations: data,\r\n loading: false,\r\n hasError,\r\n message,\r\n } \r\n }\r\n};\r\n\r\nexport const setError = (state, err) => ({\r\n ...state,\r\n ...{\r\n hasError: true,\r\n message: 'Something went wrong, please try again',\r\n },\r\n});\r\n\r\nexport const setInLoading = state => ({\r\n ...state, ...{\r\n loading: true\r\n }\r\n});\r\n","import { LOCATIONS_BUILD as actionTypes } from '../../actions/locations/locationsActionTypes';\r\nimport * as locations from './locationsReducer';\r\n\r\nconst defaultState = {\r\n loading: true,\r\n hasError: false,\r\n message: '',\r\n locations: null,\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.LOCATIONS_LOADING:\r\n return locations.setInLoading(state);\r\n case actionTypes.GET_LOCATIONS:\r\n return locations.getLocations(state, action.data);\r\n case actionTypes.LOCATIONS_ERROR:\r\n return locations.setError(state, action.data);\r\n default:\r\n return state;\r\n }\r\n};","import { createStore, combineReducers, applyMiddleware, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\n\r\nimport authenticationReducer from './reducers/authentication/authentication';\r\nimport popupReducer from './reducers/popup/popup';\r\nimport googleLoaderReducer from './reducers/google/google';\r\nimport valueListReducer from './reducers/valueList/ValueList';\r\nimport pageContentReducer from './reducers/pageContent/pageContent';\r\nimport inboundLoad from './reducers/loadArea/inboundLoad';\r\nimport outboundLoad from './reducers/loadArea/outboundLoad';\r\nimport callCheckReducer from './reducers/callCheck/callCheck';\r\nimport deliveredTrucksReducer from './reducers/deliveredTrucksReducer/deliveredTrucks';\r\nimport trafficReducer from './reducers/trafficControl/trafficControl';\r\nimport trafficUpcomingReducer from './reducers/trafficControlUpcoming/trafficControlUpcoming';\r\nimport customerDashboardReducer from './reducers/customerDashboard/customerDashboard';\r\nimport customerOrderInProgressReducer from './reducers/customerOrderInProgress/customerOrderInProgress';\r\nimport customerOrderNewOrdersReducer from './reducers/customerOrderNewOrders/customerOrderNewOrders';\r\nimport customerOrderLocationsReducer from './reducers/customerOrderLocations/customerOrderLocations';\r\nimport customerRejectedOrdersReducer from './reducers/customerRejectedOrders/customerRejectedOrders';\r\nimport customerLastOrdersReducer from './reducers/customerLastOrders/customerLastOrders';\r\nimport customerOrderAdminReducer from './reducers/customerOrderAdmin/customerOrderAdmin';\r\nimport revisionOrderAdminReducer from './reducers/revisionOrderAdmin/revisionOrderAdmin';\r\nimport commentsReducer from './reducers/comments/comments';\r\nimport accountReceivableReducer from './reducers/accountReceivableReducer/accountReceivableColumns';\r\nimport loadDetailsReducer from './reducers/loadDetails/loadDetails';\r\nimport rateConfirmationReducer from './reducers/rateConfirmation/rateConfirmation';\r\nimport notesReducer from './reducers/notes/notes';\r\nimport deliveredLoadsReducer from './reducers/deliveredLoads/deliveredLoads';\r\nimport customersReducer from './reducers/customers/customers';\r\nimport ordersReducer from './reducers/orders/orders';\r\nimport factoringCompanyReducer from './reducers/factoringCompany/factoringCompany';\r\nimport locationsReducer from './reducers/locations/locations';\r\n\r\nconst comReducer = combineReducers({\r\n auth: authenticationReducer,\r\n popup: popupReducer,\r\n google: googleLoaderReducer,\r\n valueList: valueListReducer,\r\n pageContent: pageContentReducer,\r\n load: inboundLoad,\r\n outboundload: outboundLoad,\r\n callCheck: callCheckReducer,\r\n AccountReceivable: accountReceivableReducer,\r\n AccountPayable: deliveredTrucksReducer,\r\n traffic: trafficReducer,\r\n trafficUpcoming: trafficUpcomingReducer,\r\n customerDashboard: customerDashboardReducer,\r\n customerOrderInProgress: customerOrderInProgressReducer,\r\n customerOrderNewOrders: customerOrderNewOrdersReducer,\r\n customerOrderLocations: customerOrderLocationsReducer,\r\n customerRejectedOrders: customerRejectedOrdersReducer,\r\n customerLastOrders: customerLastOrdersReducer,\r\n customerOrderAdmin: customerOrderAdminReducer,\r\n revisionOrderAdmin: revisionOrderAdminReducer,\r\n comments: commentsReducer,\r\n loadDetails: loadDetailsReducer,\r\n rateConfirmation: rateConfirmationReducer,\r\n notes: notesReducer,\r\n deliveredLoads: deliveredLoadsReducer,\r\n customers: customersReducer,\r\n orders: ordersReducer,\r\n factoringCompany: factoringCompanyReducer,\r\n locations: locationsReducer,\r\n});\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nconst store = createStore(comReducer, composeEnhancers(applyMiddleware(thunk)));\r\nexport default store;\r\n","import React from 'react';\r\nimport { Spin } from 'antd';\r\n\r\nconst Loading = () =>
    ;\r\n\r\nexport default Loading;","import * as valueListActionTypes from './valueListActionTypes';\r\n\r\nexport const addValueList = (valueKey, valueList) =>\r\n ({ type: valueListActionTypes.ADD_VALUE_LIST, valueKey: valueKey, valueList: valueList });\r\n\r\nexport const removeValueList = (valueKey) =>\r\n ({ type: valueListActionTypes.REMOVE_VALUE_LIST, valueKey: valueKey });","import React, { useState } from 'react';\r\nimport { message, Upload } from 'antd';\r\n\r\nimport axios from '../axios/axios';\r\nimport errorHandler from '../error/errorHandler';\r\nimport { ApiUrl } from '../../project/Pages';\r\n\r\nconst Uploader = props => {\r\n const [fileCont, setFileCont] = useState(null);\r\n const { disabled, className, listType, name, setLoading, setGuid, setOriginalName, restrictions, onChange } = props;\r\n\r\n const beforeUpload = file => {\r\n if (restrictions && typeof restrictions === 'function' && !restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n setGuid && typeof setGuid === 'function' && setGuid(null);\r\n return true;\r\n };\r\n\r\n const handleChange = info => {\r\n if (info.file.status === 'uploading') {\r\n setLoading(true);\r\n return;\r\n }\r\n };\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload,\r\n formData\r\n , { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || \"File not uploaded!\");\r\n setLoading(false);\r\n return;\r\n }\r\n setGuid && typeof setGuid === 'function' && setGuid(result.guId);\r\n setOriginalName && typeof setOriginalName === 'function' && setOriginalName(result.originalName);\r\n onChange && typeof onChange === 'function' && onChange(result);\r\n }\r\n }).finally(() => { setLoading(false); });\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default errorHandler(Uploader, axios);","import {\r\n ElementTypes\r\n} from '../../../config';\r\n\r\nconst OrderColumns = {\r\n referenceNumber: {\r\n Title: 'Row',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 90\r\n },\r\n puDate: {\r\n Title: 'READY',\r\n Field: ElementTypes.ColumnDate(),\r\n Width: 90,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n dueDate: {\r\n Title: 'DUE',\r\n Field: ElementTypes.ColumnDate(),\r\n Width: 90,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n customerCodeOrName: {\r\n Title: 'CUS',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 70,\r\n Sorted: 'asc',\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n pickLocationName: {\r\n Title: 'P/U WH',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n pickCity: {\r\n Title: 'P/U C',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n pickState: {\r\n Title: 'P/U ST',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop1WH: {\r\n Title: 'TRF WH',\r\n Field: ElementTypes.Generic(ElementTypes.TableLabelField, {\r\n display: (o, value) => o.warehouse ? value : 'Bypass'\r\n }),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2State: {\r\n Title: 'DEL ST',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2City: {\r\n Title: 'DEL CITY',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2WH: {\r\n Title: 'DEL WH',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n poNumber: {\r\n Title: 'PO#',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 70,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n soNumber: {\r\n Title: 'SO#',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 70,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n palletCount: {\r\n Title: 'PAL',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n space: {\r\n Title: 'SPA',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n cases: {\r\n Title: 'CS',\r\n Field: ElementTypes.TableDecimalField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n weight: {\r\n Title: 'LBS',\r\n Field: ElementTypes.TableDecimalField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n inboundAppointment: null,\r\n orderStatus: {\r\n Title: 'ORDER CYCLE',\r\n Field: ElementTypes.ColumnBadge(),\r\n Width: 110\r\n },\r\n batchType: {\r\n Title: 'B',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 55\r\n }, \r\n drop1City: {\r\n Title: 'Drop City',\r\n Field: ElementTypes.Generic(ElementTypes.TableLabelField, {\r\n display: (o, value) => o.warehouse ? value : 'Bypass'\r\n }),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop1State: {\r\n Title: 'Drop ST',\r\n Field: ElementTypes.Generic(ElementTypes.TableLabelField, {\r\n display: (o, value) => o.warehouse ? value : 'Bypass'\r\n }),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n lastComment: {\r\n Title: '',\r\n Field: ElementTypes.LatestCommentIndicator((_, data) => data),\r\n DataTitle: true,\r\n Width: 40,\r\n Attributes: {\r\n circle: {\r\n green: ''\r\n }\r\n }\r\n },\r\n puWeek: {\r\n Title: 'In-WK',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80\r\n },\r\n};\r\n\r\nexport default OrderColumns;","import moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport {\r\n ElementTypes\r\n} from '../../../config';\r\n\r\nconst OrderColumns = {\r\n referenceNumber: {\r\n Title: 'Row',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 90\r\n },\r\n customerCodeOrName: {\r\n Title: 'Customer',\r\n Field: ElementTypes.TableLabelField(),\r\n Sorted: 'asc',\r\n Width: 70,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n puDate: {\r\n Title: 'Ready/Date',\r\n Field: ElementTypes.ColumnDate(),\r\n Width: 90,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n batchType: {\r\n Title: 'B',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 55\r\n },\r\n dueDate: {\r\n Title: 'Due-Date',\r\n Field: ElementTypes.ColumnDate(),\r\n Width: 90,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop1City: {\r\n Title: 'P/U City',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop1State: {\r\n Title: 'P/U State',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop1WH: {\r\n Title: 'Pick up Warehouse',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2City: {\r\n Title: 'Drop City',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2State: {\r\n Title: 'Drop ST',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 100,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n drop2WH: {\r\n Title: 'Drop WH',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n poNumber: {\r\n Title: 'PO#',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 70,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n soNumber: {\r\n Title: 'SO#',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 70,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n palletCount: {\r\n Title: 'Pallets',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n space: {\r\n Title: 'Spaces',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n cases: {\r\n Title: 'Cases',\r\n Field: ElementTypes.TableDecimalField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n weight: {\r\n Title: 'Weight',\r\n Field: ElementTypes.TableDecimalField(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n inboundAppointment: {\r\n Title: 'Inbound Appt',\r\n Field: ElementTypes.Generic(ElementTypes.SimpleColumnIndicator, {\r\n displayability: (_, data) => data,\r\n display: (_, data) => `Appointment: ${moment.utc(data).format(Defines.Format.PrintDateTime)}`\r\n }),\r\n DataTitle: true,\r\n Width: 40,\r\n Attributes: {\r\n circle: {\r\n blue: ''\r\n }\r\n }\r\n },\r\n receiveDate: {\r\n Title: 'Receive Status',\r\n Field: ElementTypes.ReceiveIndicator((_, data) => data),\r\n DataTitle: true,\r\n Width: 40,\r\n Attributes: {\r\n circle: {\r\n green: ''\r\n }\r\n }\r\n },\r\n orderStatus: {\r\n Title: 'Status',\r\n Field: ElementTypes.ColumnBadge(),\r\n Width: 110\r\n },\r\n lastComment: {\r\n Title: '',\r\n Field: ElementTypes.LatestCommentIndicator((_, data) => data),\r\n DataTitle: true,\r\n Width: 40,\r\n Attributes: {\r\n circle: {\r\n green: ''\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default OrderColumns;","import React, { useRef, useContext, useState } from 'react';\r\nimport { CSVLink } from 'react-csv';\r\nimport { Tooltip } from 'antd';\r\nimport { GridContext } from '../list';\r\nimport axios from '../../../axios/axios';\r\n\r\nimport { CommonLabels } from '../../../../project/Defines';\r\n\r\nconst Download = () => {\r\n const data = useContext(GridContext);\r\n const [dataSource, setDataSource] = useState([]);\r\n const [header, setHeader] = useState([]);\r\n const headerArr = [];\r\n const csvElRef = useRef(null);\r\n\r\n const downloadGrid = () => {\r\n axios.get(data.screen, {\r\n params: {\r\n request: {\r\n Sorts: data.sorts\r\n \r\n },\r\n filterData: data.filter\r\n }\r\n })\r\n .then(result => {\r\n setDataSource(result.data.data);\r\n\r\n for (let label in data.columns) {\r\n headerArr.push({ label: data.columns[label].Title, key: label });\r\n }\r\n\r\n setHeader(headerArr);\r\n csvElRef.current.link.click();\r\n });\r\n };\r\n\r\n return
    \r\n \r\n
    {CommonLabels.Buttons.Download}
    \r\n
    \r\n\r\n \r\n
    \r\n};\r\n\r\nexport default Download;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport { GenerateInput } from '../../../helper/element';\r\nimport { ElementConditions } from '../../../config/condition.config';\r\nimport { getListFilter, buildListFilterQuery, getCriteriaQuery } from '../../../helper/list';\r\n\r\nexport const Search = props => {\r\n const timeOut = useRef(null);\r\n const history = useHistory();\r\n const criteriaQuery = getCriteriaQuery(history);\r\n\r\n const [searchValue, setSearchValue] = useState(null);\r\n \r\n useEffect(() => {\r\n return () => {\r\n clearTimeout(timeOut.current);\r\n }\r\n }, []);\r\n\r\n const onSearchHandelr = event => {\r\n if (timeOut.current) {\r\n clearTimeout(timeOut.current);\r\n }\r\n const val = event.target.value;\r\n setSearchValue(val);\r\n timeOut.current = setTimeout(() => {\r\n const filter = getListFilter(criteriaQuery) || {};\r\n filter[props.field] = val;\r\n history.push({\r\n search: buildListFilterQuery(criteriaQuery, filter)\r\n });\r\n }, 500);\r\n };\r\n\r\n useEffect(() => {\r\n const filter = getListFilter(criteriaQuery);\r\n filter && setSearchValue(filter[props.field]);\r\n }, [criteriaQuery, props.field]);\r\n\r\n return (\r\n \r\n search\r\n { GenerateInput('text', ElementConditions.Enable, null, searchValue, ['icon_search'], onSearchHandelr, null, null, 'Search here') }\r\n );\r\n};\r\n\r\nexport default Search;","import React from 'react';\r\nimport { Tooltip } from 'antd';\r\nimport { CommonLabels } from '../../../project/Defines';\r\n\r\nconst CreateGroupButton = props => (\r\n {\r\n \r\n
    \r\n {props.createGroupButtonText || CommonLabels.Buttons.CreateGroup}\r\n
    \r\n
    \r\n }\r\n
    );\r\n\r\nexport default CreateGroupButton;\r\n","import React from 'react';\r\nimport Modal from 'react-modal';\r\nimport { Button, Space, Typography } from 'antd';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport { object, string } from 'yup';\r\n\r\nimport { CommonLabels } from '../../../../project/Defines';\r\nimport \"./index.css\";\r\n\r\nconst validationSchema = object().shape({\r\n sheetName: string().required('Required'),\r\n});\r\n\r\nconst customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px',\r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n overlay: {\r\n backgroundColor: 'rgb(0 0 0 / 50%)'\r\n }\r\n};\r\n\r\nconst GSheetModal = ({ isOpen, onCloseModal, onSubmit, isLoading }) => {\r\n return (\r\n \r\n \r\n Import From Google Sheet\r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n onSubmit(values.sheetName)}\r\n >\r\n {({ isValid, errors }) => {\r\n return (\r\n \r\n Google sheet name\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default GSheetModal;","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useContext, useState, useCallback } from 'react';\r\nimport { Tooltip, message, notification } from 'antd';\r\n\r\nimport { GridContext } from '../list';\r\nimport axios from '../../../axios/axios';\r\nimport { CommonLabels } from '../../../../project/Defines';\r\nimport GSheetModal from './GSheetModal';\r\n\r\nconst ImportFromGSheet = ({ refreshData }) => {\r\n const data = useContext(GridContext);\r\n const [isOpenModal, setIsOpenModal] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const [api, contextHolder] = notification.useNotification();\r\n\r\n const openNotification = (message) => {\r\n api.open({\r\n message: 'Import Info',\r\n description: message,\r\n duration: 0,\r\n });\r\n };\r\n\r\n const toggleModal = useCallback((isOpen) => setIsOpenModal(isOpen))\r\n\r\n const importFromGsheet = (sheetName) => {\r\n setIsLoading(true);\r\n axios.post(`${data.screen}/importfromgsheet?sheetName=${sheetName}`).then(result => {\r\n setIsLoading(false)\r\n if (result.data?.hasError) {\r\n message.error(result.data.message, 5);\r\n return;\r\n }\r\n setIsOpenModal(false);\r\n //message.success(result.data.message, 5);\r\n openNotification(result.data.message);\r\n refreshData(true)\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {contextHolder}\r\n \r\n
    toggleModal(true)}>{CommonLabels.Buttons.Import}
    \r\n
    \r\n {isOpenModal ? toggleModal(false)}\r\n /> : null}\r\n \r\n )\r\n\r\n\r\n};\r\n\r\nexport default ImportFromGSheet;\r\n","import React, { useContext, useState } from 'react';\r\nimport { Tooltip, message } from 'antd';\r\n\r\nimport { GridContext } from '../list';\r\nimport axios from '../../../axios/axios';\r\nimport { CommonLabels } from '../../../../project/Defines';\r\nimport Loading from '../../screen/loading';\r\n\r\nconst ExportToGSheet = () => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const data = useContext(GridContext);\r\n\r\n const exportToGsheet = () => {\r\n setIsLoading(true);\r\n axios.post(`${data.screen}/exporttogsheet`).then((response, err) => {\r\n setIsLoading(false);\r\n if (response.data?.hasError) {\r\n message.error(response.data.message, 5);\r\n return;\r\n }\r\n message.success(response.data?.message, 5);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    {CommonLabels.Buttons.Export}
    \r\n
    \r\n {isLoading ?
    \r\n \r\n
    : null}\r\n \r\n )\r\n\r\n\r\n};\r\n\r\nexport default ExportToGSheet;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport { Tooltip } from 'antd';\r\n\r\nimport { getCustomerOrderAdmin } from '../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\nimport { useClientHubNewRequest } from \"../../../../codeless/hook/hub/useClientHubNewRequest\";\r\nimport { CommonLabels } from '../../../../project/Defines';\r\nimport Download from '../../list/download/Download';\r\nimport Search from '../../list/filter/search';\r\nimport NewButton from '../../list/newButton';\r\nimport CreateGroupButton from '../../list/createGroupButton';\r\nimport Settings from '../../list/settings';\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport ImportFromGSheet from '../../list/download/ImportFromGSheet';\r\nimport ExportToGSheet from '../../list/download/ExportToGSheet';\r\n\r\nconst ListView = props => {\r\n const pathname = window.location.pathname;\r\n const { total, getCustomerOrderAdmin } = props;\r\n const [newRequestCount, setNewRequestCount] = useState(total);\r\n const count = newRequestCount ? newRequestCount : total;\r\n\r\n useClientHubNewRequest((message) => setNewRequestCount(message.newRequestCount), 'notification');\r\n\r\n useEffect(() => {\r\n getCustomerOrderAdmin('customerOrderAdmin');\r\n }, [getCustomerOrderAdmin, newRequestCount, total]);\r\n\r\n return (\r\n {(props.columnConfig || props.showRefreshButton || props.download) &&\r\n \r\n { props.showTitleOnGrid && props.title && props.showTitle &&

    {props.title}

    }\r\n { props.columnConfig && !props.hideSettings && }\r\n { props.allowNewButton && }\r\n \r\n { props.HasSubNavigation &&
    \r\n New Request\r\n {count === 0 ? '' : count}\r\n \r\n Revision\r\n Canceled\r\n
    }\r\n { props.showRefreshButton ? \r\n
    props.loadData()}>{CommonLabels.Buttons.Refresh}
    \r\n
    : null}\r\n {props.download && props.loadData()} /> }\r\n {props.importGSheet && props.loadData()}/> }\r\n { props.exportGSheet && }\r\n { props.allowCreateGroupButton && }\r\n { props.search && }\r\n { !props.isHiddenSwitch && }\r\n
    \r\n }\r\n {props.children}\r\n
    );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n total: state.customerOrderAdmin.total,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\ngetCustomerOrderAdmin: (resource, endPoint) => dispatch(getCustomerOrderAdmin(resource, endPoint)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ListView);\r\n","import React from 'react';\r\n\r\nimport ListView from './view/listView';\r\n\r\nconst ListScreen = props => {\r\n\r\n const listView = \r\n {props.children}\r\n ;\r\n\r\n const formList =
    \r\n {listView}\r\n
    ;\r\n\r\n const list = \r\n {listView}\r\n ;\r\n\r\n return (\r\n <>\r\n {props.isFormList ? formList : list}\r\n \r\n );\r\n};\r\n\r\nexport default ListScreen;","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './ordersActionTypes';\r\n\r\nconst buildUrl = (resource, endPoint) => endPoint ? `/api/${resource}/${endPoint}` : `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getOrdersByCustomer = (resource, endpoint, customerId) => dispatch => {\r\n const data = {\r\n params: {\r\n filterData: { customerId: customerId},\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ORDERS_LIST_BY_ID_LOADING) });\r\n axios.get(buildUrl(resource, endpoint), data,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ORDERS_LIST_BY_ID), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ORDERS_LIST_BY_ID_ERROR) });\r\n })\r\n};\r\n\r\nexport const createNewGroup = (resource, endpoint, ids, batchType) => dispatch => {\r\n const data = {\r\n 'ids': ids,\r\n 'batchType': batchType,\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CREATE_NEW_GROUP_LOADING) });\r\n axios.put(buildUrl(resource, endpoint), data,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.CREATE_NEW_GROUP), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CREATE_NEW_GROUP_ERROR) });\r\n })\r\n};\r\n\r\nexport const resetError = (resource) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) })\r\n};\r\n\r\nexport const setBatchType = (resource, batchType) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_BATCH_TYPE), data: batchType\r\n })\r\n};\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { Formik, Form } from 'formik';\r\nimport Select from 'react-select';\r\nimport * as Yup from 'yup';\r\nimport { Radio } from 'antd';\r\nimport { getCustomersList } from '../../../../store/actions/customers/customers';\r\nimport { setBatchType } from '../../../../store/actions/orders/orders';\r\nimport Loading from '../../screen/loading';\r\nimport './index.css';\r\n\r\nconst GroupOrdersModal = ({\r\n setGroupOrdersModalIsOpen,\r\n groupOrdersModalIsOpen,\r\n loading,\r\n getCustomersList,\r\n customersList,\r\n setGroupOrdersListModalIsOpen,\r\n setCreateGroupValues,\r\n setBatchType,\r\n}) => {\r\n const resource = 'customer';\r\n\r\n const closeModal = () => {\r\n setGroupOrdersModalIsOpen(false);\r\n };\r\n \r\n useEffect(() => {\r\n getCustomersList(resource, 'customerkeyvaluewithdefloclist');\r\n }, [getCustomersList]);\r\n\r\n let submitAction = '';\r\n\r\n const customStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '326px',\r\n maxWidth: '600px',\r\n maxHeight: '326px',\r\n borderRadius: '8px',\r\n padding: loading ? '0 0 8px 0' : '0',\r\n },\r\n };\r\n\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: state.isFocused ? 'lightGray' : 'lightGray',\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '37px',\r\n width: '100%',\r\n cursor: 'notAllowed',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '20',\r\n height: '200px',\r\n overflowY: 'scroll',\r\n }),\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n margin: '4px 0',\r\n }),\r\n options: (base, state) => ({\r\n padding: '4px 8px',\r\n cursor: 'pointer',\r\n borderRadius: 'unset',\r\n }),\r\n };\r\n\r\n const customersOptionsList = customersList?.map(item => {\r\n return { ...item, label: item.text };\r\n });\r\n\r\n customersOptionsList?.length && customersOptionsList[0].value !== '' && customersOptionsList.unshift({ value: '', text: '', label: '' });\r\n\r\n const getTextFromValues = useCallback(\r\n (value, list) => {\r\n return list?.length ? list?.filter(item => item.value === value)[0]?.text : [];\r\n },\r\n [],\r\n );\r\n\r\n const handleSubmitSave = values => {\r\n setCreateGroupValues(values);\r\n setGroupOrdersListModalIsOpen(true);\r\n setBatchType('orders', values.paymentMethod);\r\n };\r\n\r\n const validationSchema = Yup.object().shape({\r\n customer: Yup.string().required('Required'),\r\n paymentMethod: Yup.number().required('Required'),\r\n });\r\n\r\n if (loading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    Grouping Orders
    \r\n \r\n
    \r\n {\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n handleSubmitSave(values, submitAction);\r\n }, 400);\r\n }}>\r\n {({ isSubmitting, isValid, values, setFieldValue, errors, touched, handleSubmit }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!values.customer &&
    Select Customer
    }\r\n setFieldValue('customer', option.value)}\r\n styles={customStyles}\r\n placeholder={''}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    Choose batch type
    \r\n \r\n setFieldValue('paymentMethod', e.target.value)}>\r\n Soft Batch\r\n \r\n setFieldValue('paymentMethod', e.target.value)}>\r\n Hard Batch\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n customersList: state.customers.customersList,\r\n loading: state.customers.loading,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCustomersList: (resource, endPoint) => dispatch(getCustomersList(resource, endPoint)),\r\n setBatchType: (resource, batchType) => dispatch(setBatchType(resource, batchType)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GroupOrdersModal);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst HeaderCell = ({ state, ind, resource }) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n fontSize: '12px',\r\n };\r\n\r\n let headerCall = (\r\n \r\n {data.title}\r\n \r\n )\r\n return headerCall;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({ state, resource }) => {\r\n const loadArea = state[resource];\r\n\r\n return (\r\n
    \r\n {loadArea?.headers.map((header, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport { Tooltip, Checkbox } from 'antd';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport './index.css';\r\n\r\nconst Cell = ({ \r\n state,\r\n cellData,\r\n itemSize,\r\n resource,\r\n setCheckedList,\r\n checked,\r\n rowState,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n const [tempData, setTempData] = useState(null);\r\n const data = cellData.value;\r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const color = '#101C1C';\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const onChange = e => {\r\n let customerIdList = [];\r\n setCheckedList(oldArray => {\r\n if (!oldArray.includes(rowState.orderObjectId)) {\r\n customerIdList = [...oldArray, rowState.orderObjectId];\r\n return customerIdList;\r\n } else {\r\n customerIdList = oldArray.filter(item => item !== rowState.orderObjectId);\r\n return customerIdList;\r\n }\r\n }); \r\n };\r\n\r\n const getData = () => { \r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate)\r\n case 'text':\r\n return tempData;\r\n case 'checkbox':\r\n return \r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ?\r\n \r\n {getData()}\r\n : getData();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n return (\r\n \r\n {dataDisplay()}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.orders.loadsAssignedOrders,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Cell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = ({ data, style, itemSize, resource, setCheckedList, checked }) => {\r\n const color = 'white';\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n return ();\r\n };\r\n\r\n return data ?\r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n}))(Row);","import React, { useState, useEffect, useCallback, useMemo } from 'react';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { message } from 'antd';\r\nimport { getOrdersByCustomer, resetError, createNewGroup } from '../../../../store/actions/orders/orders';\r\nimport Loading from '../../screen/loading';\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport './index.css';\r\n\r\nconst GroupOrdersListModal = ({\r\n setGroupOrdersListModalIsOpen,\r\n groupOrdersListModalIsOpen,\r\n setGroupOrdersModalIsOpen,\r\n loading,\r\n loadsAssignedOrders,\r\n getOrdersByCustomer,\r\n actionMessage,\r\n hasError,\r\n values,\r\n createNewGroup,\r\n batchType,\r\n newGroupCreated,\r\n resetError,\r\n newGroupId,\r\n}) => {\r\n const resource = 'orders';\r\n const defRowHeight = 20;\r\n const createGroupEndPoint = 'createnewgroup';\r\n const [orders, setOrders] = useState([]);\r\n const [data, setData] = useState();\r\n const [checkedList, setCheckedList] = useState([]);\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n setData(values);\r\n }, [values]);\r\n\r\n useEffect(() => {\r\n if (data?.customer) getOrdersByCustomer('order', 'availableorderlist', data?.customer);\r\n }, [getOrdersByCustomer, data]);\r\n \r\n useEffect(() => {\r\n setGroupOrdersModalIsOpen(false);\r\n }, [setGroupOrdersModalIsOpen]);\r\n\r\n useEffect(()=>{\r\n if(loadsAssignedOrders){\r\n setOrders(loadsAssignedOrders)\r\n }\r\n },[loadsAssignedOrders])\r\n\r\n const closeModal = () => {\r\n setGroupOrdersListModalIsOpen(false);\r\n };\r\n\r\n const customStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '800px',\r\n minHeight: '600px',\r\n maxWidth: '1000px',\r\n borderRadius: '8px',\r\n padding: loading ? '0 0 8px 0' : '0',\r\n },\r\n };\r\n\r\n const handleSubmit = () => {\r\n createNewGroup('order', createGroupEndPoint, checkedList, batchType);\r\n };\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [hasError, actionMessage, resetError, resource]);\r\n\r\n useEffect(() => {\r\n if (newGroupCreated) {\r\n message.success(actionMessage, 3);\r\n resetError(resource);\r\n setGroupOrdersListModalIsOpen(false);\r\n const path = `orderdetails/${newGroupId}`; \r\n history.push(path);\r\n }\r\n }, [newGroupCreated, actionMessage, history, newGroupId, resetError, setGroupOrdersListModalIsOpen]);\r\n\r\n const header = useMemo(() =>\r\n
    \r\n \r\n \r\n
    \r\n ,\r\n [resource]);\r\n\r\n const getAsignedItemSize = useCallback(() => {\r\n return index => orders[index] ? orders[index].rowState.height : defRowHeight;\r\n }, [orders]);\r\n\r\n const RenderAssignedRow = useCallback(({ data, index, style }) => {\r\n return (index !== undefined && data[index])\r\n ? \r\n : null\r\n }, [getAsignedItemSize, resource, checkedList]); \r\n\r\n const allOrdersList = useMemo(() => orders && \r\n defRowHeight}>\r\n {RenderAssignedRow}\r\n \r\n , [orders, RenderAssignedRow]);\r\n\r\n if (loading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    Group Orders
    \r\n
    {header}
    \r\n
    {allOrdersList}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.orders.loadsAssignedOrders,\r\n loading: state.orders.loading,\r\n hasError: state.orders.hasError,\r\n actionMessage: state.orders.message,\r\n batchType: state.orders.batchType,\r\n newGroupCreated: state.orders.newGroupCreated,\r\n newGroupId: state.orders.newGroupId,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getOrdersByCustomer: (resource, endpoint, customerId) => dispatch(getOrdersByCustomer(resource, endpoint, customerId)),\r\n createNewGroup: (resource, endPoint, ids, batchType) => dispatch(createNewGroup(resource, endPoint, ids, batchType)),\r\n resetError: (resource) => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GroupOrdersListModal);\r\n","import React, { useState, useEffect, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport ResizeObserver from 'rc-resize-observer';\r\nimport { Table, message } from 'antd';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport axios from '../../axios/axios';\r\nimport ListScreen from '../screen/listScreen';\r\nimport Filter from './filter/filter';\r\nimport { Action } from '../../config';\r\nimport { useDelete, useDeleteReason, useCheckReference } from '../../hook/action/delete';\r\nimport { Columns, getListCriteria, getCriteriaQuery, buildListSortPaginationQuery } from '../../helper/list';\r\nimport { setProfileColumnWidth, saveProfileColumnWidth } from '../../../store/actions/authentication/authentication';\r\nimport { Project } from '../../../project/Project';\r\nimport { AppPages } from '../../../project/Pages';\r\nimport { Defines } from '../../../project/Defines';\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../custom/popup/popup';\r\nimport GroupOrdersModal from './GroupOrder/GroupOrdersModal';\r\nimport GroupOrdersListModal from './GroupOrder/GroupOrdersListModal';\r\nimport { useClientHubOrder } from \"../../hook/hub/useClientHubOrder\";\r\n\r\nexport const GridContext = React.createContext();\r\n\r\nconst List = props => {\r\n const config = props.screen;\r\n const { DisableDownload, ImportGSheet, ExportGSheet } = config.List;\r\n const screenKey = config.Key;\r\n const screenTitle = config.Title;\r\n const master = config.Master;\r\n const resourceItem = config.ResourceItem;\r\n const resource = config.Resource;\r\n const openPopup = props.openPopup;\r\n const closePopup = props.closePopup;\r\n\r\n const history = useHistory();\r\n const criteriaQuery = getCriteriaQuery(history);\r\n const location = useLocation();\r\n\r\n const viewConfig = config.List.Defaults.View;\r\n const tableConfig = config.List.Defaults.Table;\r\n const hasPaging = !!props.screen.List.Pagination;\r\n const pagination = props.screen.List.Pagination;\r\n const paginationCurrent = props.screen.List.Pagination?.Current;\r\n const paginationPageSize = props.screen.List.Pagination?.PageSize;\r\n const usePopup = config.UsePopup;\r\n const parentField = config.ParentField;\r\n const parentValue = config.ParentValue;\r\n\r\n const [dataSource, setDataSource] = useState([]); // Change to useData\r\n const [total, setTotal] = useState(0);\r\n const [isLoading, setLoading] = useState(true);\r\n const [isDeleting, setDeleting] = useState(false);\r\n const [resizeMode, ] = useState(false);\r\n const [tableWidth, setTableWidth] = useState(0);\r\n const [hasFormListScreen, setHasFormListScreen] = useState(props.screen.List.hasFormListScreen);\r\n const criteria = useCallback(() => getListCriteria(criteriaQuery), [criteriaQuery]);\r\n const [groupOrdersModalIsOpen, setGroupOrdersModalIsOpen] = useState(false);\r\n const [groupOrdersListModalIsOpen, setGroupOrdersListModalIsOpen] = useState(false);\r\n const [createGroupValues, setCreateGroupValues] = useState();\r\n\r\n useClientHubOrder((message) => {\r\n if (props.userId !== message.byId) {\r\n loadData(true);\r\n }\r\n }, 'notification');\r\n\r\n const historyStateManager = useCallback(() => {\r\n const historyState = history.location.state;\r\n\r\n if (historyState) {\r\n history.replace({ pathname: location.pathname, search: location.search, state: null });\r\n if (historyState?.message && historyState?.message === 'OrderHeader has been successfully canceled!') {\r\n message.success('Order canceled successfully!');\r\n } else {\r\n historyState?.message && message.success(historyState.message);\r\n }\r\n }\r\n }, [history, location]);\r\n\r\n const updateGrid = useCallback(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const data = result.data;\r\n const total = result.total;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i].key) {\r\n data[i].key = data[i][screenKey || 'id'];\r\n }\r\n };\r\n setDataSource(data);\r\n setTotal(total);\r\n }\r\n }\r\n }, [screenKey]);\r\n\r\n const loadData = useCallback((hideLoading) => {\r\n historyStateManager();\r\n setLoading(!hideLoading);\r\n const criteriaResult = criteria();\r\n const page = criteriaResult.current;\r\n const pageSize = criteriaResult.pageSize;\r\n const sorts = criteriaResult.sorts;\r\n const filterJson = criteriaResult.filter;\r\n\r\n if (parentField) {\r\n filterJson[parentField] = parentValue;\r\n }\r\n\r\n const filterData = JSON.stringify(filterJson);\r\n axios.get(resource, {\r\n params: {\r\n request: {\r\n Page: page ? page : 1,\r\n PageSize: pageSize ? pageSize : 100,\r\n Sorts: sorts\r\n },\r\n filterData: filterData\r\n }\r\n })\r\n .then(response => {\r\n updateGrid(response);\r\n }).finally(() => {\r\n setLoading(false);\r\n });\r\n }, [criteria, historyStateManager, resource, updateGrid, parentField, parentValue]);\r\n\r\n const deleteData = useDelete(screenTitle, resourceItem || resource, history.location.pathname, history.location.search, setDeleting, loadData);\r\n const deleteReasonData = useDeleteReason(screenTitle, props.screen.ReasonConfig?.ResourceItem || props.screen.ReasonConfig?.Resource, props.screen.ReasonConfig, history.location.pathname, history.location.search, setDeleting, loadData);\r\n const checkReference = useCheckReference(deleteData, resource);\r\n\r\n const onAction = useCallback((data, action, hasReference, setGroupOrdersModalIsOpen) => {\r\n switch (action) {\r\n case Action.Edit:\r\n case Action.View:\r\n // const detailUrl = Project.getPageUrl(AppPages[resource + Defines.DetailsComponentSufix]);\r\n // history.push({\r\n // pathname: detailUrl + '/' + data.id,\r\n // state: {\r\n // search: history.location.search\r\n // }\r\n // });\r\n config.Form.DefaultId = data.id;\r\n const windowKey = 'Details';\r\n openPopup({\r\n windowKey,\r\n title: \"Order\",\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (response, close) => {\r\n const newSourceData = [...dataSource];\r\n const originalItem = newSourceData.find(i => i.id === response.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n response.key = response.id;\r\n if (index !== -1) {\r\n newSourceData.splice(index, 1, response);\r\n setDataSource(newSourceData);\r\n } else {\r\n loadData();\r\n }\r\n if (close) {\r\n setTimeout(() => {\r\n closePopup(windowKey);\r\n }, 10);\r\n }\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n break;\r\n case Action.Cancel:\r\n deleteReasonData(data[master], data[screenKey], data);\r\n break;\r\n case Action.Delete:\r\n //deleteData(data[master], data[screenKey]);\r\n checkReference(data[master], data[screenKey], data.id, hasReference);\r\n break;\r\n case Action.Invoice:\r\n axios({\r\n url: `${resource}/invoice`,\r\n method: 'PUT',\r\n data: {\r\n id: data.id\r\n }\r\n })\r\n .then((response) => {\r\n if (response.data.hasError) {\r\n message.error(response.data.message);\r\n return;\r\n }\r\n message.success(response.data.message);\r\n const newSourceData = [...dataSource];\r\n const originalItem = newSourceData.find(i => i.id === response.data.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n newSourceData.splice(index, 1);\r\n setDataSource(newSourceData);\r\n });\r\n break;\r\n case Action.NeedToClarify:\r\n axios({\r\n url: `${resource}/needtoclarify?orderId=${data.id}`,\r\n method: 'PUT',\r\n })\r\n .then((response) => {\r\n if (response.data.hasError) {\r\n message.error(response.data.message);\r\n return;\r\n }\r\n // message.success(response.data.message);\r\n const newSourceData = [...dataSource];\r\n const originalItem = newSourceData.find(i => i.id === data.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n originalItem.isNeedToClarify = !originalItem.isNeedToClarify\r\n newSourceData[index] = originalItem;\r\n setDataSource(newSourceData);\r\n });\r\n break;\r\n case Action.Complete:\r\n axios({\r\n url: `${resource}/complete`,\r\n method: 'PUT',\r\n data: {\r\n id: data.id\r\n }\r\n })\r\n .then((response) => {\r\n if (response.data.hasError) {\r\n message.error(response.data.message);\r\n return;\r\n }\r\n message.success(response.data.message);\r\n const newSourceData = [...dataSource];\r\n const originalItem = newSourceData.find(i => i.id === response.data.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n newSourceData.splice(index, 1);\r\n setDataSource(newSourceData);\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }, [master, resource, dataSource, screenKey, deleteReasonData, openPopup, closePopup, config, loadData, checkReference]);\r\n\r\n const onResizeStart = useCallback(() => {\r\n // setResizeMode(true);\r\n }, []);\r\n\r\n const onResize = useCallback(({ size }, field) => {\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: size.width\r\n });\r\n props.setColumnWidth(resource, selectedColumns);\r\n }, [props, resource]);\r\n\r\n const onResizeStop = useCallback(({ size }, field) => {\r\n // setResizeMode(false);\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: Math.floor(size.width)\r\n });\r\n props.saveColumnWidth(resource, selectedColumns);\r\n }, [props, resource]);\r\n\r\n const columnsSort = useCallback(() =>\r\n Columns({ resizable: true, ...props.screen },\r\n onAction,\r\n null, null,\r\n //dataSource, setDataSource,\r\n criteria().sorts,\r\n props.profileSettings, onResize, onResizeStop, onResizeStart, resizeMode, tableWidth),\r\n [criteria, props.screen, onAction, props.profileSettings, onResize, onResizeStop, onResizeStart, resizeMode, tableWidth]);\r\n\r\n const columns = columnsSort()[0];\r\n\r\n const sorts = useRef(columnsSort()[1]);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async () => {\r\n const criteriaResult = criteria();\r\n const page = criteriaResult.current;\r\n const pageSize = criteriaResult.pageSize;\r\n const sorts = criteriaResult.sorts;\r\n const filterJson = criteriaResult.filter;\r\n\r\n if (parentField) {\r\n filterJson[parentField] = parentValue;\r\n }\r\n\r\n const filterData = JSON.stringify(filterJson);\r\n historyStateManager();\r\n if (isMounted && !props.screen.changesCount) {\r\n setLoading(true);\r\n }\r\n const response = await axios(\r\n resource,\r\n {\r\n params: {\r\n request: {\r\n Page: page ? page : 1,\r\n PageSize: pageSize ? pageSize : 100,\r\n Sorts: sorts\r\n },\r\n filterData: filterData\r\n }\r\n }\r\n ).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n\r\n }\r\n });\r\n if (isMounted) {\r\n updateGrid(response);\r\n }\r\n };\r\n if ((hasPaging && criteria().current === null) || hasFormListScreen) {\r\n\r\n history.replace({\r\n search: buildListSortPaginationQuery(criteriaQuery,\r\n sorts.current,\r\n paginationCurrent,\r\n paginationPageSize,\r\n paginationPageSize)\r\n });\r\n hasFormListScreen && setHasFormListScreen(false);\r\n }\r\n else {\r\n fetchData();\r\n }\r\n return () => { isMounted = false };\r\n }, [criteriaQuery, updateGrid, criteria, history, historyStateManager,\r\n hasPaging,\r\n paginationCurrent,\r\n paginationPageSize,\r\n resource, sorts, props.screen.changesCount,\r\n hasFormListScreen,\r\n parentField, parentValue]);\r\n\r\n const onNewClickHandler = () => {\r\n if (usePopup) {\r\n onAction({ id: 0 }, Action.Edit)\r\n return;\r\n }\r\n \r\n const detailUrl = Project.getPageUrl(AppPages[resource + Defines.DetailsComponentSufix]);\r\n history.push({\r\n pathname: detailUrl + '/' + Defines.DefaultCreateKey,\r\n state: {\r\n search: history.location.search\r\n }\r\n }); \r\n };\r\n\r\n const onCreateGroupClickHandle = () => {\r\n setGroupOrdersModalIsOpen(true);\r\n };\r\n\r\n if (hasPaging && criteria().current === null) {\r\n return null;\r\n }\r\n\r\n let pageSizeOptions = pagination ? [...pagination?.PageSizeOptions] : [];\r\n let newPageSizeOptions = ['100', '500'];\r\n\r\n if (total > pageSizeOptions[pageSizeOptions.length - 1]) {\r\n switch (true) {\r\n case total > 40 && total < 100:\r\n pageSizeOptions.push(total);\r\n break;\r\n case total >= 100 && total < 500:\r\n pageSizeOptions.push('100', total);\r\n break;\r\n case total >= 500 && total < 1000:\r\n pageSizeOptions = pageSizeOptions.concat(newPageSizeOptions, total);\r\n break;\r\n case total >= 1000 && total < 10000:\r\n pageSizeOptions = pageSizeOptions.concat(newPageSizeOptions, '1000', total);\r\n break;\r\n default:\r\n pageSizeOptions = pageSizeOptions.concat(newPageSizeOptions, '1000', '10000', total);\r\n }\r\n }\r\n\r\n const filterJson = criteria().filter;\r\n if (parentField) {\r\n filterJson[parentField] = parentValue;\r\n }\r\n\r\n const listContent = {\r\n setTableWidth(e.width);\r\n }}\r\n >\r\n {\r\n if (resizeMode) {\r\n return;\r\n }\r\n setDataSource([]);\r\n const sort = (sorter.column &&\r\n [\r\n {\r\n Member: sorter.field[0],\r\n SortDirection: sorter.order === 'ascend' ? 0 : 1\r\n // SortDirection: sorter.field[0] === 'outPodRequestStatus' ? 1 : sorter.order === 'ascend' ? 0 : 1\r\n }\r\n ]) || null;\r\n if (hasPaging) {\r\n history.push({\r\n search: buildListSortPaginationQuery(criteriaQuery, sort, pagination.current, pagination.pageSize, props.screen.List.Pagination.PageSize)\r\n });\r\n }\r\n }}\r\n sorts={criteria().sorts}\r\n {...tableConfig.Style}\r\n />\r\n ;\r\n\r\n const tableContent = props.screen.List.formList ? <>\r\n {listContent}\r\n : \r\n {listContent}\r\n ;\r\n\r\n const filterableTable = \r\n {props.screen.List.Filter ?\r\n : null}\r\n \r\n {tableContent}\r\n \r\n ;\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n props.screen.List.Filter ? filterableTable : tableContent\r\n }\r\n \r\n \r\n {groupOrdersModalIsOpen && \r\n \r\n }\r\n {groupOrdersListModalIsOpen && \r\n \r\n }\r\n \r\n )\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettingsTemp,\r\n userId: state.auth.userId\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: data => dispatch(openPopup(data)),\r\n closePopup: key => dispatch(closePopup(key)),\r\n setColumnWidth: (resource, columns) => dispatch(setProfileColumnWidth(resource, columns)),\r\n saveColumnWidth: (resource, columns) => dispatch(saveProfileColumnWidth(resource, columns)),\r\n openConfirm: data => dispatch(data),\r\n closePopupAsync: key => dispatch(closePopupAsync(key)),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(List);","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport Loading from '../loading';\r\n\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\n\r\nconst FormView = props =>\r\n \r\n \r\n {props.backUrl\r\n ? <>\r\n
    \r\n left\r\n
    \r\n \r\n \r\n : null\r\n }\r\n
    \r\n {props.title || ''}\r\n
    \r\n { !props.isHiddenSwitch && }\r\n
    \r\n {props.isLoading ? : props.children}\r\n
    \r\n\r\nexport default FormView;","import React from 'react';\r\n\r\nimport Loading from '../loading';\r\n\r\nconst Popup = props => (\r\n
    \r\n {props.isLoading ? : props.children}\r\n
    );\r\n\r\n\r\nexport default Popup;","import React from 'react';\r\nimport Draggable from 'react-draggable';\r\n\r\nimport FormView from './view/formView';\r\nimport Popup from './popup/popup';\r\n\r\nconst FormScreen = props =>\r\n props.showPopup ?\r\n \r\n
    \r\n {/* {props.showHeader && */}\r\n
    \r\n {props.fullScreen &&\r\n \r\n
    \r\n left\r\n
    \r\n \r\n
    }\r\n
    \r\n

    {props.title}

    \r\n
    \r\n {!props.fullScreen &&\r\n
    \r\n close\r\n
    }\r\n
    \r\n {/* } */}\r\n
    \r\n \r\n {props.children}\r\n \r\n
    \r\n
    \r\n
    \r\n :\r\n \r\n {props.children}\r\n \r\n\r\nexport default FormScreen;","export const ADD_VALUE_LIST = 'ADD_VALUE_LIST';\r\nexport const REMOVE_VALUE_LIST = 'REMOVE_VALUE_LIST';","import {\r\n ElementTypes,\r\n ElementValidations,\r\n GenerateToolBars\r\n} from '../../config';\r\n\r\nconst Profile = {\r\n Title: 'User',\r\n Resource: 'UserProfile',\r\n Master: 'loginName',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n loginName: {\r\n Title: 'Login',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.MinLength(5)]\r\n },\r\n firstName: {\r\n Title: 'First Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n lastName: {\r\n Title: 'Last Name',\r\n Field: ElementTypes.TextField()\r\n },\r\n email: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.Email()]\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n avatarGuid: {\r\n Title: 'Avatar',\r\n Field: ElementTypes.Avatar('avatarFileName'),\r\n Dependencies: [\r\n ['avatarFileName', 'originalName']\r\n ]\r\n },\r\n mobilePhone: {\r\n Title: 'Mobile Phone',\r\n Field: ElementTypes.Phone()\r\n },\r\n workPhone: {\r\n Title: 'Work Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['ChangePassword', 'SaveClose', 'Cancel'])\r\n }\r\n}\r\n\r\nconst ChangePassword = {\r\n Title: 'User',\r\n Resource: 'UserProfile',\r\n Master: 'loginName',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n oldPassword: {\r\n Title: 'Old Password',\r\n Field: ElementTypes.PasswordField(false),\r\n ChangeRunTime: true,\r\n Validations: [ElementValidations.Required()]\r\n },\r\n password: {\r\n Title: 'New Password',\r\n Field: ElementTypes.PasswordField(false),\r\n ChangeRunTime: true,\r\n Validations: [ElementValidations.Required()]\r\n },\r\n confirmPassword: {\r\n Title: 'Repeat Password',\r\n Field: ElementTypes.PasswordField(false, o => o && o['password'] && o['password'].trim() !== ''),//o => o && o['password'] && o['password'].trim() != ''\r\n Validations: [ElementValidations.Required(), ElementValidations.PasswordConfirm('password')]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n}\r\n\r\nexport { Profile, ChangePassword };\r\n","import {\r\n ElementTypes,\r\n Ability\r\n} from '../../config';\r\nimport { GenerateToolBars } from '../../config/element.config';\r\n\r\nconst WarehouseForm = {\r\n Title: 'Warehouse',\r\n Resource: 'Warehouse',\r\n Master: 'name',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n name: {\r\n Title: 'Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n code: {\r\n Title: 'Code',\r\n Field: ElementTypes.LabelField()\r\n },\r\n warehouseNotes: {\r\n Title: 'Warehouse Notes',\r\n Field: ElementTypes.CommentLabel()\r\n },\r\n }\r\n },\r\n {\r\n Fields: {\r\n warehouseAddress: {\r\n Title: 'Warehouse Address',\r\n Field: ElementTypes.LabelField()\r\n },\r\n city: {\r\n Title: 'City',\r\n Field: ElementTypes.LabelField()\r\n },\r\n stateCode: {\r\n Title: 'State',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n map: {\r\n Title: 'Map',\r\n Field: ElementTypes.MapField(Ability.Displayability, () => false)\r\n },\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Close'])\r\n }\r\n};\r\n\r\nexport default WarehouseForm;","export const RELOAD_ON_ERROR_LOAD_DETAILS = 'RELOAD_ON_ERROR_LOAD_DETAILS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_LOAD_DETAILS = 'SET_LOAD_DETAILS';\r\nexport const GET_LOAD_DETAILS = 'GET_LOAD_DETAILS';\r\nexport const LOAD_DETAILS_LOADING = 'LOAD_DETAILS_LOADING';\r\nexport const LOAD_DETAILS_ERROR = 'LOAD_DETAILS_ERROR';\r\nexport const GET_CARRIER_LIST = 'GET_CARRIER_LIST';\r\nexport const GET_TRUCKS_LIST = 'GET_TRUCKS_LIST';\r\nexport const GET_TRAILERS_LIST = 'GET_TRAILERS_LIST';\r\nexport const GET_DRIVERS_LIST = 'GET_DRIVERS_LIST';\r\nexport const CLEAR_LOAD_DETAILS_DATA = 'CLEAR_LOAD_DETAILS_DATA';\r\nexport const GET_EMPTY_EFS = 'GET_EMPTY_EFS';\r\nexport const EMPTY_EFS_LOADING = 'EMPTY_EFS_LOADING';\r\nexport const EMPTY_EFS_ERROR = 'EMPTY_EFS_ERROR';\r\nexport const GET_EFS = 'GET_EFS';\r\nexport const GET_EFS_LOADING = 'GET_EFS_LOADING';\r\nexport const GET_EFS_ERROR = 'GET_EFS_ERROR';\r\nexport const EFS_LIST_LOADING = 'EFS_LIST_LOADING';\r\nexport const GET_EFS_LIST = 'GET_EFS_LIST';\r\nexport const EFS_LIST_ERROR = 'EFS_LIST_ERROR';\r\nexport const SET_EFS_LOADING = 'SET_EFS_LOADING';\r\nexport const SET_EFS = 'SET_EFS';\r\nexport const SET_EFS_ERROR = 'SET_EFS_ERROR';\r\nexport const UPDATE_EFS_LOADING = 'UPDATE_EFS_LOADING';\r\nexport const UPDATE_EFS = 'UPDATE_EFS';\r\nexport const UPDATE_EFS_ERROR = 'UPDATE_EFS_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return LOAD_DETAILS_BUILD[key];\r\n};\r\n\r\nexport const LOAD_DETAILS_BUILD = {\r\n RELOAD_ON_ERROR_LOAD_DETAILS: 'RELOAD_ON_ERROR_LOAD_DETAILS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_LOAD_DETAILS: 'SET_LOAD_DETAILS',\r\n GET_LOAD_DETAILS: 'GET_LOAD_DETAILS',\r\n LOAD_DETAILS_LOADING: 'LOAD_DETAILS_LOADING',\r\n LOAD_DETAILS_ERROR: 'LOAD_DETAILS_ERROR',\r\n GET_CARRIER_LIST: 'GET_CARRIER_LIST',\r\n GET_TRUCKS_LIST: 'GET_TRUCKS_LIST',\r\n GET_TRAILERS_LIST: 'GET_TRAILERS_LIST',\r\n GET_DRIVERS_LIST: 'GET_DRIVERS_LIST',\r\n CLEAR_LOAD_DETAILS_DATA: 'CLEAR_LOAD_DETAILS_DATA',\r\n GET_EMPTY_EFS: 'GET_EMPTY_EFS',\r\n EMPTY_EFS_LOADING: 'EMPTY_EFS_LOADING',\r\n EMPTY_EFS_ERROR: 'EMPTY_EFS_ERROR',\r\n GET_EFS: 'GET_EFS',\r\n GET_EFS_LOADING: 'GET_EFS_LOADING',\r\n GET_EFS_ERROR: 'GET_EFS_ERROR',\r\n EFS_LIST_LOADING: 'EFS_LIST_LOADING',\r\n GET_EFS_LIST: 'GET_EFS_LIST',\r\n EFS_LIST_ERROR: 'EFS_LIST_ERROR',\r\n SET_EFS_LOADING: 'SET_EFS_LOADING',\r\n SET_EFS: 'SET_EFS',\r\n SET_EFS_ERROR: 'SET_EFS_ERROR',\r\n UPDATE_EFS_LOADING: 'UPDATE_EFS_LOADING',\r\n UPDATE_EFS: 'UPDATE_EFS',\r\n UPDATE_EFS_ERROR: 'UPDATE_EFS_ERROR',\r\n};\r\n","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _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; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _tinycolor = require('tinycolor2');\r\n\r\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar Color = function () {\r\n function Color(input) {\r\n var _this = this;\r\n\r\n _classCallCheck(this, Color);\r\n\r\n this.initRgb = function () {\r\n var _color$toRgb = _this.color.toRgb(),\r\n r = _color$toRgb.r,\r\n g = _color$toRgb.g,\r\n b = _color$toRgb.b;\r\n\r\n _this.redValue = r;\r\n _this.greenValue = g;\r\n _this.blueValue = b;\r\n };\r\n\r\n this.initHsb = function () {\r\n var _color$toHsv = _this.color.toHsv(),\r\n h = _color$toHsv.h,\r\n s = _color$toHsv.s,\r\n v = _color$toHsv.v;\r\n\r\n _this.hueValue = h;\r\n _this.saturationValue = s;\r\n _this.brightnessValue = v;\r\n };\r\n\r\n this.toHexString = function () {\r\n return _this.color.toHexString();\r\n };\r\n\r\n this.toRgbString = function () {\r\n return _this.color.toRgbString();\r\n };\r\n\r\n this.color = (0, _tinycolor2[\"default\"])(input);\r\n\r\n this.initRgb();\r\n this.initHsb();\r\n\r\n var initAlpha = (input && input.alpha) || this.color.toRgb().a;\r\n this.alphaValue = Math.min(1, initAlpha) * 100;\r\n }\r\n\r\n Color.isValidHex = function isValidHex(hex) {\r\n return (0, _tinycolor2[\"default\"])(hex).isValid();\r\n };\r\n\r\n _createClass(Color, [{\r\n key: 'hex',\r\n get: function get() {\r\n return this.color.toHex();\r\n }\r\n\r\n // 色调\r\n\r\n }, {\r\n key: 'hue',\r\n set: function set(value) {\r\n this.color = (0, _tinycolor2[\"default\"])({\r\n h: value,\r\n s: this.saturation,\r\n v: this.brightness\r\n });\r\n\r\n this.initRgb();\r\n this.hueValue = value;\r\n },\r\n get: function get() {\r\n return this.hueValue;\r\n }\r\n\r\n // 饱和度\r\n\r\n }, {\r\n key: 'saturation',\r\n set: function set(value) {\r\n this.color = (0, _tinycolor2[\"default\"])({\r\n h: this.hue,\r\n s: value,\r\n v: this.brightness\r\n });\r\n\r\n this.initRgb();\r\n this.saturationValue = value;\r\n },\r\n get: function get() {\r\n return this.saturationValue;\r\n }\r\n\r\n // 亮度\r\n\r\n }, {\r\n key: 'lightness',\r\n set: function set(value) {\r\n this.color = (0, _tinycolor2[\"default\"])({\r\n h: this.hue,\r\n s: this.saturation,\r\n l: value\r\n });\r\n\r\n this.initRgb();\r\n this.lightnessValue = value;\r\n },\r\n get: function get() {\r\n return this.lightnessValue;\r\n }\r\n }, {\r\n key: 'brightness',\r\n set: function set(value) {\r\n this.color = (0, _tinycolor2[\"default\"])({\r\n h: this.hue,\r\n s: this.saturation,\r\n v: value\r\n });\r\n\r\n this.initRgb();\r\n this.brightnessValue = value;\r\n },\r\n get: function get() {\r\n return this.brightnessValue;\r\n }\r\n\r\n // red\r\n\r\n }, {\r\n key: 'red',\r\n set: function set(value) {\r\n var rgb = this.color.toRgb();\r\n this.color = (0, _tinycolor2[\"default\"])(_extends({}, rgb, {\r\n r: value\r\n }));\r\n\r\n this.initHsb();\r\n this.redValue = value;\r\n },\r\n get: function get() {\r\n return this.redValue;\r\n }\r\n\r\n // green\r\n\r\n }, {\r\n key: 'green',\r\n set: function set(value) {\r\n var rgb = this.color.toRgb();\r\n this.color = (0, _tinycolor2[\"default\"])(_extends({}, rgb, {\r\n g: value\r\n }));\r\n\r\n this.initHsb();\r\n this.greenValue = value;\r\n },\r\n get: function get() {\r\n return this.greenValue;\r\n }\r\n\r\n // blue\r\n\r\n }, {\r\n key: 'blue',\r\n set: function set(value) {\r\n var rgb = this.color.toRgb();\r\n this.color = (0, _tinycolor2[\"default\"])(_extends({}, rgb, {\r\n b: value\r\n }));\r\n\r\n this.initHsb();\r\n this.blueValue = value;\r\n },\r\n get: function get() {\r\n return this.blueValue;\r\n }\r\n\r\n // alpha\r\n\r\n }, {\r\n key: 'alpha',\r\n set: function set(value) {\r\n this.color.setAlpha(value / 100);\r\n },\r\n get: function get() {\r\n return this.color.getAlpha() * 100;\r\n }\r\n }, {\r\n key: 'RGB',\r\n get: function get() {\r\n return [this.red, this.green, this.blue];\r\n }\r\n }, {\r\n key: 'HSB',\r\n get: function get() {\r\n return [this.hue, this.saturation, this.brightness];\r\n }\r\n }]);\r\n\r\n return Color;\r\n}();\r\n\r\nexports[\"default\"] = Color;\r\nmodule.exports = exports['default'];","export const RELOAD_ON_ERROR_LOAD_DETAILS = 'RELOAD_ON_ERROR_LOAD_DETAILS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const GET_CUSTOMERS_LIST = 'GET_CUSTOMERS_LIST';\r\nexport const GET_CUSTOMERS_LIST_LOADING = 'GET_CUSTOMERS_LIST_LOADING';\r\nexport const GET_CUSTOMERS_LIST_ERROR = 'GET_CUSTOMERS_LIST_ERROR';\r\nexport const GET_CUSTOMERS_PRICE_LIST = 'GET_CUSTOMERS_PRICE_LIST';\r\nexport const GET_CUSTOMERS_PRICE_LIST_LOADING = 'GET_CUSTOMERS_PRICE_LIST_LOADING';\r\nexport const GET_CUSTOMERS_PRICE_LIST_ERROR = 'GET_CUSTOMERS_PRICE_LIST_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const ADD_EMPTY_LINE_ON_PRICE_LIST = 'ADD_EMPTY_LINE_ON_PRICE_LIST';\r\nexport const REMOVE_EMPTY_LINES_ON_PRICE_LIST = 'REMOVE_EMPTY_LINES_ON_PRICE_LIST';\r\nexport const ADD_CUSTOMER_PRICE_LOADING = 'ADD_CUSTOMER_PRICE_LOADING';\r\nexport const ADD_CUSTOMER_PRICE = 'ADD_CUSTOMER_PRICE';\r\nexport const ADD_CUSTOMER_PRICE_ERROR = 'ADD_CUSTOMER_PRICE_ERROR';\r\nexport const SET_CUSTOMER_PRICE_DATA_LOADING = 'SET_CUSTOMER_PRICE_DATA_LOADING';\r\nexport const SET_CUSTOMER_PRICE_DATA = 'SET_CUSTOMER_PRICE_DATA';\r\nexport const SET_CUSTOMER_PRICE_DATA_ERROR = 'SET_CUSTOMER_PRICE_DATA_ERROR';\r\nexport const SET_CUSTOMER_PRICE_TYPE = 'SET_CUSTOMER_PRICE_TYPE';\r\nexport const SET_CUSTOMER_PRICE_TYPE_LOADING = 'SET_CUSTOMER_PRICE_TYPE_LOADING';\r\nexport const SET_CUSTOMER_PRICE_TYPE_ERROR = 'SET_CUSTOMER_PRICE_TYPE_ERROR';\r\nexport const DELETE_CUSTOMER_PRICE_ERROR = 'DELETE_CUSTOMER_PRICE_ERROR';\r\nexport const DELETE_CUSTOMER_PRICE_LOADING = 'DELETE_CUSTOMER_PRICE_LOADING';\r\nexport const SET_PER_PALLET_TYPE = 'SET_PER_PALLET_TYPE';\r\nexport const GET_CUSTOMER_LOCATIONS_LIST_LOADING = 'GET_CUSTOMER_LOCATIONS_LIST_LOADING';\r\nexport const GET_CUSTOMER_LOCATIONS_LIST = 'GET_CUSTOMER_LOCATIONS_LIST';\r\nexport const GET_CUSTOMER_LOCATIONS_LIST_ERROR = 'GET_CUSTOMER_LOCATIONS_LIST_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return CUSTOMERS_BUILD[key];\r\n};\r\n\r\nexport const CUSTOMERS_BUILD = {\r\n RELOAD_ON_ERROR_LOAD_DETAILS: 'RELOAD_ON_ERROR_LOAD_DETAILS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CUSTOMERS_LIST: 'GET_CUSTOMERS_LIST',\r\n GET_CUSTOMERS_LIST_LOADING: 'GET_CUSTOMERS_LIST_LOADING',\r\n GET_CUSTOMERS_LIST_ERROR: 'GET_CUSTOMERS_LIST_ERROR',\r\n GET_CUSTOMERS_PRICE_LIST: 'GET_CUSTOMERS_PRICE_LIST',\r\n GET_CUSTOMERS_PRICE_LIST_LOADING: 'GET_CUSTOMERS_PRICE_LIST_LOADING',\r\n GET_CUSTOMERS_PRICE_LIST_ERROR: 'GET_CUSTOMERS_PRICE_LIST_ERROR',\r\n SET_DISPLAY_STATE: 'SET_DISPLAY_STATE',\r\n ADD_EMPTY_LINE_ON_PRICE_LIST: 'ADD_EMPTY_LINE_ON_PRICE_LIST',\r\n REMOVE_EMPTY_LINES_ON_PRICE_LIST: 'REMOVE_EMPTY_LINES_ON_PRICE_LIST',\r\n ADD_CUSTOMER_PRICE_LOADING: 'ADD_CUSTOMER_PRICE_LOADING',\r\n ADD_CUSTOMER_PRICE: 'ADD_CUSTOMER_PRICE',\r\n ADD_CUSTOMER_PRICE_ERROR: 'ADD_CUSTOMER_PRICE_ERROR',\r\n SET_CUSTOMER_PRICE_DATA_LOADING: 'SET_CUSTOMER_PRICE_DATA_LOADING',\r\n SET_CUSTOMER_PRICE_DATA: 'SET_CUSTOMER_PRICE_DATA',\r\n SET_CUSTOMER_PRICE_DATA_ERROR: 'SET_CUSTOMER_PRICE_DATA',\r\n SET_CUSTOMER_PRICE_TYPE: 'SET_CUSTOMER_PRICE_TYPE',\r\n SET_CUSTOMER_PRICE_TYPE_LOADING: 'SET_CUSTOMER_PRICE_TYPE_LOADING',\r\n SET_CUSTOMER_PRICE_TYPE_ERROR: 'SET_CUSTOMER_PRICE_TYPE_ERROR',\r\n DELETE_CUSTOMER_PRICE_ERROR: 'DELETE_CUSTOMER_PRICE_ERROR',\r\n DELETE_CUSTOMER_PRICE_LOADING: 'DELETE_CUSTOMER_PRICE_LOADING',\r\n SET_PER_PALLET_TYPE: 'SET_PER_PALLET_TYPE',\r\n GET_CUSTOMER_LOCATIONS_LIST_LOADING: 'GET_CUSTOMER_LOCATIONS_LIST_LOADING',\r\n GET_CUSTOMER_LOCATIONS_LIST: 'GET_CUSTOMER_LOCATIONS_LIST',\r\n GET_CUSTOMER_LOCATIONS_LIST_ERROR: 'GET_CUSTOMER_LOCATIONS_LIST_ERROR',\r\n};\r\n","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n GenerateToolBars,\r\n DefaultPagination,\r\n ComponentTypes\r\n} from '../../config';\r\n\r\nimport ContactTypeConfig from '../ContactType/config';\r\n\r\nconst Location = {\r\n Title: 'Location',\r\n Resource: 'Location',\r\n Master: 'formattedAddress',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n DisableDownload: true,\r\n ImportGSheet: true,\r\n ExportGSheet: true,\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Filter: {\r\n formattedAddress: {\r\n Type: FilterType.Text,\r\n Title: 'Address'\r\n },\r\n locationName: {\r\n Type: FilterType.text,\r\n Title: 'Location'\r\n },\r\n zipCode: {\r\n Type: FilterType.Text,\r\n Title: 'Zip Code'\r\n },\r\n city: {\r\n Type: FilterType.Text,\r\n Title: 'City'\r\n },\r\n stateId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/location/statevaluelist/234',\r\n Title: 'State'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n locationName: {\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Title: 'Location',\r\n Sorted: 'ascend',\r\n Width: 150\r\n },\r\n formattedAddress: {\r\n Type: ColumnType.Text,\r\n Title: 'Address',\r\n Width: 150\r\n },\r\n locationStateCode: {\r\n Type: ColumnType.Text,\r\n Title: 'State',\r\n Width: 50\r\n },\r\n zipCode: {\r\n Type: ColumnType.Text,\r\n Title: 'Zip Code',\r\n Width: 80\r\n },\r\n city: {\r\n Type: ColumnType.Text,\r\n Title: 'City',\r\n Width: 100\r\n },\r\n locationTypeStr: {\r\n Type: ColumnType.Text,\r\n Title: 'Loacation Type',\r\n Width: 100\r\n },\r\n landing: {\r\n RenderText: (text, record) => {\r\n let landingText1 = \"\";\r\n let landingText2 = \"\";\r\n switch (text) {\r\n case 1:\r\n landingText1 = 'MON';\r\n break;\r\n case 2:\r\n landingText1 = 'TUES';\r\n break;\r\n case 3:\r\n landingText1 = 'WED';\r\n break;\r\n case 4:\r\n landingText1 = 'THURS';\r\n break;\r\n case 5:\r\n landingText1 = 'FRI';\r\n break;\r\n case 6:\r\n landingText1 = 'SAT';\r\n break;\r\n case 7:\r\n landingText1 = 'SUN';\r\n break;\r\n default:\r\n landingText1 = '';\r\n break;\r\n }\r\n switch (record.secondaryLanding) {\r\n case 1:\r\n landingText2 = 'MON';\r\n break;\r\n case 2:\r\n landingText2 = 'TUES';\r\n break;\r\n case 3:\r\n landingText2 = 'WED';\r\n break;\r\n case 4:\r\n landingText2 = 'THURS';\r\n break;\r\n case 5:\r\n landingText2 = 'FRI';\r\n break;\r\n case 6:\r\n landingText2 = 'SAT';\r\n break;\r\n case 7:\r\n landingText2 = 'SUN';\r\n break;\r\n default:\r\n landingText2 = '';\r\n break;\r\n }\r\n return landingText2 ? `${landingText1}/${landingText2}` : landingText1\r\n },\r\n Title: 'Landing Day',\r\n Width: 100\r\n },\r\n dateChangeStr: {\r\n Type: ColumnType.Text,\r\n Title: 'Date Change',\r\n Width: 60,\r\n NoSort: true\r\n },\r\n phone: {\r\n Type: ColumnType.Phone,\r\n Title: 'Phone 1',\r\n Width: 100\r\n },\r\n phone2: {\r\n Type: ColumnType.Phone,\r\n Title: 'Phone 2',\r\n Width: 100\r\n },\r\n email: {\r\n Type: ColumnType.Text,\r\n Title: 'Email 1',\r\n Width: 180\r\n },\r\n email2: {\r\n Type: ColumnType.Text,\r\n Title: 'Email 2',\r\n Width: 180\r\n },\r\n lumperStr: {\r\n Type: ColumnType.Text,\r\n Title: 'Lumper',\r\n Width: 80,\r\n NoSort: true\r\n },\r\n overnightParkingStr: {\r\n Type: ColumnType.Text,\r\n Title: 'O/Park',\r\n Width: 60,\r\n NoSort: true\r\n },\r\n // lumperPrice: {\r\n // Type: ColumnType.Number,\r\n // Title: 'WH Price',\r\n // Width: 70,\r\n // NoSort: true\r\n // },\r\n // workingDaysStr: {\r\n // Type: ColumnType.Text,\r\n // Title: 'Hours',\r\n // Width: 130,\r\n // NoSort: true\r\n // },\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n locationType: {\r\n Title: 'Location Type',\r\n Field: ElementTypes.Generic(ElementTypes.Combo, {\r\n dataSource: [{ \"value\": '', \"text\": \"\" },\r\n { \"value\": 1, \"text\": \"Shipper\" },\r\n { \"value\": 2, \"text\": \"Receiver\" },\r\n { \"value\": 3, \"text\": \"Cold Storage\" }]\r\n })\r\n },\r\n dateChange: {\r\n Title: 'Date Change Needed',\r\n Field: ElementTypes.Generic(ElementTypes.Combo, {\r\n dataSource: [\r\n {\r\n value: null,\r\n text: ''\r\n },\r\n {\r\n value: 1,\r\n text: 'Standard',\r\n options: {\r\n style: { color: 'blue' }\r\n }\r\n },\r\n {\r\n value: 2,\r\n text: 'Date Change',\r\n options: {\r\n style: {color: '#EF2112' }\r\n }\r\n },\r\n ],\r\n style: (o, data) => data === 2 ? {'color': '#EF2112'} : {'color': 'blue'},\r\n fieldName: 'Date Change Needed',\r\n }),\r\n },\r\n // doorIds: {\r\n // Title: 'Doors',\r\n // Field: ElementTypes.Generic(ElementTypes.MultipleSelect, {\r\n // dataSource: '/api/Door/multiplevaluelist',\r\n // selectedValueType: 'multipleDoorName'\r\n // })\r\n // }\r\n }\r\n }\r\n ],\r\n locationName: {\r\n Title: 'Warehouse Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n formattedAddress: {\r\n Title: 'Address',\r\n Field: ElementTypes.AddressField(),\r\n Validations: [ElementValidations.Required()],\r\n Dependencies: [\r\n ['map', 'value'],\r\n ['streetName', 'street'],\r\n ['streetNumber', 'streetNumber'],\r\n ['countryId', 'countryId'],\r\n ['stateCode', 'stateCode'],\r\n ['zipCode', 'zip'],\r\n ['city', 'city'],\r\n ['lat', 'lat'],\r\n ['lng', 'lng']\r\n ]\r\n },\r\n additionalAddress: {\r\n Title: 'Additional Address',\r\n Field: ElementTypes.AddressField()\r\n },\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n city: {\r\n Title: 'City',\r\n Field: ElementTypes.TextField()\r\n },\r\n stateCode: {\r\n Title: 'State',\r\n Dependencies: ['city'],\r\n Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, [\r\n [ElementTypes.Params.dataSource, '/api/location/statekeyvaluelist/'],\r\n [ElementTypes.Params.parentValueType, 'countryId'],\r\n [ElementTypes.Params.reloadOnParentChange, true],\r\n [ElementTypes.Params.selectedValueType, 'stateCode'],\r\n [ElementTypes.Params.editability, o => o && o['countryId'] > 0]\r\n ])\r\n },\r\n zipCode: {\r\n Title: 'Zip Code',\r\n Field: ElementTypes.TextField()\r\n },\r\n countryId: {\r\n Title: 'Country',\r\n Dependencies: ['stateId', 'city', 'stateCode'],\r\n Validations: [ElementValidations.Required()],\r\n //Field: ElementTypes.SelectWithCache('/api/location/countryvaluelist')\r\n Field: ElementTypes.Generic(ElementTypes.SelectWithCache, {\r\n dataSource: '/api/location/countryvaluelist',\r\n selectedValueType: 'countryName'\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n contactTypeId: {\r\n Title: 'Contact Type',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/contacttype/valuelistempty/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: ContactTypeConfig\r\n },\r\n selectedValueType: 'contactType',\r\n style: { maxWidth: '300px' },\r\n })\r\n },\r\n contact: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Contact Name'\r\n },\r\n phone: {\r\n Field: ElementTypes.Phone(),\r\n Title: 'Phone'\r\n },\r\n phoneExt: {\r\n fieldClasses: ['mini'],\r\n Title: 'Ext.',\r\n Field: ElementTypes.IntField()\r\n },\r\n email: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Email',\r\n Validations: [ElementValidations.Email()]\r\n },\r\n }\r\n }\r\n ],\r\n Group4: [\r\n {\r\n Title: 'Another Contact 1',\r\n Fields: {\r\n contact2: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Contact Name'\r\n },\r\n phone2: {\r\n Field: ElementTypes.Phone(),\r\n Title: 'Phone'\r\n },\r\n phone2Ext: {\r\n fieldClasses: ['mini'],\r\n Title: 'Ext.',\r\n Field: ElementTypes.IntField()\r\n },\r\n email2: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Email',\r\n Validations: [ElementValidations.Email()]\r\n }\r\n }\r\n }\r\n ],\r\n Group5: [\r\n {\r\n Title: 'Another Contact 2',\r\n Fields: {\r\n contact3: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Contact Name'\r\n },\r\n phone3: {\r\n Field: ElementTypes.Phone(),\r\n Title: 'Phone'\r\n },\r\n phone3Ext: {\r\n fieldClasses: ['mini'],\r\n Title: 'Ext.',\r\n Field: ElementTypes.IntField()\r\n },\r\n email3: {\r\n Field: ElementTypes.TextField(),\r\n Title: 'Email',\r\n Validations: [ElementValidations.Email()]\r\n }\r\n }\r\n }\r\n ],\r\n notes: {\r\n Field: ElementTypes.Comment(),\r\n Title: 'Notes'\r\n },\r\n Components: {\r\n loadingRestriction: {\r\n Component: ComponentTypes.CheckBoxMultiple()\r\n }\r\n },\r\n }\r\n },\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n site: {\r\n Field: ElementTypes.Comment(),\r\n Title: 'Site'\r\n },\r\n locationLogin: {\r\n Field: ElementTypes.Comment(),\r\n Title: 'Login'\r\n },\r\n locationPassword: {\r\n Field: ElementTypes.Comment(),\r\n Title: 'Password'\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n lumper: {\r\n Field: ElementTypes.Generic(ElementTypes.Combo, {\r\n dataSource: [ { \"value\": '', \"text\": \"\" },\r\n { \"value\": 1, \"text\": \"No\" },\r\n { \"value\": 2, \"text\": \"Yes\" }],\r\n search: false,\r\n }),\r\n Title: 'Lumper'\r\n },\r\n lumperPrice: {\r\n Field: ElementTypes.IntField(),\r\n Validations: [ElementValidations.IntPositiveField()],\r\n Title: 'Lumper Rate'\r\n },\r\n whEfs: {\r\n Field: ElementTypes.Generic(ElementTypes.Combo, {\r\n dataSource: [ { \"value\": 0, \"text\": \" \" },\r\n { \"value\": 1, \"text\": \"Yes\" },\r\n { \"value\": 2, \"text\": \"No\" },\r\n ],\r\n search: false,\r\n }),\r\n Title: 'EFS'\r\n },\r\n }\r\n }\r\n ],\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n overnightParking: {\r\n Field: ElementTypes.Generic(ElementTypes.Combo, {\r\n dataSource: [ { \"value\": '', \"text\": \"\" },\r\n { \"value\": 1, \"text\": \"No\" },\r\n { \"value\": 2, \"text\": \"Yes\" }],\r\n style: { maxWidth: '31.5%' },\r\n search: false,\r\n }),\r\n Title: 'Overnight Parking'\r\n },\r\n // loadingSequence: {\r\n // Field: ElementTypes.TextField(),\r\n // Title: 'Loading Sequence'\r\n // },\r\n }\r\n }\r\n ],\r\n map: {\r\n Title: 'Map',\r\n Field: ElementTypes.MapField(),\r\n Dependencies: [\r\n ['formattedAddress', 'value'],\r\n ['streetName', 'street'],\r\n ['streetNumber', 'streetNumber'],\r\n ['countryId', 'countryId'],\r\n ['stateCode', 'stateCode'],\r\n ['zipCode', 'zip'],\r\n ['city', 'city'],\r\n ['lat', 'lat'],\r\n ['lng', 'lng']\r\n ]\r\n },\r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern()\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TextField((o) => o.working),\r\n Validations: [ElementValidations.Required(), ElementValidations.Time()],\r\n Width: 80\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TextField((o) => o.working),\r\n Validations: [ElementValidations.Required(), ElementValidations.Time()],\r\n Width: 80\r\n },\r\n landing: {\r\n Title: 'Landing Day',\r\n Field: ElementTypes.CheckBoxModern(),\r\n Width: 100\r\n },\r\n secondaryLanding: {\r\n Title: 'Secondary Day',\r\n Field: ElementTypes.CheckBoxModern(\r\n 'secondaryLanding'\r\n ),\r\n Width: 100,\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TextField(),\r\n Width: 200\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n hours: {\r\n Field: ElementTypes.Comment(),\r\n Title: 'Hours Comment'\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n};\r\n\r\nexport default Location;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nconst TrailerSize = {\r\n Title: 'Trailer Size',\r\n Resource: 'TrailerSize',\r\n Master: 'Size',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n size: {\r\n Title: 'Size',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',//descend\r\n DataTitle: false,\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n size: {\r\n Title: 'Size',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.IntPositiveField()],\r\n Attributes: {\r\n input: {\r\n maxLength: 9\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n}; \r\n\r\nexport default TrailerSize;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nimport CarrierConfig from '../Carrier/config';\r\nimport TrailerSizeConfig from '../TrailerSize/config';\r\n\r\nconst Trailer = {\r\n Title: 'Trailer',\r\n Resource: 'Trailer',\r\n Master: 'number',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Filter: {\r\n name: {\r\n Type: FilterType.Text,\r\n Title: 'Name'\r\n },\r\n vinNumber: {\r\n Type: FilterType.Text,\r\n Title: 'VIN'\r\n },\r\n carrierId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/Carrier/valuelistempty',\r\n Title: 'Carrier Name'\r\n },\r\n trailerTypeId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/TrailerType/valuelistempty',\r\n Title: 'Trailer'\r\n },\r\n trailerSizeId: {\r\n Type: FilterType.Select,\r\n Valuelist: '/api/TrailerSize/valuelistempty',\r\n Title: 'Size'\r\n },\r\n active: {\r\n Type: FilterType.Radio,\r\n Title: 'Active'\r\n }\r\n },\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n name: {\r\n Title: 'Name',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',\r\n DataTitle: false,\r\n Width: 150\r\n },\r\n vinNumber: {\r\n Type: ColumnType.Text,\r\n Title: 'VIN',\r\n Width: 150\r\n },\r\n carrierName: {\r\n Title: 'Carrier Name',\r\n Type: ColumnType.Text,\r\n Width: 150\r\n },\r\n type: {\r\n Title: 'Type',\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n size: {\r\n Title: 'Size',\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n name: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.OnlyLettersAndSpace()]\r\n },\r\n vinNumber: {\r\n Title: 'VIN',\r\n Field: ElementTypes.TextField(),\r\n Attributes: {\r\n input: {\r\n maxLength: 17\r\n }\r\n },\r\n Validations: [ElementValidations.Required(), ElementValidations.NoEmptySpace()]\r\n },\r\n carrierId: {\r\n Title: 'Carrier Name',\r\n //Field: ElementTypes.ComboAdd('/api/carrier/valuelistempty', {\r\n // TitlePrefix: '',\r\n // PopupConfig: CarrierConfig\r\n //}),\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/carrier/valuelistempty',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: CarrierConfig\r\n },\r\n selectedValueType: 'carrierName'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n trailerTypeId: {\r\n Title: 'Type',\r\n Field: ElementTypes.Generic(ElementTypes.Select, {\r\n dataSource: '/api/TrailerType/valuelistempty',\r\n selectedValueType: 'type'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n trailerSizeId: {\r\n Title: 'Size',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/TrailerSize/valuelistempty',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: TrailerSizeConfig\r\n },\r\n selectedValueType: 'size'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment()\r\n },\r\n active: {\r\n Field: ElementTypes.CheckBox('Active'),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n};\r\n\r\nexport default Trailer;","export const getActionArgument = (list, value, mode, nativeEvent) => {\r\n return {\r\n nativeEvent: nativeEvent,\r\n source: list,\r\n target: {\r\n value: value,\r\n type: mode === 'multiple' ? 'multiple_select' : 'select'\r\n }\r\n };\r\n};\r\n\r\n","import {\r\n ElementTypes\r\n} from '../../config';\r\nimport { GenerateToolBars } from '../../config/element.config';\r\n\r\nconst CustomerForm = {\r\n Title: 'Customer',\r\n Resource: 'Customer',\r\n Key: 'id',\r\n Master: 'name',\r\n IsRest: true,\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n name: {\r\n Title: 'Customer Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n code: {\r\n Title: 'Code',\r\n Field: ElementTypes.LabelField()\r\n },\r\n billingAddress: {\r\n Title: 'Billing Address',\r\n Field: ElementTypes.LabelField()\r\n },\r\n mainPhone: {\r\n Title: 'Main Phone',\r\n Field: ElementTypes.Phone()\r\n },\r\n fax: {\r\n Title: 'Fax',\r\n Field: ElementTypes.LabelField()\r\n },\r\n accountNumber: {\r\n Title: 'Account Number',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n },\r\n {\r\n classes: 'wide',\r\n Title: null,\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n contactName1: {\r\n Title: 'Contact Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n contactPhone1: {\r\n Title: 'Phone Number',\r\n Field: ElementTypes.Phone()\r\n },\r\n contactEmail1: {\r\n Title: 'Contact Email',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n contactName2: {\r\n Title: 'Contact Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n contactPhone2: {\r\n Title: 'Phone Number',\r\n Field: ElementTypes.Phone()\r\n },\r\n contactEmail2: {\r\n Title: 'Contact Email',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.CommentLabel()\r\n },\r\n sectionTitle: {\r\n Field: ElementTypes.SectionTitle('Favourite Locations', o => o.favLocationId1 || o.favLocationId2 || o.favLocationId3)\r\n },\r\n favLocation1: {\r\n Field: ElementTypes.LabelField(o => o.favLocationId1),\r\n },\r\n favLocation2: {\r\n Field: ElementTypes.LabelField(o => o.favLocationId2),\r\n },\r\n favLocation3: {\r\n Field: ElementTypes.LabelField(o => o.favLocationId3),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Close'])\r\n }\r\n};\r\n\r\nexport default CustomerForm;","export const Action = {\r\n Edit: 'Edit',\r\n Clone: 'Clone',\r\n View: 'eye',\r\n BeforeSave: 'BeforeSave',\r\n Save: 'Save',\r\n SaveClose: 'SaveClose',\r\n SaveSend: 'SaveSend',\r\n SaveNew: 'SaveNew',\r\n SaveBack: 'SaveBack',\r\n ForceUpdate: 'ForceUpdate',\r\n Delete: 'Delete',\r\n Cancel: 'Cancel',\r\n CancelReason: 'CancelReason',\r\n Close: 'Close',\r\n ChangePassword: 'ChangePassword',\r\n Book: 'play',\r\n Booked: 'play_filled',\r\n Invoice: 'play',\r\n Invoiced: 'play_filled',\r\n Complete: 'done',\r\n Done: 'done',\r\n InTransit: 'send',\r\n RemoveInTransit: 'remove',\r\n Dispatch: 'pin',\r\n Custom: 'custom',\r\n CustomWithoutValidate: 'CustomWithoutValidate',\r\n NeedToClarify: 'NeedToClarify',\r\n CreateGroup: 'CreateGroup',\r\n};\r\n\r\nexport const ActionStatus = {\r\n Open: 'OPEN',\r\n Valid: 'VALID',\r\n NotValid: 'NOT-VALID',\r\n Deleted: 'DELETED'\r\n};\r\n\r\nexport const ButtonActionTypes = {\r\n Table: 'Table',\r\n FormField: 'FormField'\r\n}","export const GOOGLE_LOADED = 'GOOGLE_LOADED';","export const HIDE_SHOW_MENU = 'HIDE_SHOW_MENU';","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../custom/popup/popup';\r\nimport { CreateGuid, CloneObject } from '../../helper/common';\r\nimport { DefaultDataTypes } from '../../hook/actions';\r\nimport { ButtonActionTypes } from '../../config/action.config';\r\nimport { message } from 'antd';\r\n\r\nconst templates = {\r\n Table: props => {\r\n let Field = null;\r\n\r\n if (props.field) {\r\n Field = props.field;\r\n\r\n if (typeof (Field) === 'function') {\r\n Field = Field();\r\n }\r\n } else {\r\n Field = props.label && {props.label};\r\n }\r\n\r\n return \r\n \r\n {Field}\r\n \r\n {props.icon}\r\n \r\n \r\n \r\n },\r\n FormField: props => (\r\n
    \r\n
    \r\n {props.data}\r\n
    \r\n \r\n More\r\n
    \r\n \r\n \r\n ),\r\n CarrierPacket: props => {\r\n const attributes = {\r\n filled: '',\r\n [props.data ? 'accent' : 'error']: ''\r\n };\r\n\r\n return props.data === null || props.data === ''\r\n ? <>\r\n
    Actions will update form data
    \r\n \r\n
    Approve
    \r\n
    Deny
    \r\n
    \r\n \r\n : \r\n {props.data ? 'Approved' : 'Denied'}\r\n \r\n }\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key))\r\n };\r\n};\r\n\r\nconst ButtonAction = props => {\r\n const {\r\n openPopup,\r\n closePopup,\r\n id,\r\n icon,\r\n popupConfig,\r\n action,\r\n setDataSource,\r\n data,\r\n value,\r\n onActionRecord,\r\n parentData,\r\n actionType,\r\n attributes,\r\n field,\r\n template,\r\n clicked\r\n } = props;\r\n const { BeforeStateChange, onUpdate } = popupConfig;\r\n const buttonTemplate = template || popupConfig.Template || ButtonActionTypes.Table;\r\n let label = props.label;\r\n\r\n if (typeof (label) === 'function') {\r\n label = label(data);\r\n }\r\n\r\n if (popupConfig.Resource) {\r\n popupConfig.Form.Resource = popupConfig.Resource;\r\n }\r\n\r\n const ReceiveHandler = () => {\r\n const windowKey = CreateGuid();\r\n const config = CloneObject(popupConfig.Form);\r\n const title = `Receive ${config.Title}`;\r\n\r\n config.Form.DefaultId = id;\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (response) => {\r\n // Works for Expandable Component\r\n // Change List Component for List data update\r\n typeof (setDataSource) === 'function' ? setDataSource({\r\n type: DefaultDataTypes.INIT,\r\n value: response,\r\n })\r\n : console.warning(\"Update List Data did'nt set\");\r\n\r\n // const newData = [...dataSource];\r\n // const row = {...newData.find(i => i.id = response.id)};\r\n // newData.splice(newData.indexOf(row), 1, response);\r\n\r\n // setDataSource(newData);\r\n\r\n closePopupAsync(windowKey);\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const RequestAppointment = () => {\r\n const windowKey = CreateGuid();\r\n const config = CloneObject(popupConfig.Form);\r\n config.Form.DefaultId = id;\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: config.Title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n beforeSaveAction: (data, additionalData, updateData, setDefaultData) => {\r\n const newData = { ...data };\r\n Object.keys(additionalData).forEach((i) => newData[i] = additionalData[i]);\r\n\r\n updateData((result) => {\r\n setDefaultData(result);\r\n if (parentData) {\r\n const dispatchData = { ...parentData };\r\n\r\n const customer = dispatchData.loadCustomerGroup?.find(i => i.id === result.id);\r\n\r\n if (customer) {\r\n const customerIndex = dispatchData.loadCustomerGroup.indexOf(customer);\r\n customerIndex > -1 && dispatchData.loadCustomerGroup.splice(customerIndex, 1, result);\r\n }\r\n\r\n if (BeforeStateChange) {\r\n BeforeStateChange(result, dispatchData.loadCustomerGroup);\r\n }\r\n\r\n if (onActionRecord) {\r\n onActionRecord({ type: DefaultDataTypes.INIT, value: dispatchData });\r\n }\r\n }\r\n else if (setDataSource) {\r\n setDataSource(result, actionType);\r\n }\r\n }, newData);\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const OpenForm = () => {\r\n const windowKey = CreateGuid();\r\n let formConfig = popupConfig.Form;\r\n\r\n if ('function' === typeof (formConfig)) {\r\n formConfig = formConfig(data);\r\n }\r\n const config = CloneObject(formConfig);\r\n\r\n let key = data[popupConfig.Key || config.Key];\r\n if ('function' === typeof (popupConfig.Key)) {\r\n key = popupConfig.Key(data);\r\n }\r\n\r\n config.Form.DefaultId = key;\r\n\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: config.Title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result, close) => {\r\n let dispatchData = { ...parentData };\r\n\r\n if (!parentData) {\r\n dispatchData = result;\r\n }\r\n\r\n if (onUpdate) {\r\n onUpdate(result, dispatchData.loadCustomerGroup);\r\n }\r\n\r\n if (onActionRecord) {\r\n onActionRecord({ type: DefaultDataTypes.INIT, value: dispatchData });\r\n }\r\n\r\n typeof (setDataSource) === 'function'\r\n ? setDataSource(result, actionType)\r\n : console.warning(\"Update List Data didn't set\");\r\n\r\n if (close &&\r\n (actionType === 'InboundLoadSequence' ||\r\n actionType === 'OutboundLoadSequence' ||\r\n actionType === 'InboundStopNotes' ||\r\n actionType === 'OutboundStopNotes')\r\n ) {\r\n setTimeout(() => {\r\n closePopup(windowKey);\r\n }, 10);\r\n }\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const RequestCarrierPacket = isApprove => {\r\n if(!data.packageUploadGuid) {\r\n message.warning('Carrier Package Required!');\r\n\r\n return;\r\n }\r\n\r\n const newData = {...data};\r\n newData.isApproved = isApprove;\r\n\r\n clicked('ForceUpdate', newData);\r\n };\r\n\r\n const Actions = {\r\n ReceiveHandler,\r\n RequestAppointment,\r\n OpenForm,\r\n RequestCarrierPacket\r\n };\r\n\r\n return templates[buttonTemplate]({\r\n data: value,\r\n o: data,\r\n action: Actions[action],\r\n label,\r\n field,\r\n icon,\r\n attributes\r\n });\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(ButtonAction);","import React, { useState, useEffect } from 'react';\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\nimport axios from '../axios/axios';\r\nimport errorHandler from '../error/errorHandler';\r\nimport { ApiUrl } from '../../project/Pages';\r\n\r\nconst ThumbnailImage = props => {\r\n const [loading, setLoading] = useState(false);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n const { guid, width, height, originalName } = props;\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async () => {\r\n if (!guid) {\r\n return;\r\n }\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios.get(`${ApiUrl.Thumbnail}/${width}/${height}/${guid}`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n const reader = new FileReader();\r\n reader.addEventListener(\"load\", function () {\r\n setImageUrl(reader.result);\r\n }, false);\r\n if (response) {\r\n reader.readAsDataURL(new File([response.data], originalName));\r\n }\r\n }\r\n };\r\n fetchData();\r\n return () => { isMounted = false };\r\n }, [width, height, guid, originalName]);\r\n\r\n if (loading)\r\n {\r\n return ;\r\n }\r\n if (imageUrl) {\r\n return {originalName}\r\n }\r\n return null;\r\n};\r\n\r\nexport default errorHandler(ThumbnailImage, axios);","import React, { useState, useEffect } from 'react';\r\nimport { message } from 'antd';\r\nimport { LoadingOutlined, PlusOutlined } from '@ant-design/icons';\r\n\r\nimport Uploader from './uploader';\r\nimport ThumbnailImage from './thumbnailImage';\r\nimport AuthenticatedLink from './authenticatedLink';\r\nimport { ApiUrl } from '../../project/Pages';\r\nimport { CssErrorClassHandling } from '../helper/element';\r\nimport { ValidationErrorClass } from '../helper/validation';\r\n\r\nconst AvatarUploader = props => {\r\n const [loading, setLoading] = useState(false);\r\n const [guid, setGuid] = useState('');\r\n const [originalName, setOriginalName] = useState('');\r\n const noImage = props.noImage;\r\n\r\n useEffect(() => {\r\n setGuid(props.guid);\r\n setOriginalName(props.originalName);\r\n }, [props.guid, props.originalName]);\r\n\r\n const restriction = file => {\r\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'application/pdf';\r\n if (!isJpgOrPng) {\r\n message.error('You can only upload JPG/PNG/PDF file!');\r\n return false;\r\n }\r\n const isLt = file.size / 1024 / 1024 < props.max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${props.max}MB!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n {loading ? : }\r\n
    Upload
    \r\n
    \r\n );\r\n\r\n const onDelete = () => {\r\n setGuid(null);\r\n setOriginalName('');\r\n action(null);\r\n };\r\n\r\n const action = result => {\r\n const outeSource = [];\r\n if (result) {\r\n outeSource.push({\r\n value: result.guId,\r\n originalName: result.originalName\r\n });\r\n }\r\n else {\r\n outeSource.push({\r\n value: '',\r\n originalName: ''\r\n });\r\n }\r\n props.action && typeof props.action === 'function' && props.action(\r\n {\r\n nativeEvent: null,\r\n source: outeSource,\r\n target: {\r\n value: result ? result.guId : ''\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {guid ? : uploadButton}\r\n \r\n {guid\r\n ? \r\n \r\n delete\r\n
    \r\n \r\n download\r\n \r\n \r\n : null}\r\n \r\n );\r\n};\r\n\r\nexport default AvatarUploader;","import React, { useRef } from 'react';\r\n\r\nimport { ElementContent } from '../../../helper/element';\r\nimport { useValidation } from '../../../hook/data/useValidation';\r\nimport { useElementChange } from '../../../hook/action/useElementChange';\r\nimport { useElementOut } from '../../../hook/action/useElementOut';\r\nimport { useElementValidationFocus } from '../../../hook/action/useElementFocus';\r\nimport { ColumnType } from '../../../config/list.config';\r\nimport { InvertColor } from '../../../helper/common';\r\nimport { getNormalizedAttributes } from '../../../config/element.config';\r\n\r\nconst SheetCell = props => {\r\n const ref = useRef();\r\n const messageIdentity = props.messageIdentityPrefix ? `${props.messageIdentityPrefix}_${props.field}` : props.field;\r\n useElementValidationFocus(props.messages, ref, messageIdentity);\r\n const valudationMessages = props.messages && props.messages[messageIdentity];\r\n const validate = useValidation(props.messageDispatch, props.column.Validations, props.column.Title, messageIdentity, props.object, props.column.Warnings);\r\n\r\n const change = (event, data) => {\r\n \r\n props.onChange({\r\n nativeEvent: event,\r\n column: props.column,\r\n field: event.target.field || props.field,\r\n dataField: props.dataField,\r\n keyField: props.keyField,\r\n parentKeyField: props.parentKeyField,\r\n newData: data\r\n });\r\n };\r\n\r\n const attributes = getNormalizedAttributes(props.column.Attributes, props.object, props.data);\r\n\r\n const fieldChangeHandler = useElementChange(validate, change);\r\n const fieldOutHandler = useElementOut(validate, change);\r\n\r\n if(props.column.Type === ColumnType.Empty) {\r\n return ;\r\n }\r\n\r\n const field = ElementContent({\r\n ...props.column,\r\n object: props.object,\r\n val: props.data,\r\n fieldChange: fieldChangeHandler,\r\n fieldOut: fieldOutHandler,\r\n ref: ref,\r\n valudationMessages: valudationMessages,\r\n warningMessages: props?.messages?.warnings?.[messageIdentity] || [],\r\n onActionRecord: props.onActionRecord,\r\n parentData: props.parentData\r\n });\r\n\r\n const color = props.color;\r\n\r\n return (\r\n \r\n \r\n {field}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(SheetCell);","import React from 'react';\r\n\r\nimport { Tooltip } from 'antd';\r\nimport { CommonLabels } from '../../../project/Defines';\r\n\r\n\r\nconst NewButton = props => (\r\n {\r\n props.allowNewButton && \r\n
    \r\n {props.addButtonText || CommonLabels.Buttons.Add}\r\n
    \r\n
    \r\n }\r\n
    );\r\n\r\nexport default NewButton;\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../../custom/popup/popup';\r\nimport Sheet from '../../custom/sheet/sheet';\r\nimport { CloneObject } from '../../../helper/common';\r\nimport { Action } from '../../../config/action.config';\r\nimport Loading from '../../screen/loading';\r\n\r\nconst Orders = props => {\r\n const onActionRecordHandler = (record, action) => {\r\n switch (action) {\r\n case Action.Edit:\r\n editOrder(record.recordId);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const editOrder = (id) => {\r\n const windowKey = 'Order';\r\n const config = CloneObject(props.OrderForm);\r\n const title = `Edit ${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = id;\r\n config.screen.Resource = 'ReceivingLoad\\\\receivingloadorderitem';\r\n\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result) => {\r\n const data = [...props.data];\r\n const index = data.indexOf(data.find(i => i.id === result.id));\r\n data.splice(index, 1, result);\r\n props.dispatchData({ type: props.dropId, value: data });\r\n\r\n props.closePopupAsync(windowKey);\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n return (props.isLoading\r\n ? \r\n : \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Orders);","import {\r\n GenerateToolBars\r\n} from '../../config';\r\nimport { GenerateRateConfirmationForm } from '../../helper/component';\r\n// import { RateConfirmationForm } from '../../config/component.config';\r\nexport const RateConfirmationForm = (keyFieldName, config) => (type, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object) => GenerateRateConfirmationForm(type, keyFieldName, config, data, dispatch, messages, messageDispatch, componentRefs, messageIdentityPrefix, object);\r\n\r\nconst RateConfirmation = {\r\n Title: 'Rate Confirmation',\r\n Resource: 'PDFGenerator',\r\n Master: 'loadNumber',\r\n IsRest: true,\r\n Key: 'loadId',\r\n Form: {\r\n View: {\r\n Components: {\r\n data: {\r\n Component: RateConfirmationForm('rowId')\r\n }\r\n }\r\n },\r\n ToolBars: GenerateToolBars(['Save', 'Send', 'SaveSend', 'SaveClose', 'Cancel'])\r\n }\r\n}; \r\n\r\nexport default RateConfirmation;","export const GET_ACCOUNT_RECEIVABLE_LOADING = 'GET_ACCOUNT_RECEIVABLE_LOADING';\r\nexport const GET_ACCOUNT_RECEIVABLE = 'GET_ACCOUNT_RECEIVABLE';\r\nexport const FILTER_ACCOUNT_RECEIVABLE = 'FILTER_ACCOUNT_RECEIVABLE';\r\nexport const ACCOUNT_RECEIVABLE_ERROR = 'ACCOUNT_RECEIVABLE_ERROR';\r\nexport const RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE = 'RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE = 'SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE';\r\nexport const REACTED_ASSIGNED = 'REACTED_ASSIGNED';\r\nexport const SET_ACCOUNT_RECEIVABLE_DATA = 'SET_ACCOUNT_RECEIVABLE_DATA';\r\nexport const SORT_ACCOUNT_RECEIVABLE = 'SORT_ACCOUNT_RECEIVABLE';\r\nexport const GET_CHANGE_REQUEST_DATA_LOADING = 'GET_CHANGE_REQUEST_DATA_LOADING';\r\nexport const GET_CHANGE_REQUEST_DATA = 'GET_CHANGE_REQUEST_DATA';\r\nexport const GET_CHANGE_REQUEST_DATA_ERROR = 'GET_CHANGE_REQUEST_DATA_ERROR';\r\nexport const SET_ORDER_ID = 'SET_ORDER_ID';\r\nexport const SET_CHECKED = 'SET_CHECKED';\r\nexport const UPDATE_PRICE_LOADING = 'UPDATE_PRICE_LOADING';\r\nexport const UPDATE_PRICE = 'UPDATE_PRICE';\r\nexport const UPDATE_PRICE_ERROR = 'UPDATE_PRICE_ERROR';\r\nexport const RECALCULATE_PRICE_LOADING = 'RECALCULATE_PRICE_LOADING';\r\nexport const RECALCULATE_PRICE = 'RECALCULATE_PRICE';\r\nexport const RECALCULATE_PRICE_ERROR = 'RECALCULATE_PRICE_ERROR';\r\nexport const SET_PRICE_AS_CALCULATED = 'SET_PRICE_AS_CALCULATED';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return ACCOUNT_RECEIVABLE_BUILD[key];\r\n};\r\n\r\nexport const ACCOUNT_RECEIVABLE_BUILD = {\r\n GET_ACCOUNT_RECEIVABLE: 'GET_ACCOUNT_RECEIVABLE',\r\n GET_ACCOUNT_RECEIVABLE_LOADING: 'GET_ACCOUNT_RECEIVABLE_LOADING',\r\n FILTER_ACCOUNT_RECEIVABLE: 'FILTER_ACCOUNT_RECEIVABLE',\r\n ACCOUNT_RECEIVABLE_ERROR: 'ACCOUNT_RECEIVABLE_ERROR',\r\n SORT_ACCOUNT_RECEIVABLE: 'SORT_ACCOUNT_RECEIVABLE',\r\n RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE: 'RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE',\r\n SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE: 'SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE',\r\n SET_DISPLAY_STATE: 'SET_DISPLAY_STATE',\r\n REACTED_ASSIGNED: 'CALL_CHECK_REACTED_ASSIGNED',\r\n SET_ACCOUNT_RECEIVABLE_DATA: 'SET_ACCOUNT_RECEIVABLE_DATA',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CHANGE_REQUEST_DATA_LOADING: 'GET_CHANGE_REQUEST_DATA_LOADING',\r\n GET_CHANGE_REQUEST_DATA: 'GET_CHANGE_REQUEST_DATA',\r\n GET_CHANGE_REQUEST_DATA_ERROR: 'GET_CHANGE_REQUEST_DATA_ERROR',\r\n SET_ORDER_ID: 'SET_ORDER_ID',\r\n SET_CHECKED: 'SET_CHECKED',\r\n UPDATE_PRICE_LOADING: 'UPDATE_PRICE_LOADING',\r\n UPDATE_PRICE: 'UPDATE_PRICE',\r\n UPDATE_PRICE_ERROR: 'UPDATE_PRICE_ERROR',\r\n RECALCULATE_PRICE_LOADING: 'RECALCULATE_PRICE_LOADING',\r\n RECALCULATE_PRICE: 'RECALCULATE_PRICE',\r\n RECALCULATE_PRICE_ERROR: 'RECALCULATE_PRICE_ERROR',\r\n SET_PRICE_AS_CALCULATED: 'SET_PRICE_AS_CALCULATED',\r\n};\r\n","import React from 'react';\r\n\r\nimport List from '../components/list/list';\r\n\r\nconst Grid = (Screen) => ;\r\n\r\nexport default Grid;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n ComponentTypes,\r\n Ability\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport {InboundAppointmentFields} from '../appointmentFieldsConfig';\r\n\r\nconst PickAppointment = {\r\n Title: 'Pick Appointment',\r\n Resource: 'Load/loadcustomergroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Pick Appointment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...InboundAppointmentFields,\r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern(null, null, Ability.Displayability, () => false)\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 236\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundPickAppointment: {\r\n Title: 'Appt',\r\n Field: ElementTypes.Generic(ElementTypes.TimeFieldViewOrEdit, {\r\n condition: object => !object.inboundAppointmentStatus || object.inboundAppointmentStatus === 1 || object.inboundAppointmentStatus === 2\r\n }),\r\n Validations: [ElementValidations.Required(), ElementValidations.Time()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Request', 'Close'], 'inboundAppointmentStatus')\r\n }\r\n};\r\n\r\nexport default PickAppointment;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Ability,\r\n ComponentTypes\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport {InboundAppointmentFields} from '../appointmentFieldsConfig';\r\n\r\nconst DropAppointment = {\r\n Title: 'Drop Appointment',\r\n Resource: 'Load/droploadcustomergroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Appointment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...InboundAppointmentFields,\r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern(null, null, Ability.Displayability, () => false)\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 236\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundDropAppointment: {\r\n Title: 'Appt',\r\n Field: ElementTypes.Generic(ElementTypes.DateFieldViewOrEdit, {\r\n condition: object => !object.dropInboundAppointmentStatus || object.dropInboundAppointmentStatus === 1 || object.dropInboundAppointmentStatus === 2\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Request', 'Close'], 'dropInboundAppointmentStatus')\r\n }\r\n};\r\n\r\nexport default DropAppointment;","import {\r\n ElementTypes,\r\n ButtonActionTypes\r\n} from '../../config';\r\nimport CustomerForm from './customerFormConfig';\r\nimport LocationForm from './locationFormConfig';\r\nimport WarehouseForm from './warehouseFormConfig';\r\n\r\nexport const InboundLoadingSequenceFields = {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n customerNameCode: {\r\n Title: 'Customer',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'customerId',\r\n Form: CustomerForm,\r\n Template: ButtonActionTypes.FormField\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickLocationId: {\r\n Title: 'Pickup',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'pickLocationId',\r\n Form: LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: o => `${o.pickCity}, ${o.pickState}${o.pickLocationName ? `, ${o.pickLocationName}` : ''}`\r\n },\r\n })\r\n },\r\n dropLocationId: {\r\n Title: 'Drop',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: o => o.warehouseId ? o.warehouseId : o.dropLocationId,\r\n Form: o => o.warehouseId ? WarehouseForm : LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: (o, d) => {\r\n if (o.warehouseId) {\r\n return `${o.drop1City}, ${o.drop1State}${o.drop1WH ? `, ${o.drop1WH}` : ''}`;\r\n } else {\r\n return `${o.drop2City}, ${o.drop2State}${o.drop2WH ? `, ${o.drop2WH}` : ''}`;\r\n }\r\n }\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n};\r\n\r\nexport const OutboundLoadingSequenceFields = {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n customerNameCode: {\r\n Title: 'Customer',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'customerId',\r\n Form: CustomerForm,\r\n Template: ButtonActionTypes.FormField\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickLocationId: {\r\n Title: 'Pickup',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'warehouseId',\r\n Form: WarehouseForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: o => `${o.pickCity}, ${o.pickState}${o.pickLocationName ? `, ${o.pickLocationName}` : ''}`\r\n },\r\n })\r\n },\r\n dropLocationId: {\r\n Title: 'Drop',\r\n Field: ElementTypes.Button({\r\n Action: 'OpenForm',\r\n PopupConfig: {\r\n Key: 'dropLocationId',\r\n Form: LocationForm,\r\n Template: ButtonActionTypes.FormField,\r\n Display: (o, d) => {\r\n return `${o.drop2City}, ${o.drop2State}${o.drop2WH ? `, ${o.drop2WH}` : ''}`;\r\n }\r\n },\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n};","import {\r\n ElementTypes,\r\n ElementValidations,\r\n ComponentTypes,\r\n Ability\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport {OutboundAppointmentFields} from '../appointmentFieldsConfig';\r\n\r\nconst PickAppointment = {\r\n Title: 'Pick Appointment',\r\n Resource: 'OutboundLoad/pickoutboundloadcustomergroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Pick Appointment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...OutboundAppointmentFields,\r\n \r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern(null, null, Ability.Displayability, () => false)\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 236\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundPickAppointment: {\r\n Title: 'Appt Date',\r\n Field: ElementTypes.Generic(ElementTypes.DateFieldViewOrEdit, {\r\n condition: object => !object.pickOutboundAppointmentStatus || object.pickOutboundAppointmentStatus === 1 || object.pickOutboundAppointmentStatus === 2\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Request', 'Close'], 'pickOutboundAppointmentStatus')\r\n }\r\n};\r\n\r\n\r\nexport default PickAppointment;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n ComponentTypes,\r\n Ability\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\nimport {OutboundAppointmentFields} from '../appointmentFieldsConfig';\r\n\r\nconst DropAppointment = {\r\n Title: 'Drop Appointment',\r\n Resource: 'OutboundLoad/outboundloadcustomergroupitem',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Drop Appointment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...OutboundAppointmentFields,\r\n Components: {\r\n workingDays: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n Title: 'Hours',\r\n List: {\r\n Columns: {\r\n name: {\r\n Title: 'Day',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n working: {\r\n Title: 'Work',\r\n Field: ElementTypes.CheckBoxModern(null, null, Ability.Displayability, () => false)\r\n },\r\n from: {\r\n Title: 'From',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n to: {\r\n Title: 'To',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n Width: 236\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 236\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundDropAppointment: {\r\n Title: 'Appt Date',\r\n Field: ElementTypes.Generic(ElementTypes.DateFieldViewOrEdit, {\r\n condition: object => !object.outboundAppointmentStatus || object.outboundAppointmentStatus === 1 || object.outboundAppointmentStatus === 2\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Request', 'Close'], 'outboundAppointmentStatus')\r\n }\r\n};\r\n\r\nexport default DropAppointment;","import {\r\n ElementTypes\r\n} from '../../config';\r\nimport { appointmentStatusColor } from '../Order/colorConfig';\r\nimport { InvertColor, HexToRGBAFormat } from '../../helper/common';\r\n\r\nexport const Group1 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundLoadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n truckNumber: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n carrierName: {\r\n Title: 'Carrier',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group2 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n driverName: {\r\n Title: 'Driver',\r\n Field: ElementTypes.LabelField()\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group3 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundAppointment: {\r\n Title: 'Pick Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n dropInboundAppointment: {\r\n Title: 'Drop Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group4 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inbioundAppointmentStatus: {\r\n Title: 'Pick Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n },\r\n dropInboundAppointmentStatus: {\r\n Title: 'Drop Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n }\r\n }\r\n }\r\n];","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Group1, Group2, Group3, Group4 } from '../../../screens/Load/assignedOrderTime';\r\nimport { PopupTypes } from '../../custom/popup/popup';\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../../store/actions/popup/popup';\r\nimport Sheet from '../../custom/sheet/sheet';\r\nimport { CloneObject } from '../../../helper/common';\r\nimport { Action } from '../../../config/action.config';\r\nimport Loading from '../../screen/loading';\r\n// import ResizableTable from '../../custom/resizeableTable';\r\n\r\nconst Orders = props => {\r\n const onActionRecordHandler = (record, action) => {\r\n switch (action) {\r\n case Action.Edit:\r\n editOrder(record.recordId, props.dropId === 'orders');\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const editOrder = (id, available) => {\r\n const windowKey = 'Order';\r\n const config = CloneObject(props.OrderForm);\r\n const title = `Edit ${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = id;\r\n if (!available) {\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group1 = Group1;\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group2 = Group2;\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group3 = Group3;\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group4 = Group4;\r\n config.screen.Resource = 'Order/assignloadorderitem';\r\n }\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result) => {\r\n const data = [...props.data];\r\n const index = data.indexOf(data.find(i => i.id === result.id));\r\n data.splice(index, 1, result);\r\n props.dispatchDropData({ type: props.dropId, value: data });\r\n\r\n props.closePopupAsync(windowKey);\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n return (props.isLoading\r\n ? \r\n : \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Orders);","import React, { useState, useEffect } from 'react';\r\nimport axios from '../../../axios/axios';\r\nimport Orders from './orders';\r\nimport errorHandler from '../../../error/errorHandler';\r\nimport { ElementTypes } from '../../../config';\r\n\r\nconst AssignedOrders = props => {\r\n const [isLoading, setLoading] = useState(true);\r\n\r\n // Order\r\n const { List, Resource, setAvailableSelection, OrderForm, dropId, Key, dragDropData, dropType,\r\n selectable, handleCheck, selectedRows, setSelectedRows, initDragDropData, dispatchDropData } = props;\r\n const columns = List.Columns;\r\n\r\n columns['inboundAppointment'] = {\r\n Title: 'Appt',\r\n Field: ElementTypes.Generic(ElementTypes.ColumnDateTime, {\r\n style: (_, data) => {\r\n return data ? null : ({ backgroundColor: 'rgb(255, 240, 86)', height: '20px', width: '100%' });\r\n }\r\n }),\r\n Width: 60\r\n };\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async (isMounted) => {\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios(\r\n Resource,\r\n {\r\n params: {}\r\n }\r\n ).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const data = result.data;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i].key) {\r\n data[i].key = data[i][Key || 'id'];\r\n }\r\n };\r\n initDragDropData({ type: dropType, value: data });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n setLoading(true);\r\n fetchData(isMounted);\r\n return () => { isMounted = false };\r\n }, [Resource, dropId, Key, dropType, initDragDropData]);\r\n\r\n const onAfterMouseSelect = () => {\r\n setAvailableSelection(false);\r\n };\r\n\r\n return ;\r\n};\r\nexport default errorHandler(AssignedOrders, axios);","import React, { useState, useEffect } from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\n\r\nimport errorHandler from '../../../error/errorHandler';\r\nimport { ElementTypes } from '../../../config';\r\n\r\nimport Orders from './orders';\r\n\r\nconst LoadOrders = props => {\r\n const [isLoading, setLoading] = useState(true);\r\n\r\n const {\r\n List,\r\n OrderForm,\r\n dropId,\r\n Key, \r\n dragDropData,\r\n dispatchDropData\r\n } = props;\r\n const Resource = `ReceivingLoad\\\\assignedorderlist\\\\${props.recordId}`;\r\n\r\n const columns = List.Columns;\r\n \r\n columns['inboundPickAppointment'] = {\r\n Title: 'Appt',\r\n Field: ElementTypes.Generic(ElementTypes.TableLabelField, {\r\n style: (_, data) => {\r\n return data ? null : ({ backgroundColor: 'rgb(255, 240, 86)', height:'20px', width: '100%' });\r\n }\r\n }),\r\n Width: 60\r\n };\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async (isMounted) => {\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios(\r\n Resource,\r\n {\r\n params: {}\r\n }\r\n ).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const data = result.data;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i].key) {\r\n data[i].key = data[i][Key || 'id'];\r\n }\r\n };\r\n\r\n dispatchDropData({ type: dropId, value: data });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n setLoading(true);\r\n fetchData(isMounted);\r\n return () => { isMounted = false };\r\n }, [Resource, dropId, Key, dispatchDropData]);\r\n\r\n return ;\r\n};\r\nexport default errorHandler(LoadOrders, axios);","import React, { useState, forwardRef, useImperativeHandle, useRef } from 'react';\r\nimport { Table, message } from 'antd';\r\n\r\nimport axios from '../../../axios/axios';\r\n\r\nimport NewButton from '../../list/newButton';\r\nimport { Columns } from '../../../helper/list';\r\n// import SectionGroup from '../../form/sectionGroup/sectionGroup';\r\nimport { CloneObject, CreateGuid } from '../../../helper/common';\r\nimport { ValidateSectionGroups } from '../../../helper/validation';\r\nimport { MappingSectionGroups } from '../../../mapping/mapping';\r\nimport { Action } from '../../../config';\r\nimport { useDeleteItem } from '../../../hook/action/delete';\r\nimport { useFormValidation } from '../../../hook/data/useFormValidation';\r\n\r\nimport AssignedOrders from '../../../components/project/load/assignedOrders';\r\nimport LoadOrders from '../../../components/project/receiving/loadOrders';\r\nimport { DefaultDataTypes } from '../../../hook/actions';\r\n\r\nconst Expandable = forwardRef((props, ref) => {\r\n\r\n const TruckOrders = props.config.Resource === 'ReceivingLoad' ? LoadOrders : AssignedOrders;\r\n const viewConfig = props.config.List.Defaults.View;\r\n const tableConfig = props.config.List.Defaults.Table;\r\n const keyField = props.keyFieldName ? props.keyFieldName : 'id';\r\n const defaultExpandedRowKeys = [];\r\n \r\n const [expandedRowKeys, setExpandedRowKeys] = useState(defaultExpandedRowKeys);\r\n const componentRefs = useRef({});\r\n\r\n const groupBy = props.groupBy;\r\n const groupType = props.groupType;\r\n const groupTypeValue = props.groupTypeValue;\r\n\r\n // const [selectedRows, setSelectedRows] = useState([]);\r\n\r\n const validate = useFormValidation(\r\n props.messageDispatch,\r\n props.data,\r\n MappingSectionGroups,\r\n ValidateSectionGroups,\r\n props.config.SectionGroups,\r\n componentRefs,\r\n props.messageIdentityPrefix,\r\n keyField,\r\n props.type,\r\n expandedRowKeys);\r\n\r\n const deleteType = Action.Delete;\r\n\r\n const dispatch = (action) => {\r\n const value = props.type === DefaultDataTypes.INIT ? 'data' : 'value';\r\n\r\n if (action.type === deleteType) {\r\n props.dispatch({ type: props.type, [value]: props.data.filter((i) => i[keyField] !== action.value[keyField]) });\r\n }\r\n else {\r\n const newData = CloneObject(props.data);\r\n const recordIndex = newData.findIndex(r => r[keyField] === action.value[keyField]);\r\n if (recordIndex === -1) {\r\n newData.push(action.value);\r\n }\r\n else {\r\n newData[recordIndex] = action.value;\r\n }\r\n props.dispatch({ type: props.type, [value]: newData });\r\n }\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n validate() {\r\n const [passValidation, newExpandedRowKeys] = validate();\r\n setExpandedRowKeys(newExpandedRowKeys);\r\n return passValidation;\r\n },\r\n addNew() {\r\n return onNewClickHandler();\r\n }\r\n }));\r\n\r\n \r\n const onExpandedRowsChangeHandler = (expandedRows) => {\r\n setExpandedRowKeys(expandedRows);\r\n };\r\n\r\n const onDelete = (data) => {\r\n if (typeof (props.onActionRecord) === 'function') {\r\n props.onActionRecord(Action.Delete, data.value.id, function (response) {\r\n if(response.hasError) {\r\n message.error(response.message);\r\n \r\n return;\r\n }\r\n message.success(response.message);\r\n });\r\n }\r\n\r\n dispatch(data);\r\n };\r\n\r\n const onNewClickHandler = () => {\r\n const newRecord = {};\r\n newRecord[keyField] = CreateGuid();\r\n setNewFields(props.config, newRecord);\r\n const newExpandedRowKeys = [...expandedRowKeys, newRecord[keyField]];\r\n setExpandedRowKeys(newExpandedRowKeys);\r\n\r\n if (props.onActionRecord) {\r\n if (typeof (props.onActionRecord) === 'function') {\r\n props.onActionRecord(Action.Edit, 0, dispatch);\r\n }\r\n } else {\r\n dispatch({ type: newRecord[keyField], value: newRecord });\r\n }\r\n };\r\n\r\n const setNewFields = (container, newRecord) => {\r\n if (container.Schema) {\r\n for (const m in container.Schema) {\r\n newRecord[m] = container.Schema[m];\r\n }\r\n }\r\n\r\n if (container.Fields || container.Components) {\r\n if (container.Fields) {\r\n for (const f in container.Fields) {\r\n if (container.Fields[f].useParent) {\r\n continue;\r\n }\r\n\r\n newRecord[f] = container.Fields[f].hasOwnProperty('default') ? container.Fields[f].default : '';\r\n }\r\n }\r\n if (container.Components) {\r\n for (const c in container.Components) {\r\n const comp = container.Components[c].Component();\r\n\r\n if (comp.props && comp.props.columns) {\r\n const newComponentRecord = {};\r\n newComponentRecord[comp.props.keyFieldName] = CreateGuid();\r\n newRecord[c] = newComponentRecord;\r\n\r\n setNewFields(comp.props.columns, newComponentRecord);\r\n }\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(container) && container.length) {\r\n for (const c in container) {\r\n if (container[c].SectionGroups || container[c].Sections) {\r\n container[c].SectionGroups && setNewFields(container[c].SectionGroups, newRecord);\r\n container[c].Sections && setNewFields(container[c].Sections, newRecord);\r\n } else {\r\n setNewFields(container[c], newRecord);\r\n }\r\n }\r\n } else {\r\n if (container.SectionGroups || container.Sections) {\r\n container.SectionGroups && setNewFields(container.SectionGroups, newRecord);\r\n container.Sections && setNewFields(container.Sections, newRecord);\r\n } else {\r\n if (!container.hasOwnProperty('Fields') && !container.hasOwnProperty('Components')) {\r\n return;\r\n }\r\n\r\n setNewFields(container, newRecord);\r\n }\r\n }\r\n }\r\n };\r\n\r\n //const findField = (record, fieldName) => {\r\n // if (typeof (record) !== 'object') {\r\n // return;\r\n // }\r\n\r\n // if (record != null && record.hasOwnProperty(fieldName)) {\r\n // return record;\r\n // } else if (typeof (record) === 'object') {\r\n // for (const r in record) {\r\n // const field = findField(record[r], fieldName);\r\n\r\n // if (field) {\r\n // return field;\r\n // }\r\n // }\r\n // } else {\r\n // return record;\r\n // }\r\n //};\r\n\r\n const handleCheck = (dropId, record, e) => {\r\n const selectedRowsCopy = [...props.selectedRows].filter(r => props.dragDropData[dropId].data.find(i => i.id === r.id) !== undefined);\r\n\r\n if (props.grouping && record[groupType] === groupTypeValue) {\r\n const group = selectedRowsCopy.filter(r => r[groupBy] === record[groupBy]);\r\n if (group.length) {\r\n selectedRowsCopy.splice(selectedRowsCopy.indexOf(group[0]), group.length);\r\n } else {\r\n selectedRowsCopy.push(...props.dragDropData[dropId].data.filter((r) => r[groupBy] === record[groupBy] && r[groupType] === groupTypeValue));\r\n }\r\n } else {\r\n const data = selectedRowsCopy.find(r => r.id === record.id);\r\n if (data) {\r\n selectedRowsCopy.splice(selectedRowsCopy.indexOf(data), 1);\r\n } else {\r\n selectedRowsCopy.push(record);\r\n }\r\n }\r\n\r\n props.setSelectedRows(selectedRowsCopy);\r\n props.setAvailableSelection(false);\r\n }\r\n\r\n const onAction = (data, action) => {\r\n switch (action) {\r\n case Action.Edit:\r\n if (props.onActionRecord) {\r\n if (typeof (props.onActionRecord) === 'function') {\r\n props.onActionRecord(Action.Edit, data.id, dispatch);\r\n }\r\n }\r\n\r\n break;\r\n case Action.Delete:\r\n deleteDataItem(data[props.config.Master], { type: Action.Delete, value: data });\r\n break;\r\n case Action.Done:\r\n axios({\r\n url: `${props.config.Resource}/completeload`,\r\n method: 'PUT',\r\n data: {\r\n id: data.id\r\n }\r\n })\r\n .then((response) => {\r\n if (response === null) {\r\n return;\r\n }\r\n\r\n if (response.data.hasError) {\r\n message.error(response.data.message);\r\n\r\n return;\r\n }\r\n\r\n message.success(response.data.message);\r\n\r\n const newSourceData = [...props.data];\r\n const originalItem = newSourceData.find(i => i.id === response.data.id);\r\n const index = newSourceData.indexOf(originalItem);\r\n \r\n newSourceData.splice(index, 1);\r\n\r\n dispatch({ type: Action.Delete, value: { [keyField]: response.data.id } });\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const deleteDataItem = useDeleteItem(props.config.Title, onDelete);\r\n\r\n if (!Array.isArray(props.data)) {\r\n return null;\r\n }\r\n props.data && props.data.forEach(d => props.config.List.expandedRowKeys.indexOf(d[keyField]) !== -1 && defaultExpandedRowKeys.push(d[keyField]));\r\n const columns = Columns(props.config, onAction, props.data, dispatch)[0];\r\n\r\n return (props.data && Array.isArray(props.data) ?\r\n \r\n {\r\n const config = CloneObject(props.OrderConfig);\r\n config.Resource = `Load\\\\assignedorderlist\\\\${record.id}`;\r\n const dropId = `truckOrders_${record.id}`;\r\n return ;\r\n // const dispatchRecord = (action) => {\r\n // if (record[action.type] !== action.value) {\r\n // const newRecord = findField(record, action.type);\r\n // newRecord[action.type] = action.value;\r\n // if (action.dependencies) {\r\n // for (let i in action.dependencies) {\r\n // newRecord[action.dependencies[i]] = '';\r\n // }\r\n // }\r\n // dispatch({ type: record[keyField], value: record });\r\n // }\r\n // };\r\n // const messageIdentityPrefix = props.messageIdentityPrefix == null ? `${props.type}.${index}` : `${props.messageIdentityPrefix}_${props.type}.${index}`;\r\n // const recordData = CloneObject(record);\r\n // recordData['_parent_'] = CloneTopObject(props.object);\r\n // return props.config && props.config.SectionGroups.map((s, i) => );\r\n }\r\n }}\r\n expandedRowKeys={expandedRowKeys}\r\n onExpandedRowsChange={onExpandedRowsChangeHandler}\r\n dataSource={props.data}\r\n />\r\n : null);\r\n});\r\n\r\nexport default Expandable;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nconst BlackReason = {\r\n Title: 'Black Reason',\r\n Resource: 'BlackReason',\r\n Master: 'Name',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n name: {\r\n Title: 'Name',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',//descend\r\n DataTitle: false,\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n name: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n description: {\r\n Title: 'Description',\r\n Field: ElementTypes.Comment()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n}; \r\n\r\nexport default BlackReason;","import { NullOrUndefined } from '../../helper/common';\r\n\r\nimport {\r\n ElementTypes,\r\n ElementValidations,\r\n ComponentTypes,\r\n ColumnValidation,\r\n ValueListUrls\r\n} from '../../config';\r\n\r\nimport { GenerateToolBars } from '../../config/element.config';\r\nimport LocationConfig from '../Location/config';\r\nimport { statusColor } from '../Order/colorConfig';\r\nimport { InvertColor, HexToRGBAFormat } from '../../helper/common';\r\nimport { appointmentStatusColor } from '../Order/colorConfig';\r\n\r\nexport const Group1 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundLoadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n truckNumber: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n carrierName: {\r\n Title: 'Carrier',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group2 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n driverName: {\r\n Title: 'Driver',\r\n Field: ElementTypes.LabelField()\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group3 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundAppointment: {\r\n Title: 'Pick Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n dropInboundAppointment: {\r\n Title: 'Drop Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group4 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inbioundAppointmentStatus: {\r\n Title: 'Pick Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n },\r\n dropInboundAppointmentStatus: {\r\n Title: 'Drop Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const Group5 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundIn: {\r\n Title: 'Check In',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n inboundOut: {\r\n Title: 'Check Out',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const OutboundGroup1 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundLoadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n outboundTruckNumber: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n outboundCarrierName: {\r\n Title: 'Carrier',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const OutboundGroup2 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundDriverName: {\r\n Title: 'Driver Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n outboundDriverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const OutboundGroup3 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickOutboundAppointment: {\r\n Title: 'Pick Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n outboundAppointment: {\r\n Title: 'Drop Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const OutboundGroup4 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickOutboundAppointmentStatus: {\r\n Title: 'Pick Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n },\r\n outboundAppointmentStatus: {\r\n Title: 'Drop Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport const OutboundGroup5 = [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundIn: {\r\n Title: 'Check In',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n outboundOut: {\r\n Title: 'Check Out',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n];\r\n\r\nconst OrderForm = {\r\n Title: 'Order',\r\n Resource: 'Order/loadorderitem',\r\n Master: 'Order',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Order',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [],\r\n Group2: [],\r\n Group3: [],\r\n Group4: [],\r\n Group5: [],\r\n customerCodeOrName: {\r\n Title: 'Customer',\r\n Field: ElementTypes.LabelField()\r\n },\r\n pickLocation: {\r\n Title: 'Pick Location',\r\n Field: ElementTypes.LabelField()\r\n },\r\n Group6: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n dropLocationId: {\r\n Title: 'DEL WH',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddViewOrEditWithCash, {\r\n dataSource: ValueListUrls.Location,\r\n addparams: {\r\n TitlePrefix: 'Drop ',\r\n PopupConfig: LocationConfig\r\n },\r\n selectedValueType: 'drop2WH',\r\n editability: o => o.batch > 1,\r\n condition: o => o.batch > 1,\r\n display: o => o.dropLocation\r\n }),\r\n Validations: [ElementValidations.Required()],\r\n Dependencies: [\r\n ['dropRegionCode', 'outboundRegionCode'],\r\n ['dropRegionName', 'outboundRegionName'],\r\n ['dropRegionId', 'outboundRegionId'],\r\n ['drop2State', 'locationStateCode'],\r\n ['drop2City', 'city']\r\n ]\r\n },\r\n drop2City: {\r\n Title: 'DEL CITY',\r\n Field: ElementTypes.LabelField()\r\n \r\n },\r\n drop2State: {\r\n Title: 'DEL ST',\r\n Field: ElementTypes.LabelField()\r\n \r\n },\r\n }\r\n }\r\n ],\r\n Group7: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickRegionName: {\r\n Title: 'Pick Region',\r\n Field: ElementTypes.LabelField()\r\n },\r\n //dropRegionId: {\r\n // Title: 'Drop Region',\r\n // Field: ElementTypes.Generic(ElementTypes.ComboViewOrEdit, {\r\n // dataSource: '/api/region/valuelistempty',\r\n // editability: o => o.batch > 1,\r\n // condition: o => o.batch > 1,\r\n // display: o => o.dropRegionName\r\n // })\r\n //},\r\n batchType: {\r\n Title: 'Batch',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField)\r\n },\r\n orderStatus: {\r\n Title: 'Order Cycle',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(statusColor(data), 100), true),\r\n backgroundColor: statusColor(data),\r\n fontWeight: 'bold',\r\n textAlign: 'center'\r\n };\r\n }\r\n }\r\n )\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n puDate: {\r\n Title: 'PU DATE',\r\n Field: ElementTypes.DateField(),\r\n Dependencies: [['pickWeek', 'weekNumber']]\r\n }\r\n //referenceNumber: {\r\n // Title: 'Row',\r\n // Field: ElementTypes.LabelField(),\r\n // Width: 60\r\n //}\r\n }\r\n }\r\n ],\r\n dueDate: {\r\n Title: 'DUE DATE',\r\n Field: ElementTypes.DateField()\r\n },\r\n dropDate: {\r\n Title: 'DEL DATE',\r\n Field: ElementTypes.DateField(),\r\n Dependencies: [['dropWeek', 'weekNumber']]\r\n },\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n poNumber: {\r\n Title: 'PO#',\r\n Field: ElementTypes.TextField()\r\n },\r\n soNumber: {\r\n Title: 'SO#',\r\n Field: ElementTypes.TextField()\r\n },\r\n }\r\n }\r\n ],\r\n routeId: {\r\n Title: 'Route',\r\n Field: ElementTypes.Generic(ElementTypes.SelectViewOrEdit, {\r\n dataSource: [{ \"value\": 1, \"text\": \"WHS\" }, { \"value\": 2, \"text\": \"DIR\" }, { \"value\": 3, \"text\": \"Both\" }],\r\n editability: o => o.batch > 1,\r\n condition: o => o.batch > 1,\r\n display: o => o.routeId === 1 ? \"WHS\" : o.routeId === 2 ? \"DIR\" : \"Both\"\r\n })\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n palletCount: {\r\n Title: 'PAL',\r\n Attributes: {\r\n wrap: {\r\n purple: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return o.space < data ? '' : null;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n },\r\n Field: ElementTypes.Generic(ElementTypes.IntFieldViewOrEdit, {\r\n editability: o => o.batch > 1,\r\n condition: o => o.batch > 1\r\n }),\r\n Messages: ['_pallets'],\r\n Validations: [\r\n ElementValidations.Required(),\r\n ElementValidations.IntField(),\r\n ElementValidations.MaxValue(30)\r\n ]\r\n },\r\n space: {\r\n Title: 'SPA',\r\n Field: ElementTypes.IntField(),\r\n Messages: ['_space'],\r\n Validations: [\r\n ElementValidations.Required(),\r\n ElementValidations.IntField(),\r\n ColumnValidation.MaxValue(\r\n 'Space Count Exceeded that of the Pallet Count.\\nPlease adjust Space entry',\r\n 'space',\r\n '>',\r\n 'palletCount'\r\n )\r\n ]\r\n },\r\n weight: {\r\n Title: 'LBS',\r\n Field: ElementTypes.Generic(ElementTypes.DecimalFieldViewOrEdit, {\r\n editability: o => o.batch > 1,\r\n condition: o => o.batch > 1\r\n }),\r\n Messages: ['_weight'],\r\n Validations: [\r\n ElementValidations.PositiveField(),\r\n ColumnValidation.MaxValue(\r\n '1 Pallet = Maximum weight of 2750 pounds\\nWeight Exceeded that of the Pallet Weight Limit.\\nPlease adjust Weight Entry',\r\n 'weight',\r\n '>',\r\n 'palletCount'\r\n ),\r\n ElementValidations.MaxValue(42800)\r\n ]\r\n },\r\n cases: {\r\n Title: 'Cases',\r\n Field: ElementTypes.IntDecimalField(),\r\n Validations: [ElementValidations.PositiveField()]\r\n },\r\n price: {\r\n Title: 'Price',\r\n Field: ElementTypes.Generic(ElementTypes.CurrencyFieldViewOrEdit, {\r\n editability: (o) => o['batch'] === 3,\r\n condition: o => o.batch > 1\r\n })\r\n },\r\n inboundLoadingSequenceName: {\r\n Title: 'Inbound Loading Sequence',\r\n Field: ElementTypes.LabelField()\r\n },\r\n inboundLoadingDescription: {\r\n Title: 'Inbound Loading Description ',\r\n Field: ElementTypes.LabelField(o => o && o['inboundLoadingSequenceId'] === 5)\r\n },\r\n outboundLoadingSequenceName: {\r\n Title: 'Outbound Loading Sequence',\r\n Field: ElementTypes.LabelField()\r\n },\r\n outboundLoadingDescription: {\r\n Title: 'Outbound Loading Description ',\r\n Field: ElementTypes.LabelField(o => o && o['inboundLoadingSequenceId'] === 5)\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.FileSizeLabelField()\r\n },\r\n external: {\r\n Field: ElementTypes.CheckBox('External Document')\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n },\r\n {\r\n Components: {\r\n comments: {\r\n Component: ComponentTypes.CommentsSheet('id', {\r\n createDate: {\r\n Title: 'Date Time',\r\n Field: ElementTypes.ColumnDateTime((o, data) => o && data),\r\n Width: 140\r\n },\r\n user: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n },\r\n 'table_view extra')\r\n }\r\n }\r\n },\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default OrderForm;","import store from '../store';\r\nimport { Defines } from './Defines.js';\r\n\r\nconst GetAppPages = function () {\r\n let pages = {\r\n Home: 'home',\r\n Login: 'login',\r\n Logout: 'logout',\r\n Forgot: 'forgot',\r\n ChangePassword: 'changepassword',\r\n Template: 'template',\r\n NotFound: 'notfound',\r\n DefaultPage: null\r\n };\r\n\r\n const menu = store.getState().auth.userMenu;\r\n let firstPage = pages.NotFound;\r\n for (let index in menu) {\r\n const item = menu[index];\r\n if (item.items) {\r\n pages[item.screen] = item.screen.toLowerCase();\r\n for (let subIndex in item.items) {\r\n const subItem = item.items[subIndex];\r\n pages[subItem.screen] = subItem.screen.toLowerCase();\r\n if (item.default && !pages.DefaultPage) {\r\n pages.DefaultPage = `${pages[item.screen]}/${pages[subItem.screen]}`;\r\n }\r\n if (firstPage === pages.NotFound && subItem.menu_item) {\r\n firstPage = `${pages[item.screen]}/${pages[subItem.screen]}`;\r\n }\r\n if (subItem.has_details) {\r\n pages[subItem.screen + Defines.DetailsComponentSufix] = (subItem.screen + Defines.DetailsComponentSufix).toLowerCase();\r\n }\r\n }\r\n }\r\n else {\r\n pages[item.screen] = item.screen.toLowerCase();\r\n if (item.default && !pages.DefaultPage) {\r\n pages.DefaultPage = pages[item.screen];\r\n }\r\n if (firstPage === pages.NotFound && item.menu_item) {\r\n firstPage = pages[item.screen];\r\n }\r\n if (item.has_details) {\r\n pages[item.screen + Defines.DetailsComponentSufix] = (item.screen + Defines.DetailsComponentSufix).toLowerCase();\r\n }\r\n }\r\n }\r\n if (!pages.DefaultPage) {\r\n pages.DefaultPage = firstPage;\r\n }\r\n return pages;\r\n};\r\n\r\nexport let AppPages = GetAppPages();\r\n\r\nexport const UpdateAppPages = function () {\r\n AppPages = GetAppPages();\r\n};\r\n\r\nexport const ApiUrl = {\r\n Login: 'api/account/login',\r\n RefreshLogin: 'api/account/refresh',\r\n AutoLogin: 'api/account/autologin',\r\n Register: 'api/account/register',\r\n Forgot: '/account/forgot',\r\n ChangePassword: '/account/changepassword',\r\n Thumbnail: 'attachment/thumbnail',\r\n Download: 'attachment/download',\r\n Upload: 'attachment/upload',\r\n ListSettings: 'api/userprofile/listprofile'\r\n};\r\n","import {\r\n ElementTypes,\r\n ElementValidations,\r\n GenerateToolBars\r\n} from '../../config';\r\n\r\nconst Organization = {\r\n Title: 'Organization',\r\n Resource: 'Organization',\r\n Master: 'name',\r\n Key: 'id',\r\n //NotUseIdOnLoad: true,\r\n IsRest: true,\r\n Form: {\r\n DefaultId: 1,\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n name: {\r\n Title: 'Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n mainPhone: {\r\n Title: 'Main Phone',\r\n Field: ElementTypes.Phone(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n fax: {\r\n Title: 'Fax',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n website: {\r\n Title: 'Website',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n email: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required(), ElementValidations.Email()]\r\n },\r\n address: {\r\n Title: 'Address',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n addressLocation: {\r\n Title: 'Address Location',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default Organization;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nconst TrailerType = {\r\n Title: 'Trailer Type',\r\n Resource: 'TrailerType',\r\n Master: 'Name',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n name: {\r\n Title: 'Trailer Type Name',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',//descend\r\n DataTitle: false,\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n name: {\r\n Title: 'Trailer Type Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n};\r\n\r\nexport default TrailerType;\r\n","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n GenerateToolBars,\r\n DefaultPagination\r\n} from '../../config';\r\n\r\nconst ContactType = {\r\n Title: 'Contact Type',\r\n Resource: 'ContactType',\r\n Master: 'contactTypeName',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Search: '_all',\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n contactTypeName: {\r\n Title: 'Contact Type Name',\r\n Type: ColumnType.Text,\r\n LinkAppPage: true,\r\n Sorted: 'ascend',//descend\r\n DataTitle: false,\r\n Width: 150\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Delete\r\n ]\r\n }\r\n },\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Title: null,\r\n Fields: {\r\n contactTypeName: {\r\n Title: 'Contact Type Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars()\r\n }\r\n}; \r\n\r\nexport default ContactType;","import { ElementTypes, GenerateToolBars } from '../../config';\r\n\r\nconst Manifest = {\r\n Title: 'Manifest',\r\n Resource: 'Manifest',\r\n //Master: 'formattedAddress',\r\n Key: 'id',\r\n IsRest: true,\r\n\r\n Form: {\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n week: {\r\n Title: 'Select Week',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n dataSource: [],\r\n selectedValueType: `week`,\r\n parentValueType: 'week',\r\n }),\r\n },\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default Manifest;","import React from 'react';\r\nimport {\r\n ElementTypes,\r\n ElementValidations,\r\n Ability,\r\n ElementConditions\n} from '../../config';\r\n\r\nconst ForgotPassword = {\r\n Title: 'Forgot Password?',\r\n Text: (\r\n Enter the email address you used when you joined and \r\n
    \r\n we’ll send you instructions to reset your password.\r\n
    ),\r\n Resource: 'ForgotPassword',\r\n Master: '',\r\n Key: '',\r\n DefaultState: {\r\n email: ''\r\n },\r\n Form: {\r\n Wrap: [\r\n {\r\n Fields: {\r\n email: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(Ability.Displayability, Ability.Editability, [], {}, ElementConditions.Enable, ' '),\r\n Validations: [ElementValidations.Required(),\r\n ElementValidations.Email('Incorrect email.'),\r\n ElementValidations.MaxLength(50)]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n}; \r\n\r\nexport default ForgotPassword;","import React from 'react';\r\nimport {\r\n ElementTypes,\r\n ElementValidations,\r\n Ability,\r\n ElementConditions\n} from '../../config';\r\n\r\nconst ChangePassword = {\r\n Title: 'Please enter your new password below',\r\n Text: (\r\n To keep your account safe, use a mix of letters, numbers,\r\n
    \r\n and symbols in your password.\r\n
    ),\r\n Resource: 'ChangePassword',\r\n Master: '',\r\n Key: '',\r\n DefaultState: {\r\n password: '',\r\n confirmPassword: ''\r\n },\r\n Form: {\r\n Wrap: [\r\n {\r\n Fields: {\r\n password: {\r\n Title: 'Password',\r\n Field: ElementTypes.PasswordField(true, Ability.Displayability, Ability.Editability, [], {}, ElementConditions.Enable, ' '),\r\n Validations: [ElementValidations.Required('Please fill in password')]\r\n },\r\n confirmPassword: {\r\n Title: 'Repeat',\r\n Field: ElementTypes.PasswordField(false, Ability.Displayability, Ability.Editability, [], {}, ElementConditions.Enable, ' '),\r\n Validations: [ElementValidations.Required('Please fill in repeat'), ElementValidations.PasswordConfirm('password')]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n}; \r\n\r\nexport default ChangePassword;","import {\r\n ElementTypes,\r\n ElementValidations,\r\n Ability,\r\n ElementConditions\r\n} from '../../config';\r\n\r\nconst Login = {\r\n Title: 'Please log in to your account',\r\n Resource: 'Login',\r\n Master: '',\r\n Key: '',\r\n DefaultState: {\r\n userName: '',\r\n password: '',\r\n remember: false\r\n },\r\n Form: {\r\n Wrap: [\r\n {\r\n Fields: {\r\n userName: {\r\n Title: 'Email',\r\n Field: ElementTypes.TextField(Ability.Displayability, Ability.Editability, [], {}, ElementConditions.Enable, ' '),\r\n Validations: [ElementValidations.Required()]\r\n },\r\n password: {\r\n Title: 'Password',\r\n Field: ElementTypes.PasswordField(true, Ability.Displayability, Ability.Editability, [], {}, ElementConditions.Enable, ' '),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n}; \r\n\r\nexport default Login;","import React, { useRef } from 'react';\r\n\r\nimport { useOuterClickNotifier } from '../../../../hook/action/outerClickNotifier';\r\n\r\nconst Container = props => {\r\n const innerRef = useRef();\r\n\r\n useOuterClickNotifier(\r\n props.onClose,\r\n innerRef,\r\n props.skipCloseClassNames,\r\n props.closeOnOutsideClick\r\n );\r\n\r\n return (\r\n
    \r\n {props.children}\r\n
    \r\n );\r\n};\r\n\r\nexport default Container;","import { useEffect } from 'react';\r\n\r\nexport const useOuterClickNotifier = (onOuterClick, innerRef, skipCloseClassNames, enable) => {\r\n useEffect(\r\n () => {\r\n \r\n\r\n const handleClick = (e) => {\r\n innerRef.current\r\n && (innerRef.current === e.target || !innerRef.current.contains(e.target))\r\n && !(document.getElementsByClassName(skipCloseClassNames)[0]\r\n && document.getElementsByClassName(skipCloseClassNames)[0].contains(e.target))\r\n && onOuterClick(e);\r\n }\r\n if (innerRef.current && enable) {\r\n document.addEventListener(\"click\", handleClick);\r\n }\r\n return () => document.removeEventListener(\"click\", handleClick);\r\n },\r\n [enable, innerRef, skipCloseClassNames, onOuterClick] // invoke again, if inputs have changed\r\n );\r\n};","import React from 'react';\r\n\r\nconst ActionBar = props => {\r\n\r\n const onYesButtonClick = event => {\r\n props.yesCallback && props.yesCallback(event);\r\n props.onClose();\r\n };\r\n\r\n const onNoButtonClick = event => {\r\n props.noCallback && props.noCallback(event);\r\n props.onClose();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nActionBar.defaultProps = {\r\n buttonYesText: \"OK\",\r\n buttonNoText: \"Cancel\"\r\n};\r\n\r\nexport const ActionBarAlert = props => {\r\n const onYesButtonClick = event => {\r\n props.yesCallback && props.yesCallback(event);\r\n props.onClose();\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default ActionBar;","import React from 'react';\r\n\r\nimport ActionBar from '../actionBar/actionBar';\r\n\r\nconst Confirm = props => (
    \r\n
    \r\n
    \r\n
    \r\n question\r\n

    {props.title}

    \r\n {props.text &&

    {props.text}

    }\r\n {props.html && props.html}\r\n
    \r\n \r\n
    \r\n
    \r\n
    );\r\n\r\nConfirm.defaultProps = {\r\n title: '',\r\n text: '',\r\n html: ''\r\n};\r\n\r\nexport default Confirm;","import React, { useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport FormScreen from '../../../../components/screen/formScreen';\r\nimport Content from '../../../../components/form/content';\r\nimport { Action } from '../../../../config/action.config';\r\nimport { Mapping } from '../../../../mapping/mapping';\r\nimport { ValidateScreen } from '../../../../helper/validation';\r\nimport { DefaultMessageTypes } from '../../../../hook/actions';\r\nimport { useData } from '../../../../hook/data/useData';\r\nimport { useMessage } from '../../../../hook/data/useMessage';\r\nimport { useFormValidation } from '../../../../hook/data/useFormValidation';\r\n\r\nimport { openPopup } from '../../../../../store/actions/popup/popup';\r\n\r\nconst Prompt = props => {\r\n const { config,\r\n sectionData,\r\n closeAction,\r\n saveAction } = props;\r\n //state\r\n const componentRefs = useRef({});\r\n const [data, dispatch] = useData(sectionData);\r\n const [messages, messageDispatch] = useMessage();\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n config,\r\n componentRefs);\r\n\r\n const sectionValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const dataAction = (action) => {\r\n switch (action) {\r\n case Action.Save:\r\n if (!sectionValidation()) {\r\n return;\r\n }\r\n\r\n saveAction && saveAction(data);\r\n\r\n break;\r\n case Action.SaveClose:\r\n if (!sectionValidation()) {\r\n return;\r\n }\r\n\r\n saveAction && saveAction(data);\r\n closeAction();\r\n\r\n break;\r\n case Action.Close:\r\n closeAction();\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return dataAction(Action.Close)}>\r\n
    \r\n \r\n
    \r\n \r\n info\r\n \r\n This action can't be undone. Do you want to continue?\r\n \r\n \r\n
    dataAction(Action.Save)}>Confirm
    \r\n \r\n
    dataAction(Action.Close)}>close
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    ;\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openConfirm: (data) => dispatch(openPopup(data)),\r\n openAlert: (data) => dispatch(openPopup(data))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Prompt);","import React from 'react';\r\n\r\nimport { ActionBarAlert } from '../actionBar/actionBar';\r\n\r\nconst Alert = props => (
    \r\n
    \r\n
    \r\n
    \r\n

    {props.title}

    \r\n {props.text &&

    {props.text}

    }\r\n {props.html && props.html}\r\n
    \r\n \r\n
    \r\n
    \r\n
    );\r\n\r\nAlert.defaultProps = {\r\n title: '',\r\n text: ''\r\n};\r\n\r\nexport default Alert;","import React, { useRef, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport FormScreen from '../components/screen/formScreen';\r\nimport Content from '../components/form/content';\r\nimport { Action } from '../config/action.config';\r\nimport { Mapping } from '../mapping/mapping';\r\nimport { ValidateScreen } from '../helper/validation';\r\nimport { DefaultMessageTypes } from '../hook/actions';\r\nimport { useData } from '../hook/data/useData';\r\nimport { useMessage } from '../hook/data/useMessage';\r\nimport { useFormValidation } from '../hook/data/useFormValidation';\r\n\r\nimport { openPopup } from '../../store/actions/popup/popup';\r\nimport { CommonLabels } from '../../project/Defines';\r\nimport { PopupTypes } from '../components/custom/popup/popup';\r\n\r\nconst Section = props => {\r\n const { config,\r\n sectionData,\r\n close,\r\n onSave,\r\n onCancel } = props;\r\n //state\r\n const componentRefs = useRef({});\r\n const [data, dispatch] = useData(sectionData);\r\n const [firstData, setFirstData] = useState(sectionData);\r\n const [isUpdating, setUpdating] = useState(false);\r\n const [messages, messageDispatch] = useMessage();\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n config,\r\n componentRefs);\r\n\r\n const sectionValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const confirmOptions = {\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Confirm,\r\n title: 'Are you sure?',\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n };\r\n\r\n const dataAction = (action, additionalData) => {\r\n switch (action) {\r\n case Action.Save:\r\n if (!sectionValidation()) {\r\n return;\r\n }\r\n\r\n if (!data.noteCheckBeforeSave && JSON.stringify(data) === JSON.stringify(firstData)) {\r\n props.openAlert({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Alert,\r\n title: \"You didn't make any changes\",\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n } else {\r\n onSave && onSave(data);\r\n setFirstData(data);\r\n }\r\n\r\n break;\r\n case Action.SaveClose:\r\n if (!sectionValidation()) {\r\n return;\r\n }\r\n\r\n if (!data.noteCheckBeforeSave && JSON.stringify(data) === JSON.stringify(firstData)) {\r\n confirmOptions.text = \"You didn't make any changes. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n onCancel && onCancel();\r\n close();\r\n }\r\n\r\n props.openConfirm(confirmOptions);\r\n } else {\r\n onSave && onSave(data);\r\n close();\r\n }\r\n\r\n break;\r\n case Action.SaveSend:\r\n if (!sectionValidation()) {\r\n return;\r\n }\r\n\r\n onSave && onSave(data, setUpdating, close);\r\n break;\r\n case Action.Close:\r\n if (!data.noteCheckBeforeSave && JSON.stringify(data) !== JSON.stringify(firstData)) {\r\n confirmOptions.text = \"You made the changes and not save them. Do you really want to leave the page?\";\r\n confirmOptions.yesCallback = () => {\r\n onCancel && onCancel();\r\n close();\r\n }\r\n\r\n props.openConfirm(confirmOptions);\r\n } else {\r\n onCancel && onCancel();\r\n close();\r\n }\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n dataAction(Action.Close)}>\r\n \r\n )\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openConfirm: (data) => dispatch(openPopup(data)),\r\n openAlert: (data) => dispatch(openPopup(data))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Section);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport Container from './container/container';\r\n// import Wrapper from './container/wrapper/wrapper';\r\nimport Confirm from './confirm/confirm';\r\nimport Prompt from './prompt/prompt';\r\nimport Alert from './alert/alert';\r\nimport Details from '../../../pages/details';\r\nimport Section from '../../../pages/section';\r\n\r\nimport { closePopup } from './../../../../store/actions/popup/popup';\r\n\r\nexport const PopupTypes = {\r\n Confirm: 'Confirm',\r\n Prompt: 'Prompt',\r\n Alert: 'Alert',\r\n TemplateDetails: 'TemplateDetails',\r\n ConfigForm: 'ConfigForm',\r\n ConfigSection: 'ConfigSection'\r\n};\r\n\r\nexport const PopupClasses = {\r\n Small: 'small',\r\n Medium: 'medium',\r\n Large: 'large'\r\n};\r\n\r\nconst Popup = props => {\r\n return (\r\n
    0) ? \"window_container open\" : \"window_container\"}>\r\n {\r\n ((props.popups && props.popups.filter(item => (item.fullScreen || false) === (props.fullScreen || false))) || []).map((item, i) => {\r\n const closeOutside = false;\r\n const { type, className, config, saveAction, closeAction, forgotAction, changeAction, beforeSaveAction } = item;\r\n let open_class = type + (item.fullScreen ? \" open fullscreen\" : \" open\");\r\n const onClose = () => {\r\n props.closePopup(item.windowKey);\r\n }\r\n const skipCloseClassNames = '';\r\n switch (type) {\r\n case PopupTypes.Confirm:\r\n return \r\n \r\n ;\r\n case PopupTypes.Prompt:\r\n return \r\n \r\n ;\r\n case PopupTypes.Alert:\r\n return \r\n \r\n ;\r\n //case PopupTypes.TemplateDetails:\r\n\r\n // break;\r\n case PopupTypes.ConfigSection:\r\n //Section\r\n return \r\n {/* */}\r\n {config ?
    : 'Config not found'}\r\n {/* */}\r\n ;\r\n case PopupTypes.ConfigForm:\r\n default:\r\n return \r\n {/* */}\r\n {config ? Details(config, null, true, saveAction, closeAction, forgotAction, changeAction, beforeSaveAction, item.id) : 'Config not found'}\r\n {/* */}\r\n ;\r\n }\r\n })\r\n }\r\n
    \r\n )\r\n};\r\n\r\nexport default connect(state => ({\r\n popups: state.popup.popups\r\n}),\r\n dispatch => ({\r\n closePopup: (key) => dispatch(closePopup(key))\r\n })\r\n)(Popup);\r\n","import moment from 'moment';\r\n\r\nimport { Defines } from '../../project/Defines';\r\nimport { ColumnType } from '../config';\r\nimport { AddMonths, Compare } from './common';\r\n\r\nexport const RegExps = {\r\n Email: /^(([^<>()\\\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n EmailList: /^(\\s?[^\\s,]+@[^\\s,]+\\.[^\\s,]+\\s?,)*(\\s?[^\\s,]+@[^\\s,]+\\.[^\\s,]+)$/, // TOTO Tatul: Restrict\r\n Time: /^([01]\\d|2[0-3]):([0-5]\\d)$/,\r\n Phone: /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/,\r\n Other: ''\r\n};\r\n\r\nexport const RegexpTest = (regexp, data) => {\r\n if (!regexp.test(data)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const EmailTest = (data) =>\r\n data.toLowerCase && typeof data.toLowerCase === 'function' && RegexpTest(RegExps.Email, data.toLowerCase());\r\n\r\nexport const EmailListTest = (data) =>\r\n data.toLowerCase && typeof data.toLowerCase === 'function' && RegexpTest(RegExps.EmailList, data.toLowerCase());\r\n\r\nexport const TimeTest = (data) =>\r\n data.toLowerCase && typeof data.toLowerCase === 'function' && RegexpTest(RegExps.Time, data.toLowerCase());\r\n\r\nexport const PhoneTest = (data) =>\r\n data.toLowerCase && typeof data.toLowerCase === 'function' && RegexpTest(RegExps.Phone, data.toLowerCase());\r\n\r\nexport const ValidationErrorClass = 'input-validation-error';\r\nexport const ValidationWarningClass = 'input-validation-warning';\r\n\r\nexport const ValidateElement = (validations, data, title, object) => {\r\n const invalMessages = [];\r\n validations.forEach(val => {\r\n const message = val(data, title, object);\r\n if (message) {\r\n invalMessages.push(message);\r\n }\r\n });\r\n return invalMessages;\r\n};\r\n\r\nexport const ValidateWrap = (wrap, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n for (const st in wrap) {\r\n if (!ValidateFields(wrap[st].Fields, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateScreenToolbar = (sectionToolbar, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n for (const st in sectionToolbar) {\r\n if (!ValidateFields(sectionToolbar[st].Fields, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateSection = (section, data, messageDispatch, identity) => {\r\n return ValidateFields(section.Fields, data, messageDispatch, identity);\r\n};\r\n\r\nexport const ValidateFields = (fields, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n for (const f in fields) {\r\n const field = fields[f];\r\n if (Array.isArray(field)) {\r\n for (const gf in field) {\r\n if (!ValidateFields(field[gf].Fields, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n }\r\n else {\r\n const element = field.Field && typeof field.Field === 'function' && field.Field(field.Data, data)();\r\n if (element && field.Validations && field.Validations.length > 0) {\r\n //if (field.Validations && field.Validations.length > 0) {\r\n const invalMessages = ValidateElement(field.Validations, field.Data, field.Title, data);\r\n const messageType = identity ? `${identity}_${f}` : f;\r\n messageDispatch && messageDispatch({ type: messageType, messages: invalMessages });\r\n if (invalMessages.length > 0) {\r\n passValidation = false;\r\n }\r\n }\r\n if (element && field?.Warnings?.length) {\r\n const invalMessages = ValidateElement(field.Warnings, field.Data, field.Title, data);\r\n const messageType = identity ? `${identity}_${f}` : f;\r\n messageDispatch && messageDispatch({ type: messageType, messages: invalMessages, messageType: 'warning' });\r\n }\r\n }\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateSectionGroups = (sectionGroups, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n for (const sg in sectionGroups) {\r\n const secrionGroup = sectionGroups[sg];\r\n if(!ValidateSections(secrionGroup.Sections, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateSections = (sections, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n for (const s in sections) {\r\n const section = sections[s];\r\n if (!ValidateSection(section, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateTabstrip = (tabstrip, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n //for (const ti in tabstrip) {\r\n const t = tabstrip[0];\r\n if (t && t.Form && t.Form.SectionGroups) {\r\n if (!ValidateSectionGroups(t.Form.SectionGroups, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n }\r\n //}\r\n return passValidation;\r\n};\r\n\r\nexport const ValidateScreen = (screen, data, messageDispatch, identity) => {\r\n let passValidation = true;\r\n if (screen.ScreenToolbar && !ValidateScreenToolbar(screen.ScreenToolbar, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n if (screen.Wrap && !ValidateWrap(screen.Wrap, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n if (screen.SectionGroups && !ValidateSectionGroups(screen.SectionGroups, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n if (screen.Tabstrip && !ValidateTabstrip(screen.Tabstrip, data, messageDispatch, identity)) {\r\n passValidation = false;\r\n }\r\n return passValidation;\r\n};\r\n\r\nexport const ColumnMonthExpiration = (text, month, type, warningClass, errorClass) => {\r\n if (new Date(text) < new Date()) {\r\n return [type, [errorClass]];\r\n }\r\n if (new Date(text) < AddMonths(new Date(), month)) {\r\n return [type, [warningClass]];\r\n }\r\n return [type, null];\r\n};\r\n\r\nexport const ColumnValues = (type, message, data, condition, dependency, object, fieldType) => {\r\n // can use 'expr-eval' package for string condition evaluation\r\n \r\n let val1 = data,\r\n val2 = typeof(dependency) === 'string' ? object[dependency] : dependency;\r\n\r\n if(dependency === 'palletCount') {\r\n if(type === 'weight') {\r\n val2 *= 2750;\r\n }\r\n\r\n // if(type === 'space') {\r\n // if(+val1 === 0) {\r\n // if(val2 === 1) {\r\n // return;\r\n // } else {\r\n // return 'Spaces can\\'t be 0 if pallets greater then 1';\r\n // }\r\n // }\r\n // }\r\n }\r\n\r\n switch(fieldType) {\r\n case ColumnType.Date:\r\n if(moment(val2, [Defines.Format.PrintDate, Defines.Format.PrintDateTime, 'YYYY-MM-DDTHH:mm:ss']).isAfter(moment(val1, [Defines.Format.PrintDate, Defines.Format.PrintDateTime, 'YYYY-MM-DDTHH:mm:ss']))) {\r\n return message;\r\n }\r\n \r\n return;\r\n default:\r\n break;\r\n }\r\n\r\n if(Compare(val1, val2, condition)) {\r\n return message;\r\n }\r\n};","export const ERROR = 'ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const SET_HEADER_WIDTH_FACTORING_COMPANY = 'SET_HEADER_WIDTH_FACTORING_COMPANY';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const GET_FACTORING_COMPANY_LIST = 'GET_FACTORING_COMPANY_LIST';\r\nexport const GET_FACTORING_COMPANY_LIST_LOADING = 'GET_FACTORING_COMPANY_LIST_LOADING';\r\nexport const SORT_FACTORING_COMPANY = 'SORT_FACTORING_COMPANY';\r\nexport const GET_FACTORING_COMPANY_DETAILS_LOADING = 'GET_FACTORING_COMPANY_DETAILS_LOADING';\r\nexport const GET_FACTORING_COMPANY_DETAILS = 'GET_FACTORING_COMPANY_DETAILS';\r\nexport const DELETE_FACTORING_COMPANY_LOADING = 'DELETE_FACTORING_COMPANY_LOADING';\r\nexport const ADD_FACTORING_COMPANY_LOADING = 'ADD_FACTORING_COMPANY_LOADING';\r\nexport const ADD_FACTORING_COMPANY = 'ADD_FACTORING_COMPANY';\r\nexport const UPDATE_FACTORING_COMPANY_LOADING = 'UPDATE_FACTORING_COMPANY_LOADING';\r\nexport const UPDATE_FACTORING_COMPANY = 'UPDATE_FACTORING_COMPANY';\r\nexport const GET_STATES_LIST = 'GET_STATES_LIST';\r\nexport const EMPTY_FACTORING_COMPANY_DETAILS = 'EMPTY_FACTORING_COMPANY_DETAILS';\r\n\r\nexport const getActionType = (recourse, key) => {\r\n return FACTORING_COMPANY_BUILD[key]\r\n};\r\n\r\nexport const FACTORING_COMPANY_BUILD = {\r\n ERROR: 'ERROR',\r\n RESET_ERROR: 'RESET_ERROR',\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n SET_HEADER_WIDTH_FACTORING_COMPANY: 'SET_HEADER_WIDTH_FACTORING_COMPANY',\r\n GET_FACTORING_COMPANY_LIST: 'GET_FACTORING_COMPANY_LIST',\r\n GET_FACTORING_COMPANY_LIST_LOADING: 'GET_FACTORING_COMPANY_LIST_LOADING',\r\n SORT_FACTORING_COMPANY: 'SORT_FACTORING_COMPANY',\r\n GET_FACTORING_COMPANY_DETAILS_LOADING: 'GET_FACTORING_COMPANY_DETAILS_LOADING',\r\n GET_FACTORING_COMPANY_DETAILS: 'GET_FACTORING_COMPANY_DETAILS',\r\n DELETE_FACTORING_COMPANY_LOADING: 'DELETE_FACTORING_COMPANY_LOADING',\r\n ADD_FACTORING_COMPANY_LOADING: 'ADD_FACTORING_COMPANY_LOADING',\r\n ADD_FACTORING_COMPANY: 'ADD_FACTORING_COMPANY',\r\n GET_STATES_LIST: 'GET_STATES_LIST',\r\n EMPTY_FACTORING_COMPANY_DETAILS: 'EMPTY_FACTORING_COMPANY_DETAILS',\r\n UPDATE_FACTORING_COMPANY_LOADING: 'UPDATE_FACTORING_COMPANY_LOADING',\r\n UPDATE_FACTORING_COMPANY: 'UPDATE_FACTORING_COMPANY',\r\n};\r\n","import ResizableTitle from '../components/list/resizableTitle';\r\n\r\nexport const DefaultView = {\r\n AutoHeight: null,\r\n Small: null,\r\n AllowNewButton: true,\r\n AllowCreateGroupButton: false,\r\n HideSettings: false\r\n};\r\n\r\nexport const DefaultTable = {\r\n Style: {\r\n components: {\r\n header: {\r\n cell: ResizableTitle,\r\n },\r\n },\r\n tableLayout: null,\r\n showSorterTooltip: false,\r\n rowSelection: null,\r\n summary: null,\r\n rowClassName: null,\r\n // scroll: { y: 100 },\r\n size: 'small',\r\n bordered: false,\r\n title: undefined,\r\n showHeader: true ,\r\n footer: false,\r\n hasData: true,\r\n top: 'none',\r\n bottom: 'bottomRight'\r\n }\r\n};\r\n\r\n\r\n\r\nexport const DefaultSummaryTable = {\r\n Style: {\r\n components: {\r\n header: {\r\n cell: ResizableTitle,\r\n },\r\n },\r\n tableLayout: true,\r\n showSorterTooltip: false,\r\n rowSelection: null,\r\n rowClassName: null,\r\n size: 'small',\r\n bordered: true,\r\n footer: false,\r\n hasData: true,\r\n top: 'none',\r\n bottom: 'bottomRight'\r\n }\r\n};\r\n\r\nexport const InlineTable = {\r\n Style: {\r\n components: null,\r\n tableLayout: null,\r\n showSorterTooltip: false,\r\n rowSelection: null,\r\n summary: null,\r\n rowClassName: null,\r\n scroll: { y: 100 },\r\n size: 'small',\r\n bordered: false,\r\n title: undefined,\r\n showHeader: true,\r\n footer: false,\r\n hasData: true,\r\n top: 'none',\r\n bottom: 'bottomRight'\r\n }\r\n};\r\n\r\nexport const Defaults = {\r\n View: DefaultView,\r\n Table: DefaultTable,\r\n SummaryTable: DefaultSummaryTable\r\n};\r\n\r\nexport const DefaultPagination = {\r\n Current: 1,\r\n PageSize: 20,\r\n ShowSizeChanger: true,\r\n PageSizeOptions: ['5', '10', '20', '30', '40']\r\n};\r\n\r\nexport const ColumnType = {\r\n Text: 'Text',\r\n MultilineText: 'MultilineText',\r\n Date: 'Date',\r\n Time: 'Time',\r\n DateTime: 'Datetime',\r\n Number: 'Number',\r\n Currency: 'Currency',\r\n Phone: 'Phone',\r\n Bool: 'Bool',\r\n Radio: 'Radio',\r\n Label: 'Label',\r\n SimpleIndicator: 'SimpleIndicator',\r\n Indicator: 'Indicator',\r\n StatusIndicator: 'StatusIndicator',\r\n CommentIndicator: 'CommentIndicator',\r\n CancelIndicator: 'CancelIndicator',\r\n Badge: 'Badge',\r\n Empty: 'Empty',\r\n Button: 'Button',\r\n FileSize: 'FileSize',\r\n File: 'File'\r\n};\r\n\r\nexport const FilterType = {\r\n Text: 'Text',\r\n Select: 'Select',\r\n MultiSelect: 'MultiSelect',\r\n Date: 'Date',\r\n Checkbox: 'Checkbox',\r\n Radio: 'Radio',\r\n Draggable: 'Draggable'\r\n};\r\n\r\nexport const ValueListUrls = {\r\n Customer: '/api/customer/customerkeyvaluewithdefloclist',\r\n Location: '/api/location/locationlist/',\r\n LocationDoor: '/api/location/locationdoorlist/',\r\n LocationDoorListByParentId: '/api/location/locationdoorlistbyparentid/',\r\n\r\n};","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _color = require('./helpers/color');\r\n\r\nvar _color2 = _interopRequireDefault(_color);\r\n\r\nvar _Board = require('./Board');\r\n\r\nvar _Board2 = _interopRequireDefault(_Board);\r\n\r\nvar _Preview = require('./Preview');\r\n\r\nvar _Preview2 = _interopRequireDefault(_Preview);\r\n\r\nvar _Ribbon = require('./Ribbon');\r\n\r\nvar _Ribbon2 = _interopRequireDefault(_Ribbon);\r\n\r\nvar _Alpha = require('./Alpha');\r\n\r\nvar _Alpha2 = _interopRequireDefault(_Alpha);\r\n\r\nvar _Params = require('./Params');\r\n\r\nvar _Params2 = _interopRequireDefault(_Params);\r\n\r\nvar _classnames = require('classnames');\r\n\r\nvar _classnames2 = _interopRequireDefault(_classnames);\r\n\r\nvar _validationColor = require('./utils/validationColor');\r\n\r\nvar _validationColor2 = _interopRequireDefault(_validationColor);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nfunction noop() {}\r\n\r\nvar Panel = function (_React$Component) {\r\n _inherits(Panel, _React$Component);\r\n\r\n function Panel(props) {\r\n _classCallCheck(this, Panel);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _initialiseProps.call(_this);\r\n\r\n var alpha = typeof props.alpha === 'undefined' ? props.defaultAlpha : Math.min(props.alpha, props.defaultAlpha);\r\n\r\n var color = new _color2[\"default\"](props.color || props.defaultColor);\r\n\r\n _this.state = {\r\n color: color,\r\n alpha: alpha\r\n };\r\n return _this;\r\n }\r\n\r\n Panel.prototype.componentDidMount = function componentDidMount() {\r\n this.props.onMount(this.ref);\r\n };\r\n\r\n Panel.prototype.UNSAFE_componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\r\n if (nextProps.color) {\r\n var color = new _color2[\"default\"](nextProps.color);\r\n this.setState({\r\n color: color\r\n });\r\n }\r\n if (nextProps.alpha !== undefined) {\r\n this.setState({\r\n alpha: nextProps.alpha\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * 响应 alpha 的变更\r\n * @param {Number} alpha Range 0~100\r\n */\r\n\r\n\r\n /**\r\n * color change\r\n * @param {Object} color tinycolor instance\r\n * @param {Boolean} syncParams Sync to \r\n */\r\n\r\n\r\n Panel.prototype.render = function render() {\r\n var _cx,\r\n _this2 = this;\r\n\r\n var _props = this.props,\r\n prefixCls = _props.prefixCls,\r\n enableAlpha = _props.enableAlpha;\r\n var _state = this.state,\r\n color = _state.color,\r\n alpha = _state.alpha;\r\n\r\n\r\n var wrapClasses = (0, _classnames2[\"default\"])((_cx = {}, _defineProperty(_cx, prefixCls + '-wrap', true), _defineProperty(_cx, prefixCls + '-wrap-has-alpha', enableAlpha), _cx));\r\n\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n {\r\n ref: function ref(_ref) {\r\n return _this2.ref = _ref;\r\n },\r\n className: [prefixCls, this.props.className].join(' '),\r\n style: this.props.style,\r\n onFocus: this.onFocus,\r\n onBlur: this.onBlur,\r\n tabIndex: '0'\r\n },\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-inner' },\r\n _react2[\"default\"].createElement(_Board2[\"default\"], { rootPrefixCls: prefixCls, color: color, onChange: this.handleChange }),\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: wrapClasses },\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-wrap-ribbon' },\r\n _react2[\"default\"].createElement(_Ribbon2[\"default\"], { rootPrefixCls: prefixCls, color: color, onChange: this.handleChange })\r\n ),\r\n enableAlpha && _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-wrap-alpha' },\r\n _react2[\"default\"].createElement(_Alpha2[\"default\"], {\r\n rootPrefixCls: prefixCls,\r\n alpha: alpha,\r\n color: color,\r\n onChange: this.handleAlphaChange\r\n })\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-wrap-preview' },\r\n _react2[\"default\"].createElement(_Preview2[\"default\"], {\r\n rootPrefixCls: prefixCls,\r\n alpha: alpha,\r\n onChange: this.handleChange,\r\n onInputClick: this.onSystemColorPickerOpen,\r\n color: color\r\n })\r\n )\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-wrap', style: { height: 40, marginTop: 6 } },\r\n _react2[\"default\"].createElement(_Params2[\"default\"], {\r\n rootPrefixCls: prefixCls,\r\n color: color,\r\n alpha: alpha,\r\n onAlphaChange: this.handleAlphaChange,\r\n onChange: this.handleChange,\r\n mode: this.props.mode,\r\n enableAlpha: this.props.enableAlpha\r\n })\r\n )\r\n )\r\n );\r\n };\r\n\r\n return Panel;\r\n}(_react2[\"default\"].Component);\r\n\r\nvar _initialiseProps = function _initialiseProps() {\r\n var _this3 = this;\r\n\r\n this.onSystemColorPickerOpen = function (e) {\r\n // only work with broswer which support color input\r\n if (e.target.type === 'color') {\r\n _this3.systemColorPickerOpen = true;\r\n }\r\n };\r\n\r\n this.onFocus = function () {\r\n if (_this3._blurTimer) {\r\n clearTimeout(_this3._blurTimer);\r\n _this3._blurTimer = null;\r\n } else {\r\n _this3.props.onFocus();\r\n }\r\n };\r\n\r\n this.onBlur = function () {\r\n if (_this3._blurTimer) {\r\n clearTimeout(_this3._blurTimer);\r\n }\r\n _this3._blurTimer = setTimeout(function () {\r\n // if is system color picker open, then stop run blur\r\n if (_this3.systemColorPickerOpen) {\r\n _this3.systemColorPickerOpen = false;\r\n return;\r\n }\r\n\r\n _this3.props.onBlur();\r\n }, 100);\r\n };\r\n\r\n this.handleAlphaChange = function (alpha) {\r\n var color = _this3.state.color;\r\n\r\n color.alpha = alpha;\r\n\r\n _this3.setState({\r\n alpha: alpha,\r\n color: color\r\n });\r\n _this3.props.onChange({\r\n color: color.toHexString(),\r\n alpha: alpha\r\n });\r\n };\r\n\r\n this.handleChange = function (color) {\r\n var alpha = _this3.state.alpha;\r\n\r\n color.alpha = alpha;\r\n\r\n _this3.setState({ color: color });\r\n _this3.props.onChange({\r\n color: color.toHexString(),\r\n alpha: color.alpha\r\n });\r\n };\r\n};\r\n\r\nexports[\"default\"] = Panel;\r\n\r\n\r\nPanel.propTypes = {\r\n alpha: _propTypes2[\"default\"].number,\r\n className: _propTypes2[\"default\"].string,\r\n color: _validationColor2[\"default\"], // Hex string\r\n defaultAlpha: _propTypes2[\"default\"].number,\r\n defaultColor: _validationColor2[\"default\"], // Hex string\r\n enableAlpha: _propTypes2[\"default\"].bool,\r\n mode: _propTypes2[\"default\"].oneOf(['RGB', 'HSL', 'HSB']),\r\n onBlur: _propTypes2[\"default\"].func,\r\n onChange: _propTypes2[\"default\"].func,\r\n onFocus: _propTypes2[\"default\"].func,\r\n onMount: _propTypes2[\"default\"].func,\r\n prefixCls: _propTypes2[\"default\"].string,\r\n style: _propTypes2[\"default\"].object\r\n};\r\n\r\nPanel.defaultProps = {\r\n className: '',\r\n defaultAlpha: 100,\r\n defaultColor: '#ff0000',\r\n enableAlpha: true,\r\n mode: 'RGB',\r\n onBlur: noop,\r\n onChange: noop,\r\n onFocus: noop,\r\n onMount: noop,\r\n prefixCls: 'rc-color-picker-panel',\r\n style: {}\r\n};\r\nmodule.exports = exports['default'];","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Autocomplete from 'react-google-autocomplete';\r\n\r\nimport { GetPlace } from './util/location';\r\nimport { CssErrorClassHandling } from '../helper/element';\r\nimport { ValidationErrorClass } from '../helper/validation';\r\n\r\nconst AddressField = props => {\r\n const { isLoaded, type, condition, ref, data, \r\n classes, action, out, valudationMessages,\r\n placeholder, onKeyPress, name, itemValue, style } = props;\r\n\r\n return isLoaded ? ( {\r\n action(event);\r\n }}\r\n onKeyPress={onKeyPress}\r\n onPlaceSelected={place => { GetPlace(place, action); }}\r\n placeholder={placeholder}\r\n name={name}\r\n onBlur={out}\r\n componentRestrictions={{ country: [\"us\", \"ca\", \"mx\"] }}\r\n />) : null;\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n isLoaded: state.google.isLoaded\r\n }\r\n};\r\n\r\nexport default connect(mapStateToProps)(AddressField);","import React, { useState, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { GoogleMap, Marker, InfoWindow } from '@react-google-maps/api';\r\nimport Geocode from \"react-geocode\";\r\n\r\nimport { locationHandler } from './util/location';\r\nimport { CssErrorClassHandling } from '../helper/element';\r\nimport { ValidationErrorClass } from '../helper/validation';\r\n\r\n\r\nconst defaultPosition = {\r\n lat: 34.0522,\r\n lng: -118.2437\r\n};\r\n\r\nconst MapField = props => {\r\n const { isLoaded, googleApiKey, type, condition, ref, data, object,\r\n classes, action, valudationMessages,\r\n placeholder, name } = props;\r\n\r\n Geocode.setApiKey(googleApiKey);\r\n\r\n const [position, setPosition] = useState(defaultPosition);\r\n const [infoWindowState, setInfoWindowState] = useState(false);\r\n\r\n useEffect(() => {\r\n if (object && object.lat && object.lng) {\r\n setPosition({\r\n lat: object.lat,\r\n lng: object.lng\r\n });\r\n }\r\n }, [object]);\r\n \r\n\r\n const onDragEndHandler = event => {\r\n Geocode.fromLatLng(event.latLng.lat(), event.latLng.lng()).then(\r\n response => {\r\n if (response && response.status === \"OK\" && response.results && response.results.length > 0) {\r\n locationHandler(response.results[0], action);\r\n }\r\n else {\r\n console.error(response);\r\n }\r\n },\r\n error => {\r\n console.log('no address', error);\r\n });\r\n };\r\n\r\n const infoWindowCloseHandler = () => {\r\n setInfoWindowState(false);\r\n };\r\n\r\n const infoWindowOpenHandler = () => {\r\n setInfoWindowState(true);\r\n };\r\n\r\n useEffect(() => {\r\n setInfoWindowState(data !== null);\r\n }, [data]);\r\n\r\n return isLoaded ? (\r\n \r\n \r\n {infoWindowState &&\r\n \r\n
    \r\n {data}\r\n
    \r\n
    }\r\n \r\n ) : <>\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n googleApiKey: state.auth.googleApiKey,\r\n isLoaded: state.google.isLoaded\r\n }\r\n};\r\n\r\nexport default connect(mapStateToProps)(React.memo(MapField));","import React, { useState, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { GoogleMap, Marker, InfoWindow } from '@react-google-maps/api';\r\nimport Geocode from \"react-geocode\";\r\n\r\nimport { locationHandler } from './util/location';\r\nimport { CssErrorClassHandling } from '../helper/element';\r\nimport { ValidationErrorClass } from '../helper/validation';\r\n\r\n\r\nconst defaultPosition = {\r\n lat: 34.0522,\r\n lng: -118.2437\r\n};\r\n\r\nconst mapFieldArr = [\r\n {\r\n position: {\r\n lat: 40.4580726,\r\n lng: -3.8625651,\r\n },\r\n name: 'TstWarehouse',\r\n isTstWarehouse: true\r\n },\r\n {\r\n position: {\r\n lat: 40.4381311,\r\n lng: -3.8196227\r\n },\r\n name: 'Warehouse1',\r\n isTstWarehouse: false\r\n },\r\n {\r\n position: {\r\n lat: 40.4210771,\r\n lng: -3.7097202\r\n },\r\n name: 'Warehouse2',\r\n isTstWarehouse: false\r\n }\r\n];\r\n\r\nconst getIcon = (isTstWarehouse, width = 42, height = 42) => {\r\n const icon = {\r\n url: require(isTstWarehouse ? '../../mapMarkerIcons/tstWarehouse.png' : '../../mapMarkerIcons/warehouse.png'),\r\n scaledSize: {\r\n width: width,\r\n height: height\r\n }\r\n };\r\n\r\n return icon;\r\n}\r\n\r\nconst MultipleMarkersMapField = props => {\r\n const { isLoaded, googleApiKey, type, condition, ref, data,\r\n classes, action, valudationMessages,\r\n placeholder, name } = props;\r\n\r\n Geocode.setApiKey(googleApiKey);\r\n\r\n //const [position, setPosition] = useState(defaultPosition);\r\n const [infoWindowState, setInfoWindowState] = useState(false);\r\n\r\n //useEffect(() => {\r\n // if (object && object.lat && object.lng) {\r\n // setPosition({\r\n // lat: object.lat,\r\n // lng: object.lng\r\n // });\r\n // }\r\n //}, [object]);\r\n\r\n\r\n const onDragEndHandler = event => {\r\n Geocode.fromLatLng(event.latLng.lat(), event.latLng.lng()).then(\r\n response => {\r\n if (response && response.status === \"OK\" && response.results && response.results.length > 0) {\r\n locationHandler(response.results[0], action);\r\n }\r\n else {\r\n console.error(response);\r\n }\r\n },\r\n error => {\r\n console.log('no address', error);\r\n });\r\n };\r\n\r\n const infoWindowCloseHandler = () => {\r\n setInfoWindowState(false);\r\n };\r\n\r\n const infoWindowOpenHandler = () => {\r\n setInfoWindowState(true);\r\n };\r\n\r\n useEffect(() => {\r\n setInfoWindowState(data !== null);\r\n }, [data]);\r\n\r\n return isLoaded ? (\r\n \r\n {\r\n mapFieldArr.map(field => {\r\n return (\r\n \r\n {\r\n infoWindowState &&\r\n \r\n
    \r\n {field.name}\r\n
    \r\n
    \r\n }\r\n \r\n )\r\n })\r\n }\r\n \r\n ) : <>\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n googleApiKey: state.auth.googleApiKey,\r\n isLoaded: state.google.isLoaded\r\n }\r\n};\r\n\r\nexport default connect(mapStateToProps)(MultipleMarkersMapField);","import React from 'react';\r\n\r\nimport { Divider } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\n\r\nconst DropDownNewItem = props => \r\n {props.menu}\r\n \r\n \r\n {props.title}\r\n \r\n;\r\n\r\nexport default DropDownNewItem;","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { openPopup, closePopup } from '../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../components/custom/popup/popup';\r\nimport axios from '../axios/axios';\r\nimport { ElementConditions } from '../config/condition.config';\r\nimport { GenerateToolBars } from '../config/element.config';\r\nimport { CreateGuid, CloneObject } from '../helper/common';\r\nimport { useValueList } from '../hook/data/useValueList';\r\nimport DropDownElement from './dropDownElement';\r\nimport DropDownNewItem from './dropDownNewItem';\r\nimport { getActionArgument } from './util/dropDown';\r\n\r\nconst ComboAdd = props => {\r\n const { \r\n data,\r\n dataSource,\r\n classes,\r\n condition,\r\n action,\r\n valudationMessages,\r\n style,\r\n emptyOption,\r\n parentValue,\r\n selectedValue,\r\n addparams,\r\n openPopup,\r\n closePopup,\r\n reloadOnParentChange,\r\n mode,\r\n defaultValue,\r\n addNewElement,\r\n } = props;\r\n const windowKey = CreateGuid();\r\n const config = CloneObject(addparams.PopupConfig);\r\n const title = `Add ${addparams.TitlePrefix ? addparams.TitlePrefix : ''}${config.Title}`;\r\n const actionValueName = config.ValueField || addparams.ValueField || 'id';\r\n const [list, setList] = useValueList(data, dataSource, parentValue, reloadOnParentChange, emptyOption);\r\n\r\n const onAddClickHandler = () => {\r\n document.getElementById(windowKey).blur();\r\n config.Form.DefaultId = 0;\r\n config.Form.ToolBars = GenerateToolBars(['SaveClose', 'Cancel']);\r\n openPopup({\r\n windowKey,\r\n id: parentValue,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (objectResult) => {\r\n setTimeout(() => closePopup(windowKey), 100);\r\n axios({\r\n method: 'GET',\r\n baseURL: dataSource + (parentValue ? parentValue : '')\r\n })\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const newList = result.filter(i => (!i.archived && !i.archiveDate && !i.inactive) || result === i.value);\r\n action(\r\n getActionArgument(newList,\r\n objectResult[actionValueName],\r\n mode, null));\r\n setList(newList);\r\n }\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n });\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n }; \r\n\r\n return condition !== ElementConditions.Hidden ?// && list ?\r\n : ''}\r\n valueList={list}\r\n action={action}\r\n selectedValue={selectedValue}\r\n /> : null;\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ComboAdd);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { openPopup, closePopup } from '../../store/actions/popup/popup';\r\nimport { PopupTypes } from '../components/custom/popup/popup';\r\nimport axios from '../axios/axios';\r\nimport { ElementConditions } from '../config/condition.config';\r\nimport { GenerateToolBars } from '../config/element.config';\r\nimport { CreateGuid, CloneObject } from '../helper/common';\r\nimport { useValueListWithCache } from '../hook/data/useValueList';\r\nimport { addValueList } from '../../store/actions/valueList/valueList';\r\nimport DropDownElement from './dropDownElement';\r\nimport DropDownNewItem from './dropDownNewItem';\r\n\r\n// import { useCacheHub } from '../hook/hub/useClientHub';\r\n\r\nconst ComboAddWithCache = props => {\r\n const { firstTimeAction, data, dataSource, classes, condition, action,\r\n valudationMessages, style, parentValue, selectedValue, addparams,\r\n openPopup, closePopup, reloadOnParentChange, valueList, addValueList, mode } = props;\r\n\r\n const hash = require('object-hash');\r\n\r\n const valueKey = typeof dataSource === 'string' ? dataSource + (parentValue ? parentValue : '') : hash(dataSource);\r\n\r\n useValueListWithCache(data, dataSource, parentValue, addValueList, valueList, reloadOnParentChange, valueKey);\r\n\r\n const windowKey = CreateGuid();\r\n const config = CloneObject(addparams.PopupConfig);\r\n const title = `Add ${addparams.TitlePrefix ? addparams.TitlePrefix : ''}${config.Title}`;\r\n const actionValueName = config.ValueField || addparams.ValueField || 'id';\r\n\r\n const onAddClickHandler = () => {\r\n document.getElementById(windowKey).blur();\r\n config.Form.DefaultId = 0;\r\n config.Form.ToolBars = GenerateToolBars(['SaveClose', 'Cancel']);\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (objectResult) => {\r\n closePopup(windowKey);\r\n axios({\r\n method: 'GET',\r\n baseURL: dataSource + (parentValue ? parentValue : '')\r\n })\r\n .then(response => {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const newList = result.filter(i => (!i.archived && !i.archiveDate && !i.inactive) || result === i.value);\r\n addValueList(valueKey, newList);\r\n action(\r\n {\r\n nativeEvent: null,\r\n source: newList,\r\n target: {\r\n value: objectResult[actionValueName],\r\n type: (mode === 'multiple' ? 'multiple_select' : 'select')\r\n }\r\n });\r\n }\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n });\r\n\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n return condition !== ElementConditions.Hidden &&\r\n valueList[valueKey] ?\r\n }\r\n valueList={valueList[valueKey]}\r\n action={action}\r\n selectedValue={selectedValue}\r\n /> : null;\r\n\r\n\r\n\r\n\r\n //return condition !== ElementConditions.Hidden &&\r\n // valueList[valueKey] ?\r\n // ( {\r\n // return \r\n // {menu}\r\n // \r\n // \r\n // {title}\r\n // \r\n // \r\n // }}\r\n // onChange={\r\n // (value, event) => action(\r\n // {\r\n // nativeEvent: event,\r\n // source: valueList[valueKey],\r\n // target: {\r\n // value: value,\r\n // type: (restprops.mode === 'multiple' ? 'multiple_select' : 'select')\r\n // }\r\n // })}\r\n // optionFilterProp=\"children\"\r\n // filterOption={(input, option) => {\r\n // let item = option.children;\r\n // if (typeof item === 'object') {\r\n // item = item.props.children;\r\n // }\r\n // return item.toLowerCase().indexOf(input.toLowerCase()) >= 0;\r\n // }\r\n // }>\r\n // {\r\n // valueList[valueKey].map((item, i) =>\r\n // \r\n // )\r\n // }\r\n // ) : null;\r\n\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n valueList: state.valueList.list\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n addValueList: (valueKey, valueList) => dispatch(addValueList(valueKey, valueList))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ComboAddWithCache);","import React from 'react';\r\n\r\n// import ColorPicker from 'rc-color-picker';\r\nimport ColorPicker from '../components/custom/rc-color-picker/lib';\r\nimport { ElementConditions } from '../config/condition.config';\r\nimport { RGBAToHexA, HexToRGBAFormat } from '../helper/common';\r\n\r\nconst ColorElement = props => {\r\n const { data, condition, action } = props;\r\n const RGBA = RGBAToHexA(data || 'rgba(255, 255, 255, 1)');\r\n\r\n const Close = e => {\r\n action({\r\n nativeEvent: e,\r\n target: {\r\n value: HexToRGBAFormat(e.color, e.alpha),\r\n type: 'colorPicker'\r\n }\r\n });\r\n };\r\n\r\n return condition !== ElementConditions.Hidden &&
    \r\n \r\n
    ;\r\n};\r\n\r\nexport default ColorElement;","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport DropDownElement from './dropDownElement';\r\nimport { ElementConditions } from '../config/condition.config';\r\nimport { addValueList } from '../../store/actions/valueList/valueList';\r\nimport { useValueListWithCache } from '../hook/data/useValueList';\r\n\r\nconst SelectElementWithCache = props => {\r\n const { dataSource, classes,\r\n condition, data, action, valudationMessages,\r\n style, parentValue, selectedValue, reloadOnParentChange, mode,\r\n showSearch, name, allowClear, placeholder, filterOption,\r\n valueList, addValueList, selectedValueType } = props;\r\n const hash = require('object-hash');\r\n const valueKey = typeof dataSource === 'string' ? dataSource + (parentValue ? parentValue : '') : hash(dataSource);\r\n useValueListWithCache(data, dataSource, parentValue, addValueList, valueList, reloadOnParentChange, valueKey);\r\n return condition !== ElementConditions.Hidden ? //&& valueList[valueKey] ?\r\n \r\n : null;\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n valueList: state.valueList.list\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n addValueList: (valueKey, valueList) => dispatch(addValueList(valueKey, valueList))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SelectElementWithCache);","import React from 'react';\r\nimport moment from 'moment';\r\nimport { Action } from './action.config';\r\nimport { ElementConditions, Ability } from './condition.config';\r\nimport { localDate } from '../../codeless/helper/common';\r\n\r\nimport {\r\n GenerateInput,\r\n GenerateFileInput,\r\n GeneratePhoneInput,\r\n GenerateDecimalInput,\r\n GeneratePassword,\r\n GenerateTextArea,\r\n GenerateCheckBox,\r\n GenerateDatePicker,\r\n GenerateTimePicker,\r\n GenerateToolBarButton,\r\n GenerateColumnButton,\r\n GenerateRadio,\r\n GenerateInputCurrency,\r\n GenerateCheckBoxModern,\r\n ElementClassNames,\r\n GenerateDueDatePicker\r\n} from '../helper/element';\r\nimport { FindParentValue, FindSelectedValueText, FunctionArgumentNames } from '../helper/common';\r\n\r\nimport { Defines, bytesToSize } from '../../project/Defines';\r\nimport {\r\n GenerateColumnDate,\r\n GenerateLatestCommentIndicator,\r\n GenerateReceiveIndicator,\r\n GenerateSimpleColumnIndicator,\r\n GenerateCancelIndicator,\r\n GenerateColumnDateLabel,\r\n GenerateColumnDateTimeLabel,\r\n GenerateColumnBoolLabel,\r\n GenerateColumnBadge,\r\n GenerateColumnTimeLabel\r\n} from '../helper/list';\r\nimport AddressField from '../elements/addressField';\r\nimport MapField from '../elements/mapField';\r\nimport MultipleMarkersMapField from '../elements/multipleMarkersMapField';\r\nimport SelectElementAdd from '../elements/selectElementAdd';\r\nimport SelectElementAddWithCache from '../elements/selectElementAddWithCache';\r\nimport AvatarUploader from '../elements/avatarUploader';\r\nimport Download from '../elements/download';\r\nimport ColorElement from '../elements/colorElement';\r\nimport SelectElement from '../elements/selectElement';\r\nimport SelectElementWithCache from '../elements/selectElementWithCache';\r\n\r\nconst DefaultParams = {\r\n displayability: Ability.Displayability,\r\n editability: Ability.Editability,\r\n min: null,\r\n max: null,\r\n date_format: Defines.Format.PrintDate,\r\n classes: [],\r\n style: {},\r\n condition: ElementConditions.Enable,\r\n placeholder: null,\r\n label: '',\r\n defaultValue: null,\r\n array: [],\r\n item: [],\r\n showHidePassword: false,\r\n name: '',\r\n timeFormat: Defines.Format.MomentTime,\r\n minuteStep: 15,\r\n use12Hours: false,\r\n dataSource: null,\r\n emptyOption: false,\r\n parentValueType: null,\r\n reloadOnParentChange: false,\r\n addparams: null,\r\n title: '',\r\n icon: '',\r\n dataTitle: true,\r\n text: '',\r\n attributes: [],\r\n fileFieldName: '',\r\n width: 0,\r\n height: 0,\r\n display: null,\r\n fieldName: '',\r\n};\r\n\r\n\r\nexport const Development_GenerateFunctionArguments = () => {\r\n for (const et in ElementTypes) {\r\n if (typeof ElementTypes[et] === 'function' && et !== 'Generic') {\r\n console.log(et);\r\n const argNames = FunctionArgumentNames(ElementTypes[et]);\r\n console.log(argNames);\r\n console.log('___________________________________________');\r\n }\r\n }\r\n};\r\n\r\nexport const ElementTypesArguments = {\r\n TableLabelField: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"],\r\n LandingText: [],\r\n TableDecimalField: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"],\r\n TableFileSizeLabelField: [\"displayability\", \"condition\", \"classes\", \"style\"],\r\n DateLabel: [\"displayability\", \"condition\"],\r\n DateTimeLabel: [\"displayability\", \"condition\"],\r\n ColumnDate: [\"displayability\", \"condition\"],\r\n ColumnDateTime: [\"displayability\", \"condition\"],\r\n ColumnBool: [\"displayability\", \"condition\"],\r\n PasswordField: [\"showHidePassword\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n LabelField: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"],\r\n LabelDecimalField: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"],\r\n LabelFieldDate: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"],\r\n FileSizeLabelField: [\"displayability\", \"condition\", \"classes\", \"style\"],\r\n LabelCountField: [\"array\", \"item\", \"displayability\", \"condition\", \"style\", \"classes\"],\r\n TextField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\", \"withTooltip\"],\r\n IntField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n IntDecimalField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n IntFieldViewOrEdit: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\", \"display\"],\r\n DecimalFieldViewOrEdit: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\", \"display\"],\r\n CheckBox: [\"label\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\"],\r\n CheckBoxModern: [\"label\", \"defaultValue\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\"],\r\n Radio: [\"label\", \"name\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"field\"],\r\n DateFieldViewOrEdit: [\"displayability\", \"editability\", \"min\", \"max\", \"date_format\", \"classes\", \"style\", \"condition\"],\r\n TimeFieldViewOrEdit: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n DateField: [\"displayability\", \"editability\", \"min\", \"max\", \"date_format\", \"classes\", \"style\", \"condition\", \"fieldName\"],\r\n DueDateField: [\"displayability\", \"editability\", \"min\", \"max\", \"date_format\", \"classes\", \"style\", \"condition\", \"fieldName\", \"hardFieldName\"],\r\n TimeField: [\"displayability\", \"editability\", \"timeFormat\", \"minuteStep\", \"use12Hours\", \"classes\", \"style\", \"condition\"],\r\n CurrencyField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\", \"fieldName\"],\r\n CurrencyFieldViewOrEdit: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\", \"display\"],\r\n AddressField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\"],\r\n MapField: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n Comment: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"placeholder\"],\r\n Select: [\"dataSource\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"selectedValueType\"],\r\n SelectViewOrEdit: [\"dataSource\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"display\"],\r\n SelectWithCache: [\"dataSource\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"selectedValueType\"],\r\n MultipleSelect: [\"dataSource\", \"parentValueType\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"selectedValueType\"],\r\n Combo: [\"dataSource\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"selectedValueType\", \"fieldName\", \"defaultValue\", \"search\"],\r\n ComboViewOrEdit: [\"dataSource\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"display\"],\r\n ComboAdd: [\"dataSource\", \"addparams\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"defaultValue\", \"selectedValueType\", \"emptyOption\", \"addNewElement\"],\r\n ComboAddViewOrEdit: [\"dataSource\", \"addparams\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"display\"],\r\n ComboAddViewOrEditWithCash: [\"dataSource\", \"addparams\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"display\", \"selectedValueType\"],\r\n ComboAddWithCache: [\"dataSource\", \"addparams\", \"parentValueType\", \"reloadOnParentChange\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\", \"selectedValueType\"],\r\n ToolBarButton: [\"title\", \"icon\", \"displayability\", \"editability\", \"classes\", \"style\", \"condition\"],\r\n CancelColumnIndicator: [\"displayability\", \"condition\", \"dataTitle\", \"attributes\", \"display\"],\r\n LatestCommentIndicator: [\"displayability\", \"condition\", \"dataTitle\", \"attributes\", \"display\"],\r\n ColumnBadge: [\"displayability\", \"condition\", \"attributes\", \"styles\"],\r\n SimpleColumnIndicator: [\"displayability\", \"condition\", \"dataTitle\", \"text\", \"attributes\", \"display\"],\r\n ReceiveIndicator: [\"displayability\", \"condition\", \"dataTitle\", \"attributes\", \"display\"],\r\n Avatar: [\"fileFieldName\", \"displayability\", \"editability\", \"condition\", \"noImage\"],\r\n Download: [\"fileFieldName\", \"width\", \"height\", \"displayability\", \"condition\"],\r\n Color: [\"displayability\", \"editability\", \"classes\", \"style\", \"condition\"],\r\n ToolbarDate: [\"displayability\", \"condition\"],\r\n ColumnTime: [\"displayability\", \"condition\"],\r\n LabelFieldCurrency: [\"displayability\", \"condition\", \"classes\", \"style\", \"display\"]\r\n};\r\n\r\nexport const getNormalizedAttributes = (attributes, object, data) => {\r\n const attributeList = {};\r\n\r\n if (attributes) {\r\n for (const a in attributes) {\r\n attributeList[a] = {};\r\n for (const n in attributes[a]) {\r\n let value = attributes[a][n];\r\n if (typeof (value) === 'function') {\r\n value = value(object, data);\r\n }\r\n if (value !== null) {\r\n if (n === 'style') {\r\n attributeList[a][n] = value;\r\n } else {\r\n attributeList[a][n] = `${value}`;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return attributeList;\r\n};\r\n\r\nexport const ElementTypes = {\r\n Params: {\r\n displayability: 'displayability',\r\n editability: 'editability',\r\n min: 'min',\r\n max: 'max',\r\n date_format: 'date_format',\r\n classes: 'classes',\r\n style: 'style',\r\n condition: 'condition',\r\n placeholder: 'placeholder',\r\n label: 'label',\r\n defaultValue: 'defaultValue',\r\n array: 'array',\r\n item: 'item',\r\n showHidePassword: 'showHidePassword',\r\n name: 'name',\r\n timeFormat: 'timeFormat',\r\n minuteStep: 'minuteStep',\r\n use12Hours: 'use12Hours',\r\n dataSource: 'dataSource',\r\n emptyOption: 'emptyOption',\r\n parentValueType: 'parentValueType',\r\n reloadOnParentChange: 'reloadOnParentChange',\r\n selectedValueType: 'selectedValueType',\r\n addparams: 'addparams',\r\n title: 'title',\r\n icon: 'icon',\r\n dataTitle: 'dataTitle',\r\n text: 'text',\r\n attributes: 'attributes',\r\n fileFieldName: 'fileFieldName',\r\n width: 'width',\r\n height: 'height',\r\n display: 'display',\r\n fieldName: 'fieldName',\r\n },\r\n Generic: (elementType, params) => {\r\n let errorText = '';\r\n let hasError = false;\r\n let userProvidedFunctionName = elementType.toString();\r\n if (!elementType) {\r\n errorText = \"Fatal error: elementType can't be ampty\";\r\n hasError = true;\r\n }\r\n if (typeof elementType === 'string') {\r\n elementType = ElementTypes[elementType];\r\n }\r\n if (elementType === undefined && !hasError) {\r\n errorText = `Fatal error: elementType '${userProvidedFunctionName}' function not found`;\r\n hasError = true;\r\n }\r\n if (typeof elementType === 'function') {\r\n if (elementType === ElementTypes.Generic && !hasError) {\r\n errorText = \"Fatal error: Module can't be element type function\";\r\n hasError = true;\r\n }\r\n if (!hasError) {\r\n if (!params) {\r\n params = {};\r\n }\r\n if (Array.isArray(params)) {\r\n const newParams = {};\r\n for (const p in params) {\r\n const pN = params[p];\r\n if (!Array.isArray(pN) || pN.length < 2) {\r\n errorText = \"Fatal error: Params array item should be array with 2 items\";\r\n hasError = true;\r\n break;\r\n }\r\n newParams[pN[0]] = pN[1];\r\n }\r\n params = newParams;\r\n }\r\n if (!hasError) {\r\n params = {\r\n ...DefaultParams, ...params\r\n };\r\n const argNames = ElementTypesArguments[elementType.name];//FunctionArgumentNames(elementType);\r\n const functionArguments = [];\r\n for (const argI in argNames) {\r\n functionArguments.push(params[argNames[argI]]);\r\n }\r\n let contentFunction;\r\n try {\r\n contentFunction = elementType.apply(this, functionArguments);\r\n }\r\n catch (error) {\r\n errorText = error;\r\n hasError = true;\r\n }\r\n if (contentFunction) {\r\n return contentFunction;\r\n }\r\n errorText = 'Content function not created';\r\n hasError = true;\r\n }\r\n }\r\n }\r\n else if (!hasError) {\r\n errorText = \"Fatal error: elementType should be a function\";\r\n hasError = true;\r\n }\r\n console.error(errorText);\r\n return () => () => {errorText}\r\n },\r\n\r\n //sheet specific label fields\r\n TableLabelField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n : null,\r\n\r\n LandingText: () => data => () => {\r\n switch (data) {\r\n case 1:\r\n return 'MON';\r\n case 2:\r\n return 'TUES';\r\n case 3:\r\n return 'WED';\r\n case 4:\r\n return 'THURS';\r\n case 5:\r\n return 'FRI';\r\n case 6:\r\n return 'SAT';\r\n case 7:\r\n return 'SUN';\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n TableDecimalField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n {display && typeof display === 'function' ? display(object, data) : data?.toLocaleString()} : null,\r\n\r\n TableFileSizeLabelField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n {data ? bytesToSize(data) : '-'}\r\n : null,\r\n DateLabel: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {data ? moment(data).format(Defines.Format.PrintDate) : ''}\r\n \r\n
    \r\n : null,\r\n ColumnDate: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateColumnDateLabel(\r\n data)\r\n : null,\r\n\r\n ColumnDateTime: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateColumnDateTimeLabel(\r\n data)\r\n : null,\r\n\r\n DateTimeLabel: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {data ? localDate(data, Defines.Format.PrintDateTime) : ''}\r\n \r\n
    \r\n : null,\r\n\r\n ColumnTime: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateColumnTimeLabel(\r\n data)\r\n : null,\r\n\r\n ColumnBool: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateColumnBoolLabel(\r\n data)\r\n : null,\r\n\r\n //using in login page only\r\n PasswordField: (showHidePassword = false, displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, onKeyPress) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ? (\r\n showHidePassword ?\r\n \r\n : GenerateInput('password',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n style))\r\n : null,\r\n\r\n //form fields\r\n LabelField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    \r\n : null,\r\n\r\n LabelDecimalField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data?.toLocaleString()}\r\n \r\n
    \r\n : null,\r\n\r\n LabelFieldDate: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data ? moment(data).format(Defines.Format.PrintDate) : null}\r\n \r\n
    ;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n LabelFieldCurrency: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}, display = null) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data ? data.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n }) : null}\r\n \r\n
    \r\n : null,\r\n\r\n FileSizeLabelField: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, classes = [], style = {}) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {data ? bytesToSize(data) : '-'}\r\n \r\n
    \r\n : null,\r\n\r\n LabelCountField: (array, item, displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable, style, classes) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n \r\n {object[array] && object[array].reduce((a, b) => {\r\n return a + (b[item] ? parseInt(b[item]) : 0);\r\n }, 0)}\r\n \r\n
    \r\n : null,\r\n\r\n TextField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder,\r\n withTooltip,\r\n ) =>\r\n (data, object, action, out, ref, onKeyPress, attributes) => (valudationMessages, warningMessages) =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateInput(\r\n 'text',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n onKeyPress,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n '',\r\n warningMessages,\r\n attributes,\r\n withTooltip,\r\n )\r\n : null,\r\n\r\n File: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, onKeyPress, attributes) => (valudationMessages, warningMessages) =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateFileInput('text',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n onKeyPress,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n warningMessages,\r\n attributes)\r\n : null,\r\n\r\n IntField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder,\r\n tabIndex = '') =>\r\n (data, object, action, out, ref) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateInput('number',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n tabIndex)\r\n : null,\r\n\r\n Phone: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GeneratePhoneInput('phone',\r\n editability(object),\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style)\r\n : null,\r\n\r\n IntDecimalField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = { textAlign: 'center' },\r\n condition = ElementConditions.Enable,\r\n placeholder, \r\n title,\r\n ) =>\r\n (data, object, action, out, ref) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateDecimalInput('number',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n title,\r\n )\r\n : null,\r\n\r\n IntFieldViewOrEdit: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder, display = null) =>\r\n (data, object, action, out, ref) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return condition(object)\r\n ? GenerateInput('number',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style)\r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n DecimalFieldViewOrEdit: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder, display = null) =>\r\n (data, object, action, out, ref) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n let customCondition = false;\r\n if (condition && typeof (condition) === 'function') {\r\n customCondition = condition(object);\r\n }\r\n\r\n return customCondition\r\n ? GenerateDecimalInput('number',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style)\r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data?.toLocaleString()}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n CheckBox: (label,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action, out, ref) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateCheckBox(label,\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n typeof style === 'function' ? style(object, data) : style)\r\n : null,\r\n\r\n CheckBoxModern: (\r\n label,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action, out, ref, keyPress, attributes, onActionRecord, parentData) => valudationMessages => {\r\n const landingDayExist = parentData?.some(item => item.landing);\r\n const isSecondaryLanding = label === 'secondaryLanding';\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateCheckBoxModern(\r\n label,\r\n isSecondaryLanding ? landingDayExist : editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n typeof style === 'function' ? style(object, data) : style,\r\n object,\r\n )\r\n : null },\r\n\r\n Radio: (label,\r\n name,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n field) =>\r\n (data, object, action, out, ref) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateRadio(label,\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n name,\r\n typeof style === 'function' ? style(object, data) : style,\r\n object,\r\n field)\r\n : null,\r\n\r\n DateField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n min = null,\r\n max = null,\r\n date_format = Defines.Format.PrintDate,\r\n classes = ['centerText'],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n fieldName,\r\n ) =>\r\n (data, object, action, out, ref) => (valudationMessages, warningMessages) => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateDatePicker(editability(object),\r\n date_format,\r\n ref,\r\n data,\r\n typeof min === 'function' ? min(object.readyDate) : min,\r\n max,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n warningMessages,\r\n object,\r\n fieldName,\r\n )\r\n : null\r\n },\r\n\r\n DueDateField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n min = null,\r\n max = null,\r\n date_format = Defines.Format.PrintDate,\r\n classes = ['centerText'],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n fieldName,\r\n hardFieldName\r\n ) =>\r\n (data, object, action, out, ref) => (valudationMessages, warningMessages) => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateDueDatePicker(editability(object),\r\n date_format,\r\n ref,\r\n data,\r\n typeof min === 'function' ? min(object.readyDate) : min,\r\n max,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n warningMessages,\r\n object,\r\n fieldName,\r\n hardFieldName\r\n )\r\n : null\r\n },\r\n\r\n TimeField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n timeFormat = Defines.Format.MomentTime,\r\n minuteStep = 15,\r\n use12Hours = false,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action, out, ref) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateTimePicker(editability(object),\r\n timeFormat,\r\n minuteStep,\r\n use12Hours,\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n typeof style === 'function' ? style(object, data) : style)\r\n : null,\r\n\r\n DateFieldViewOrEdit: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n min = null,\r\n max = null,\r\n date_format = Defines.Format.PrintDate,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action, out, ref) =>\r\n (valudationMessages, warningMessages) => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n let customCondition = true;\r\n if (condition && typeof (condition) === 'function') {\r\n customCondition = condition(object);\r\n }\r\n\r\n return customCondition\r\n ? GenerateDatePicker(editability(object),\r\n date_format,\r\n ref,\r\n data,\r\n min,\r\n max,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n warningMessages\r\n )\r\n :
    \r\n \r\n {data ? moment(data).format(Defines.Format.PrintDate) : ''}\r\n \r\n
    ;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n TimeFieldViewOrEdit: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, onKeyPress) => (valudationMessages, warningMessages) => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n let customCondition = true;\r\n if (condition && typeof (condition) === 'function') {\r\n customCondition = condition(object);\r\n }\r\n\r\n return customCondition\r\n ? GenerateInput('text',\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n onKeyPress,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n warningMessages\r\n )\r\n :
    \r\n \r\n {data}\r\n \r\n
    ;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n CurrencyField: (\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = { textAlign: 'center' },\r\n condition = ElementConditions.Enable,\r\n placeholder,\r\n fieldName) =>\r\n (data, object, action, out, ref) => valudationMessages => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateInputCurrency(\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n object,\r\n fieldName,\r\n )\r\n : null\r\n },\r\n\r\n DateTimeField: null,\r\n\r\n DecimalField: null,\r\n\r\n CurrencyFieldViewOrEdit: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder, display) =>\r\n (data, object, action, out, ref) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return condition(object)\r\n ? GenerateInputCurrency(\r\n editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style)\r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data ? data.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n }) : null}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n AddressField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action, out, ref, onKeyPress) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n MapField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, onKeyPress) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n MultipleMarkersMapField: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, onKeyPress) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n\r\n Comment: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, keyPress, attributes) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateTextArea(editability(object),\r\n ref,\r\n data,\r\n ElementClassNames(object, data, classes),\r\n action,\r\n out,\r\n valudationMessages,\r\n placeholder,\r\n null,\r\n null,\r\n null,\r\n typeof style === 'function' ? style(object, data) : style,\r\n attributes)\r\n : null,\r\n\r\n CommentLabel: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, keyPress, attributes) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n {data || ''}\r\n
    \r\n : null,\r\n\r\n SectionTitle: (label,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n placeholder) =>\r\n (data, object, action, out, ref, keyPress, attributes) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n
    \r\n {label}\r\n
    \r\n
    \r\n
    \r\n : null,\r\n\r\n Select: (dataSource,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n selectedValueType) =>\r\n (data, object, action) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n ,\r\n\r\n SelectViewOrEdit: (dataSource,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n display = null) =>\r\n (data, object, action) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n let customCondition = false;\r\n if (condition && typeof (condition) === 'function') {\r\n customCondition = condition(object);\r\n }\r\n\r\n return customCondition\r\n ? \r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n SelectWithCache: (dataSource,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n selectedValueType) =>\r\n (data, object, action) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n ,\r\n\r\n MultipleSelect: (dataSource,\r\n parentValueType,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n selectedValueType) =>\r\n (data, object, action) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n ,\r\n\r\n Combo: (dataSource,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = { textAlign: 'center' },\r\n condition = ElementConditions.Enable,\r\n selectedValueType,\r\n fieldName,\r\n defaultValue,\r\n search = true,\r\n ) => (data, object, action) => valudationMessages => {\r\n if (fieldName === 'priceTemplateType') {\r\n if (object.batch === 1 || (object.batch === 2 && !!object.isIndividualPrice)) {\r\n editability = Ability.NoEditability;\r\n } else if (object.batch === 3 || (object.batch === 2 && !object.isIndividualPrice)) {\r\n editability = Ability.Editability;\r\n }\r\n }\r\n\r\n if (object.locationType !== 2 && fieldName === 'Date Change Needed') {\r\n displayability = Ability.NoDisplayability;\r\n object.dateChange = null;\r\n } else {\r\n displayability = Ability.Displayability;\r\n }\r\n\r\n return condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n \r\n },\r\n\r\n ComboViewOrEdit: (dataSource,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n display = null) =>\r\n (data, object, action) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return condition(object)\r\n ? \r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n ComboAdd: (dataSource,\r\n addparams,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n defaultValue = false,\r\n selectedValueType,\r\n emptyOption,\r\n addNewElement = false,\r\n ) =>\r\n (data, object, action) => valudationMessages => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n \r\n },\r\n\r\n ComboAddViewOrEdit: (dataSource,\r\n addparams,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n display = null) =>\r\n (data, object, action) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return condition(object)\r\n ? \r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n ComboAddViewOrEditWithCash: (dataSource,\r\n addparams,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n display = null,\r\n selectedValueType) =>\r\n (data, object, action) => valudationMessages => {\r\n if (condition !== ElementConditions.Hidden && displayability(object, data)) {\r\n return condition(object)\r\n ? \r\n :
    \r\n \r\n {display && typeof display === 'function' ? display(object, data) : data}\r\n \r\n
    ;\r\n }\r\n },\r\n\r\n ComboAddWithCache: (dataSource,\r\n addparams,\r\n parentValueType,\r\n reloadOnParentChange,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable,\r\n selectedValueType) =>\r\n (data, object, action, _fieldOut, _ref, _onKeyPress, _attributes, _onActionRecord, _parentData, _clicked, firstTimeAction) => valudationMessages => {\r\n\r\n //const firstTimeAction = (action, selectedObject) => {\r\n // var landingValue = selectedObject[\"landing\"];\r\n // //action({\r\n // // nativeEvent: {},\r\n // // target: {\r\n // // value: landingValue,\r\n // // field: 'landing'\r\n // // }\r\n // //});\r\n // //alert(landingValue);\r\n //}\r\n\r\n return condition !== ElementConditions.Hidden && displayability(object, data) &&\r\n \r\n },\r\n\r\n ToolBarButton: (title,\r\n icon,\r\n displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) => (action, object) =>\r\n condition !== ElementConditions.Hidden && displayability(object) ?\r\n GenerateToolBarButton(\r\n condition && editability(object),\r\n typeof (title) === 'function' ? title(object) : title,\r\n icon,\r\n ElementClassNames(object, null, classes),\r\n action,\r\n typeof style === 'function' ? style(object) : style\r\n )\r\n : null,\r\n\r\n Button: (props, displayability = Ability.Displayability) => (data, object, action, out, ref, keyPress, attributes, onActionRecord, parentData, clicked) => {\r\n return displayability(object) ? GenerateColumnButton(object, props, data, onActionRecord, parentData, clicked) : () => null;\r\n },\r\n\r\n CancelColumnIndicator: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable,\r\n dataTitle = true,\r\n text,\r\n attributes = {},\r\n display = null) =>\r\n (data, object, action, out, ref, keyPress, attributes) => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateCancelIndicator(\r\n display && typeof display === 'function' ? display(object, data) : (text || data),\r\n dataTitle,\r\n attributes)\r\n : null;\r\n },\r\n\r\n LatestCommentIndicator: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable,\r\n dataTitle = true,\r\n attributes = {}) =>\r\n (data, object, action, out, ref, keyPress, attributes) => () => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateLatestCommentIndicator(\r\n data,\r\n dataTitle,\r\n attributes)\r\n : null;\r\n },\r\n\r\n ReceiveIndicator: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable,\r\n dataTitle = true,\r\n attributes = {}) =>\r\n (data, object, action, out, ref, keyPress, attributes) => () => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateReceiveIndicator(\r\n object,\r\n dataTitle,\r\n attributes)\r\n : null;\r\n },\r\n\r\n ColumnBadge: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable,\r\n attributes = {},\r\n styles = {}) =>\r\n (data, object, action, out, ref, keyPress, attributes) => () => {\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateColumnBadge(\r\n data,\r\n true,\r\n attributes)\r\n : null\r\n },\r\n\r\n SimpleColumnIndicator: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable,\r\n dataTitle = true,\r\n text,\r\n attributes = {},\r\n display = null) =>\r\n (data, object, action, out, ref, keyPress, attributes) => () => {\r\n const comment = text === 'Comment' && data && data.length && data[data.length - 1].comment;\r\n return condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n GenerateSimpleColumnIndicator(\r\n display && typeof display === 'function' ? display(object, data) : (comment || text || data),\r\n dataTitle,\r\n attributes)\r\n : null;\r\n },\r\n\r\n Avatar: (fileFieldName, displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n condition = ElementConditions.Enable,\r\n noImage) =>\r\n (data, object, action) => validationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n Download: (fileFieldName, width = 70, height = 70, displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n Color: (displayability = Ability.Displayability,\r\n editability = Ability.Editability,\r\n classes = [],\r\n style = {},\r\n condition = ElementConditions.Enable) =>\r\n (data, object, action) => valudationMessages =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n \r\n : null,\r\n\r\n //toolbar fields\r\n ToolbarDate: (displayability = Ability.Displayability,\r\n condition = ElementConditions.Enable) =>\r\n (data, object) => () =>\r\n condition !== ElementConditions.Hidden && displayability(object, data) ?\r\n
    \r\n {GenerateColumnDate(data)}\r\n
    \r\n : null\r\n};\r\n\r\nconst DefaultToolBars = (key, hasReference) => ({\r\n SaveBack: {\r\n Action: Action.SaveBack,\r\n Button: ElementTypes.ToolBarButton('Save & Back', 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n SaveNew: {\r\n Action: Action.SaveNew,\r\n Button: ElementTypes.ToolBarButton('Save & New', 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n Save: {\r\n Action: Action.Save,\r\n Button: ElementTypes.ToolBarButton('Save', 'save', o => o && !(o.orders?.length > 1 && o.orders.filter(o => o.batch === 3).length === o.orders?.length), Ability.Editability, ['button accent'])\r\n },\r\n Delete: {\r\n Action: Action.Delete,\r\n hasReference: hasReference,\r\n Button: ElementTypes.ToolBarButton('Delete', 'delete', o => o && o[key] > 0, Ability.Editability, ['button accent'])\r\n },\r\n\r\n});\r\n\r\nconst ToolBars = (key, hasReference) => ({\r\n ...DefaultToolBars(key, hasReference),\r\n SaveClose: {\r\n Action: Action.SaveClose,\r\n Button: ElementTypes.ToolBarButton('Save & Close', 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n Close: {\r\n Action: Action.Close,\r\n Button: ElementTypes.ToolBarButton('Close', '', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n Cancel: {\r\n Action: Action.Close,\r\n Button: ElementTypes.ToolBarButton('Cancel', '', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n CancelReason: {\r\n Action: Action.CancelReason,\r\n Button: ElementTypes.ToolBarButton('Cancel', 'cancel', o => o && o[key] > 0, Ability.Editability, ['button accent'])\r\n },\r\n Send: {\r\n Action: Action.SaveSend,\r\n Button: ElementTypes.ToolBarButton('Send', 'send', Ability.Displayability, Ability.Editability, ['button accent']),\r\n Value: { save: false }\r\n },\r\n SaveSend: {\r\n Action: Action.SaveSend,\r\n Button: ElementTypes.ToolBarButton('Save & Send', 'send', Ability.Displayability, Ability.Editability, ['button accent']),\r\n Value: { save: true }\r\n },\r\n Receive: {\r\n Action: Action.Save,\r\n Button: ElementTypes.ToolBarButton((o) => {\r\n return o.loadStatus !== 1 ? 'Update' : 'Receive'\r\n }, 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n ChangePassword: {\r\n Action: Action.ChangePassword,\r\n Button: ElementTypes.ToolBarButton('Change Password', 'edit', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n\r\n RequestAction: {\r\n Action: Action.SaveClose,\r\n Button: ElementTypes.ToolBarButton('Request', 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n\r\n Approve: {\r\n Action: Action.SaveClose,\r\n Button: ElementTypes.ToolBarButton('Approve', 'save', Ability.Displayability, Ability.Editability, ['button accent'])\r\n },\r\n Clone: {\r\n Action: Action.Clone,\r\n hasReference: hasReference,\r\n Button: ElementTypes.ToolBarButton('Clone', '', o => o && o[key] > 0, Ability.Editability, ['button accent'])\r\n },\r\n Request: {\r\n Action: Action.BeforeSave,\r\n Button: ElementTypes.ToolBarButton('Request', '', Ability.Displayability, Ability.Editability, ['button accent']),\r\n Buttons: {\r\n Request: {\r\n Action: Action.BeforeSave,\r\n Button: ElementTypes.ToolBarButton('Request', '', o => o?.[key] < 2, Ability.Editability, ['button accent']),\r\n Value: { [key]: 2 }\r\n },\r\n Requested: {\r\n Action: Action.BeforeSave,\r\n Button: ElementTypes.ToolBarButton('Requested', '', o => o?.[key] === 2, Ability.Editability, ['button accent']),\r\n Value: { [key]: 3 }\r\n },\r\n Confirmed: {\r\n Action: Action.BeforeSave,\r\n Button: ElementTypes.ToolBarButton('Confirmed', '', o => o?.[key] > 0 && o?.[key] < 4, Ability.Editability, ['button accent']),\r\n Value: { [key]: 4 }\r\n },\r\n Reject: {\r\n Action: Action.BeforeSave,\r\n Button: ElementTypes.ToolBarButton('Alternative', '', o => o?.[key] > 1, Ability.Editability, ['button accent']),\r\n Value: { [key]: -1 }\r\n }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n* @param toolbars string array, ToolBars object keys\r\n* @param key primary key for conditional items\r\n* @param title string, ToolBar title\r\n*/\r\nexport const GenerateToolBars = (toolbars = ['default'], key = 'id', title = null, hasReference = false) => {\r\n const ToolBarItems = ToolBars(key, hasReference);\r\n let items = {};\r\n for (const i of toolbars) {\r\n if (i === 'default') {\r\n items = {\r\n ...DefaultToolBars(key, hasReference),\r\n ...items\r\n }\r\n\r\n continue;\r\n }\r\n\r\n if (ToolBarItems[i].Button) {\r\n items[i] = ToolBarItems[i];\r\n }\r\n if (ToolBarItems[i].Buttons) {\r\n items = { ...items, ...ToolBarItems[i].Buttons }\r\n }\r\n }\r\n\r\n const toolbar = [\r\n {\r\n Title: title,\r\n Items: items\r\n }\r\n ];\r\n\r\n return toolbar;\r\n}","module.exports = require('./ColorPicker');\r\nmodule.exports.Panel = require('./Panel');","import React, { useCallback, useEffect, useState } from 'react';\r\nimport ReactDOM from 'react-dom'\r\nimport moment from 'moment';\r\nimport { DatePicker, message } from 'antd';\r\nimport axios from '../../../axios/axios';\r\nimport { Defines } from '../../../../project/Defines';\r\n\r\nconst statuses = [\"\", 'red', 'green', 'blue'];\r\n\r\nexport const ApptField = props => {\r\n const [value, setValue] = useState(null);\r\n const [locationInfo, setLocationInfo] = useState(null);\r\n const [node, setNode] = useState(null);\r\n const { data, setDataSource, dispatchAction } = props;\r\n\r\n const sendRequest = (e) => {\r\n if (!e.target.value) {\r\n return;\r\n }\r\n\r\n const pick = dispatchAction === 'PickAppointment' ? 'pick' : '';\r\n const drop = dispatchAction === 'DropAppointment' ? 'drop' : '';\r\n let url = data.isInbound ? `Load/${drop}loadcustomergroupitem/request` : `OutboundLoad/${pick}outboundloadcustomergroupitem/request`;\r\n\r\n axios({\r\n url: url,\r\n method: 'put',\r\n data: {\r\n id: data.id,\r\n appointment: e.target.value\r\n }\r\n })\r\n .then((response) => {\r\n if (typeof (setDataSource) === 'function') {\r\n if (response?.data) {\r\n const responseData = response.data;\r\n\r\n if (responseData.hasError) {\r\n message.error(responseData.message);\r\n\r\n return;\r\n }\r\n }\r\n\r\n setDataSource(response.data, dispatchAction);\r\n message.success(\"Appointment was successfully requested\");\r\n }\r\n });\r\n };\r\n\r\n const fillInfo = useCallback(() => {\r\n if(!node) {\r\n return;\r\n }\r\n \r\n setTimeout(() => {\r\n let holder = node.getElementsByTagName('holder')[1];\r\n if (holder) {\r\n ReactDOM.render(, holder);\r\n\r\n return;\r\n }\r\n\r\n const parentElement = node.getElementsByClassName('ant-picker-panel-container')[0];\r\n parentElement.classList.add('custom');\r\n const children = parentElement.getElementsByClassName('ant-picker-panel')[0];\r\n\r\n const horizontalHolder = document.createElement('holder');\r\n horizontalHolder.setAttribute('horizontal', '');\r\n holder = document.createElement('holder');\r\n\r\n ReactDOM.render(, holder);\r\n horizontalHolder.prepend(holder);\r\n holder.prepend(children);\r\n\r\n parentElement.append(horizontalHolder);\r\n }, 50);\r\n }, [locationInfo, node]);\r\n\r\n const getInfo = () => {\r\n const pick = dispatchAction === 'PickAppointment' ? 'pick' : '';\r\n const drop = dispatchAction === 'DropAppointment' ? 'drop' : '';\r\n\r\n if ((data.isInbound && drop && data.warehouseId) || (!data.isInbound && pick)) {\r\n return;\r\n }\r\n\r\n axios({\r\n url: `Location/info/${data[`${pick || drop}LocationId`]}`,\r\n method: 'get'\r\n })\r\n .then((response) => {\r\n let responseData = null;\r\n if (response?.data) {\r\n responseData = response.data;\r\n\r\n if (responseData.hasError) {\r\n message.error(responseData.message);\r\n\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n\r\n setLocationInfo(responseData);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (locationInfo && node) {\r\n fillInfo();\r\n }\r\n }, [locationInfo, node, fillInfo]);\r\n\r\n return setValue(value)}\r\n onBlur={e => sendRequest(e)}\r\n getPopupContainer={(node) => {\r\n setTimeout(() => {\r\n setNode(node.parentElement);\r\n }, 10)\r\n\r\n return node.parentElement;\r\n }}\r\n onOpenChange={function (open) {\r\n if (open) {\r\n getInfo();\r\n }\r\n }}\r\n renderExtraFooter={() => {\r\n if (locationInfo) {\r\n const attribute = locationInfo.status ? { [statuses[locationInfo.status]]: '' } : {};\r\n\r\n return (\r\n
    Average Wait Time: {locationInfo.avarageWaitTimeStr}
    \r\n );\r\n }\r\n }}\r\n />;\r\n};\r\n\r\nconst ApptInfo = props => {\r\n const data = props.data;\r\n\r\n return (\r\n
    \r\n
    \r\n {
    \r\n
    \r\n
    Warehouse Quick Glimpse
    \r\n
    {data.loactionName}
    \r\n
    \r\n
    \r\n
    \r\n
    Previouse Dates
    \r\n {data.locationPastInfoList?.length\r\n ? data.locationPastInfoList.map((i, index) =>\r\n
    Date: {moment(i.inboundPickAppointment, Defines.Format.MomentTime).format(Defines.Format.MomentDateTime)}
    \r\n )\r\n :
    No Data
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    Upcoming Appointments Information
    \r\n
    \r\n {data.locationFutureInfoList?.length\r\n ? data.locationFutureInfoList.map((i, index) =>\r\n
    \r\n
    \r\n Date: {moment(i.inboundPickAppointment, Defines.Format.MomentTime).format(Defines.Format.MomentDateTime)}\r\n
    \r\n
    \r\n Status: {i.statusStr}\r\n
    \r\n
    \r\n Totals: Pallet - {i.totalPalletCount} / Weight - {i.totalWeight}\r\n
    \r\n
    \r\n )\r\n :
    \r\n
    No Data
    \r\n
    }\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n}","import React from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Tooltip } from 'antd';\r\n\r\nimport { ColumnType } from '../config/list.config';\r\nimport { Project } from '../../project/Project';\r\nimport { AppPages } from '../../project/Pages';\r\nimport { CommonLabels, Defines, bytesToSize } from '../../project/Defines';\r\nimport { NullOrUndefined, ParseJson, InvertColor, CloneObject } from '../helper/common';\r\nimport { getNormalizedAttributes } from '../config/element.config';\r\nimport ButtonAction from '../components/list/buttonActions';\r\nimport { ApptField } from '../components/project/loadArea/apptField';\r\nimport Download from '../elements/download';\r\nimport { formatPhoneNumber } from \"../helper/common\";\r\n\r\nconst Column = (props) => {\r\n const history = useHistory();\r\n const attributes = props.attributes || {};\r\n return (\r\n {props?.record?.batch === 3 && props.linkAppPage && props.dataTitle === 'orderGroupIndex' ? \r\n
    :\r\n props?.record?.batch === 3 && props.dataTitle === 'orderGroupIndex' ? \r\n
    :\r\n props.linkAppPage ? \r\n {props.children}\r\n : props.children}\r\n
    );\r\n};\r\n\r\nconst Text = props => {\r\n const title = props.dataTitle && (props.dataTip ? props.dataTip : (NullOrUndefined(props.text) ? null : props.text?.toString()));\r\n return \r\n {props.text} {props.symbol && }\r\n \r\n};\r\n\r\nconst MultilineText = props => {\r\n const title = props.dataTitle && (props.dataTip ? props.dataTip : (NullOrUndefined(props.text) ? null : props.text?.toString()));\r\n return \r\n {props.text}\r\n \r\n};\r\n\r\nconst GenerateColumnDecimal = (text, dataTip, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n const title = dataTitle && (dataTip ? dataTip : (NullOrUndefined(text) ? null : text?.toString()));\r\n return \r\n {text?.toLocaleString()}\r\n \r\n};\r\n\r\nconst SimpleIndicator = (props) => (\r\n \r\n \r\n \r\n);\r\n\r\nconst ReceiveIndicator = (props) => {\r\n const data = props.data;\r\n const dataTitle = props.dataTitle === undefined ? true : props.dataTitle;\r\n const formattedText = data.receiveUser && data.receiveDate && data.received ?\r\n
    \r\n
    Receive By: {data.receiveUser}
    \r\n
    Receive Date: {moment.utc(data.receiveDate).local().format(Defines.Format.PrintDateTime)}
    \r\n
    Received: {data.received ? 'Yes' : 'No'}
    \r\n
    \r\n : null;\r\n\r\n return (\r\n data &&\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nconst StatusIndicator = (props) => {\r\n const attributes = props.attributes || {};\r\n if (!attributes.circle) {\r\n attributes.circle = {};\r\n }\r\n\r\n const style = { boxShadow: 'inset 0 0 0 1px #000' };\r\n attributes.circle.style = style;\r\n\r\n switch (props.data) {\r\n case 'Open':\r\n style.backgroundColor = '#fff';\r\n break;\r\n case 'ReOpen':\r\n case 'Alternative':\r\n style.backgroundColor = '#029b96';\r\n break;\r\n case 'Requested':\r\n style.backgroundColor = '#fbcb00';\r\n break;\r\n case 'Confirmed':\r\n style.backgroundColor = '#76a45d';\r\n break;\r\n case 'Pending':\r\n style.backgroundColor = '#fbcb00';\r\n break;\r\n case 'Request':\r\n style.backgroundColor = 'tomato';\r\n break;\r\n default:\r\n delete attributes.circle.style;\r\n break\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nconst CommentIndicator = props => {\r\n const attributes = props.attributes || {};\r\n if (!attributes.circle) {\r\n attributes.circle = {};\r\n };\r\n attributes.circle.style = { backgroundColor: 'green' };;\r\n\r\n return props?.data?.comment ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null;\r\n};\r\n\r\nconst GetCancelIndicator = (props) => {\r\n const data = props.data;\r\n const dataTitle = props.dataTitle === undefined ? true : props.dataTitle;\r\n const formattedText = data.cancel ?\r\n
    \r\n
    Cancel By: {data.cancelByStr}
    \r\n
    Cancel Date: {moment.utc(data.cancelDate).local().format(Defines.Format.PrintDate)}
    \r\n
    Cancel Time: {moment.utc(data.cancelDate).local().format(Defines.Format.MomentTime)}
    \r\n
    Cancel Reason: {data.cancelReason}
    \r\n
    \r\n : null;\r\n\r\n return (\r\n data &&\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nconst GetLatestCommentIndicator = (props) => {\r\n const data = props.data || props.lastComment;\r\n const dataTitle = props.dataTitle === undefined ? true : props.dataTitle;\r\n const formattedText = data.user && data.createDate && data.comment ?\r\n
    \r\n
    Comment By: {data.user}
    \r\n
    Comment Date: {moment.utc(data.createDate).local().format(Defines.Format.PrintDate)}
    \r\n
    Comment Time: {moment.utc(data.createDate).local().format(Defines.Format.MomentTime)}
    \r\n
    Comment: {data.comment}
    \r\n
    \r\n : null;\r\n\r\n return (\r\n data &&\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nconst ColumnBadge = (props) => {\r\n const attributes = props.attributes || {};\r\n if (!attributes.badge) {\r\n attributes.badge = {};\r\n }\r\n\r\n const style = { boxShadow: 'inset 0 0 0 1.5px #000', color: '#fff' };\r\n attributes.badge.style = style;\r\n\r\n switch (props.data) {\r\n case 'Open':\r\n case 'ReOpen':\r\n style.backgroundColor = '#fff';\r\n style.color = '#000';\r\n break;\r\n case 'Canceled':\r\n style.backgroundColor = 'tomato';\r\n break;\r\n case 'PU Scheduled':\r\n style.backgroundColor = '#81d4fa';\r\n break;\r\n case 'WH- In Transit':\r\n style.backgroundColor = '#4fc3f7';\r\n break;\r\n case 'Direct In Transit':\r\n style.backgroundColor = '#29b6f6';\r\n break;\r\n case 'Drop Scheduled':\r\n style.backgroundColor = '#039be5';\r\n break;\r\n case 'DL- In Transit':\r\n style.backgroundColor = '#0277bd';\r\n break;\r\n case 'Delivered':\r\n style.backgroundColor = '#01579b';\r\n break;\r\n case 'Billing':\r\n style.backgroundColor = 'orange';\r\n break;\r\n case 'Requested':\r\n style.backgroundColor = '#76a45d';\r\n break;\r\n case 'Confirmed':\r\n case 'Ready to Build':\r\n case 'Completed':\r\n case 'Received':\r\n style.backgroundColor = '#029b96';\r\n break;\r\n case 'Over Received':\r\n case 'Pending':\r\n style.backgroundColor = '#fbcb00';\r\n break;\r\n case 'Short Received':\r\n case 'Request':\r\n style.backgroundColor = 'tomato';\r\n break;\r\n case 'Invoiced':\r\n style.backgroundColor = 'orange';\r\n break;\r\n default:\r\n delete attributes.badge.style;\r\n break\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.data}\r\n \r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnTitle = (title) => {title};\r\n\r\nexport const GenerateColumnText = (text, dataTip, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}, symbol = null) => (\r\n \r\n);\r\n\r\nexport const GenerateColumnPhone = (text, dataTip, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => (\r\n \r\n);\r\n\r\nexport const GenerateColumnMultilineText = (text, dataTip, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => (\r\n \r\n);\r\n\r\nexport const GenerateColumnFile = (text, fileFieldName, width = 70, height = 70, downloadUrl, record, classes = null, attributes = {}) => (\r\n \r\n);\r\n\r\nexport const GenerateColumnDateLabel = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return ;\r\n};\r\n\r\nexport const GenerateColumnDateTimeLabel = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return ;\r\n};\r\n\r\nexport const GenerateColumnTimeLabel = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return ;\r\n};\r\n\r\nexport const GenerateColumnBoolLabel = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return ;\r\n};\r\n\r\nexport const GenerateColumnDate = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnTime = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnDateTime = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnNumber = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnCurrency = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateColumnBool = (text, linkAppPage, dataTitle, resource, record, id, classes = null, attributes = {}) => {\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport const GenerateSimpleColumnIndicator = (text, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateCancelIndicator = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateLatestCommentIndicator = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateReceiveIndicator = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateStatusIndicator = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateCommentIndicator = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateColumnBadge = (data, dataTitle, attributes = {}) =>\r\n ;\r\n\r\nexport const GenerateColumnButton = (record, props, dataSource, data, setDataSource, attributes) => {\r\n let field = null;\r\n if (props.Field) {\r\n if (props.Field === 'pickAppointment' || props.Field === 'dropAppointment') {\r\n if (!data[props.Field]) {\r\n field = ;\r\n }\r\n }\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport const GenerateColumnAction = (record, items, resource, onAction, attributes = {}, hasReference = false) => {\r\n if (!attributes.action) {\r\n attributes.action = {};\r\n }\r\n items = items.filter(item => {\r\n let i = item;\r\n if (typeof (i) === 'function') {\r\n i = item(record);\r\n }\r\n return i;\r\n });\r\n\r\n return items?.length\r\n ? \r\n \r\n {items.map((item) => {\r\n let i = item;\r\n if (typeof (i) === 'function') {\r\n i = item(record);\r\n }\r\n if (!i) {\r\n return null;\r\n }\r\n if (i === \"Edit\") {\r\n return ( { onAction(record, i, hasReference); }}>\r\n \r\n );\r\n }\r\n if (i === \"NeedToClarify\") {\r\n return (\r\n \r\n { onAction(record, i, hasReference); }}>\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (i === \"play\" || 'done') {\r\n return (\r\n \r\n { onAction(record, i, hasReference); }}>\r\n {i}\r\n \r\n );\r\n }\r\n return ( { onAction(record, i, hasReference); }}>\r\n {i}\r\n );\r\n })}\r\n \r\n \r\n : null;\r\n};\r\n\r\nexport const sorColumnsByIndex = obj => {\r\n let sortedList = [];\r\n sortedList = Object.entries(obj).sort((a, b) =>\r\n a[1] && b[1] && a[1].index - b[1].index\r\n );\r\n let ret = {};\r\n for (const a in sortedList) {\r\n ret[sortedList[a][0]] = sortedList[a][1];\r\n }\r\n return ret;\r\n}\r\n\r\nexport const Columns = (config, onAction, dataSource, setDataSource, sorts, profileSettings, onResize, onResizeStop, onResizeStart, resizeMode, tableWidth) => {\r\n let columnConfigs = CloneObject(config.List.Columns);\r\n const actions = config.List.Actions;\r\n const resource = config.Resource;\r\n const columnSettings = profileSettings &&\r\n profileSettings.screens &&\r\n profileSettings.screens[resource] &&\r\n profileSettings.screens[resource].list &&\r\n profileSettings.screens[resource].list.columns;\r\n\r\n if (columnSettings) {\r\n let cIndex = 0;\r\n for (const field in columnConfigs) {\r\n const column = columnConfigs[field];\r\n column && (column['index'] = columnSettings[field] && columnSettings[field].index ? columnSettings[field].index : cIndex);\r\n\r\n cIndex++;\r\n }\r\n columnConfigs = sorColumnsByIndex(columnConfigs);\r\n }\r\n\r\n columnConfigs['_empty'] =\r\n {\r\n Title: '',\r\n NoSort: true,\r\n Type: ColumnType.Empty\r\n };\r\n const columns = [];\r\n const defaultSorts = [];\r\n let columsTotalWidth = 0;\r\n let emptyWidthColumns = 0;\r\n for (const field in columnConfigs) {\r\n const column = columnConfigs[field];\r\n if (!column) {\r\n continue;\r\n }\r\n let width = column.Width;\r\n if (columnSettings && columnSettings[field] && columnSettings[field].hidden) {\r\n continue;\r\n }\r\n if (columnSettings && columnSettings[field] && columnSettings[field].width) {\r\n width = columnSettings[field].width;\r\n }\r\n if (width) {\r\n columsTotalWidth += width;\r\n }\r\n else if (column.Type !== ColumnType.Empty) {\r\n emptyWidthColumns++;\r\n }\r\n }\r\n columsTotalWidth += (actions ? (actions.Width ? actions.Width : 80) : 0);\r\n let delta = tableWidth - columsTotalWidth;\r\n let approximateColumnWidth = emptyWidthColumns > 0 ? Math.floor(delta / emptyWidthColumns) : 0;\r\n if (approximateColumnWidth > 0) {\r\n columsTotalWidth = 0;\r\n for (const field in columnConfigs) {\r\n const column = columnConfigs[field];\r\n let width = column.Width;\r\n if (columnSettings && columnSettings[field] && columnSettings[field].hidden) {\r\n continue;\r\n }\r\n if (columnSettings && columnSettings[field] && columnSettings[field].width) {\r\n width = columnSettings[field].width;\r\n }\r\n if (width) {\r\n columsTotalWidth += width;\r\n }\r\n else if (column.Type !== ColumnType.Empty) {\r\n columsTotalWidth += approximateColumnWidth;\r\n }\r\n }\r\n columsTotalWidth += (actions ? (actions.Width ? actions.Width : 80) : 0);\r\n delta = tableWidth - columsTotalWidth;\r\n }\r\n const fieldsAtrray = Object.keys(columnConfigs);\r\n const lastField = fieldsAtrray[fieldsAtrray.length - 1];\r\n\r\n const resizeEvents = config.resizable\r\n ? {\r\n onResizeStop: onResizeStop,\r\n onResize: onResize,\r\n onResizeStart: onResizeStart\r\n }\r\n : {};\r\n\r\n for (const field in columnConfigs) {\r\n const column = columnConfigs[field];\r\n if (!column) {\r\n continue;\r\n }\r\n let width = column.Width;// ? column.Width : 80;\r\n if (columnSettings && columnSettings[field] && columnSettings[field].hidden) {\r\n continue;\r\n }\r\n if (columnSettings && columnSettings[field] && columnSettings[field].width) {\r\n width = columnSettings[field].width;\r\n }\r\n if (!width && column.Type !== ColumnType.Empty) {\r\n width = approximateColumnWidth;\r\n }\r\n if (delta > 0 && field === lastField) {\r\n width = delta;\r\n }\r\n\r\n columns.push({\r\n title: {column.Title},\r\n width: width,\r\n dataIndex: field.split('.'),\r\n key: field,\r\n sorter: !column.NoSort,\r\n sortOrder: (sorts && sorts.length && sorts[0].Member === field) ? (sorts[0].SortDirection === 0 ? 'ascend' : 'descend') : false,\r\n defaultSortOrder: !sorts && column.Sorted ? column.Sorted : false,\r\n onHeaderCell: () => ({\r\n width: width,\r\n field: field,\r\n column: column,\r\n ...resizeEvents\r\n }),\r\n render: (text, record) => {\r\n let columnType = column.Type;\r\n if (resizeMode) {\r\n return columnType === ColumnType.Empty ? '' : '...';\r\n }\r\n\r\n let classes = null;\r\n let dataTip = null;\r\n if (typeof (columnType) === 'function') {\r\n [columnType, classes] = column.Type(text, record);\r\n }\r\n\r\n \r\n if (column.DataTitle && column.DataTitleField) {\r\n dataTip = record[column.DataTitleField];\r\n }\r\n\r\n const attributes = getNormalizedAttributes(column.Attributes, record, text);\r\n\r\n if (column.Display && typeof column.Display === 'function' && !column.Display(record)) {\r\n if (config.List.Coloring) {\r\n const bgColor = config.List.Coloring(record, field);\r\n if (bgColor) {\r\n return {\r\n props: {\r\n style: {\r\n backgroundColor: bgColor,\r\n color: InvertColor(bgColor, true)\r\n },\r\n },\r\n children: ''\r\n };\r\n }\r\n return '';\r\n }\r\n else {\r\n return {\r\n props: {\r\n style: classes?.join(' ') === 'empty' ? { background: 'rgb(255, 240, 86)' } : null,\r\n },\r\n children: ''\r\n }\r\n }\r\n }\r\n let children;\r\n const configKey = config.ItemKey ?? config.Key;\r\n const displayText = column.RenderText && typeof column.RenderText === 'function' ? column.RenderText(text, record) : text;\r\n switch (columnType) {\r\n case ColumnType.Date: children = GenerateColumnDate(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Time: children = GenerateColumnTime(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.DateTime: children = GenerateColumnDateTime(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Number: children = GenerateColumnNumber(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Currency: children = GenerateColumnCurrency(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Bool: children = GenerateColumnBool(displayText, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.SimpleIndicator: children = GenerateSimpleColumnIndicator(record, column.DataTitle, attributes); break;\r\n case ColumnType.Indicator: children = GenerateLatestCommentIndicator(record, column.DataTitle, attributes); break;\r\n case ColumnType.StatusIndicator: children = GenerateStatusIndicator(displayText, column.DataTitle, attributes); break;\r\n case ColumnType.CommentIndicator: children = GenerateCommentIndicator(displayText, attributes); break;\r\n case ColumnType.CancelIndicator: children = GenerateCancelIndicator(record, column.DataTitle, attributes); break;\r\n case ColumnType.Badge: children = GenerateColumnBadge(displayText, column.DataTitle, attributes); break;\r\n case ColumnType.Button: children = GenerateColumnButton(record, column, dataSource, record, setDataSource, attributes); break;\r\n case ColumnType.Decimal: children = GenerateColumnDecimal(displayText, dataTip, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Phone: children = GenerateColumnPhone(displayText, dataTip, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.File: children = GenerateColumnFile(displayText, column.FileConfig.FileFieldName, column.FileConfig.Width, column.FileConfig.Height, column.FileConfig.DownloadUrl, record, classes, attributes); break;\r\n case ColumnType.Empty: children = null; break;\r\n case ColumnType.MultilineText: children = GenerateColumnMultilineText(displayText, dataTip, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes); break;\r\n case ColumnType.Text:\r\n default: children = GenerateColumnText(displayText, dataTip, column.LinkAppPage, column.DataTitle, resource, record, configKey, classes, attributes, column.Symbol); break;\r\n }\r\n if (record.isNeedToClarify && window.location.pathname === '/loadplanning/order') {\r\n return {\r\n props: {\r\n style: { background: '#DDC1C1' },\r\n },\r\n children: children\r\n }\r\n }\r\n if (config.List.Coloring) {\r\n const bgColor = config.List.Coloring(record, field);\r\n if (bgColor) {\r\n return {\r\n props: {\r\n style: {\r\n backgroundColor: bgColor,\r\n color: InvertColor(bgColor, true)\r\n },\r\n },\r\n children: children\r\n };\r\n }\r\n return children;\r\n }\r\n else {\r\n return {\r\n props: {\r\n style: classes?.join(' ') === 'empty' ? { background: 'rgb(255, 240, 86)' } : null,\r\n },\r\n children,\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (column.Sorted) {\r\n defaultSorts.push({\r\n Member: field,\r\n SortDirection: column.Sorted === 'ascend' ? 0 : 1\r\n });\r\n }\r\n }\r\n if (actions && actions.Items && actions.Items.length > 0) {\r\n if (actions.Items.includes('NeedToClarify')) {\r\n columns.unshift({\r\n key: Defines.DefaultActionKey,\r\n render: (record) => {\r\n const attributes = getNormalizedAttributes(actions.Attributes, record);\r\n return
    \r\n {GenerateColumnAction(record, [actions.Items[0]], resource, onAction, attributes, actions.hasReference)}\r\n
    \r\n }\r\n });\r\n columns.push({\r\n title: GenerateColumnTitle(CommonLabels.Text.Title.Actions),\r\n width: actions.Width ? actions.Width : 80,\r\n key: Defines.DefaultActionKey,\r\n render: (record) => {\r\n const attributes = getNormalizedAttributes(actions.Attributes, record);\r\n return
    \r\n {GenerateColumnAction(record, [actions.Items[actions.Items.length - 1]], resource, onAction, attributes, actions.hasReference)}\r\n
    \r\n }\r\n });\r\n } \r\n if (actions.Items.includes('CreateGroup')) {\r\n columns.unshift({\r\n key: Defines.DefaultActionKey,\r\n render: (record) => {\r\n const attributes = getNormalizedAttributes(actions.Attributes, record);\r\n return
    \r\n {GenerateColumnAction(record, [actions.Items[1]], resource, onAction, attributes, actions.hasReference)}\r\n
    \r\n }\r\n });\r\n }\r\n }\r\n return [columns, defaultSorts];\r\n};\r\n\r\nexport const getCriteriaQuery = history => {\r\n return getCriteriaQueryFromLocation(history.location);\r\n //const search = history.location.search;\r\n //const searchCriteria = new URLSearchParams(search).get('criteria');\r\n //if (searchCriteria) {\r\n // const decodedSearchCriteria = decodeURI(searchCriteria);\r\n // return decodedSearchCriteria;\r\n //}\r\n //return null;\r\n};\r\n\r\nexport const getCriteriaQueryFromLocation = location => {\r\n const search = location.search;\r\n const searchCriteria = new URLSearchParams(search).get('criteria');\r\n if (searchCriteria) {\r\n const decodedSearchCriteria = decodeURI(searchCriteria);\r\n return decodedSearchCriteria;\r\n }\r\n return null;\r\n};\r\n\r\nexport const buildListFilterQuery = (searchCriteria, filter) => {\r\n const criteria = ParseJson(searchCriteria) || {};\r\n const newFilter = builFilterQueryParams(filter);\r\n criteria.filter = newFilter;\r\n if (!criteria.page && !criteria.pageSize && !criteria.sort && !criteria.filter) {\r\n return '';\r\n }\r\n criteria.current = 1;\r\n return `?criteria=${encodeURI(JSON.stringify(createNewCriteria(criteria)))}`;\r\n};\r\n\r\nexport const buildListSortPaginationQuery = (searchCriteria, sorts, current, pageSize, defaultPageSize) => {\r\n const criteria = ParseJson(searchCriteria) || {};\r\n const newSorts = builFilterQueryParams(sorts);\r\n criteria.sorts = newSorts;\r\n criteria.current = current;\r\n criteria.pageSize = pageSize;\r\n if (!criteria.page && !criteria.pageSize && !criteria.sorts && !criteria.filter) {\r\n return '';\r\n }\r\n return `?criteria=${encodeURI(JSON.stringify(createNewCriteria(criteria)))}`;\r\n};\r\n\r\nconst createNewCriteria = criteria => {\r\n const newCriteria = {};\r\n if (criteria.filter !== null) {\r\n newCriteria.filter = criteria.filter;\r\n }\r\n if (criteria.sorts !== null) {\r\n newCriteria.sorts = criteria.sorts;\r\n }\r\n if (criteria.current !== null) {\r\n newCriteria.current = criteria.current;\r\n }\r\n if (criteria.pageSize !== null) {\r\n newCriteria.pageSize = criteria.pageSize;\r\n }\r\n return newCriteria;\r\n};\r\n\r\nexport const getListCriteria = (searchCriteria) => {\r\n const criteria = ParseJson(searchCriteria);\r\n if (criteria === null) {\r\n return {\r\n current: null,\r\n pageSize: null,\r\n sorts: null,\r\n filter: {}\r\n };\r\n }\r\n if (criteria.current === undefined) {\r\n criteria.current = null;\r\n }\r\n if (criteria.pageSize === undefined) {\r\n criteria.pageSize = null;\r\n }\r\n if (criteria.sorts === undefined) {\r\n criteria.sorts = null;\r\n }\r\n if (criteria.filter === undefined) {\r\n criteria.filter = {};\r\n }\r\n\r\n return criteria;\r\n};\r\n\r\nexport const getListFilter = (searchCriteria) => {\r\n return getListCriteria(searchCriteria).filter;\r\n};\r\n\r\nconst builFilterQueryParams = inputO => {\r\n let outputO = null;\r\n if (Array.isArray(inputO)) {\r\n outputO = [];\r\n for (let i in inputO) {\r\n const r = builFilterQueryParams(inputO[i]);\r\n if (r !== null) {\r\n outputO.push(r);\r\n }\r\n }\r\n if (outputO.length === 0) {\r\n outputO = null;\r\n }\r\n }\r\n else if (typeof (inputO) === 'object') {\r\n if (inputO) {\r\n outputO = {};\r\n let replaceNull = true;\r\n for (let k in Object.keys(inputO)) {\r\n const ok = Object.keys(inputO)[k];\r\n const o = inputO[ok];\r\n const r = builFilterQueryParams(o);\r\n if (r !== null) {\r\n outputO[ok] = builFilterQueryParams(o);\r\n replaceNull = false;\r\n }\r\n }\r\n if (replaceNull) {\r\n outputO = null;\r\n }\r\n }\r\n }\r\n else {\r\n if (inputO !== null && String(inputO) !== '') {\r\n outputO = inputO;\r\n }\r\n }\r\n return outputO;\r\n};","export const GET_CALL_CHECK_LOADING = 'GET_CALL_CHECK_LOADING';\r\nexport const GET_CALL_CHECK = 'GET_CALL_CHECK';\r\nexport const FILTER_CALL_CHECKS = 'FILTER_CALL_CHECKS';\r\nexport const CALL_CHECK_ERROR = 'CALL_CHECK_ERROR';\r\nexport const RELOAD_ON_ERROR_CALL_CHECK = 'RELOAD_ON_ERROR_CALL_CHECK';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const SET_HEADER_WIDTH_CALL_CHECK = 'SET_HEADER_WIDTH_CALL_CHECK';\r\nexport const REACTED_ASSIGNED = 'REACTED_ASSIGNED';\r\nexport const REACTED_ASSIGNEDS = 'REACTED_ASSIGNEDS';\r\nexport const SET_CALL_CHECK_DATA = 'SET_CALL_CHECK_DATA';\r\nexport const GET_HISTORY_CALL_CHECK = 'GET_HISTORY_CALL_CHECK';\r\nexport const GET_HISTORY_CALL_CHECK_LOADING = 'GET_HISTORY_CALL_CHECK_LOADING';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return CALL_CHECK_BUILD[key];\r\n};\r\n\r\nexport const CALL_CHECK_BUILD = {\r\n GET_CALL_CHECK: 'GET_CALL_CHECK',\r\n GET_CALL_CHECK_LOADING: 'GET_CALL_CHECK_LOADING',\r\n FILTER_CALL_CHECKS: 'FILTER_CALL_CHECKS',\r\n CALL_CHECK_ERROR: 'CALL_CHECK_ERROR',\r\n RELOAD_ON_ERROR_CALL_CHECK: 'RELOAD_ON_ERROR_CALL_CHECK',\r\n SET_HEADER_WIDTH_CALL_CHECK: 'SET_HEADER_WIDTH_CALL_CHECK',\r\n SET_DISPLAY_STATE: 'SET_DISPLAY_STATE',\r\n REACTED_ASSIGNED: 'CALL_CHECK_REACTED_ASSIGNED',\r\n REACTED_ASSIGNEDS: 'CALL_CHECK_REACTED_ASSIGNEDS',\r\n SET_CALL_CHECK_DATA: 'SET_CALL_CHECK_DATA',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_HISTORY_CALL_CHECK: 'GET_HISTORY_CALL_CHECK',\r\n GET_HISTORY_CALL_CHECK_LOADING: 'GET_HISTORY_CALL_CHECK_LOADING',\r\n};\r\n","import React from 'react';\r\nimport packageJson from '../package.json';\r\nglobal.appVersion = packageJson.version;\r\n\r\n// version from response - first param, local version second param\r\nconst semverGreaterThan = (versionA, versionB) => {\r\n const versionsA = versionA.split(/\\./g);\r\n\r\n const versionsB = versionB.split(/\\./g);\r\n while (versionsA.length || versionsB.length) {\r\n const a = Number(versionsA.shift());\r\n\r\n const b = Number(versionsB.shift());\r\n // eslint-disable-next-line no-continue\r\n if (a === b) continue;\r\n // eslint-disable-next-line no-restricted-globals\r\n return a > b || isNaN(b);\r\n }\r\n return false;\r\n //return false;\r\n};\r\n\r\nclass CacheBuster extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loadingApp: true,\r\n isLatestVersion: false,\r\n refreshCacheAndReload: () => {\r\n //console.log('Clearing cache and hard reloading...')\r\n if (caches) {\r\n // Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function (names) {\r\n for (let name of names) caches.delete(name);\r\n });\r\n }\r\n\r\n // delete browser cache and hard reload\r\n window.location.reload(true);\r\n }\r\n };\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n const myHeaders = new Headers();\r\n myHeaders.append('pragma', 'no-cache');\r\n myHeaders.append('cache-control', 'no-cache');\r\n\r\n const myRequest = new Request('/meta.json');\r\n\r\n var myInit = {\r\n method: 'GET',\r\n headers: myHeaders,\r\n };\r\n\r\n fetch(myRequest, myInit)\r\n .then((response) => response.json())\r\n .then((meta) => {\r\n const latestVersion = meta.version;\r\n const currentVersion = global.appVersion;\r\n\r\n const shouldForceRefresh = semverGreaterThan(latestVersion, currentVersion);\r\n if (shouldForceRefresh) {\r\n //console.log(`We have a new version - ${latestVersion}. Should force refresh`);\r\n this.setState({ loadingApp: false, isLatestVersion: false });\r\n } else {\r\n //console.log(`You already have the latest version - ${latestVersion}. No cache refresh needed.`);\r\n this.setState({ loadingApp: false, isLatestVersion: true });\r\n }\r\n });\r\n }\r\n render() {\r\n const { loadingApp, isLatestVersion, refreshCacheAndReload } = this.state;\r\n return this.props.children({ loadingApp, isLatestVersion, refreshCacheAndReload });\r\n }\r\n}\r\n\r\nexport default CacheBuster;","export const GET_DELIVERED_TRUCKS_LOADING = 'GET_DELIVERED_TRUCKS_LOADING';\r\nexport const GET_DELIVERED_TRUCKS = 'GET_DELIVERED_TRUCKS';\r\nexport const FILTER_DELIVERED_TRUCKS = 'FILTER_DELIVERED_TRUCKS';\r\nexport const DELIVERED_TRUCKS_ERROR = 'DELIVERED_TRUCKS_ERROR';\r\nexport const RELOAD_ON_ERROR_DELIVERED_TRUCKS = 'RELOAD_ON_ERROR_DELIVERED_TRUCKS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE_DELIVERED_TRUCKS = 'SET_DISPLAY_STATE_DELIVERED_TRUCKS';\r\nexport const SET_HEADER_WIDTH_DELIVERED_TRUCKS = 'SET_HEADER_WIDTH_DELIVERED_TRUCKS';\r\nexport const REACTED_ASSIGNED_DELIVERED_TRUCKS = 'REACTED_ASSIGNED_DELIVERED_TRUCKS';\r\nexport const SET_DELIVERED_TRUCKS_DATA = 'SET_DELIVERED_TRUCKS_DATA';\r\nexport const SORT_DELIVERED_TRUCKS = 'SORT_DELIVERED_TRUCKS';\r\nexport const GET_HISTORY_DELIVERED_TRUCKS_LOADING = 'GET_HISTORY_DELIVERED_TRUCKS_LOADING';\r\nexport const GET_HISTORY_DELIVERED_TRUCKS = 'GET_HISTORY_DELIVERED_TRUCKS';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return DELIVERED_TRUCKS_BUILD[key];\r\n};\r\n\r\nexport const DELIVERED_TRUCKS_BUILD = {\r\n GET_DELIVERED_TRUCKS: 'GET_DELIVERED_TRUCKS',\r\n GET_DELIVERED_TRUCKS_LOADING: 'GET_DELIVERED_TRUCKS_LOADING',\r\n FILTER_DELIVERED_TRUCKS: 'FILTER_DELIVERED_TRUCKS',\r\n DELIVERED_TRUCKS_ERROR: 'DELIVERED_TRUCKS_ERROR',\r\n SORT_DELIVERED_TRUCKS: 'SORT_DELIVERED_TRUCKS',\r\n RELOAD_ON_ERROR_DELIVERED_TRUCKS: 'RELOAD_ON_ERROR_DELIVERED_TRUCKS',\r\n SET_HEADER_WIDTH_DELIVERED_TRUCKS: 'SET_HEADER_WIDTH_DELIVERED_TRUCKS',\r\n SET_DISPLAY_STATE_DELIVERED_TRUCKS: 'SET_DISPLAY_STATE_DELIVERED_TRUCKS',\r\n REACTED_ASSIGNED_DELIVERED_TRUCKS: 'REACTED_ASSIGNED_DELIVERED_TRUCKS',\r\n SET_DELIVERED_TRUCKS_DATA: 'SET_DELIVERED_TRUCKS_DATA',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_HISTORY_DELIVERED_TRUCKS_LOADING: 'GET_HISTORY_DELIVERED_TRUCKS_LOADING',\r\n GET_HISTORY_DELIVERED_TRUCKS: 'GET_HISTORY_DELIVERED_TRUCKS',\r\n};\r\n","export const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_NEW_ORDERS = 'SET_HEADER_WIDTH_NEW_ORDERS';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const GET_CUSTOMER_ORDERS_NEW_ORDERS = 'GET_CUSTOMER_ORDERS_NEW_ORDERS';\r\nexport const CUSTOMER_ORDERS_LOADING = 'CUSTOMER_ORDERS_LOADING'; \r\nexport const SORT_ORDERS_NEW_ORDERS = 'SORT_ORDERS_NEW_ORDERS';\r\nexport const DELETE_CUSTOMER_ORDER_LOADING = 'DELETE_CUSTOMER_ORDER_LOADING';\r\nexport const DELETE_CUSTOMER_ORDER = 'DELETE_CUSTOMER_ORDER';\r\nexport const ADD_CUSTOMER_ORDER_LOADING = 'ADD_CUSTOMER_ORDER_LOADING';\r\nexport const ADD_CUSTOMER_ORDER = 'ADD_CUSTOMER_ORDER';\r\nexport const EDIT_CUSTOMER_ORDER_LOADING = 'EDIT_CUSTOMER_ORDER_LOADING';\r\nexport const EDIT_CUSTOMER_ORDER = 'EDIT_CUSTOMER_ORDER';\r\nexport const SET_FORM_VALUES = 'SET_FORM_VALUES';\r\nexport const RESET_ORDER_ADDED = 'RESET_ORDER_ADDED';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n ERROR: 'ERROR',\r\n SET_HEADER_WIDTH_NEW_ORDERS: 'SET_HEADER_WIDTH_NEW_ORDERS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CUSTOMER_ORDERS_NEW_ORDERS: 'GET_CUSTOMER_ORDERS_NEW_ORDERS',\r\n CUSTOMER_ORDERS_LOADING: 'CUSTOMER_ORDERS_LOADING',\r\n SORT_ORDERS_NEW_ORDERS: 'SORT_ORDERS_NEW_ORDERS',\r\n DELETE_CUSTOMER_ORDER_LOADING: 'DELETE_CUSTOMER_ORDER_LOADING',\r\n DELETE_CUSTOMER_ORDER: 'DELETE_CUSTOMER_ORDER',\r\n ADD_CUSTOMER_ORDER_LOADING: 'ADD_CUSTOMER_ORDER_LOADING',\r\n ADD_CUSTOMER_ORDER: 'ADD_CUSTOMER_ORDER',\r\n EDIT_CUSTOMER_ORDER_LOADING: 'EDIT_CUSTOMER_ORDER_LOADING',\r\n EDIT_CUSTOMER_ORDER: 'EDIT_CUSTOMER_ORDER',\r\n SET_FORM_VALUES: 'SET_FORM_VALUES',\r\n RESET_ORDER_ADDED: 'RESET_ORDER_ADDED',\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { message } from 'antd';\r\n\r\nconst errorHandler = (OriginalComponent, axios) => {\r\n return props => {\r\n const reqInterceptor = axios.interceptors.request.use(req => {\r\n return req;\r\n });\r\n\r\n const resInterceptor = axios.interceptors.response.use(\r\n res => {\r\n if (res && res.data && res.data.hasError) {\r\n message.error(res.data.message);\r\n return null;\r\n }\r\n return res;\r\n },\r\n err => {\r\n let error = err;\r\n console.error(error);\r\n let errorMessage = 'Something go wrong!';\r\n if (err.response) {\r\n switch (err.response.status) {\r\n case 401:\r\n errorMessage = 'Unauthorized';\r\n break;\r\n case 403:\r\n errorMessage = 'Access denied!';\r\n break;\r\n default:\r\n errorMessage = 'Something go wrong!';\r\n break;\r\n }\r\n }\r\n message.error(errorMessage);\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n return () => {\r\n axios.interceptors.request.eject(reqInterceptor);\r\n axios.interceptors.response.eject(resInterceptor);\r\n };\r\n }, [reqInterceptor, resInterceptor]);\r\n return ;\r\n };\r\n};\r\n\r\nexport default errorHandler;","export const ERROR = 'ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_HEADER_WIDTH_ORDER_ADMIN = 'SET_HEADER_WIDTH_ORDER_ADMIN';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const GET_CUSTOMER_ORDER_ADMIN = 'GET_CUSTOMER_ORDER_ADMIN';\r\nexport const CUSTOMER_ORDER_ADMIN_LOADING = 'CUSTOMER_ORDER_ADMIN_LOADING';\r\nexport const FILTER_BY_CUSTOMER = 'FILTER_BY_CUSTOMER';\r\nexport const GENERATE_CUSTOMER_ORDER = 'GENERATE_CUSTOMER_ORDER';\r\nexport const GENERATE_CUSTOMER_ORDER_LOADING = 'GENERATE_CUSTOMER_ORDER_LOADING';\r\nexport const SORT_ORDERS_ADMIN = 'SORT_ORDERS_ADMIN';\r\nexport const REJECT_CUSTOMER_ORDER_LOADING = 'REJECT_CUSTOMER_ORDER_LOADING';\r\nexport const REJECT_CUSTOMER_ORDER = 'REJECT_CUSTOMER_ORDER';\r\nexport const NEW_REQUEST_ORDERS_COUNT = 'NEW_REQUEST_ORDERS_COUNT';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n ERROR: 'ERROR',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_HEADER_WIDTH_ORDER_ADMIN: 'SET_HEADER_WIDTH_ORDER_ADMIN',\r\n GET_CUSTOMER_ORDER_ADMIN: 'GET_CUSTOMER_ORDER_ADMIN',\r\n CUSTOMER_ORDER_ADMIN_LOADING: 'CUSTOMER_ORDER_ADMIN_LOADING',\r\n FILTER_BY_CUSTOMER: 'FILTER_BY_CUSTOMER',\r\n GENERATE_CUSTOMER_ORDER: 'GENERATE_CUSTOMER_ORDER',\r\n GENERATE_CUSTOMER_ORDER_LOADING: 'GENERATE_CUSTOMER_ORDER_LOADING',\r\n SORT_ORDERS_ADMIN: 'SORT_ORDERS_ADMIN',\r\n REJECT_CUSTOMER_ORDER_LOADING: 'REJECT_CUSTOMER_ORDER_LOADING',\r\n REJECT_CUSTOMER_ORDER: 'REJECT_CUSTOMER_ORDER',\r\n NEW_REQUEST_ORDERS_COUNT: 'NEW_REQUEST_ORDERS_COUNT',\r\n\r\n};\r\n","export const GET_DELIVERED_LOADS_LOADING = 'GET_DELIVERED_LOADS_LOADING';\r\nexport const GET_DELIVERED_LOADS = 'GET_DELIVERED_LOADS';\r\nexport const DELIVERED_LOADS_ERROR = 'DELIVERED_LOADS_ERROR';\r\nexport const REACTED_ASSIGNED_DELIVERED_LOADS = 'REACTED_ASSIGNED_DELIVERED_LOADS';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const FILTER_DELIVERED_LOADS = 'FILTER_DELIVERED_LOADS';\r\nexport const RELOAD_ON_ERROR_DELIVERED_LOADS = 'RELOAD_ON_ERROR_DELIVERED_LOADS';\r\nexport const SET_DISPLAY_STATE_DELIVERED_LOADS = 'SET_DISPLAY_STATE_DELIVERED_LOADS';\r\nexport const SET_HEADER_WIDTH_DELIVERED_LOADS = 'SET_HEADER_WIDTH_DELIVERED_LOADS';\r\nexport const SET_DELIVERED_LOADS_DATA = 'SET_DELIVERED_LOADS_DATA';\r\nexport const SORT_DELIVERED_LOADS = 'SORT_DELIVERED_LOADS';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return DELIVERED_LOADS_BUILD[key];\r\n};\r\n\r\nexport const DELIVERED_LOADS_BUILD = {\r\n GET_DELIVERED_LOADS: 'GET_DELIVERED_LOADS',\r\n GET_DELIVERED_LOADS_LOADING: 'GET_DELIVERED_LOADS_LOADING',\r\n DELIVERED_LOADS_ERROR: 'DELIVERED_LOADS_ERROR',\r\n RESET_ERROR: 'RESET_ERROR',\r\n REACTED_ASSIGNED_DELIVERED_LOADS: 'REACTED_ASSIGNED_DELIVERED_LOADS',\r\n FILTER_DELIVERED_LOADS: 'FILTER_DELIVERED_LOADS',\r\n SORT_DELIVERED_LOADS: 'SORT_DELIVERED_LOADS',\r\n RELOAD_ON_ERROR_DELIVERED_LOADS: 'RELOAD_ON_ERROR_DELIVERED_LOADS',\r\n SET_HEADER_WIDTH_DELIVERED_LOADS: 'SET_HEADER_WIDTH_DELIVERED_LOADS',\r\n SET_DISPLAY_STATE_DELIVERED_LOADS: 'SET_DISPLAY_STATE_DELIVERED_LOADS',\r\n SET_DELIVERED_LOADS_DATA: 'SET_DELIVERED_LOADS_DATA',\r\n};\r\n","export const LOAD = 'LOAD';\r\nexport const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_TRAFFIC = 'SET_HEADER_WIDTH_TRAFFIC';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR_TRAFFIC = 'RELOAD_ON_ERROR_TRAFFIC';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const UPDATE_LOAD_DATA = 'UPDATE_LOAD_DATA';\r\nexport const RE_ORDER_LOADS = 'RE_ORDER_LOADS';\r\n\r\nexport const GET_TRAFFIC_CONTROL = 'GET_TRAFFIC_CONTROL';\r\nexport const TRAFFIC_LOADING = 'TRAFFIC_LOADING';\r\nexport const SET_DATA = 'SET_DATA';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const UPDATE_LOAD_STATUS = 'UPDATE_LOAD_STATUS';\r\nexport const SET_LOAD_NEED_ID = 'SET_LOAD_NEED_ID';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return TRAFFIC_CONTROL_BUILD[key]\r\n};\r\n\r\nexport const TRAFFIC_CONTROL_BUILD = {\r\n TRAFFIC_LOADING: 'TRAFFIC_LOADING',\r\n GET_TRAFFIC_CONTROL: 'GET_TRAFFIC_CONTROL',\r\n SET_DATA: 'SET_DATA',\r\n SET_DISPLAY_STATE: 'SET_DISPLAY_STATE',\r\n UPDATE_LOAD_STATUS: 'UPDATE_LOAD_STATUS',\r\n RE_ORDER_LOADS: 'RE_ORDER_LOADS',\r\n RELOAD_ON_ERROR_TRAFFIC: 'RELOAD_ON_ERROR_TRAFFIC',\r\n ERROR: 'ERROR',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_HEADER_WIDTH_TRAFFIC: 'SET_HEADER_WIDTH_TRAFFIC',\r\n SET_LOAD_NEED_ID: 'SET_LOAD_NEED_ID'\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/tstWarehouse.5f0df52e.png\";","module.exports = __webpack_public_path__ + \"static/media/warehouse.d48ce46c.png\";","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\r\n\r\nvar _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; };\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _rcTrigger = require('rc-trigger');\r\n\r\nvar _rcTrigger2 = _interopRequireDefault(_rcTrigger);\r\n\r\nvar _Panel = require('./Panel');\r\n\r\nvar _Panel2 = _interopRequireDefault(_Panel);\r\n\r\nvar _placements = require('./placements');\r\n\r\nvar _placements2 = _interopRequireDefault(_placements);\r\n\r\nvar _color = require('./helpers/color');\r\n\r\nvar _color2 = _interopRequireDefault(_color);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nfunction refFn(field, component) {\r\n this[field] = component;\r\n}\r\n\r\nfunction prevent(e) {\r\n e.preventDefault();\r\n}\r\n\r\nvar ColorPicker = function (_React$Component) {\r\n _inherits(ColorPicker, _React$Component);\r\n\r\n function ColorPicker(props) {\r\n _classCallCheck(this, ColorPicker);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n var alpha = typeof props.alpha === 'undefined' ? props.defaultAlpha : Math.min(props.alpha, props.defaultAlpha);\r\n\r\n _this.state = {\r\n color: props.color || props.defaultColor,\r\n alpha: alpha,\r\n open: false\r\n };\r\n\r\n var events = ['onTriggerClick', 'onChange', 'onBlur', 'getPickerElement', 'getRootDOMNode', 'getTriggerDOMNode', 'onVisibleChange', 'onPanelMount', 'setOpen', 'open', 'close', 'focus'];\r\n\r\n events.forEach(function (e) {\r\n _this[e] = _this[e].bind(_this);\r\n });\r\n\r\n _this.saveTriggerRef = refFn.bind(_this, 'triggerInstance');\r\n return _this;\r\n }\r\n\r\n ColorPicker.prototype.UNSAFE_componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\r\n if (nextProps.color) {\r\n this.setState({\r\n color: nextProps.color\r\n });\r\n }\r\n if (nextProps.alpha !== null && nextProps.alpha !== undefined) {\r\n this.setState({\r\n alpha: nextProps.alpha\r\n });\r\n }\r\n };\r\n\r\n ColorPicker.prototype.onTriggerClick = function onTriggerClick() {\r\n this.setState({\r\n open: !this.state.open\r\n });\r\n };\r\n\r\n ColorPicker.prototype.onChange = function onChange(colors) {\r\n var _this2 = this;\r\n\r\n this.setState(_extends({}, colors), function () {\r\n _this2.props.onChange(_this2.state);\r\n });\r\n };\r\n\r\n ColorPicker.prototype.onBlur = function onBlur() {\r\n this.setOpen(false);\r\n };\r\n\r\n ColorPicker.prototype.onVisibleChange = function onVisibleChange(open) {\r\n this.setOpen(open);\r\n };\r\n\r\n ColorPicker.prototype.onPanelMount = function onPanelMount(panelDOMRef) {\r\n if (this.state.open) {\r\n setTimeout(function () {\r\n panelDOMRef.focus();\r\n }, 1);\r\n }\r\n };\r\n\r\n ColorPicker.prototype.setOpen = function setOpen(open, callback) {\r\n var _this3 = this;\r\n\r\n if (this.state.open !== open) {\r\n this.setState({\r\n open: open\r\n }, function () {\r\n if (typeof callback === 'function') callback();\r\n var _props = _this3.props,\r\n onOpen = _props.onOpen,\r\n onClose = _props.onClose;\r\n\r\n if (_this3.state.open) {\r\n onOpen(_this3.state);\r\n } else {\r\n onClose(_this3.state);\r\n }\r\n });\r\n }\r\n };\r\n\r\n ColorPicker.prototype.getRootDOMNode = function getRootDOMNode() {\r\n return (0, _reactDom.findDOMNode)(this);\r\n };\r\n\r\n ColorPicker.prototype.getTriggerDOMNode = function getTriggerDOMNode() {\r\n return (0, _reactDom.findDOMNode)(this.triggerInstance);\r\n };\r\n\r\n ColorPicker.prototype.getPickerElement = function getPickerElement() {\r\n // const state = this.state;\r\n return _react2[\"default\"].createElement(_Panel2[\"default\"], {\r\n onMount: this.onPanelMount,\r\n defaultColor: this.state.color,\r\n alpha: this.state.alpha,\r\n enableAlpha: this.props.enableAlpha,\r\n prefixCls: this.props.prefixCls + '-panel',\r\n onChange: this.onChange,\r\n onBlur: this.onBlur,\r\n mode: this.props.mode,\r\n className: this.props.className\r\n });\r\n };\r\n\r\n ColorPicker.prototype.open = function open(callback) {\r\n this.setOpen(true, callback);\r\n };\r\n\r\n ColorPicker.prototype.close = function close(callback) {\r\n this.setOpen(false, callback);\r\n };\r\n\r\n ColorPicker.prototype.focus = function focus() {\r\n if (!this.state.open) {\r\n (0, _reactDom.findDOMNode)(this).focus();\r\n }\r\n };\r\n\r\n ColorPicker.prototype.render = function render() {\r\n var props = this.props;\r\n var state = this.state;\r\n var classes = [props.prefixCls + '-wrap', props.className];\r\n if (state.open) {\r\n classes.push(props.prefixCls + '-open');\r\n }\r\n\r\n var children = props.children;\r\n\r\n var _RGB = _slicedToArray(new _color2[\"default\"](this.state.color).RGB, 3),\r\n r = _RGB[0],\r\n g = _RGB[1],\r\n b = _RGB[2];\r\n\r\n var RGBA = [r, g, b];\r\n\r\n RGBA.push(this.state.alpha / 100);\r\n\r\n if (children) {\r\n children = _react2[\"default\"].cloneElement(children, {\r\n ref: this.saveTriggerRef,\r\n unselectable: 'unselectable',\r\n style: {\r\n backgroundColor: 'rgba(' + RGBA.join(',') + ')'\r\n },\r\n onClick: this.onTriggerClick,\r\n onMouseDown: prevent\r\n });\r\n }\r\n\r\n var prefixCls = props.prefixCls,\r\n placement = props.placement,\r\n style = props.style,\r\n getCalendarContainer = props.getCalendarContainer,\r\n align = props.align,\r\n animation = props.animation,\r\n disabled = props.disabled,\r\n transitionName = props.transitionName;\r\n\r\n\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: classes.join(' ') },\r\n _react2[\"default\"].createElement(\r\n _rcTrigger2[\"default\"],\r\n {\r\n popup: this.getPickerElement(),\r\n popupAlign: align,\r\n builtinPlacements: _placements2[\"default\"],\r\n popupPlacement: placement,\r\n action: disabled ? [] : ['click'],\r\n destroyPopupOnHide: true,\r\n getPopupContainer: getCalendarContainer,\r\n popupStyle: style,\r\n popupAnimation: animation,\r\n popupTransitionName: transitionName,\r\n popupVisible: state.open,\r\n onPopupVisibleChange: this.onVisibleChange,\r\n prefixCls: prefixCls\r\n },\r\n children\r\n )\r\n );\r\n };\r\n\r\n return ColorPicker;\r\n}(_react2[\"default\"].Component);\r\n\r\nexports[\"default\"] = ColorPicker;\r\n\r\n\r\nColorPicker.propTypes = {\r\n defaultColor: _propTypes2[\"default\"].string,\r\n defaultAlpha: _propTypes2[\"default\"].number,\r\n // can custom\r\n alpha: _propTypes2[\"default\"].number,\r\n children: _propTypes2[\"default\"].node.isRequired,\r\n className: _propTypes2[\"default\"].string,\r\n color: _propTypes2[\"default\"].string,\r\n enableAlpha: _propTypes2[\"default\"].bool,\r\n mode: _propTypes2[\"default\"].oneOf(['RGB', 'HSL', 'HSB']),\r\n onChange: _propTypes2[\"default\"].func,\r\n onClose: _propTypes2[\"default\"].func,\r\n onOpen: _propTypes2[\"default\"].func,\r\n placement: _propTypes2[\"default\"].oneOf(['topLeft', 'topRight', 'bottomLeft', 'bottomRight']),\r\n prefixCls: _propTypes2[\"default\"].string.isRequired,\r\n style: _propTypes2[\"default\"].object\r\n};\r\n\r\nColorPicker.defaultProps = {\r\n defaultColor: '#F00',\r\n defaultAlpha: 100,\r\n onChange: function onChange() {},\r\n onOpen: function onOpen() {},\r\n onClose: function onClose() {},\r\n\r\n children: _react2[\"default\"].createElement('span', { className: 'rc-color-picker-trigger' }),\r\n className: '',\r\n enableAlpha: true,\r\n placement: 'topLeft',\r\n prefixCls: 'rc-color-picker',\r\n style: {}\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _addEventListener = require('rc-util/lib/Dom/addEventListener');\r\n\r\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\r\n\r\nvar _color = require('./helpers/color');\r\n\r\nvar _color2 = _interopRequireDefault(_color);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nvar WIDTH = 200;\r\nvar HEIGHT = 150;\r\n\r\nvar Board = function (_React$Component) {\r\n _inherits(Board, _React$Component);\r\n\r\n function Board(props) {\r\n _classCallCheck(this, Board);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _this.onBoardMouseDown = function (e) {\r\n var buttons = e.buttons;\r\n\r\n // only work on left click\r\n // @see https://developer.mozilla.org/en-US/docs/Web/Events/mousedown\r\n if (buttons !== 1) return;\r\n\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n _this.removeListeners();\r\n _this.dragListener = (0, _addEventListener2[\"default\"])(window, 'mousemove', _this.onBoardDrag);\r\n _this.dragUpListener = (0, _addEventListener2[\"default\"])(window, 'mouseup', _this.onBoardDragEnd);\r\n };\r\n\r\n _this.onBoardTouchStart = function (e) {\r\n if (e.touches.length !== 1) {\r\n return;\r\n }\r\n _this.removeTouchListeners();\r\n var x = e.targetTouches[0].clientX;\r\n var y = e.targetTouches[0].clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n _this.touchMoveListener = (0, _addEventListener2[\"default\"])(window, 'touchmove', _this.onBoardTouchMove);\r\n _this.touchEndListener = (0, _addEventListener2[\"default\"])(window, 'touchend', _this.onBoardTouchEnd);\r\n };\r\n\r\n _this.onBoardTouchMove = function (e) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n\r\n var x = e.targetTouches[0].clientX;\r\n var y = e.targetTouches[0].clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n };\r\n\r\n _this.onBoardTouchEnd = function () {\r\n _this.removeTouchListeners();\r\n };\r\n\r\n _this.onBoardDrag = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n };\r\n\r\n _this.onBoardDragEnd = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n _this.removeListeners();\r\n };\r\n\r\n _this.getPrefixCls = function () {\r\n return _this.props.rootPrefixCls + '-board';\r\n };\r\n\r\n _this.removeTouchListeners = function () {\r\n if (_this.touchMoveListener) {\r\n _this.touchMoveListener.remove();\r\n _this.touchMoveListener = null;\r\n }\r\n if (_this.touchEndListener) {\r\n _this.touchEndListener.remove();\r\n _this.touchEndListener = null;\r\n }\r\n };\r\n\r\n _this.removeListeners = function () {\r\n if (_this.dragListener) {\r\n _this.dragListener.remove();\r\n _this.dragListener = null;\r\n }\r\n if (_this.dragUpListener) {\r\n _this.dragUpListener.remove();\r\n _this.dragUpListener = null;\r\n }\r\n };\r\n\r\n _this.pointMoveTo = function (pos) {\r\n var rect = _reactDom2[\"default\"].findDOMNode(_this).getBoundingClientRect();\r\n var left = pos.x - rect.left;\r\n var top = pos.y - rect.top;\r\n\r\n var rWidth = rect.width || WIDTH;\r\n var rHeight = rect.height || HEIGHT;\r\n\r\n left = Math.max(0, left);\r\n left = Math.min(left, rWidth);\r\n top = Math.max(0, top);\r\n top = Math.min(top, rHeight);\r\n\r\n var color = _this.props.color;\r\n\r\n\r\n color.saturation = left / rWidth;\r\n color.brightness = 1 - top / rHeight;\r\n\r\n _this.props.onChange(color);\r\n };\r\n\r\n return _this;\r\n }\r\n\r\n Board.prototype.componentWillUnmount = function componentWillUnmount() {\r\n this.removeListeners();\r\n this.removeTouchListeners();\r\n };\r\n\r\n /**\r\n * 移动光标位置到\r\n * @param {object} pos X Y 全局坐标点\r\n */\r\n\r\n\r\n Board.prototype.render = function render() {\r\n var prefixCls = this.getPrefixCls();\r\n var color = this.props.color;\r\n\r\n var hueHsv = {\r\n h: color.hue,\r\n s: 1,\r\n v: 1\r\n };\r\n\r\n var hueColor = new _color2[\"default\"](hueHsv).toHexString();\r\n\r\n var xRel = color.saturation * 100;\r\n var yRel = (1 - color.brightness) * 100;\r\n\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls },\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-hsv', style: { backgroundColor: hueColor } },\r\n _react2[\"default\"].createElement('div', { className: prefixCls + '-value' }),\r\n _react2[\"default\"].createElement('div', { className: prefixCls + '-saturation' })\r\n ),\r\n _react2[\"default\"].createElement('span', { style: { left: xRel + '%', top: yRel + '%' } }),\r\n _react2[\"default\"].createElement('div', {\r\n className: prefixCls + '-handler',\r\n onMouseDown: this.onBoardMouseDown,\r\n onTouchStart: this.onBoardTouchStart\r\n })\r\n );\r\n };\r\n\r\n return Board;\r\n}(_react2[\"default\"].Component);\r\n\r\n/**\r\n * hsv\r\n * h: range(0, 359)\r\n * s: range(0, 1)\r\n * v: range(0, 1)\r\n */\r\n\r\nexports[\"default\"] = Board;\r\nBoard.propTypes = {\r\n color: _propTypes2[\"default\"].object,\r\n onChange: _propTypes2[\"default\"].func,\r\n rootPrefixCls: _propTypes2[\"default\"].string\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _color = require('./helpers/color');\r\n\r\nvar _color2 = _interopRequireDefault(_color);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nvar Preview = function (_React$Component) {\r\n _inherits(Preview, _React$Component);\r\n\r\n function Preview() {\r\n var _temp, _this, _ret;\r\n\r\n _classCallCheck(this, Preview);\r\n\r\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key];\r\n }\r\n\r\n _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.onChange = function (e) {\r\n var value = e.target.value;\r\n var color = new _color2[\"default\"](value);\r\n _this.props.onChange(color);\r\n e.stopPropagation();\r\n }, _this.getPrefixCls = function () {\r\n return _this.props.rootPrefixCls + '-preview';\r\n }, _temp);\r\n\r\n return _possibleConstructorReturn(_this, _ret);\r\n }\r\n\r\n Preview.prototype.render = function render() {\r\n var prefixCls = this.getPrefixCls();\r\n var hex = this.props.color.toHexString();\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls },\r\n _react2[\"default\"].createElement('span', {\r\n style: {\r\n backgroundColor: hex,\r\n opacity: this.props.alpha / 100\r\n }\r\n }),\r\n _react2[\"default\"].createElement('input', {\r\n type: 'color',\r\n value: hex,\r\n onChange: this.onChange,\r\n onClick: this.props.onInputClick\r\n })\r\n );\r\n };\r\n\r\n return Preview;\r\n}(_react2[\"default\"].Component);\r\n\r\nexports[\"default\"] = Preview;\r\n\r\n\r\nPreview.propTypes = {\r\n rootPrefixCls: _propTypes2[\"default\"].string,\r\n color: _propTypes2[\"default\"].object,\r\n alpha: _propTypes2[\"default\"].number,\r\n onChange: _propTypes2[\"default\"].func,\r\n onInputClick: _propTypes2[\"default\"].func\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _addEventListener = require('rc-util/lib/Dom/addEventListener');\r\n\r\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nvar Ribbon = function (_React$Component) {\r\n _inherits(Ribbon, _React$Component);\r\n\r\n function Ribbon(props) {\r\n _classCallCheck(this, Ribbon);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _this.onMouseDown = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n\r\n _this.dragListener = (0, _addEventListener2[\"default\"])(window, 'mousemove', _this.onDrag);\r\n _this.dragUpListener = (0, _addEventListener2[\"default\"])(window, 'mouseup', _this.onDragEnd);\r\n };\r\n\r\n _this.onDrag = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n };\r\n\r\n _this.onDragEnd = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n _this.removeListeners();\r\n };\r\n\r\n _this.getPrefixCls = function () {\r\n return _this.props.rootPrefixCls + '-ribbon';\r\n };\r\n\r\n _this.pointMoveTo = function (coords) {\r\n var rect = _reactDom2[\"default\"].findDOMNode(_this).getBoundingClientRect();\r\n var width = rect.width;\r\n var left = coords.x - rect.left;\r\n left = Math.max(0, left);\r\n left = Math.min(left, width);\r\n\r\n var huePercent = left / width;\r\n var hue = huePercent * 360;\r\n\r\n var color = _this.props.color;\r\n\r\n\r\n color.hue = hue;\r\n\r\n _this.props.onChange(color);\r\n };\r\n\r\n _this.removeListeners = function () {\r\n if (_this.dragListener) {\r\n _this.dragListener.remove();\r\n _this.dragListener = null;\r\n }\r\n if (_this.dragUpListener) {\r\n _this.dragUpListener.remove();\r\n _this.dragUpListener = null;\r\n }\r\n };\r\n\r\n return _this;\r\n }\r\n\r\n Ribbon.prototype.componentWillUnmount = function componentWillUnmount() {\r\n this.removeListeners();\r\n };\r\n\r\n Ribbon.prototype.render = function render() {\r\n var prefixCls = this.getPrefixCls();\r\n var hue = this.props.color.hue;\r\n var per = hue / 360 * 100;\r\n\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls },\r\n _react2[\"default\"].createElement('span', { ref: 'point', style: { left: per + '%' } }),\r\n _react2[\"default\"].createElement('div', { className: prefixCls + '-handler', onMouseDown: this.onMouseDown })\r\n );\r\n };\r\n\r\n return Ribbon;\r\n}(_react2[\"default\"].Component);\r\n\r\nexports[\"default\"] = Ribbon;\r\n\r\n\r\nRibbon.propTypes = {\r\n rootPrefixCls: _propTypes2[\"default\"].string,\r\n color: _propTypes2[\"default\"].object,\r\n onChange: _propTypes2[\"default\"].func\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _addEventListener = require('rc-util/lib/Dom/addEventListener');\r\n\r\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nfunction rgbaColor(r, g, b, a) {\r\n return 'rgba(' + [r, g, b, a / 100].join(',') + ')';\r\n}\r\n\r\nvar Alpha = function (_React$Component) {\r\n _inherits(Alpha, _React$Component);\r\n\r\n function Alpha(props) {\r\n _classCallCheck(this, Alpha);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _this.onMouseDown = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n\r\n _this.dragListener = (0, _addEventListener2[\"default\"])(window, 'mousemove', _this.onDrag);\r\n _this.dragUpListener = (0, _addEventListener2[\"default\"])(window, 'mouseup', _this.onDragEnd);\r\n };\r\n\r\n _this.onDrag = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n };\r\n\r\n _this.onDragEnd = function (e) {\r\n var x = e.clientX;\r\n var y = e.clientY;\r\n _this.pointMoveTo({\r\n x: x,\r\n y: y\r\n });\r\n _this.removeListeners();\r\n };\r\n\r\n _this.getBackground = function () {\r\n var _this$props$color = _this.props.color,\r\n red = _this$props$color.red,\r\n green = _this$props$color.green,\r\n blue = _this$props$color.blue;\r\n\r\n var opacityGradient = 'linear-gradient(to right, ' + rgbaColor(red, green, blue, 0) + ' , ' + rgbaColor(red, green, blue, 100) + ')'; // eslint-disable-line max-len\r\n return opacityGradient;\r\n };\r\n\r\n _this.getPrefixCls = function () {\r\n return _this.props.rootPrefixCls + '-alpha';\r\n };\r\n\r\n _this.pointMoveTo = function (coords) {\r\n var rect = (0, _reactDom.findDOMNode)(_this).getBoundingClientRect();\r\n var width = rect.width;\r\n var left = coords.x - rect.left;\r\n\r\n left = Math.max(0, left);\r\n left = Math.min(left, width);\r\n\r\n var alpha = Math.round(left / width * 100);\r\n\r\n _this.props.onChange(alpha);\r\n };\r\n\r\n _this.removeListeners = function () {\r\n if (_this.dragListener) {\r\n _this.dragListener.remove();\r\n _this.dragListener = null;\r\n }\r\n if (_this.dragUpListener) {\r\n _this.dragUpListener.remove();\r\n _this.dragUpListener = null;\r\n }\r\n };\r\n\r\n return _this;\r\n }\r\n\r\n Alpha.prototype.componentWillUnmount = function componentWillUnmount() {\r\n this.removeListeners();\r\n };\r\n\r\n Alpha.prototype.render = function render() {\r\n var prefixCls = this.getPrefixCls();\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls },\r\n _react2[\"default\"].createElement('div', { ref: 'bg', className: prefixCls + '-bg', style: { background: this.getBackground() } }),\r\n _react2[\"default\"].createElement('span', { style: { left: this.props.alpha + '%' } }),\r\n _react2[\"default\"].createElement('div', { className: prefixCls + '-handler', onMouseDown: this.onMouseDown })\r\n );\r\n };\r\n\r\n return Alpha;\r\n}(_react2[\"default\"].Component);\r\n\r\nexports[\"default\"] = Alpha;\r\n\r\n\r\nAlpha.propTypes = {\r\n color: _propTypes2[\"default\"].object,\r\n onChange: _propTypes2[\"default\"].func,\r\n rootPrefixCls: _propTypes2[\"default\"].string,\r\n alpha: _propTypes2[\"default\"].number\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _classnames = require('classnames');\r\n\r\nvar _classnames2 = _interopRequireDefault(_classnames);\r\n\r\nvar _color = require('./helpers/color');\r\n\r\nvar _color2 = _interopRequireDefault(_color);\r\n\r\nvar _percentage = require('./helpers/percentage');\r\n\r\nvar _percentage2 = _interopRequireDefault(_percentage);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\r\n\r\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\r\n\r\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\r\n\r\nvar modesMap = ['RGB', 'HSB'];\r\n\r\nvar Params = function (_React$Component) {\r\n _inherits(Params, _React$Component);\r\n\r\n function Params(props) {\r\n _classCallCheck(this, Params);\r\n\r\n // 管理 input 的状态\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _this.getChannelInRange = function (value, index) {\r\n var channelMap = {\r\n RGB: [[0, 255], [0, 255], [0, 255]],\r\n HSB: [[0, 359], [0, 100], [0, 100]]\r\n };\r\n var mode = _this.state.mode;\r\n var range = channelMap[mode][index];\r\n var result = parseInt(value, 10);\r\n if (isNaN(result)) {\r\n result = 0;\r\n }\r\n result = Math.max(range[0], result);\r\n result = Math.min(result, range[1]);\r\n return result;\r\n };\r\n\r\n _this.getPrefixCls = function () {\r\n return _this.props.rootPrefixCls + '-params';\r\n };\r\n\r\n _this.handleHexBlur = function () {\r\n var hex = _this.state.hex;\r\n\r\n var color = null;\r\n\r\n if (_color2[\"default\"].isValidHex(hex)) {\r\n color = new _color2[\"default\"](hex);\r\n }\r\n\r\n if (color !== null) {\r\n _this.setState({\r\n color: color,\r\n hex: hex\r\n });\r\n _this.props.onChange(color, false);\r\n }\r\n };\r\n\r\n _this.handleHexPress = function (event) {\r\n var hex = _this.state.hex;\r\n if (event.nativeEvent.which === 13) {\r\n var color = null;\r\n\r\n if (_color2[\"default\"].isValidHex(hex)) {\r\n color = new _color2[\"default\"](hex);\r\n }\r\n\r\n if (color !== null) {\r\n _this.setState({\r\n color: color,\r\n hex: hex\r\n });\r\n _this.props.onChange(color, false);\r\n }\r\n }\r\n };\r\n\r\n _this.handleHexChange = function (event) {\r\n var hex = event.target.value;\r\n\r\n _this.setState({\r\n hex: hex\r\n });\r\n };\r\n\r\n _this.handleModeChange = function () {\r\n var mode = _this.state.mode;\r\n\r\n var modeIndex = (modesMap.indexOf(mode) + 1) % modesMap.length;\r\n\r\n mode = modesMap[modeIndex];\r\n\r\n _this.setState({\r\n mode: mode\r\n });\r\n };\r\n\r\n _this.handleAlphaHandler = function (event) {\r\n var alpha = parseInt(event.target.value, 10);\r\n\r\n if (isNaN(alpha)) {\r\n alpha = 0;\r\n }\r\n alpha = Math.max(0, alpha);\r\n alpha = Math.min(alpha, 100);\r\n\r\n _this.props.onAlphaChange(alpha);\r\n };\r\n\r\n _this.updateColorByChanel = function (channel, value) {\r\n var color = _this.props.color;\r\n var mode = _this.state.mode;\r\n\r\n\r\n if (mode === 'HSB') {\r\n if (channel === 'H') {\r\n color.hue = parseInt(value, 10);\r\n } else if (channel === 'S') {\r\n color.saturation = parseInt(value, 10) / 100;\r\n } else if (channel === 'B') {\r\n color.brightness = parseInt(value, 10) / 100;\r\n }\r\n } else {\r\n if (channel === 'R') {\r\n color.red = parseInt(value, 10);\r\n } else if (channel === 'G') {\r\n color.green = parseInt(value, 10);\r\n } else if (channel === 'B') {\r\n color.blue = parseInt(value, 10);\r\n }\r\n }\r\n\r\n return color;\r\n };\r\n\r\n _this.handleColorChannelChange = function (index, event) {\r\n var value = _this.getChannelInRange(event.target.value, index);\r\n var mode = _this.state.mode;\r\n\r\n var channel = mode[index];\r\n\r\n var color = _this.updateColorByChanel(channel, value);\r\n\r\n _this.setState({\r\n hex: color.hex,\r\n color: color\r\n }, function () {\r\n _this.props.onChange(color, false);\r\n });\r\n };\r\n\r\n _this.state = {\r\n mode: props.mode,\r\n hex: props.color.hex,\r\n color: props.color // instanceof tinycolor\r\n };\r\n return _this;\r\n }\r\n\r\n Params.prototype.UNSAFE_componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\r\n var nextColor = nextProps.color;\r\n\r\n\r\n this.setState({\r\n color: nextColor,\r\n hex: nextColor.hex\r\n });\r\n };\r\n\r\n Params.prototype.render = function render() {\r\n var _cx;\r\n\r\n var prefixCls = this.getPrefixCls();\r\n\r\n var enableAlpha = this.props.enableAlpha;\r\n var _state = this.state,\r\n mode = _state.mode,\r\n color = _state.color;\r\n\r\n var colorChannel = color[mode];\r\n\r\n if (mode === 'HSB') {\r\n colorChannel[0] = parseInt(colorChannel[0], 10);\r\n colorChannel[1] = (0, _percentage2[\"default\"])(colorChannel[1]);\r\n colorChannel[2] = (0, _percentage2[\"default\"])(colorChannel[2]);\r\n }\r\n\r\n var paramsClasses = (0, _classnames2[\"default\"])((_cx = {}, _defineProperty(_cx, prefixCls, true), _defineProperty(_cx, prefixCls + '-has-alpha', enableAlpha), _cx));\r\n\r\n return _react2[\"default\"].createElement(\r\n 'div',\r\n { className: paramsClasses },\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-input' },\r\n _react2[\"default\"].createElement('input', {\r\n className: prefixCls + '-hex',\r\n type: 'text',\r\n maxLength: '6',\r\n onKeyPress: this.handleHexPress,\r\n onBlur: this.handleHexBlur,\r\n onChange: this.handleHexChange,\r\n value: this.state.hex.toLowerCase()\r\n }),\r\n _react2[\"default\"].createElement('input', {\r\n type: 'number',\r\n ref: 'channel_0',\r\n value: colorChannel[0],\r\n onChange: this.handleColorChannelChange.bind(null, 0)\r\n }),\r\n _react2[\"default\"].createElement('input', {\r\n type: 'number',\r\n ref: 'channel_1',\r\n value: colorChannel[1],\r\n onChange: this.handleColorChannelChange.bind(null, 1)\r\n }),\r\n _react2[\"default\"].createElement('input', {\r\n type: 'number',\r\n ref: 'channel_2',\r\n value: colorChannel[2],\r\n onChange: this.handleColorChannelChange.bind(null, 2)\r\n }),\r\n enableAlpha && _react2[\"default\"].createElement('input', {\r\n type: 'number',\r\n value: Math.round(this.props.alpha),\r\n onChange: this.handleAlphaHandler\r\n })\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'div',\r\n { className: prefixCls + '-lable' },\r\n _react2[\"default\"].createElement(\r\n 'label',\r\n { className: prefixCls + '-lable-hex' },\r\n 'Hex'\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'label',\r\n { className: prefixCls + '-lable-number', onClick: this.handleModeChange },\r\n mode[0]\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'label',\r\n { className: prefixCls + '-lable-number', onClick: this.handleModeChange },\r\n mode[1]\r\n ),\r\n _react2[\"default\"].createElement(\r\n 'label',\r\n { className: prefixCls + '-lable-number', onClick: this.handleModeChange },\r\n mode[2]\r\n ),\r\n enableAlpha && _react2[\"default\"].createElement(\r\n 'label',\r\n { className: prefixCls + '-lable-alpha' },\r\n 'A'\r\n )\r\n )\r\n );\r\n };\r\n\r\n return Params;\r\n}(_react2[\"default\"].Component);\r\n\r\nexports[\"default\"] = Params;\r\n\r\n\r\nParams.propTypes = {\r\n alpha: _propTypes2[\"default\"].number,\r\n enableAlpha: _propTypes2[\"default\"].bool,\r\n color: _propTypes2[\"default\"].object.isRequired,\r\n mode: _propTypes2[\"default\"].oneOf(modesMap),\r\n onAlphaChange: _propTypes2[\"default\"].func,\r\n onChange: _propTypes2[\"default\"].func,\r\n rootPrefixCls: _propTypes2[\"default\"].string\r\n};\r\n\r\nParams.defaultProps = {\r\n mode: modesMap[0],\r\n enableAlpha: true\r\n};\r\nmodule.exports = exports['default'];","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports[\"default\"] = percentage;\r\nfunction percentage(input) {\r\n return Math.round(input * 100);\r\n}\r\nmodule.exports = exports['default'];","module.exports = function validationColor(props, propName, componentName) {\r\n if (props[propName] && !/^#[0-9a-fA-F]{3,6}$/.test(props[propName])) {\r\n return new Error(componentName + \".props.\" + propName + \" Validation failed!\");\r\n }\r\n};","Object.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nvar autoAdjustOverflow = {\r\n adjustX: 1,\r\n adjustY: 1\r\n};\r\n\r\nvar targetOffset = [0, 0];\r\n\r\nvar placements = {\r\n topLeft: {\r\n points: ['bl', 'tl'],\r\n overflow: autoAdjustOverflow,\r\n offset: [0, -5],\r\n targetOffset: targetOffset\r\n },\r\n topRight: {\r\n points: ['br', 'tr'],\r\n overflow: autoAdjustOverflow,\r\n offset: [0, -5],\r\n targetOffset: targetOffset\r\n },\r\n bottomLeft: {\r\n points: ['tl', 'bl'],\r\n overflow: autoAdjustOverflow,\r\n offset: [0, 5],\r\n targetOffset: targetOffset\r\n },\r\n bottomRight: {\r\n points: ['tr', 'br'],\r\n overflow: autoAdjustOverflow,\r\n offset: [0, 5],\r\n targetOffset: targetOffset\r\n }\r\n};\r\n\r\nexports[\"default\"] = placements;\r\nmodule.exports = exports['default'];","export const DefaultMessageTypes = {\r\n START_FOCUSE: 'START_FOCUSE',\r\n SET_FOCUSE: 'SET_FOCUSE'\r\n};\r\n\r\nexport const DefaultDataTypes = {\r\n INIT: 'INIT'\r\n};","export const ERROR = 'ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_HEADER_WIDTH_ADMIN_REVISION = 'SET_HEADER_WIDTH_ADMIN_REVISION';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const GET_REVISION_ORDER_ADMIN = 'GET_REVISION_ORDER_ADMIN';\r\nexport const GET_REVISION_ORDER_ADMIN_LOADING = 'GET_REVISION_ORDER_ADMIN_LOADING';\r\nexport const ACCEPT_REVISION_ORDER = 'ACCEPT_REVISION_ORDER';\r\nexport const ACCEPT_REVISION_ORDER_LOADING = 'ACCEPT_REVISION_ORDER_LOADING';\r\nexport const REJECT_REVISION_ORDER_LOADING = 'REJECT_REVISION_ORDER_LOADING';\r\nexport const REJECT_REVISION_ORDER = 'REJECT_REVISION_ORDER';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n ERROR: 'ERROR',\r\n RESET_ERROR: 'RESET_ERROR',\r\n SET_HEADER_WIDTH_ADMIN_REVISION: 'SET_HEADER_WIDTH_ADMIN_REVISION',\r\n GET_REVISION_ORDER_ADMIN: 'GET_REVISION_ORDER_ADMIN',\r\n GET_REVISION_ORDER_ADMIN_LOADING: 'GET_REVISION_ORDER_ADMIN_LOADING',\r\n ACCEPT_REVISION_ORDER: 'ACCEPT_REVISION_ORDER',\r\n ACCEPT_REVISION_ORDER_LOADING: 'ACCEPT_REVISION_ORDER_LOADING',\r\n REJECT_REVISION_ORDER_LOADING: 'REJECT_REVISION_ORDER_LOADING',\r\n REJECT_REVISION_ORDER: 'REJECT_REVISION_ORDER',\r\n};\r\n","import axios from 'axios';\r\n\r\nimport store from '../../../store';\r\nimport { ApiUrl } from '../../../project/Pages';\r\nimport * as authenticationActionTypes from './authenticationActionTypes';\r\n\r\nconst authStart = () => {\r\n return {\r\n type: authenticationActionTypes.AUTH_START\r\n };\r\n};\r\n\r\nconst authFail = (error) => {\r\n return {\r\n type: authenticationActionTypes.AUTH_FAIL,\r\n error: error\r\n };\r\n};\r\n\r\nexport const check = (exp, refreshTocken) => {\r\n const afterMinutes = 1;\r\n const duration = (exp - (afterMinutes * 60 * 1000) - new Date().getTime());\r\n return dispathc => setTimeout(() => {\r\n dispathc(refresh(refreshTocken));\r\n }, duration);\r\n};\r\n\r\nconst doLogin = (authData) => ({\r\n type: authenticationActionTypes.LOGIN,\r\n authData: authData\r\n});\r\n\r\nconst refresh = (refreshTocken) => {\r\n return dispatch => {\r\n const token = store.getState().auth.userToken;\r\n if (!token) {\r\n return;\r\n }\r\n const options = {\r\n headers: { 'Authorization': 'Bearer ' + token }\r\n };\r\n const refreshRequest = {\r\n RefreshToken: refreshTocken\r\n };\r\n axios.post(ApiUrl.RefreshLogin,\r\n refreshRequest, options)\r\n .then(response => {\r\n if (response) {\r\n const data = response.data;\r\n const parts = data.userToken.split('.');\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n data.exp = jPart.exp * 1000;\r\n }\r\n dispatch(doRefreshTocken(data));\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch(logout());\r\n });\r\n };\r\n};\r\n\r\nexport const updateProfile = data => ({\r\n type: authenticationActionTypes.PROFILE,\r\n data: data\r\n})\r\n\r\nconst doRefreshTocken = (authData) => ({\r\n type: authenticationActionTypes.REFRESH,\r\n authData: authData\r\n});\r\n\r\nexport const logout = () => ({\r\n type: authenticationActionTypes.LOGOUT\r\n});\r\n\r\nexport const autoLogin = (returnUrl, refreshToken) => {\r\n return dispatch => {\r\n dispatch(authStart());\r\n dispatch(logout());\r\n const authRequest = {\r\n returnUrl: returnUrl,\r\n refreshToken: refreshToken\r\n };\r\n axios.post(ApiUrl.AutoLogin,\r\n authRequest)\r\n .then(response => {\r\n const data = response.data;\r\n const parts = data.userToken.split('.');\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n data.exp = jPart.exp * 1000;\r\n }\r\n dispatch(doLogin(data));\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch(authFail(err.response));\r\n });\r\n };\r\n};\r\n\r\nexport const auth = (login, password, remember, redirectUrl) => {\r\n return dispatch => {\r\n dispatch(authStart());\r\n const authRequest = {\r\n userName: login,\r\n password: password,\r\n remember: remember,\r\n returnUrl: redirectUrl\r\n };\r\n axios.post(ApiUrl.Login,\r\n authRequest)\r\n .then(response => {\r\n const data = response.data;\r\n if (!data.isAuthenticated) {\r\n console.error(data.message);\r\n dispatch(authFail(data.message));\r\n return;\r\n }\r\n const parts = data.userToken.split('.');\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n data.exp = jPart.exp * 1000;\r\n }\r\n dispatch(doLogin(data));\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch(authFail(err.response));\r\n });\r\n }; \r\n};\r\n\r\nconst storeProfileColumn = (resource, columns, type) => ({\r\n type: type,\r\n data: {\r\n resource: resource,\r\n columns: columns\r\n }\r\n});\r\n\r\nconst ListColumnWidthUpdateTemp = () => {\r\n return {\r\n type: authenticationActionTypes.LIST_COLUMN_WIDTH_UPDATE_TEMP\r\n };\r\n};\r\n\r\nexport const setProfileColumnVisibility = (resource, columns) => {\r\n return dispatch => {\r\n dispatch(storeProfileColumn(resource, columns, authenticationActionTypes.LIST_COLUMN_VISIBILITY));\r\n dispatch(sendProfileData(resource));\r\n dispatch(ListColumnWidthUpdateTemp());\r\n };\r\n};\r\n\r\nexport const setProfileColumnVisibilityAndIndex = (resource, columns) => {\r\n return dispatch => {\r\n dispatch(storeProfileColumn(resource, columns, authenticationActionTypes.LIST_COLUMN_VISIBILITY_AND_INDEX));\r\n dispatch(sendProfileData(resource));\r\n dispatch(ListColumnWidthUpdateTemp());\r\n };\r\n};\r\n\r\nexport const setProfileFilterVisibilityAndIndex = (resource, columns) => {\r\n return dispatch => {\r\n dispatch(storeProfileColumn(resource, columns, authenticationActionTypes.LIST_FILTER_VISIBILITY_AND_INDEX));\r\n dispatch(sendProfileData(resource));\r\n dispatch(ListColumnWidthUpdateTemp());\r\n };\r\n};\r\n\r\nexport const setProfileColumnWidth = (resource, columns) => {\r\n return {\r\n type: authenticationActionTypes.LIST_COLUMN_WIDTH_TEMP,\r\n data: {\r\n resource: resource,\r\n columns: columns\r\n }\r\n };\r\n};\r\n\r\nconst setListColumnWidthFromTemp = () => {\r\n return {\r\n type: authenticationActionTypes.LIST_COLUMN_WIDTH_FROM_TEMP\r\n }\r\n};\r\n\r\nexport const saveProfileColumnWidth = (resource, columns) => {\r\n return dispatch => {\r\n dispatch(setProfileColumnWidth(resource, columns));\r\n dispatch(setListColumnWidthFromTemp());\r\n dispatch(storeProfileColumn(resource, columns, authenticationActionTypes.LIST_COLUMN_WIDTH));\r\n dispatch(sendProfileData(resource));\r\n };\r\n};\r\n\r\nconst setScreenSwap = (resource, swap) => {\r\n return {\r\n type: authenticationActionTypes.SCREEN_SWAP,\r\n data: {\r\n resource: resource,\r\n swap: swap\r\n }\r\n };\r\n};\r\n\r\nexport const saveScreenSwap = (resource, swap) => {\r\n //debugger;\r\n return dispatch => {\r\n dispatch(setScreenSwap(resource, swap));\r\n dispatch(ListColumnWidthUpdateTemp());\r\n dispatch(sendProfileData(resource));\r\n };\r\n};\r\n\r\nconst sendProfileData = (resource) => {\r\n return () => {\r\n //dispatch(storeProfileColumn(resource, columns, type));\r\n const st = store.getState().auth;\r\n const id = store.getState().auth.userId;\r\n if (st.profileSettings\r\n && st.profileSettings.screens\r\n && st.profileSettings.screens[resource]\r\n && (st.profileSettings.screens[resource].list || st.profileSettings.screens[resource].swap)) {\r\n const settingsRequest = {\r\n id: id,\r\n resource: resource,\r\n listData: st.profileSettings.screens[resource].list,\r\n swap: st.profileSettings.screens[resource].swap\r\n };\r\n const token = store.getState().auth.userToken;\r\n if (!token) {\r\n return;\r\n }\r\n const options = {\r\n headers: { 'Authorization': 'Bearer ' + token }\r\n };\r\n axios.put(ApiUrl.ListSettings,\r\n settingsRequest, options)\r\n .then(response => {\r\n const data = response.data;\r\n if (data.HasError) {\r\n console.error(data.message);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n }\r\n }\r\n};\r\n","import { useReducer } from 'react';\r\nimport moment from 'moment';\r\n\r\nimport { DefaultDataTypes } from '../actions';\r\nimport { Defines } from '../../../project/Defines';\r\n\r\nexport const setValue = (newData, propName, action) => {\r\n newData[propName] = action.value;\r\n if (action.dependencies) {\r\n for (let i in action.dependencies) {\r\n if (Array.isArray(action.dependencies[i])) {\r\n const destination = action.dependencies[i][0];\r\n const source = action.dependencies[i][1];\r\n const landing = action.outSource?.filter(order => order.value === newData.dropLocationId)[0]?.landing;\r\n if (action.outSource && Array.isArray(action.outSource)) {\r\n const selectedOutSource = action.outSource.find(v => v['value'] === action.value);\r\n if (selectedOutSource && selectedOutSource[source] != null) {\r\n setValue(newData, destination, { value: selectedOutSource[source], dependencies: null, outSource: null });\r\n }\r\n else if (selectedOutSource && selectedOutSource[source] === null) {\r\n setValue(newData, destination, { value: '', dependencies: null, outSource: null });\r\n }\r\n else {\r\n setValue(newData, action.dependencies[i], { value: '', dependencies: null, outSource: null });\r\n }\r\n }\r\n else {\r\n setValue(newData, action.dependencies[i], { value: '', dependencies: null, outSource: null });\r\n }\r\n if ((propName === 'dropLocationId' && (destination === 'deliverDate' || destination === 'deliverDate2'))\r\n || propName === 'dueDate') {\r\n const date = new Date(newData.dueDate);\r\n const selectedWeekNumber = date.getWeek();\r\n const selectedWeekDay = moment(date).day();\r\n let momentWeekDay = '';\r\n let landingValue = document.getElementById(\"landingId\").innerHTML;\r\n let landingText = \"\";\r\n if (landingValue.includes('/')) {\r\n landingValue = landingValue.split('/')[0];\r\n };\r\n switch (landingValue) {\r\n case 'MON':\r\n landingText = 1;\r\n break;\r\n case 'TUES':\r\n landingText = 2;\r\n break;\r\n case 'WED':\r\n landingText = 3;\r\n break;\r\n case 'THURS':\r\n landingText = 4;\r\n break;\r\n case 'FRI':\r\n landingText = 5;\r\n break;\r\n case 'SAT':\r\n landingText = 6;\r\n break;\r\n case 'SUN':\r\n landingText = 7;\r\n break;\r\n default:\r\n landingText = '';\r\n break;\r\n };\r\n const finalLanding = landing ? landing : landingText;\r\n\r\n if (newData.dueDate && finalLanding) {\r\n if (Number(selectedWeekDay) >= Number(finalLanding)) {\r\n momentWeekDay = moment().day(finalLanding).week(selectedWeekNumber); \r\n } else {\r\n momentWeekDay = moment().day(finalLanding).week(selectedWeekNumber-1);\r\n }\r\n const momentDate = moment.utc(momentWeekDay).local().format(Defines.Format.PrintDate)\r\n setValue(newData, 'deliverDate', { value: momentDate, dependencies: null, outSource: null });\r\n setValue(newData, 'deliverDate2', { value: momentDate, dependencies: null, outSource: null });\r\n }\r\n }\r\n }\r\n else if (typeof (action.dependencies[i]) === 'object') {\r\n for (let dipoIn in action.dependencies[i]) {\r\n const dipo = newData[dipoIn];\r\n if (dipo && Array.isArray(dipo)) {\r\n for (let el in dipo) {\r\n setValue(dipo[el], action.dependencies[i][dipoIn], { value: '', dependencies: null, outSource: null });\r\n }\r\n }\r\n }\r\n }\r\n else if (typeof (action.dependencies[i]) === 'function') {\r\n action.dependencies[i](newData, setValue);\r\n }\r\n else {\r\n setValue(newData, action.dependencies[i], { value: '', dependencies: null, outSource: null });\r\n }\r\n }\r\n }\r\n};\r\n\r\nlet _GENERAL_INIT_COUNT_ = 0;\r\n\r\nexport const useData = (data) => {\r\n const setData = (state, action) => {\r\n const type = action.type;\r\n if (type === DefaultDataTypes.INIT) {\r\n if (action.data && !Array.isArray(action.data) && typeof (action.data) === 'object') {\r\n if (_GENERAL_INIT_COUNT_ === Number.MAX_VALUE) {\r\n _GENERAL_INIT_COUNT_ = 0;\r\n }\r\n _GENERAL_INIT_COUNT_++;\r\n action.data._INIT_COUNT_ = _GENERAL_INIT_COUNT_;\r\n }\r\n return action.data;\r\n }\r\n else {\r\n if (state[type] !== action.value) {\r\n const newState = { ...state };\r\n setValue(newState, type, action);\r\n return newState;\r\n }\r\n }\r\n return state;\r\n };\r\n return useReducer(setData, data);\r\n};","export const GET_RATE_CONFIRMATION_LOADING = 'GET_RATE_CONFIRMATION_LOADING';\r\nexport const GET_RATE_CONFIRMATION_DATA = 'GET_RATE_CONFIRMATION_DATA';\r\nexport const GET_RATE_CONFIRMATION_ERROR = 'GET_RATE_CONFIRMATION_ERROR';\r\nexport const GET_RATE_CONFIRMATION_PDF_URL = 'GET_RATE_CONFIRMATION_PDF_URL';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const GET_CARRIER_RATE_CONFIRMATION_DATA = 'GET_CARRIER_RATE_CONFIRMATION_DATA';\r\nexport const GET_CARRIER_RATE_CONFIRMATION_ERROR = 'GET_CARRIER_RATE_CONFIRMATION_ERROR';\r\n\r\nexport const getActionType = (resource, key) => {\r\n return RATE_CONFIRMATION_BUILD[key];\r\n};\r\n\r\nexport const RATE_CONFIRMATION_BUILD = {\r\n GET_RATE_CONFIRMATION_LOADING: 'GET_RATE_CONFIRMATION_LOADING',\r\n GET_RATE_CONFIRMATION_DATA: 'GET_RATE_CONFIRMATION_DATA',\r\n GET_RATE_CONFIRMATION_ERROR: 'GET_RATE_CONFIRMATION_ERROR',\r\n GET_RATE_CONFIRMATION_PDF_URL: 'GET_RATE_CONFIRMATION_PDF_URL',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CARRIER_RATE_CONFIRMATION_DATA: 'GET_CARRIER_RATE_CONFIRMATION_DATA',\r\n GET_CARRIER_RATE_CONFIRMATION_ERROR: 'GET_CARRIER_RATE_CONFIRMATION_ERROR',\r\n};\r\n","export const LOGIN = 'USERLOGIN';\r\nexport const REFRESH = 'USERREFRESH';\r\nexport const PROFILE = 'PROFILE';\r\nexport const LOGOUT = 'USERLOGOUT';\r\nexport const AUTH_START = 'AUTH_START';\r\nexport const AUTH_FAIL = 'AUTH_FAIL';\r\nexport const LIST_COLUMN_VISIBILITY = 'LIST_COLUMN_VISIBILITY';\r\nexport const LIST_COLUMN_VISIBILITY_AND_INDEX = 'LIST_COLUMN_VISIBILITY_AND_INDEX';\r\nexport const LIST_FILTER_VISIBILITY_AND_INDEX = 'LIST_FILTER_VISIBILITY_AND_INDEX';\r\nexport const LIST_COLUMN_WIDTH_TEMP = 'LIST_COLUMN_WIDTH_TEMP';\r\nexport const LIST_COLUMN_WIDTH_FROM_TEMP = 'LIST_COLUMN_WIDTH_FROM_TEMP';\r\nexport const LIST_COLUMN_WIDTH_UPDATE_TEMP = 'LIST_COLUMN_WIDTH_UPDATE_TEMP';\r\nexport const LIST_COLUMN_WIDTH = 'LIST_COLUMN_WIDTH';\r\nexport const SCREEN_SWAP = 'SCREEN_SWAP';","var map = {\n\t\"./Area/config\": [\n\t\t1005,\n\t\t11\n\t],\n\t\"./AreaType/config\": [\n\t\t1006,\n\t\t10\n\t],\n\t\"./BlackReason/config\": [\n\t\t424\n\t],\n\t\"./CancelOrder/config\": [\n\t\t1007,\n\t\t12\n\t],\n\t\"./CancelReason/config\": [\n\t\t1004,\n\t\t13\n\t],\n\t\"./Carrier/config\": [\n\t\t183\n\t],\n\t\"./CarrierForAdmin/config\": [\n\t\t1008,\n\t\t14\n\t],\n\t\"./Carrier_Booking/config\": [\n\t\t1009,\n\t\t15\n\t],\n\t\"./ChangePassword/config\": [\n\t\t476\n\t],\n\t\"./Charge/config\": [\n\t\t1010,\n\t\t17\n\t],\n\t\"./ChargeType/config\": [\n\t\t1011,\n\t\t16\n\t],\n\t\"./Commodity/config\": [\n\t\t1012,\n\t\t18\n\t],\n\t\"./CompleteLoad/config\": [\n\t\t1013,\n\t\t19\n\t],\n\t\"./CompleteOrder/config\": [\n\t\t1014,\n\t\t20\n\t],\n\t\"./ContactType/config\": [\n\t\t473\n\t],\n\t\"./Customer/config\": [\n\t\t1003,\n\t\t22\n\t],\n\t\"./CustomerDashboard/config\": [\n\t\t1015,\n\t\t21\n\t],\n\t\"./CustomerUser/config\": [\n\t\t1016,\n\t\t4\n\t],\n\t\"./DeliverOrder/config\": [\n\t\t1017,\n\t\t23\n\t],\n\t\"./Door/config\": [\n\t\t1018,\n\t\t24\n\t],\n\t\"./Driver/config\": [\n\t\t209\n\t],\n\t\"./EFS/config\": [\n\t\t1019,\n\t\t25\n\t],\n\t\"./ExpenseType/config\": [\n\t\t1020,\n\t\t26\n\t],\n\t\"./ForgotPassword/config\": [\n\t\t475\n\t],\n\t\"./InboundAppointment/config\": [\n\t\t1021,\n\t\t5\n\t],\n\t\"./InboundBooking/config\": [\n\t\t1002,\n\t\t27\n\t],\n\t\"./InboundInTransit/config\": [\n\t\t1022,\n\t\t6\n\t],\n\t\"./InboundLoad/config\": [\n\t\t1023,\n\t\t28\n\t],\n\t\"./InvoicedOrder/config\": [\n\t\t1024,\n\t\t29\n\t],\n\t\"./Load/config\": [\n\t\t1025,\n\t\t30\n\t],\n\t\"./LoadArea/InboundLoad/config\": [\n\t\t190\n\t],\n\t\"./LoadArea/OutboundLoad/config\": [\n\t\t191\n\t],\n\t\"./LoadingSequence/config\": [\n\t\t1026,\n\t\t31\n\t],\n\t\"./Location/config\": [\n\t\t332\n\t],\n\t\"./Login/config\": [\n\t\t477\n\t],\n\t\"./Manifest/config\": [\n\t\t474\n\t],\n\t\"./Message/config\": [\n\t\t1027,\n\t\t33\n\t],\n\t\"./MessageType/config\": [\n\t\t1028,\n\t\t32\n\t],\n\t\"./Notification/config\": [\n\t\t1029,\n\t\t34\n\t],\n\t\"./Order/config\": [\n\t\t1030,\n\t\t3\n\t],\n\t\"./Organization/config\": [\n\t\t471\n\t],\n\t\"./OutboundAppointment/config\": [\n\t\t1031,\n\t\t7\n\t],\n\t\"./OutboundBooking/config\": [\n\t\t1032,\n\t\t8\n\t],\n\t\"./OutboundInTransit/config\": [\n\t\t1033,\n\t\t9\n\t],\n\t\"./OutboundLoad/config\": [\n\t\t1034,\n\t\t35\n\t],\n\t\"./Rack/config\": [\n\t\t1035,\n\t\t37\n\t],\n\t\"./RackType/config\": [\n\t\t1036,\n\t\t36\n\t],\n\t\"./RateConfirmation/config\": [\n\t\t398\n\t],\n\t\"./ReceivingLoad/config\": [\n\t\t1044,\n\t\t38\n\t],\n\t\"./Region/config\": [\n\t\t1037,\n\t\t40\n\t],\n\t\"./RegionLocation/config\": [\n\t\t1038,\n\t\t39\n\t],\n\t\"./Role/config\": [\n\t\t1039,\n\t\t41\n\t],\n\t\"./Screen/config\": [\n\t\t1040,\n\t\t42\n\t],\n\t\"./Trailer/config\": [\n\t\t335\n\t],\n\t\"./TrailerSize/config\": [\n\t\t334\n\t],\n\t\"./TrailerType/config\": [\n\t\t472\n\t],\n\t\"./Truck/config\": [\n\t\t208\n\t],\n\t\"./User/config\": [\n\t\t1041,\n\t\t43\n\t],\n\t\"./UserProfile/config\": [\n\t\t306\n\t],\n\t\"./Vendor/config\": [\n\t\t1042,\n\t\t44\n\t],\n\t\"./Warehouse/config\": [\n\t\t1043,\n\t\t45\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 967;\nmodule.exports = webpackAsyncContext;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { HomeFilled } from '@ant-design/icons';\r\n\r\nconst Logo = () => (\r\n
    \r\n \r\n \r\n \r\n
    \r\n);\r\n\r\nexport default Logo;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport Scroll from '../../scroll/scroll';\r\n\r\nconst MainNavigation = props => (\r\n \r\n);\r\n\r\nexport default MainNavigation;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport store from '../../../../store';\r\n\r\nconst UserMenu = profiles => {\r\n const menuList = store.getState().auth.userMenu;\r\n const orgMenu = menuList.find(m => m.name === 'Organization');\r\n const userMenu = menuList.find(m => m.name === 'UserProfile');\r\n\r\n return
    \r\n
      \r\n {/*
    • \r\n \r\n \r\n My Account\r\n \r\n
    • \r\n
    • */}\r\n {userMenu ?
    • Profile
    • : null}\r\n {orgMenu ?
    • Organization
    • : null}\r\n {(userMenu || orgMenu) &&
    • }\r\n
    • \r\n info\r\n Version\r\n \r\n \r\n \r\n {process.env.REACT_APP_VERSION}\r\n \r\n \r\n \r\n \r\n \r\n
    • \r\n
    • \r\n
    • \r\n \r\n \r\n Sign Out\r\n \r\n
    • \r\n
    \r\n
    \r\n};\r\n\r\nexport default UserMenu;","import { useEffect, useState } from 'react';\r\nimport { HubConnectionBuilder } from '@microsoft/signalr';\r\n\r\nimport store from '../../../store';\r\n\r\nexport const useClientHub = (onNotificationReceive, event) => {\r\n const [connection, setConnection] = useState(null);\r\n\r\n useEffect(() => {\r\n const token = store.getState().auth.userToken;\r\n const parts = token.split('.');\r\n let clientId = null;\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n const userData = JSON.parse(jPart[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata\"]);\r\n clientId = userData.CustomerId;\r\n }\r\n if (clientId) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`/NotificationHub?clientId=${clientId}`, {\r\n accessTokenFactory: () => store.getState().auth.userToken\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n setConnection(newConnection);\r\n }\r\n else {\r\n console.error('Client HUB Connection not established');\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchConnection = async () => {\r\n if (isMounted && connection) {\r\n if (connection.connectionStarted) {\r\n //await connection.stop();\r\n connection.off(event);\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n } else if (connection.connectionState === 'Disconnected') {\r\n connection.start()\r\n .then(() => {\r\n console.log('Client HUB Connected!');\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n })\r\n .catch(e => console.error('Client HUB Connection failed: ', e));\r\n }\r\n }\r\n }\r\n fetchConnection();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [connection, onNotificationReceive, event]);\r\n\r\n return null;\r\n};\r\n\r\nexport const useCacheHub = (onNotificationReceive, event) => {\r\n const [connection, setConnection] = useState(null);\r\n\r\n useEffect(() => {\r\n const token = store.getState().auth.userToken;\r\n const parts = token.split('.');\r\n let clientId = null;\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n const userData = JSON.parse(jPart[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata\"]);\r\n clientId = userData.UserID;\r\n }\r\n if (clientId) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`/CacheUpdateHub?clientId=${clientId}`, {\r\n accessTokenFactory: () => token\r\n })\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n setConnection(newConnection);\r\n }\r\n else {\r\n console.error('Client HUB Connection not established');\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchConnection = async () => {\r\n if (isMounted && connection?.connectionState === 'Disconnected') {\r\n if (connection.connectionStarted) {\r\n //await connection.stop();\r\n connection.off(event);\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n }\r\n else {\r\n connection.start()\r\n .then(() => {\r\n console.log('Client HUB Connected!');\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n })\r\n .catch(e => console.error('Client HUB Connection failed: ', e));\r\n }\r\n }\r\n }\r\n fetchConnection();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [connection, onNotificationReceive, event]);\r\n\r\n return null;\r\n};","import React, { useMemo } from 'react';\r\nimport { Dropdown, message } from 'antd';\r\nimport { connect } from \"react-redux\";\r\nimport store from '../../../../store';\r\nimport axios from '../../../axios/axios';\r\n\r\nimport Logo from '../logo';\r\nimport MainNavigation from '../navigation/mainNavigation';\r\nimport UserMenu from '../userMenu/userMenu';\r\nimport { PopupTypes } from '../../custom/popup/popup';\r\nimport Organization from '../../../screens/Organization/config';\r\nimport { Profile as UserProfile, ChangePassword } from '../../../screens/UserProfile/config';\r\nimport { openPopup, closePopup, closePopupAsync } from '../../../../store/actions/popup/popup';\r\nimport { updateProfile } from '../../../../store/actions/authentication/authentication';\r\nimport { removeValueList } from '../../../../store/actions/valueList/valueList';\r\nimport { CloneObject } from '../../../helper/common';\r\nimport { useCacheHub } from '../../../hook/hub/useClientHub';\r\nimport { ValueListUrls } from '../../../config/list.config';\r\n\r\nconst MainToolbar = props => {\r\n const openChangePassword = () => {\r\n const windowKey = \"wndChangePassword\";\r\n ChangePassword.Form.DefaultId = store.getState().auth.userId;\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: \"Change Password\",\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: ChangePassword,\r\n changeAction(model) {\r\n axios({\r\n url: `${ChangePassword.Resource}/changepassword`,\r\n method: 'POST',\r\n data: {\r\n id: model.id,\r\n oldPassword: model.oldPassword,\r\n password: model.password,\r\n confirmPassword: model.confirmPassword\r\n },\r\n })\r\n .then((response) => {\r\n response && message.success(response.data.message);\r\n }).finally(() => {\r\n props.closePopup(windowKey);\r\n })\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const profiles = {\r\n openOrgProfile() {\r\n const windowKey = \"wndOrgProfile\";\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: \"Edit\",\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: Organization,\r\n saveAction: () => {\r\n props.closePopup(windowKey);\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n },\r\n openUserProfile() {\r\n const windowKey = \"wndUserProfile\";\r\n const storeData = store.getState().auth;\r\n const ProfileConfig = CloneObject(UserProfile);\r\n ProfileConfig.Form.DefaultId = storeData.userId;\r\n if (storeData.userRole === 'Customer') {\r\n ProfileConfig.Form.SectionGroups.forEach(sg => {\r\n sg.Sections.forEach(s => {\r\n for (const propName in s.Fields) {\r\n if (propName === 'loginName' || propName === 'workPhone') {\r\n delete s.Fields[propName];\r\n }\r\n if (propName === 'email') {\r\n s.Fields[propName].Title = 'Login'\r\n }\r\n }\r\n });\r\n })\r\n }\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: \"Profile\",\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: ProfileConfig,\r\n saveAction: (data) => {\r\n props.closePopupAsync(windowKey);\r\n\r\n const newState = {\r\n loginName: data.loginName,\r\n firstName: data.firstName,\r\n lastName: data.lastName,\r\n email: data.email,\r\n };\r\n props.updateProfile(newState);\r\n },\r\n forgotAction() {\r\n openChangePassword();\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n }\r\n });\r\n }\r\n }\r\n \r\n useCacheHub((message) => {\r\n if(message?.cacheName) {\r\n props.removeValueList(ValueListUrls[message.cacheName]);\r\n }\r\n }, 'notification');\r\n\r\n return (\r\n \r\n \r\n \r\n {useMemo(() => , [props.closeAllPopups, props.location, props.managedMenu])}\r\n \r\n \r\n \r\n \r\n \r\n {props.userFLName}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n updateProfile: (data) => dispatch(updateProfile(data)),\r\n removeValueList: (valueKey) => dispatch(removeValueList(valueKey))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(MainToolbar);\r\n","import React, { useMemo } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport Scroll from '../../scroll/scroll';\r\nimport './index.css'\r\n\r\nconst SubNavigation = props => {\r\n return (<>\r\n {useMemo(() => \r\n
    \r\n
      \r\n {props.managedMenu?.map((item, i) => {\r\n let selectedMenu = false;\r\n const toItem = item.to.toLowerCase();\r\n selectedMenu = toItem === props.location;\r\n if ((props.location === '/loadplanning/revision' && toItem === '/loadplanning/changerequest') || \r\n (props.location === '/loadplanning/cancelorder' && toItem === '/loadplanning/changerequest')) {\r\n selectedMenu = true; \r\n }\r\n return \r\n \r\n {item.text}\r\n \r\n \r\n })}\r\n
    \r\n
    \r\n
    , [props.location, props.managedMenu, props.parentMenu])}\r\n );\r\n}\r\n\r\nexport default SubNavigation;","import React, { useEffect, useState, useMemo } from 'react';\r\nimport SubNavigation from '../navigation/subNavigation';\r\nimport { Project } from '../../../../project/Project';\r\n\r\nconst SubToolbar = props => {\r\n const [managedMenu, setManagedMenu] = useState(null);\r\n useEffect(() => {\r\n setManagedMenu(Project.createMenu(props.menu, props.parentUrl));\r\n }, [props.menu, props.parentUrl]);\r\n const location = window.location.pathname.toLowerCase();\r\n\r\n return (\r\n {\r\n useMemo(() =>
    \r\n {managedMenu ? : null}\r\n
    , [managedMenu, location, props.closeAllPopups, props.parentMenu])\r\n }\r\n
    );\r\n};\r\n\r\nexport default SubToolbar;","import React, { useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { setGoogleLoaded } from '../../../store/actions/google/google';\r\n\r\nimport { useGoogleApiLoader } from '../../elements/util/location';\r\n\r\nconst ScriptLoader = props => {\r\n const { setGoogleLoaded, googleApiKey } = props;\r\n const { isLoaded } = useGoogleApiLoader(googleApiKey);\r\n \r\n \r\n\r\n useEffect(() => {\r\n if (isLoaded) {\r\n setGoogleLoaded();\r\n }\r\n }, [isLoaded, setGoogleLoaded]);\r\n\r\n return <>;\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n googleApiKey: state.auth.googleApiKey,\r\n isLoaded: state.google.isLoaded\r\n }\r\n};\r\n\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n setGoogleLoaded: () => dispatch(setGoogleLoaded())\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ScriptLoader);","import * as googleActionTypes from './googleActionTypes';\r\n\r\nexport const setGoogleLoaded = () => ({ type: googleActionTypes.GOOGLE_LOADED });","import React from 'react';\r\n\r\nconst NotFound = () => (
    Not Found
    );\r\n\r\nexport default NotFound","import React from 'react';\r\n\r\nimport Sheet from '../components/custom/sheet/sheet';\r\nimport { CloneObject } from '../helper/common';\r\nimport { ElementTypes } from '../config/element.config';\r\n\r\nconst DragableTable = () => {\r\n const [data, setData] = React.useState([\r\n {\r\n id: 1,\r\n column1: 'column11',\r\n column2: 'column21',\r\n column3: 'column31'\r\n },\r\n {\r\n id: 2,\r\n column1: 'column12',\r\n column2: 'column22',\r\n column3: 'column32'\r\n },\r\n {\r\n id: 3,\r\n column1: 'column13',\r\n column2: 'column23',\r\n column3: 'column33'\r\n },\r\n {\r\n id: 4,\r\n column1: 'column14',\r\n column2: 'column24',\r\n column3: 'column34'\r\n },\r\n {\r\n id: 5,\r\n column1: 'column15',\r\n column2: 'column25',\r\n column3: 'column35'\r\n }\r\n ]);\r\n\r\n const list = {\r\n Columns: {\r\n column1: {\r\n Title: 'Column 1',\r\n Field: ElementTypes.TableLabelField()\r\n },\r\n column2: {\r\n Title: 'Column 2',\r\n Field: ElementTypes.TableLabelField()\r\n },\r\n column3: {\r\n Title: 'Column 3',\r\n Field: ElementTypes.TableLabelField()\r\n }\r\n }\r\n };\r\n\r\n\r\n const moveRow = (dragIndex, hoverIndex) => {\r\n const dragRecord = data[dragIndex];\r\n const newData = CloneObject(data);\r\n newData.splice(dragIndex, 1);\r\n newData.splice(hoverIndex, 0, dragRecord);\r\n setData(newData);\r\n };\r\n\r\n return (<>\r\n

    Dragable Table

    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DragableTable;","import React from 'react';\r\n\r\nimport AvatarUploader from '../elements/avatarUploader';\r\n\r\nconst Uploader = () => {\r\n return (\r\n <>\r\n

    Uploader

    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Uploader;","import React, { useState } from 'react';\r\nimport { LoadingOutlined, UploadOutlined } from '@ant-design/icons';\r\nimport { message, Button } from 'antd';\r\n\r\nimport axios from '../axios/axios';\r\nimport errorHandler from '../error/errorHandler';\r\nimport { CloneObject } from '../helper/common';\r\nimport { ElementTypes } from '../config/element.config';\r\nimport Sheet from '../components/custom/sheet/sheet';\r\nimport Uploader from '../elements/uploader';\r\n\r\nconst UploaderTable = () => {\r\n const [data, setData] = React.useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const list = {\r\n Columns: {\r\n guId: {\r\n Title: 'Type',\r\n Field: ElementTypes.Download('originalFileName')\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField()\r\n }\r\n }\r\n };\r\n const max = 5;\r\n const restriction = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n {loading ? : }\r\n
    \r\n );\r\n\r\n const onChange = result => {\r\n const newData = CloneObject(data);\r\n newData.push({\r\n guId: result.guId,\r\n fileName: result.originalName,\r\n originalFileName: result.originalName\r\n });\r\n setData(newData);\r\n };\r\n\r\n return (<>\r\n

    Uploader Table

    \r\n \r\n \r\n {uploadButton}\r\n \r\n );\r\n};\r\n\r\nexport default errorHandler(UploaderTable, axios);","import React, { useState } from 'react';\r\nimport { Droppable, Draggable } from 'react-beautiful-dnd';\r\nimport DragAndDrop from '../components/custom/dragDrop';\r\n\r\nconst DragDrop = () => {\r\n const [droppable1Data, setData] = useState([\r\n {\r\n id: 1,\r\n column1: \"column11\",\r\n column2: \"column21\",\r\n column3: \"column31\"\r\n },\r\n {\r\n id: 2,\r\n column1: \"column12\",\r\n column2: \"column22\",\r\n column3: \"column32\"\r\n },\r\n {\r\n id: 3,\r\n column1: \"column13\",\r\n column2: \"column23\",\r\n column3: \"column33\"\r\n },\r\n {\r\n id: 4,\r\n column1: \"column14\",\r\n column2: \"column24\",\r\n column3: \"column34\"\r\n },\r\n {\r\n id: 5,\r\n column1: \"column15\",\r\n column2: \"column25\",\r\n column3: \"column35\"\r\n }\r\n ]);\r\n\r\n const [droppable2Data, setData2] = useState([\r\n {\r\n id: 6,\r\n column1: \"column111\",\r\n column2: \"column121\",\r\n column3: \"column131\"\r\n },\r\n {\r\n id: 7,\r\n column1: \"column112\",\r\n column2: \"column122\",\r\n column3: \"column132\"\r\n },\r\n {\r\n id: 8,\r\n column1: \"column113\",\r\n column2: \"column123\",\r\n column3: \"column133\"\r\n }\r\n ]);\r\n\r\n // Can create multiple draggable sources\r\n // Usr props to get list of DroppableId, DroppableData\r\n const data = {\r\n droppable1: {\r\n data: droppable1Data,\r\n dispatch: setData\r\n },\r\n droppable2: {\r\n data: droppable2Data,\r\n dispatch: setData2\r\n }\r\n }\r\n\r\n return (\r\n \r\n

    Draggable Between Table

    \r\n
    \r\n \r\n {(provided, snapshot) => (\r\n \r\n \r\n \r\n \r\n Column 1\r\n Column 2\r\n Column 3\r\n \r\n \r\n \r\n {droppable1Data.map((item, index) => (\r\n \r\n {(provided, snapshot) => (\r\n \r\n sort\r\n {item.column1}\r\n {item.column2}\r\n {item.column3}\r\n \r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {(provided, snapshot) => (\r\n \r\n \r\n \r\n \r\n Column 1\r\n Column 2\r\n Column 3\r\n \r\n \r\n \r\n {droppable2Data.map((item, index) => (\r\n \r\n {(provided, snapshot) => (\r\n \r\n sort\r\n {item.column1}\r\n {item.column2}\r\n {item.column3}\r\n \r\n )}\r\n ))}\r\n {provided.placeholder}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DragDrop","import React from 'react';\r\nimport ColorPickerExt from 'rc-color-picker';\r\n\r\nimport 'rc-color-picker/assets/index.css';\r\n\r\nconst ColorPicker = props => {\r\n\r\n //const [displayColorPicker, setDisplayColorPicker] = useState(false);\r\n\r\n //const handleClick = () => {\r\n // setDisplayColorPicker(!displayColorPicker);\r\n //};\r\n\r\n //const handleClose = () => {\r\n // setDisplayColorPicker(false);\r\n //};\r\n\r\n \r\n\r\n\r\n return
    \r\n { debugger; return false; }} />\r\n
    ;\r\n};\r\n\r\nexport default ColorPicker;","import React from 'react';\r\nimport { Link, Switch, Route, Redirect } from 'react-router-dom';\r\n\r\nimport DragableTable from './dragableTable';\r\nimport Uploader from './uploader';\r\nimport UploaderTable from './uploaderTable';\r\nimport DragDrop from './dragDrop';\r\nimport ColorPicker from './colorPicker';\r\nimport { useClientHub } from '../hook/hub/useClientHub';\r\n\r\nconst Development = () => {\r\n useClientHub(message => {\r\n console.log(message);\r\n }, 'notification');\r\n\r\n return (\r\n\r\n
    \r\n \r\n
      \r\n
    • Dragable Table
    • \r\n
    • Uploader
    • \r\n
    • Uploader Table
    • \r\n
    • New Draggable
    • \r\n
    • Color Picker
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    );\r\n};\r\n\r\nexport default Development;","import { ArraySum } from '../../../helper/common';\r\n\r\nexport class Stop {\r\n key = null;\r\n id = null;\r\n isFirst = true;\r\n isEmpty = false;\r\n loadId = null;\r\n loadNumber = null;//ned from backend + InboundLoadNumber +\r\n //totalPallets = 0; //calculate + \r\n //totalWeight = 0; //calculate\r\n\r\n\r\n\r\n loadTotalPallets = 0; //calculate\r\n loadTotalWeight = 0; //calculate\r\n\r\n truckNumber = null;//need from backend + TruckNumber\r\n driverName = null; //need from backend + DriverName\r\n driverPhone = null; //need from backend + DriverPhone\r\n rate = null; //need from backend + InboundRate +\r\n customer = null; // +\r\n customerId = null;\r\n customerTooltip = 'No Customer';\r\n pickLocationId = null;\r\n pickAppointment = null; //need from backend + InboundAppointment +\r\n pickStatus = null; //need from backend + InbioundAppointmentStatus +\r\n pickCity = null; //+\r\n pickState = null;\r\n pickWarehouse = null; //+\r\n dropLocationId = null;\r\n dropAppointment = null;//need from backend + DropInboundAppointment +\r\n dropStatus = null;//need from backend + DropInboundAppointmentStatus +\r\n dropCity = null;\r\n dropState = null;\r\n dropWarehouse = null; //+\r\n isWarehouse = true;\r\n warehouseId = 1;\r\n sequencesName = null;\r\n inboundStopNotes = null;\r\n outboundStopNotes = null;\r\n carrierName = null;\r\n trailer = null;\r\n color = null;\r\n readyToBook = false;\r\n truckId = null;\r\n carrierId = null;\r\n inTransit = false;\r\n isInbound = false;\r\n in = null;\r\n out = null;\r\n\r\n orders = [];\r\n\r\n\r\n get poNumbers() {\r\n return this.orders.reduce((r, a) => {\r\n if (r !== '') {\r\n if (a.poNumber !== '') {\r\n r = `${r}, ${a.poNumber}`;\r\n }\r\n }\r\n else {\r\n r = a.poNumber;\r\n }\r\n return r;\r\n }, '');\r\n };\r\n\r\n get poNumberCount() {\r\n return this.orders.length;\r\n };\r\n\r\n get totalPallets() {\r\n return ArraySum(this.orders, 'palletCount');\r\n };\r\n\r\n get totalWeight() {\r\n return ArraySum(this.orders, 'weight');\r\n };\r\n\r\n get gridKey() {\r\n if (this.isFirst) {\r\n return this.loadId;\r\n }\r\n return this.key;\r\n };\r\n}","export class BaseData {\r\n stops = [];\r\n list = [];\r\n group = [];\r\n static defaultKey = '0';\r\n\r\n}","import { Stop } from \"../stop\";\r\nimport { ArraySum } from '../../../../helper/common';\r\nimport { BaseData } from '../baseData';\r\n\r\nexport class Data extends BaseData {\r\n static createKey(order) {\r\n let createKey = Data.defaultKey;\r\n if (order.loadId) {\r\n createKey = `${order.loadId}_${order.customerId}_${order.pickLocationId}`;\r\n if (order.warehouse) {\r\n createKey = `${createKey}_0_${order.warehouseId}`;\r\n }\r\n else {\r\n createKey = `${createKey}_${order.dropLocationId}_0`;\r\n }\r\n }\r\n return createKey;\r\n };\r\n\r\n constructor(list, loads) {\r\n super();\r\n this.list = list;\r\n this.group = this.list.reduce((r, o) => {\r\n const groupBy = Data.createKey(o);\r\n r[groupBy] = [...r[groupBy] || [], o];\r\n return r;\r\n }, {});\r\n\r\n Object.keys(this.group).forEach(go => {\r\n const oG = this.group[go];\r\n const stop = new Stop();\r\n if (oG.length > 0) {\r\n const firstO = oG[0];\r\n\r\n const load = loads.find(l => l.id === firstO.loadId);\r\n if (!load) {\r\n //load not available\r\n return;\r\n }\r\n stop.id = stop.key = go;\r\n stop.isFirst = this.stops.find(s => s.loadId === firstO.loadId) === undefined;\r\n stop.customer = firstO.customerCodeOrName;\r\n stop.customerTooltip = firstO.customerCodeOrName;\r\n stop.loadNumber = firstO.inboundLoadNumber;\r\n stop.loadId = firstO.loadId;\r\n //stop.truckNumber = firstO.truckNumber;\r\n //stop.driverName = firstO.driverName;\r\n //stop.driverPhone = firstO.driverPhone;\r\n //stop.rate = firstO.inboundRate;\r\n stop.customerId = firstO.customerId;\r\n //stop.carrierName = firstO.carrierName;\r\n //stop.trailer = firstO.inboundTrailer;\r\n\r\n stop.puDate = firstO.puDate;\r\n stop.pickLocationId = firstO.pickLocationId;\r\n stop.pickAppointment = firstO.inboundAppointment;\r\n stop.pickStatus = firstO.inbioundAppointmentStatus;\r\n stop.pickWeek = firstO.pickWeek;\r\n stop.pickCity = firstO.pickCity;\r\n stop.pickState = firstO.pickState;\r\n stop.pickWarehouse = firstO.pickLocationName;\r\n\r\n stop.dropLocationId = firstO.dropLocationId;\r\n stop.dropAppointment = firstO.dropInboundAppointment;\r\n stop.dropStatus = firstO.dropInboundAppointmentStatus;\r\n stop.dropCity = firstO.warehouse ? firstO.drop1City : firstO.drop2City;\r\n stop.dropState = firstO.warehouse ? firstO.drop1State : firstO.drop2State;\r\n stop.dropWarehouse = firstO.warehouse ? firstO.drop1WH : firstO.drop2WH;\r\n\r\n stop.isWarehouse = firstO.warehouse;\r\n stop.warehouseId = firstO.warehouseId;\r\n stop.sequencesName = firstO.inboundLoadingSequenceName;\r\n stop.inboundStopNotes = firstO.inboundStopNotes;\r\n\r\n stop.in = firstO.in;\r\n stop.out = firstO.out;\r\n\r\n stop.color = load.color;\r\n stop.truckNumber = load.truckNumber;\r\n stop.driverName = load.driverName;\r\n stop.driverPhone = load.driverPhone;\r\n stop.rate = load.rate;\r\n stop.carrierName = load.carrierName;\r\n stop.trailer = load.trailer;\r\n stop.truckId = load.truckId;\r\n stop.carrierId = load.carrierId;\r\n\r\n stop.readyToBook = load.readyToBook;\r\n stop.inTransit = load.inTransit;\r\n stop.isInbound = true;\r\n\r\n stop.orders = oG;\r\n this.stops.push(stop);\r\n }\r\n });\r\n this.stops.forEach(s => {\r\n s.loadTotalPallets = ArraySum(this.stops.filter(si => si.loadId === s.loadId), 'totalPallets');\r\n s.loadTotalWeight = ArraySum(this.stops.filter(si => si.loadId === s.loadId), 'totalWeight');\r\n });\r\n\r\n const firstStops = this.stops.filter(s => s.isFirst);\r\n loads.forEach(l => {\r\n if (!firstStops.find(fs => fs.loadId === l.id)) {\r\n const newStop = new Stop();\r\n newStop.key = `${l.id}_empty`;\r\n newStop.isEmpty = true;\r\n newStop.isFirst = true;\r\n newStop.loadId = l.id;\r\n newStop.loadNumber = l.loadNumber;\r\n newStop.truckNumber = l.truckNumber;\r\n newStop.driverName = l.driverName;\r\n newStop.driverPhone = l.driverPhone;\r\n newStop.rate = l.inboundRate;\r\n newStop.carrierName = l.carrierName; //shoukld add in backend\r\n newStop.color = l.color;\r\n this.stops.push(newStop);\r\n }\r\n });\r\n }\r\n}","import axios from '../../../axios/axios';\r\n\r\n\r\nexport const useDragging = (\r\n defaultDroppableId,\r\n availableOrders,\r\n mainResource,\r\n getFilteredSortedOrders,\r\n getStops,\r\n updateSelectedOrders,\r\n stops,\r\n apiResource,\r\n load,\r\n setAvailableOrders,\r\n initStops,\r\n initOrderFromStop,\r\n getAllStopOrders,\r\n loads,\r\n setStops,\r\n assignApiPath,\r\n unassignApiPath,\r\n loadIdField,\r\n resetOrder\r\n) => {\r\n\r\n const getDragDropData = droppableId => {\r\n if (droppableId === defaultDroppableId) {\r\n return {\r\n type: droppableId,\r\n data: getFilteredSortedOrders(availableOrders, mainResource)\r\n };\r\n }\r\n else {\r\n const stop = getStops().find(s => s.key === droppableId);\r\n if (stops) {\r\n return {\r\n type: droppableId,\r\n data: stop.orders\r\n };\r\n }\r\n }\r\n };\r\n\r\n const createRequest = (stop, newOrders) => {\r\n const request = {\r\n orderIds: newOrders.reduce((r, o) => { r.push(o.id); return r }, [])\r\n };\r\n request[loadIdField] = stop.loadId;\r\n return request;\r\n };\r\n\r\n const apiUpdate = (stop, newOrders) => {\r\n axios.put(`${apiResource}/${assignApiPath}`,\r\n createRequest(stop, newOrders)).then(response => {\r\n const errors = response.data.filter(r => r.hasError);\r\n if (errors.length > 0) {\r\n //show error messages todo Emma\r\n load();\r\n }\r\n });\r\n };\r\n\r\n const updateDragDropData = data => {\r\n const type = data.type;\r\n updateSelectedOrders([], '');\r\n if (type === \"all\") { //we have drag drop from different locations\r\n const types = Object.keys(data).splice(1);\r\n const from = data[types[0]];\r\n const to = data[types[1]];\r\n const toData = to.data;\r\n if (from.type === defaultDroppableId || to.type === defaultDroppableId) {\r\n if (from.type === defaultDroppableId) {\r\n //from available to assigned\r\n const stop = stops.find(s => s.key === to.type);\r\n const newOrders = toData.filter(o => !o[loadIdField]);\r\n //call api\r\n apiUpdate(stop, newOrders);\r\n const newAvailableOrders = [...availableOrders];\r\n newOrders.forEach(o => {\r\n newAvailableOrders.splice(newAvailableOrders.indexOf(newAvailableOrders.find(ao => ao.id === o.id)), 1);\r\n initOrderFromStop(o, stop, stops);\r\n });\r\n setAvailableOrders(newAvailableOrders);\r\n initStops([...getAllStopOrders(stops), ...newOrders], loads);\r\n }\r\n else {\r\n //from assigned to available\r\n const dropAvailableOrders = toData.filter(o => o[loadIdField]);\r\n const newStops = [...stops];\r\n const stop = newStops.find(s => s.key === from.type);\r\n const newAvailableOrders = [...availableOrders];\r\n //call api\r\n axios.put(`${apiResource}/${unassignApiPath}`,\r\n {\r\n orderIds: dropAvailableOrders.reduce((r, o) => { r.push(o.id); return r }, [])\r\n }).then(response => {\r\n const errors = response.data.filter(r => r.hasError);\r\n if (errors.length > 0) {\r\n //show error messages todo Emma\r\n load();\r\n }\r\n });\r\n dropAvailableOrders.forEach(o => {\r\n resetOrder(o);\r\n newAvailableOrders.push(o);\r\n stop.orders.splice(stop.orders.indexOf(stop.orders.find(so => so.id === o.id)), 1);\r\n });\r\n setAvailableOrders(newAvailableOrders);\r\n initStops(getAllStopOrders(newStops), loads);\r\n }\r\n }\r\n else {\r\n //from assigned to assigned\r\n const newStops = [...stops];\r\n const stop = newStops.find(s => s.key === to.type);\r\n const oldStop = newStops.find(s => s.key === from.type);\r\n const newOrders = toData.filter(o => o[loadIdField] === oldStop.loadId);\r\n //call api\r\n apiUpdate(stop, newOrders);\r\n const currentOrders = getAllStopOrders(stops);\r\n newOrders.forEach(dropO => initOrderFromStop(currentOrders.find(order => order.id === dropO.id), stop, newStops));\r\n initStops(currentOrders, loads);\r\n }\r\n }\r\n else {\r\n //not called from drag drop, we can delete this in future\r\n const updatedData = data.value;\r\n if (type === defaultDroppableId) {\r\n setAvailableOrders(updatedData);\r\n }\r\n else {\r\n const newStop = [...stops];\r\n const stop = newStop.find(s => s.key === type);\r\n if (stop) {\r\n stop.orders = updatedData;\r\n setStops(newStop);\r\n }\r\n }\r\n }\r\n };\r\n\r\n return [getDragDropData, updateDragDropData];\r\n};","import { useEffect, useCallback, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { getListCriteria, getCriteriaQuery, getCriteriaQueryFromLocation, buildListFilterQuery } from '../../../helper/list';\r\nimport { CloneObject } from '../../../helper/common';\r\n// import { string } from 'prop-types';\r\n\r\nexport const useFiltering = (stops, availableOrders, filterConfig, mainResource, assignedOrders, subGroup, sortAppointment, profileSettings, typeGroup, availableOrdersType, loadType) => {\r\n const getFilterConfig = useCallback(() => CloneObject(filterConfig), [filterConfig]);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const criteriaQuery = getCriteriaQuery(history);\r\n const criteria = useCallback(() => getListCriteria(criteriaQuery), [criteriaQuery]);\r\n const [applyFor, setApplyFor] = useState('');\r\n const [filter, setFilter] = useState({});\r\n\r\n const getOrders = (source, valueField, textField) => source.reduce((r, o) => {\r\n if ((r.length === 0 || !r.find(l => l.value === o[valueField])) && o[valueField] && o[textField] !== '') {\r\n r.push({\r\n value: o[valueField],\r\n text: o[textField]\r\n });\r\n }\r\n return r;\r\n }, []);\r\n\r\n const getStopsOrders = (source, valueField, textField) => source.reduce((sr, s) =>\r\n [...sr, ...getOrders(s.orders, valueField, textField).filter(no => !sr.find(o => o.value === no.value))]\r\n , []);\r\n\r\n const getFilterData = (valueField, textField) => {\r\n switch (applyFor) {\r\n case 'Available':\r\n return getOrders([...availableOrders], valueField, textField);\r\n case 'Assigned':\r\n return getStopsOrders(stops, valueField, textField);\r\n case 'Both':\r\n const availableOrdersLocations = getOrders(availableOrders, valueField, textField);\r\n const assignedOrders = getStopsOrders(stops, valueField, textField)\r\n .filter(o => !availableOrdersLocations.find(avO => avO.value === o.value));\r\n return [...availableOrdersLocations, ...assignedOrders];\r\n default:\r\n return stops.reduce((r, s) => {\r\n if ((r.length === 0 || !r.find(l => l.value === s[valueField])) && s[valueField] && s[textField] !== '') {\r\n r.push({\r\n value: s[valueField],\r\n text: s[textField]\r\n });\r\n }\r\n return r;\r\n }, []);\r\n }\r\n };\r\n\r\n const filterData = {\r\n pickLocation: () => getFilterData('pickLocationId', 'pickLocation'),\r\n pickRegion: () => getFilterData('pickRegionCode', 'pickRegionCode'),\r\n dropLocation: () => getFilterData('dropLocationId', 'dropLocation'),\r\n dropRegion: () => getFilterData('dropRegionCode', 'dropRegionCode'),\r\n drop2City: () => getFilterData('drop2City', 'drop2City'),\r\n drop2State: () => getFilterData('drop2State', 'drop2State'),\r\n drop2WH: () => getFilterData('drop2WH', 'drop2WH'),\r\n customer: () => getFilterData('customerId', 'customerCodeOrName'),\r\n truck: () => getFilterData('truckId', 'truckNumber'),\r\n carrier: () => getFilterData('carrierId', 'carrierName')\r\n };\r\n\r\n useEffect(() => {\r\n const filter = {};\r\n Object.keys(getFilterConfig()).forEach(fe => {\r\n if (getFilterConfig()[fe].DefaultValue) {\r\n filter[fe] = getFilterConfig()[fe].DefaultValue;\r\n }\r\n });\r\n const filterQuery = buildListFilterQuery(getCriteriaQueryFromLocation(location), filter);\r\n const c = criteria();\r\n if (Object.keys(filter).length > 0 && Object.keys(c.filter).length === 0) {\r\n history.push({\r\n search: filterQuery\r\n });\r\n return;\r\n }\r\n if (applyFor !== '' && applyFor !== c.filter['applyFor']) {\r\n const filter = {\r\n applyFor: c.filter['applyFor']\r\n };\r\n const filterQuery = buildListFilterQuery(getCriteriaQueryFromLocation(location), filter);\r\n history.push({\r\n search: filterQuery\r\n });\r\n }\r\n setApplyFor(c.filter['applyFor'] ? c.filter['applyFor'] : '');\r\n setFilter(Object.keys(c.filter).filter(ff => ff !== 'applyFor').reduce((r, f) => {\r\n r[f] = c.filter[f];\r\n return r;\r\n }, {}));\r\n }, [criteria, location, history, applyFor, getFilterConfig]);\r\n\r\n //const getFilteredSortedOrders = (orders, source, sorting) => {\r\n // return orders && orders.filter(o =>\r\n // Object.keys(filter).reduce((r, f) =>\r\n // r && (\r\n // (source === mainResource && 'Assigned' === applyFor) || (source === assignedOrders && 'Available' === applyFor)\r\n // || (typeof o[f] === 'string' && o[f].includes(filter[f]))\r\n // || (typeof filter[f] === 'string' && Array.isArray(filter[f].split(',')) && filter[f].split(',').indexOf(`${o[f]}`) > -1)\r\n // || (new Date(o[f.replace('_from', '')]) instanceof Date && f.indexOf('_from') > 0 && new Date(o[f.replace('_from', '')]) >= new Date(filter[f]))\r\n // || (new Date(o[f.replace('_to', '')]) instanceof Date && f.indexOf('_to') > 0 && new Date(o[f.replace('_to', '')]) <= new Date(filter[f]))\r\n // || o[f] === filter[f])\r\n // , true)\r\n // ).sort((o1, o2) => {\r\n // \r\n // if (sorting?.field) {\r\n // const field = sorting.field;\r\n\r\n // if(!o1[field]) {\r\n // return sorting.direction === 'asc' ? -1 : 1\r\n // }\r\n // if(!o2[field]) {\r\n // return sorting.direction === 'asc' ? 1 : -1;\r\n // }\r\n\r\n // if (sorting.direction === 'asc') {\r\n // switch (true) {\r\n // // case typeof (o1[field]) === 'object' || typeof (o2[field]) === 'object':\r\n // // return new Date(o1[field]) - new Date(o2[field]);\r\n // case typeof (o1[field]) === 'string' || typeof (o2[field]) === 'string':\r\n // return o1[field].localeCompare(o2[field]);\r\n // default:\r\n // return o1[field] - o2[field];\r\n // }\r\n // } else if(sorting.direction === 'desc') {\r\n // switch (true) {\r\n // // case typeof (o1[field]) === 'object' || typeof (o2[field]) === 'object':\r\n // // return new Date(o2[field]) - new Date(o1[field]);\r\n // case typeof (o1[field]) === 'string' || typeof (o2[field]) === 'string':\r\n // return o2[field].localeCompare(o1[field]);\r\n // default:\r\n // return o2[field] - o1[field];\r\n // }\r\n // }\r\n // }\r\n\r\n // return o1.id - o2.id;\r\n // }).sort((o1, o2) => o1[subGroup].localeCompare(o2[subGroup]))\r\n //};\r\n\r\n const getFilteredSortedOrders = (orders, source, sorting) => {\r\n const profileFilterSettings = profileSettings?.screens?.[loadType]?.list?.columns &&\r\n Object.keys(profileSettings.screens[loadType].list.columns);\r\n\r\n let filteredTypeGroupArr = availableOrdersType && availableOrdersType === source && (orders.filter((obj, index, ordersArr) => {\r\n let typeGroupIndex = ordersArr.findIndex(slot => slot[typeGroup] === obj[typeGroup]);\r\n\r\n return index === typeGroupIndex;\r\n }));\r\n\r\n const hasSameTypeGroup = filteredTypeGroupArr && profileFilterSettings && (filteredTypeGroupArr.length === profileFilterSettings.length) && filteredTypeGroupArr.every(obj => profileFilterSettings.includes(obj[typeGroup]));\r\n\r\n return orders && orders.filter(o =>\r\n Object.keys(filter).reduce((r, f) =>\r\n r && (\r\n (source === mainResource && 'Assigned' === applyFor) || (source === assignedOrders && 'Available' === applyFor)\r\n || (typeof o[f] === 'string' && o[f].includes(filter[f]))\r\n || (typeof filter[f] === 'string' && Array.isArray(filter[f].split(',')) && filter[f].split(',').indexOf(`${o[f]}`) > -1)\r\n || (new Date(o[f.replace('_from', '')]) instanceof Date && f.indexOf('_from') > 0 && new Date(o[f.replace('_from', '')]) >= new Date(filter[f]))\r\n || (new Date(o[f.replace('_to', '')]) instanceof Date && f.indexOf('_to') > 0 && new Date(o[f.replace('_to', '')]) <= new Date(filter[f]))\r\n || o[f] === filter[f])\r\n , true)\r\n ).sort((o1, o2) => {\r\n if (sorting && sorting.length > 0) {\r\n for (let item of sorting) {\r\n const multiplier = item.direction !== 'desc' ? -1 : 1;\r\n const firstValue = 'string' === typeof (o1[item.field]) ? o1[item.field].toLowerCase() : o1[item.field];\r\n const secondValue = 'string' === typeof (o2[item.field]) ? o2[item.field].toLowerCase() : o2[item.field];\r\n\r\n if (firstValue !== secondValue) {\r\n return multiplier * (firstValue > secondValue ? -1 : 1);\r\n }\r\n }\r\n }\r\n\r\n return 0;\r\n }).sort((o1, o2) => {\r\n if (availableOrdersType && availableOrdersType === source && hasSameTypeGroup) {\r\n return profileSettings.screens[loadType].list.columns[o1[typeGroup]].index - profileSettings.screens[loadType].list.columns[o2[typeGroup]].index;\r\n }\r\n\r\n if (availableOrdersType && availableOrdersType === source && hasSameTypeGroup === false) {\r\n const filterSettings0 = [];\r\n const filterSettings1 = [];\r\n\r\n filteredTypeGroupArr.forEach(slot => (profileFilterSettings.includes(slot[typeGroup]) ? filterSettings0 : filterSettings1).push(slot[typeGroup]));\r\n filterSettings0.sort((next, prev) => profileSettings?.screens?.[loadType]?.list?.columns?.[next && prev] &&\r\n profileSettings.screens[loadType].list.columns[next].index - profileSettings.screens[loadType].list.columns[prev].index);\r\n filterSettings1.sort((next, prev) => next.localeCompare(prev));\r\n\r\n const newFilteredSettings = filterSettings0.concat(filterSettings1);\r\n\r\n return newFilteredSettings.indexOf(o1[typeGroup]) - newFilteredSettings.indexOf(o2[typeGroup]);\r\n }\r\n\r\n return o1[subGroup].localeCompare(o2[subGroup]);\r\n });\r\n };\r\n\r\n const getFilteredStops = () => {\r\n let filteredStop;\r\n if (applyFor === '') {\r\n filteredStop = stops.filter(s =>\r\n Object.keys(filter).reduce((r, f) =>\r\n r && (\r\n (typeof s[f] === 'string' && s[f].includes(filter[f]))\r\n || s[f] === filter[f]\r\n )\r\n , true)\r\n );\r\n }\r\n else {\r\n filteredStop = stops && stops.reduce((r, s) => {\r\n if (s.orders.length === 0 || getFilteredSortedOrders(s.orders, assignedOrders).length > 0) {\r\n return [...r, s];\r\n }\r\n return r;\r\n }, []);\r\n }\r\n let loadId = 0;\r\n filteredStop = filteredStop.sort((s1, s2) => new Date(s1[sortAppointment]) - new Date(s2[sortAppointment])).sort((a, b) => {\r\n var nameA = a.loadNumber.toUpperCase();\r\n var nameB = b.loadNumber.toUpperCase();\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n filteredStop.forEach((s, i) => {\r\n if (i === 0) {\r\n s.isFirst = true;\r\n loadId = s.loadId;\r\n }\r\n else {\r\n if (s.loadId !== loadId) {\r\n s.isFirst = true;\r\n loadId = s.loadId;\r\n }\r\n else {\r\n s.isFirst = false;\r\n }\r\n }\r\n });\r\n return filteredStop;\r\n };\r\n\r\n return [filterData, getFilteredSortedOrders, getFilteredStops];\r\n};","import React, { useState } from 'react';\r\n\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { CommonLabels } from \"../../../../project/Defines\";\r\n\r\nimport { BaseData } from \"./baseData\";\r\n\r\nconst MAX_PALLET = 30;\r\nconst MAX_WEIGHT = 42800;\r\n\r\nexport const useSelection = (stops, availableOrders, groupBy, groupType, groupTypeValue, openAlert, createKey) => {\r\n const [selectedOrders, setSelectedOrders] = useState([]);\r\n const [truckNotes, setTruckNotes] = useState();\r\n const [availableSelection, setAvailableSelection] = useState(false);\r\n\r\n const getStopOrdersByKey = orderKey => {\r\n const stop = stops.find(s => s.key === orderKey);\r\n if (!stop) {\r\n throw new Error(`Not found stop for key - ${orderKey}`);\r\n }\r\n return stop.orders;\r\n };\r\n\r\n const getOrderActiveState = orderKey => orderKey === BaseData.defaultKey ? availableOrders : getStopOrdersByKey(orderKey);\r\n\r\n const findOtherSameGroupHardBatchOrders = (orderKey, selectedOrder) => getOrderActiveState(orderKey).filter(o => o[groupBy] === selectedOrder[groupBy] && o.id !== selectedOrder.id);\r\n\r\n const removeOtherSameGroupHardBatchOrders = (orderKey, selectedOrder, addedOrders) => {\r\n const otherSameGroupHardBatchOrders = findOtherSameGroupHardBatchOrders(orderKey, selectedOrder);\r\n otherSameGroupHardBatchOrders && otherSameGroupHardBatchOrders.forEach(ho => {\r\n addedOrders.splice(addedOrders.indexOf(ho), 1);\r\n });\r\n };\r\n\r\n const updateSelectedOrders = (selectedData, orderKey) => {\r\n setSelectedOrders([...selectedData]);\r\n setAvailableSelection(orderKey === BaseData.defaultKey && selectedData && selectedData.length > 0);\r\n if (orderKey === BaseData.defaultKey) {\r\n updateTruckNotes(selectedData);\r\n }\r\n };\r\n\r\n const addSelected = (orderKey, order, addedOrders) => {\r\n if (!addedOrders.find(o => o.id === order.id)) {\r\n addedOrders.push(order);\r\n }\r\n if (order[groupType] === groupTypeValue) {\r\n const otherSameGroupHardBatchOrders = findOtherSameGroupHardBatchOrders(orderKey, order);//ordersState.filter(o => o['orderGroupIndex'] === order['orderGroupIndex'] && o.id !== order.id);\r\n otherSameGroupHardBatchOrders && otherSameGroupHardBatchOrders.forEach(ho => {\r\n if (!addedOrders.find(o => o.id === ho.id)) {\r\n addedOrders.push(ho);\r\n }\r\n });\r\n }\r\n return addedOrders;\r\n };\r\n\r\n const updateTruckNotes = (data) => {\r\n let totalSpace = 0;\r\n let totalPallet = 0;\r\n let totalWeight = 0;\r\n let avgPallet = 0;\r\n let avgWeight = 0;\r\n let stateList = [];\r\n\r\n for (const item of data) {\r\n totalSpace += item.space;\r\n totalPallet += item.palletCount;\r\n totalWeight += item.weight;\r\n item.pickStateName && !stateList.includes(item.pickStateName) && stateList.push(item.pickStateName);\r\n }\r\n\r\n avgPallet = Math.ceil(totalPallet / data.length);\r\n avgWeight = Math.ceil(totalWeight / data.length);\r\n\r\n setTruckNotes({\r\n totalSpace,\r\n totalPallet,\r\n totalWeight,\r\n stateList,\r\n avgPallet,\r\n avgWeight\r\n });\r\n };\r\n\r\n const handleCheck = (order) => {\r\n const orderKey = createKey(order);\r\n let addedOrders = [];\r\n if (selectedOrders.find(o => createKey(o) === orderKey)) {\r\n addedOrders = [...selectedOrders];\r\n }\r\n const selectedOrder = addedOrders.find(o => o.id === order.id);\r\n if (selectedOrder) {\r\n addedOrders.splice(addedOrders.indexOf(selectedOrder), 1);\r\n if (selectedOrder[groupType] === groupTypeValue) {\r\n removeOtherSameGroupHardBatchOrders(orderKey, selectedOrder, addedOrders);\r\n }\r\n }\r\n else {\r\n addedOrders = addSelected(orderKey, order, addedOrders);\r\n }\r\n updateSelectedOrders(addedOrders, orderKey);\r\n };\r\n\r\n const handleUncheck = () => {\r\n updateSelectedOrders([], '');\r\n };\r\n\r\n const onAfterMouseOrdersSelect = (orderData) => {\r\n if (orderData && orderData.length > 0) {\r\n const orderKey = createKey(orderData[0]);\r\n let addedOrders = [];\r\n if (selectedOrders.find(o => createKey(o) === orderKey)) {\r\n addedOrders = [...selectedOrders];\r\n }\r\n orderData.forEach(o => {\r\n addedOrders = addSelected(orderKey, o, addedOrders);\r\n });\r\n updateSelectedOrders(addedOrders, orderKey);\r\n }\r\n };\r\n\r\n const handleSuggest = () => {\r\n const trucksNeed = Math.max(\r\n Math.ceil(truckNotes.totalPallet / MAX_PALLET),\r\n Math.ceil(truckNotes.totalWeight / MAX_WEIGHT)\r\n );\r\n\r\n openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Truck Notes',\r\n classes: 'truck',\r\n html:
    \r\n Total Weight: {truckNotes.totalWeight?.toLocaleString()}\r\n Total Pallets: {truckNotes.totalPallet}\r\n Total Trucks: {trucksNeed}\r\n States:
      {truckNotes.stateList.map((i, index) =>
    • {i}
    • )}
    \r\n Average Weight: {truckNotes.avgWeight?.toLocaleString()}\r\n Average Pallet: {truckNotes.avgPallet}\r\n
    ,\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n };\r\n\r\n return [selectedOrders, truckNotes, availableSelection,\r\n handleCheck, handleUncheck, onAfterMouseOrdersSelect,\r\n handleSuggest, updateSelectedOrders];\r\n};","import React, { useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { message, Tooltip } from 'antd';\r\n\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport { openPopup } from \"../../../../store/actions/popup/popup\";\r\nimport { saveScreenSwap } from '../../../../store/actions/authentication/authentication';\r\nimport Scroll from \"../../scroll/scroll\";\r\nimport Settings from \"../../list/settings\";\r\nimport { CommonLabels } from \"../../../../project/Defines\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\n\r\nconst LoadCreationToolbar = props => {\r\n const { mainResource,\r\n getOrderConfig,\r\n saveScreenSwap,\r\n screens,\r\n getLoadResource,\r\n load,\r\n availableSelection,\r\n truckNotes,\r\n handleUncheck,\r\n assignedOrders,\r\n handleSuggest,\r\n loads,\r\n initStops,\r\n getAllStopOrders,\r\n setLoads,\r\n stops,\r\n createLoad,\r\n disableAdd,\r\n setDisableAdd,\r\n loadAdded,\r\n setLoadAdded,\r\n openAlert\r\n } = props;\r\n\r\n const addLoad = () => {\r\n setDisableAdd(true);\r\n setLoadAdded(false);\r\n axios({\r\n url: getLoadResource().LoadResource,\r\n method: 'POST',\r\n data: {\r\n id: 0\r\n }\r\n })\r\n .then(result => {\r\n if (result?.data) {\r\n const newLoadList = [...loads, result.data];\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(stops)], newLoadList);\r\n\r\n openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Load Added',\r\n classes: 'truck',\r\n text: `${result.data.loadNumber}`,\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n } else {\r\n props.openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Error',\r\n text: 'No result for Update!',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n setDisableAdd(false);\r\n setLoadAdded(true);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if(loadAdded && document?.getElementsByClassName) {\r\n const tableEl = document.getElementsByClassName('ant-table-body')[0];\r\n tableEl.scrollTop = tableEl.scrollHeight - tableEl.clientHeight;\r\n }\r\n }, [loadAdded]);\r\n\r\n const swap = screens && screens[mainResource] ? screens[mainResource].swap : false;\r\n\r\n useEffect(() => {\r\n if(!truckNotes) {\r\n return;\r\n }\r\n if(truckNotes.totalPallet > 30) {\r\n message.warning('The total pallet is greater than 30')\r\n }\r\n if(truckNotes.totalWeight > 42800) {\r\n message.warning('The total weight is greater than 42800')\r\n }\r\n }, [truckNotes])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Available\r\n \r\n \r\n \r\n \r\n \r\n Assigned\r\n \r\n \r\n \r\n \r\n saveScreenSwap(mainResource, !swap)}>\r\n Swap Tables\r\n \r\n \r\n {/* Orders */}\r\n {getLoadResource().ShowRefreshButton ? (\r\n <>\r\n \r\n \r\n Refresh\r\n \r\n \r\n \r\n ) : null}\r\n {/**/}\r\n \r\n \r\n \r\n {\r\n availableSelection > 0 && truckNotes && (<>\r\n
    \r\n Create New Load\r\n
    \r\n
    \r\n
    Space Count
    \r\n
    \r\n {truckNotes.totalSpace}\r\n
    \r\n
    \r\n
    \r\n
    Pallet Count
    \r\n
    \r\n 30 ? '' : null}>{truckNotes.totalPallet}\r\n
    \r\n
    \r\n
    \r\n
    Total Weight
    \r\n
    \r\n 42800 ? '' : null}>{truckNotes.totalWeight?.toLocaleString()}\r\n
    \r\n
    \r\n
    \r\n Truck Notes\r\n
    \r\n
    \r\n Uncheck Selected\r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n { !props.isHiddenSwitch && }\r\n
    );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n screens: state.auth.profileSettings && state.auth.profileSettings.screens\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openAlert: (key) => dispatch(openPopup(key)),\r\n saveScreenSwap: (resource, swap) => dispatch(saveScreenSwap(resource, swap))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadCreationToolbar);","import React, { useState } from 'react';\r\n\r\nimport Sheet from \"../../custom/sheet/sheet\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { Action } from \"../../../config/action.config\";\r\nimport { CloneObject } from '../../../helper/common';\r\n\r\nconst Orders = props => {\r\n const {\r\n data,\r\n draggable,\r\n colgroup,\r\n droppableId,\r\n recordId,\r\n selectable,\r\n handleCheck,\r\n selectedOrders,\r\n onAfterMouseOrdersSelect,\r\n grouping,\r\n groupBy,\r\n groupType,\r\n groupTypeValue,\r\n subGroup,\r\n getFilteredSortedOrders,\r\n getOrderForm,\r\n getAssignedOrderGroups,\r\n apiResource,\r\n openPopup,\r\n stops,\r\n setStops,\r\n availableOrders,\r\n setAvailableOrders,\r\n closePopupAsync,\r\n closePopup,\r\n getOrderConfig,\r\n resource,\r\n attributes,\r\n isInbound\r\n } = props;\r\n\r\n const defaultSort = {};\r\n const columnsObj = getOrderConfig().List.Columns;\r\n\r\n for (let column in columnsObj) {\r\n if (columnsObj[column] && columnsObj[column].Sorted) {\r\n defaultSort['field'] = column;\r\n defaultSort['direction'] = columnsObj[column].Sorted;\r\n }\r\n }\r\n\r\n const [sort, setSort] = useState([defaultSort]);\r\n\r\n const onActionRecordHandler = (record, action, stopId) => {\r\n switch (action) {\r\n case Action.Edit:\r\n editOrder(record.recordId, stopId);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const editOrder = (id, stopId) => {\r\n const windowKey = 'Order';\r\n const config = CloneObject(getOrderForm());\r\n const title = `Edit ${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = id;\r\n const assignedOrderGroups = getAssignedOrderGroups();\r\n if (stopId) {\r\n if (isInbound) {\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group1 = assignedOrderGroups[5];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group2 = assignedOrderGroups[6];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group3 = assignedOrderGroups[7];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group4 = assignedOrderGroups[8];\r\n } else {\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group1 = assignedOrderGroups[0];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group2 = assignedOrderGroups[1];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group3 = assignedOrderGroups[2];\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group4 = assignedOrderGroups[3];\r\n }\r\n config.screen.Form.SectionGroups[0].Sections[0].Fields.Group5 = assignedOrderGroups[4];\r\n config.screen.Resource = apiResource;\r\n }\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result) => {\r\n if (result.id && !result.hasError) {\r\n result.puWeek = result.puDate && new Date(result.puDate).getWeek();\r\n result.dropWeek = result.dropDate && new Date(result.dropDate).getWeek();\r\n }\r\n if (stopId) {\r\n const newStops = [...stops];\r\n const changedStop = newStops.find(s => s.id === stopId);\r\n if (changedStop) {\r\n const newOrders = [...changedStop.orders];\r\n const changedOrder = newOrders.find(o => o.id === result.id);\r\n if (changedOrder) {\r\n const changedOrderIndex = newOrders.indexOf(changedOrder);\r\n newOrders.splice(changedOrderIndex, 1, result);\r\n changedStop.orders = newOrders;\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Order not found, id - ${result.id}`);\r\n }\r\n }\r\n else {\r\n console.error(`Stop not found. id - ${stopId}`);\r\n }\r\n }\r\n else {\r\n const newOrders = [...availableOrders];\r\n const changedOrder = newOrders.find(o => o.id === result.id);\r\n if (changedOrder) {\r\n const changedOrderIndex = newOrders.indexOf(changedOrder);\r\n newOrders.splice(changedOrderIndex, 1, result);\r\n setAvailableOrders(newOrders);\r\n }\r\n else {\r\n console.error(`Order not found, id - ${result.id}`);\r\n }\r\n }\r\n closePopupAsync(windowKey);\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n //const onSort = (column) => {\r\n // const sorting = {};\r\n // if(sort.field === column) {\r\n // sorting.field = column;\r\n // if(sort.direction === 'asc') {\r\n // sorting.direction = 'desc';\r\n // } else if(sort.direction === 'desc') {\r\n // sorting.field = null;\r\n // sorting.direction = null;\r\n // } else {\r\n // sorting.direction = 'asc';\r\n // }\r\n // } else {\r\n // sorting.field = column;\r\n // sorting.direction = 'asc';\r\n // }\r\n // \r\n // setSort((oldState) => {\r\n \r\n // return sorting;\r\n // });\r\n //};\r\n\r\n const onSort = (column) => {\r\n let isItemExists = sort.some(obj => {\r\n return obj.field === column;\r\n });\r\n\r\n if (isItemExists) {\r\n sort.filter((obj, index) => {\r\n if (obj.field === column) {\r\n if (obj.direction === 'asc') {\r\n obj.direction = 'desc';\r\n\r\n setSort((oldState) => {\r\n return [...oldState];\r\n });\r\n } else {\r\n obj.field = null;\r\n obj.direction = null;\r\n\r\n setSort((oldState) => {\r\n oldState.splice(index, 1);\r\n\r\n return [...oldState];\r\n });\r\n }\r\n }\r\n\r\n return sort;\r\n });\r\n } else {\r\n setSort((oldState) => {\r\n return [...oldState, { field: column, direction: 'asc' }];\r\n });\r\n } \r\n };\r\n\r\n \r\n const isAvailable = resource === 'AvailableOrders' || resource === 'OutboundAvailableOrders' || false;\r\n\r\n return (\r\n onActionRecordHandler(r, action, recordId)}\r\n {...getOrderConfig()}\r\n resource={resource}\r\n stopResource={props.stopResource}\r\n data={getFilteredSortedOrders(data, resource, isAvailable ? sort : null)}\r\n onSort={isAvailable ? onSort : null}\r\n sort={sort}\r\n columns={getOrderConfig().List.Columns}\r\n keyFieldName='id'\r\n classes='table_view extra'\r\n />\r\n );\r\n};\r\n\r\nexport default React.memo(Orders);","import React, { useState, useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport ResizeObserver from 'rc-resize-observer';\r\nimport ResizableTitle from '../../../components/list/resizableTitle';\r\nimport { Table, message } from 'antd';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport { Columns } from '../../../helper/list';\r\nimport { Action } from '../../../config/action.config';\r\nimport { PopupTypes } from '../../custom/popup/popup';\r\nimport { CommonLabels } from '../../../../project/Defines';\r\nimport { openPopup } from '../../../../store/actions/popup/popup';\r\nimport Orders from './orders';\r\nimport { setProfileColumnWidth, saveProfileColumnWidth } from '../../../../store/actions/authentication/authentication';\r\n\r\nconst Stops = props => {\r\n const {\r\n draggable,\r\n colgroup,\r\n selectable,\r\n handleCheck,\r\n selectedOrders,\r\n onAfterMouseOrdersSelect,\r\n grouping,\r\n groupBy,\r\n groupType,\r\n groupTypeValue,\r\n getFilteredSortedOrders,\r\n getOrderForm,\r\n getAssignedOrderGroups,\r\n // apiResource,\r\n openPopup,\r\n stops,\r\n setStops,\r\n availableOrders,\r\n setAvailableOrders,\r\n closePopupAsync,\r\n closePopup,\r\n getOrderConfig,\r\n resource,\r\n stopResource,\r\n getFilteredStops,\r\n lastStop,\r\n getStopConfig,\r\n loads,\r\n getAllStopOrders,\r\n setLoads,\r\n initStops,\r\n getLoadResource,\r\n setLoading,\r\n load,\r\n updatePickAppointment,\r\n updateDropAppointment,\r\n updateInboundLoadSequence,\r\n updateOutboundLoadSequence,\r\n updateInboundStopNotes,\r\n updateOutboundStopNotes,\r\n updateInOut,\r\n getDispatchConfig\r\n } = props;\r\n const apiInbound = 'Order/assignloadorderitem';\r\n const apiOutbound = 'Order/assignoutboundloadorderitem';\r\n\r\n const [resizeMode, setResizeMode] = useState(false);\r\n const [tableWidth, setTableWidth] = useState(0);\r\n\r\n const editLoad = useCallback(id => {\r\n const windowKey = \"Truck\";\r\n const config = getStopConfig();\r\n const title = `Edit ${config.Title}`;\r\n config.screen = config;\r\n config.screen.Form.DefaultId = id;\r\n props.openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result, isClose) => {\r\n if (result && !result.hasError) {\r\n const newLoadList = [...loads];\r\n const changedLoad = newLoadList.find(l => l.id === result.id);\r\n changedLoad.color = result.color;\r\n changedLoad.destinatinationLocation = result.destinatinationLocation;\r\n changedLoad.driverName = result.driverName;\r\n changedLoad.driverPhone = result.driverPhone;\r\n changedLoad.inTransit = result.inTransit;\r\n changedLoad.loadCustomerGroup = result.loadCustomerGroup;\r\n changedLoad.palletCountSum = result.palletCountSum;\r\n changedLoad.rate = result.rate;\r\n changedLoad.readyToBook = result.readyToBook;\r\n changedLoad.truckNumber = result.truckNumber;\r\n changedLoad.weightSum = result.weightSum;\r\n changedLoad.carrierName = result.carrierName;\r\n changedLoad.trailer = result.trailer;\r\n changedLoad.carrierId = result.carrierId;\r\n changedLoad.truckId = result.truckId;\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(stops)], newLoadList);\r\n }\r\n else {\r\n props.openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Error',\r\n text: result.message ? result.message : 'No result for Update!',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n if (isClose) {\r\n props.closePopupAsync(windowKey);\r\n }\r\n },\r\n closeAction: () => {\r\n props.closePopup(windowKey);\r\n },\r\n });\r\n }, [getAllStopOrders, getStopConfig, initStops, loads, props, setLoads, stops]);\r\n\r\n const readyToBook = useCallback((id, action) => {\r\n const stop = stops.find(s => s.loadId === id);\r\n if (!stop.orders || stop.orders.length === 0) {\r\n message.warning(\"You can't book empty load\");\r\n return;\r\n }\r\n const newLoadList = [...loads];\r\n const changedLoad = newLoadList.find(l => l.id === id);\r\n changedLoad.readyToBook = !(action === Action.Booked);\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(stops)], newLoadList);\r\n axios({\r\n url: `${getLoadResource().LoadResource}/readytobook`,\r\n method: 'PUT',\r\n data: {\r\n id: id,\r\n readyToBook: !(action === Action.Booked)\r\n }\r\n })\r\n .then((result) => {\r\n if (!result) {\r\n load();\r\n return;\r\n }\r\n if (result.data.hasError) {\r\n message.error(result.data.message);\r\n load();\r\n return;\r\n }\r\n message.success(`Load successfuly ${!(action === Action.Booked) ? 'booked' : 'un booked'}`);\r\n });\r\n }, [getAllStopOrders, getLoadResource, initStops, load, loads, setLoads, stops]);\r\n\r\n const setInTransit = useCallback((id, loadNumber, action) => {\r\n const inTransit = !(action === Action.RemoveInTransit);\r\n const title = `Are you sure that you want to send this load ${loadNumber} to In transit stage?`\r\n props.openConfirm({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Confirm,\r\n title: inTransit ? title : `Are you sure that you want to remove this load ${loadNumber} from In transit stage?`,\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Yes,\r\n buttonNoText: CommonLabels.Buttons.No,\r\n yesCallback: () => {\r\n const newLoadList = [...loads];\r\n const changedLoad = newLoadList.find(l => l.id === id);\r\n changedLoad.inTransit = inTransit;\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(stops)], newLoadList);\r\n axios({\r\n url: `${getLoadResource().LoadResource}/intransit`,\r\n method: 'PUT',\r\n data: {\r\n id: id,\r\n inTransit: inTransit\r\n }\r\n })\r\n .then((result) => {\r\n if (!result) {\r\n load();\r\n return;\r\n }\r\n if (result.data.hasError) {\r\n message.error(result.data.message);\r\n load();\r\n return;\r\n }\r\n message.success(`Load successfuly ${!(action === Action.RemoveInTransit) ? 'sent to in transit' : 'has got back from the transit'}`);\r\n });\r\n }\r\n });\r\n }, [getAllStopOrders, getLoadResource, initStops, load, loads, props, setLoads, stops]);\r\n\r\n const setDispatch = useCallback(id => {\r\n const config = getDispatchConfig();\r\n const windowKey = `dispatch_${id}`;\r\n config.Form.DefaultId = id;\r\n config.Resource = `${getLoadResource().LoadResource}/stopdispatch`\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: config.Title,\r\n type: PopupTypes.ConfigForm,\r\n bodyProps: { windowKey },\r\n config: config,\r\n saveAction: (result) => {\r\n updateInOut(result);\r\n // closePopupAsync(windowKey);\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n }, [closePopup, /* closePopupAsync, */ getDispatchConfig, getLoadResource, openPopup, updateInOut]);\r\n\r\n const setDone = useCallback((id, loadNumber, action) => {\r\n const title = `Are you sure that you want to compleate this load ${loadNumber} ?`\r\n props.openConfirm({\r\n windowKey: 'wndConfirmClose',\r\n type: PopupTypes.Confirm,\r\n title,\r\n text: '',\r\n buttonYesText: CommonLabels.Buttons.Yes,\r\n buttonNoText: CommonLabels.Buttons.No,\r\n yesCallback: () => {\r\n const newLoadList = [...loads];\r\n const changedLoadIndex = newLoadList.indexOf(newLoadList.find(l => l.id === id));\r\n newLoadList.splice(changedLoadIndex, 1)\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(stops)], newLoadList);\r\n axios({\r\n url: `${getLoadResource().LoadResource}/completeload`,\r\n method: 'PUT',\r\n data: {\r\n id: id\r\n }\r\n })\r\n .then((result) => {\r\n if (!result) {\r\n load();\r\n return;\r\n }\r\n if (result.data.hasError) {\r\n message.error(result.data.message);\r\n load();\r\n return;\r\n }\r\n message.success(`Load ${loadNumber} successfuly compleated`);\r\n });\r\n }\r\n });\r\n }, [getAllStopOrders, getLoadResource, initStops, load, loads, props, setLoads, stops]);\r\n\r\n const deleteLoad = useCallback((id, data) => {\r\n const config = getStopConfig();\r\n props.openConfirm({\r\n windowKey: 'wndConfirmDelete',\r\n type: PopupTypes.Confirm,\r\n title: CommonLabels.Messages.ConfirmDeleteTitle(config.Title, data[config.Master]),\r\n text: CommonLabels.Messages.ConfirmDeleteText,\r\n buttonYesText: CommonLabels.Buttons.Delete,\r\n buttonNoText: CommonLabels.Buttons.Cancel,\r\n yesCallback: () => {\r\n setLoading(true);\r\n axios.delete(getLoadResource().LoadResource, {\r\n params: {\r\n id: id,\r\n }\r\n })\r\n .then((result) => {\r\n if (!result) {\r\n load();\r\n return;\r\n }\r\n if (result && !result.data.hasError) {\r\n message.info(result.data.message);\r\n }\r\n else {\r\n message.error(result.data.message);\r\n }\r\n load();\r\n });\r\n }\r\n });\r\n }, [getLoadResource, getStopConfig, load, props, setLoading]);\r\n\r\n const onAction = useCallback((data, action) => {\r\n switch (action) {\r\n case Action.Edit:\r\n editLoad(data.loadId);\r\n break;\r\n case Action.Delete:\r\n deleteLoad(data.loadId, data);\r\n break;\r\n case Action.Book:\r\n case Action.Booked:\r\n readyToBook(data.loadId, action);\r\n break;\r\n case Action.InTransit:\r\n case Action.RemoveInTransit:\r\n setInTransit(data.loadId, data.loadNumber, action);\r\n break;\r\n case Action.Dispatch:\r\n setDispatch(data.id, data.loadNumber, action);\r\n break;\r\n case Action.Done:\r\n setDone(data.loadId, data.loadNumber, action)\r\n break;\r\n default:\r\n break;\r\n }\r\n }, [deleteLoad, editLoad, readyToBook, setDispatch, setDone, setInTransit]);\r\n\r\n const onCustomAction = useCallback((result, actionType) => {\r\n if (result && !result.hasError) {\r\n const newStops = [...stops];\r\n switch (actionType) {\r\n case 'PickAppointment':\r\n updatePickAppointment(newStops, result);\r\n break;\r\n case 'DropAppointment':\r\n updateDropAppointment(newStops, result);\r\n break;\r\n case 'InboundLoadSequence':\r\n updateInboundLoadSequence(newStops, result);\r\n break;\r\n case 'OutboundLoadSequence':\r\n updateOutboundLoadSequence(newStops, result);\r\n break;\r\n case 'InboundStopNotes':\r\n updateInboundStopNotes(newStops, result);\r\n break;\r\n case 'OutboundStopNotes':\r\n updateOutboundStopNotes(newStops, result);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n else {\r\n props.openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Error',\r\n text: result.message ? result.message : 'No result for Update!',\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n }, [props, stops, updateDropAppointment, updateInboundLoadSequence, updateInboundStopNotes, updateOutboundLoadSequence, updateOutboundStopNotes, updatePickAppointment]);\r\n\r\n const onResizeStart = useCallback(() => {\r\n setResizeMode(true);\r\n }, []);\r\n\r\n const onResize = useCallback(({ size }, field) => {\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: size.width\r\n });\r\n props.setColumnWidth(stopResource, selectedColumns);\r\n }, [props, stopResource]);\r\n\r\n const onResizeStop = useCallback(({ size }, field) => {\r\n setResizeMode(false);\r\n const selectedColumns = [];\r\n selectedColumns.push({\r\n name: field,\r\n width: Math.floor(size.width)\r\n });\r\n props.saveColumnWidth(stopResource, selectedColumns);\r\n }, [props, stopResource]);\r\n\r\n const columnsSort = useCallback(() =>\r\n Columns({ resizable: true, ...getStopConfig() },\r\n onAction,\r\n null, onCustomAction, //dataSource, setDataSource,\r\n null,\r\n props.profileSettings, onResize, onResizeStop, onResizeStart, resizeMode, tableWidth),\r\n [getStopConfig, onAction, onCustomAction, props.profileSettings, onResize, onResizeStop, onResizeStart, resizeMode, tableWidth]);\r\n\r\n const columns = columnsSort()[0];\r\n\r\n const Row = p => {\r\n const key = p['data-row-key'];\r\n const currentStops = getFilteredStops();\r\n const stop = currentStops.find(s => s.gridKey === key);\r\n if (!stop) {\r\n return (\r\n {p.children}\r\n );\r\n }\r\n if (currentStops.indexOf(stop) === 0) {\r\n lastStop.current = stop;\r\n }\r\n const showSeparator = !lastStop.current.color && lastStop.current.loadId !== stop.loadId;\r\n const out = (\r\n <>\r\n {showSeparator && \r\n \r\n }\r\n \r\n {p.children}\r\n \r\n\r\n );\r\n lastStop.current = stop;\r\n return out;\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n setTableWidth(e.width);\r\n }}\r\n >\r\n \r\n (\r\n )\r\n }}\r\n />\r\n \r\n \r\n )\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n profileSettings: state.auth.profileSettingsTemp\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setColumnWidth: (resource, columns) => dispatch(setProfileColumnWidth(resource, columns)),\r\n saveColumnWidth: (resource, columns) => dispatch(saveProfileColumnWidth(resource, columns)),\r\n openConfirm: data => dispatch(openPopup(data))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(React.memo(Stops));","export const useAppointment = setStops => {\r\n const updatePickAppointment = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.pickAppointment = result.appointment;\r\n changedStop.pickStatus = result.status;\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.inboundAppointment = changedStop.pickAppointment;\r\n o.inbioundAppointmentStatus = changedStop.pickStatus;\r\n });\r\n changedStop.orders = newOrders;\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n\r\n const updateDropAppointment = (newStops, result) => {\r\n newStops.forEach(s => {\r\n if (s.loadId === result.loadId) {\r\n if ((result.warehouseId && s.warehouseId) ||\r\n (!result.warehouseId && !s.warehouseId && s.dropLocationId === result.dropLocationId)) {\r\n s.dropAppointment = result.dropAppointment;\r\n s.dropStatus = result.dropStatus;\r\n\r\n const newOrders = [...s.orders];\r\n newOrders.forEach(o => {\r\n o.dropInboundAppointment = s.dropAppointment;\r\n o.dropInboundAppointmentStatus = s.dropStatus;\r\n });\r\n s.orders = newOrders;\r\n }\r\n }\r\n });\r\n setStops(newStops);\r\n };\r\n return [updatePickAppointment, updateDropAppointment];\r\n};","export const useLoadSequence = setStops => {\r\n const updateInboundLoadSequence = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.sequencesName = result.inboundLoadingSequenceName;\r\n\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.inboundLoadingSequenceName = result.inboundLoadingSequenceName;\r\n });\r\n changedStop.orders = newOrders;\r\n\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n\r\n const updateOutboundLoadSequence = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.sequencesName = result.outboundLoadingSequenceName;\r\n\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.outboundLoadingSequenceName = result.outboundLoadingSequenceName;\r\n });\r\n changedStop.orders = newOrders;\r\n\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n return [updateInboundLoadSequence, updateOutboundLoadSequence];\r\n};","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Split from \"react-split-it\";\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport InboundLoadConfig from '../../../../screens/LoadArea/InboundLoad/config';\r\n\r\nimport { PopupTypes } from \"../../../custom/popup/popup\";\r\nimport { CommonLabels } from \"../../../../../project/Defines\";\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport DragDrop from \"../../../custom/dragDrop\";\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\nimport { Data } from \"./data\";\r\nimport { useDragging } from '../useDragging';\r\nimport { useFiltering } from '../useFiltering';\r\nimport { useSelection } from \"../useSelection\";\r\nimport Toolbar from '../loadCreationToolbar';\r\nimport Orders from '../orders';\r\nimport Stops from '../stops';\r\nimport { useAppointment } from './useAppointment';\r\nimport { useLoadSequence } from '../useLoadSequence';\r\n\r\nconst mainResource = \"AvailableOrders\";\r\nconst assignedOrders = \"AssignedOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'pickRegionCode';\r\nconst defaultDroppableId = 'orders';\r\n\r\nconst InboundLoad = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(InboundLoadConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(InboundLoadConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(InboundLoadConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(InboundLoadConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(InboundLoadConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(InboundLoadConfig.Pages.Filter), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [availableOrders, setAvailableOrders] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [disableAdd, setDisableAdd] = useState(false);\r\n const [loadAdded, setLoadAdded] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const openAlert = props.openAlert;\r\n\r\n const [selectedOrders, truckNotes, availableSelection, handleCheck,\r\n handleUncheck, onAfterMouseOrdersSelect, handleSuggest, updateSelectedOrders]\r\n = useSelection(stops, availableOrders, groupBy, groupType, groupTypeValue, props.openAlert, Data.createKey);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //available\r\n response.data.availableOrders.data.forEach(item => {\r\n item.puWeek = item.puDate && new Date(item.puDate).getWeek();\r\n item.dropWeek = item.dropDate && new Date(item.dropDate).getWeek();\r\n });\r\n setAvailableOrders(response.data.availableOrders.data);\r\n //assigned\r\n response.data.assignedOrders.data.forEach(item => {\r\n item.puWeek = item.puDate && new Date(item.puDate).getWeek();\r\n item.dropWeek = item.dropDate && new Date(item.dropDate).getWeek();\r\n });\r\n setLoads(response.data.inboundLoads.data);\r\n const d = new Data(response.data.assignedOrders.data, response.data.inboundLoads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const resetOrder = (order) => {\r\n order.loadId = order.inboundLoadNumber = order.truckNumber = order.driverName =\r\n order.driverPhone = order.rate = order.carrierName = order.inboundTrailer = order.inboundAppointment =\r\n order.inbioundAppointmentStatus = order.dropInboundAppointment = order.dropInboundAppointmentStatus = null;\r\n };\r\n\r\n const initOrderFromStop = (order, stop, stops) => {\r\n if (!order) {\r\n throw Error('order is undefined');\r\n }\r\n if (!stop) {\r\n throw Error('stop is undefined');\r\n }\r\n if (!stops) {\r\n throw Error('stops is undefined');\r\n }\r\n //set load defaults\r\n order.loadId = stop.loadId;\r\n order.inboundLoadNumber = stop.loadNumber;\r\n order.truckNumber = stop.truckNumber;\r\n order.driverName = stop.driverName;\r\n order.driverPhone = stop.driverPhone;\r\n order.rate = stop.rate;\r\n order.carrierName = stop.carrierName;\r\n order.inboundTrailer = stop.trailer;\r\n //try to find correct stop\r\n const key = Data.createKey(order);\r\n const corectStop = stops.find(s => s.key === key);\r\n if (corectStop) {\r\n order.inboundAppointment = corectStop.pickAppointment;\r\n order.inbioundAppointmentStatus = corectStop.pickStatus;\r\n order.dropInboundAppointment = corectStop.dropAppointment;\r\n order.dropInboundAppointmentStatus = corectStop.dropStatus;\r\n }\r\n else {\r\n order.inbioundAppointmentStatus = order.dropInboundAppointmentStatus = 'Open';\r\n order.inboundAppointment = order.dropInboundAppointment = null;\r\n }\r\n };\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [updatePickAppointment, updateDropAppointment] = useAppointment(setStops);\r\n const [updateInboundLoadSequence] = useLoadSequence(setStops);\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n availableOrders,\r\n InboundLoadConfig.Pages.Filter,\r\n mainResource,\r\n assignedOrders,\r\n subGroup,\r\n 'pickAppointment',\r\n props.profileSettings,\r\n 'pickRegionCode',\r\n 'AvailableOrders',\r\n 'InboundFilterRegions'\r\n );\r\n\r\n const [getDragDropData, updateDragDropData] = useDragging(\r\n defaultDroppableId,\r\n availableOrders,\r\n mainResource,\r\n getFilteredSortedOrders,\r\n getFilteredStops,\r\n updateSelectedOrders,\r\n stops,\r\n getLoadResource().LoadResource,\r\n load,\r\n setAvailableOrders,\r\n initStops,\r\n initOrderFromStop,\r\n getAllStopOrders,\r\n loads,\r\n setStops,\r\n 'assignorders',\r\n 'unassignorders',\r\n 'loadId',\r\n resetOrder\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const createLoad = () => {\r\n setDisableAdd(true);\r\n setLoadAdded(false);\r\n axios({\r\n url: `${getLoadResource().Resource}/createloadassignorders`,\r\n method: 'PUT',\r\n data: {\r\n loadId: 0,\r\n orderIds: selectedOrders.map(i => i.id)\r\n }\r\n })\r\n .then(result => {\r\n if (result?.data) {\r\n const newLoad = result.data;\r\n const loadId = newLoad.id;\r\n\r\n const loadOrders = [...selectedOrders].map(o => {\r\n o.loadId = loadId;\r\n return o;\r\n });\r\n const newLoadList = [...loads, newLoad];\r\n\r\n updateSelectedOrders([], '');\r\n\r\n const d = new Data(loadOrders, [newLoad]);\r\n const newStops = [...stops, ...d.stops];\r\n\r\n const newAvailableOrders = [...availableOrders];\r\n loadOrders.forEach(o => {\r\n newAvailableOrders.splice(newAvailableOrders.indexOf(newAvailableOrders.find(ao => ao.id === o.id)), 1);\r\n initOrderFromStop(o, newLoad, d.stops);\r\n o.loadId = loadId;\r\n });\r\n setAvailableOrders(newAvailableOrders);\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(newStops)], newLoadList);\r\n\r\n openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Inbound Load Created',\r\n classes: 'truck',\r\n html:
    \r\n {result.data.loadNumber}\r\n Total Pallets: {truckNotes.totalPallet}\r\n Total Weight: {truckNotes.totalWeight?.toLocaleString()}\r\n
    ,\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n setDisableAdd(false);\r\n setLoadAdded(true);\r\n });\r\n };\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n const availableOrdersComponent = ;\r\n\r\n const swapContainers = () => props.swap ? [stopsComponent, availableOrdersComponent] : [availableOrdersComponent, stopsComponent];\r\n\r\n return (\r\n <>\r\n \r\n {availableOrders && stops && !loading ? \r\n \r\n {InboundLoadConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n \r\n {swapContainers()}\r\n \r\n \r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n swap: state.auth.profileSettings && state.auth.profileSettings.screens\r\n && state.auth.profileSettings.screens[mainResource] ? state.auth.profileSettings.screens[mainResource].swap : false,\r\n profileSettings: state.auth.profileSettings\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(errorHandler(InboundLoad, axios));","import React from 'react';\r\n\r\nconst TableStructure = () => (\r\n <>\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    P/U C
    updown
    PO#
    updown
    Row
    updown
    LBS
    updown
    ORDER CYCLE
    updown
    Drop City
    updown
    READY
    updown
    updown
    B
    updown
    Drop ST
    updown
    CUS
    updown
    P/U WH
    updown
    P/U ST
    updown
    TRF WH
    updown
    DEL CITY
    updown
    DEL ST
    updown
    DEL WH
    updown
    DUE
    updown
    SO#
    updown
    PAL
    updown
    SPA
    updown
    CS
    updown
    Actions
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    777770110CA777770110CA777770110CA777770110CA777770110CA
    Edit
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    Sample Title
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    777770110CA777770110CA777770110CA777770110CA777770110CA
    Edit
    beforeafter
    beforeafter
    beforeafter
    \r\n \r\n \r\n \r\n
    \r\n
    Sample Title
    \r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    \r\n \r\n \r\n \r\n
    plus
    \r\n \r\n
    copy
    \r\n \r\n \r\n
    delete
    \r\n \r\n
    saveSave Changes
    \r\n \r\n
    Delete Overlay
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    Feed URL
    \r\n \r\n
    \r\n \r\n
    \r\n
    Durationssec
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    beforeafter
    beforeafter
    beforeafter
    beforeafter
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n);\r\n\r\nexport default TableStructure;","import React from 'react';\r\nimport TableStructure from './tableStructure';\r\n\r\nconst ExperimentalLoad = () => {\r\n \r\n return <>;\r\n};\r\n\r\n\r\nexport default ExperimentalLoad;","import {\r\n ElementTypes,\r\n GenerateToolBars\r\n} from '../../../config';\r\n\r\nconst StopNotes = {\r\n Title: 'Stop Notes',\r\n Resource: 'Load/stopnotes',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Stop Notes',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n inboundStopNotes: {\r\n fieldClasses: ['note'],\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment()\r\n },\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose','Close'])\r\n }\r\n};\r\n\r\nexport default StopNotes;","import { notification } from 'antd';\r\nimport moment from 'moment';\r\n\r\nimport { CloneObject } from '../../../helper/common';\r\nimport {\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable,\r\n ElementTypes,\r\n ComponentTypes,\r\n ElementValidations\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\n\r\nimport { Defines } from '../../../../../src/project/Defines';\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport PickAppointment from './pickAppointmentConfig';\r\nimport DropAppointment from './dropAppointmentConfig';\r\n\r\nimport TruckConfig from '../../Truck/config';\r\nimport TrailerConfig from '../../Trailer/config';\r\nimport DriverConfig from '../../Driver/config';\r\nimport CarrierConfig from '../../Carrier/config';\r\nimport StopNotes from './stopNotesForm';\r\n\r\nconst CarrierForm = CloneObject(CarrierConfig);\r\nCarrierForm.Form = CarrierForm.Form.Tabstrip[0].Form;\r\n\r\nconst beforeUpdate = (data, parentVal) => {\r\n return { ...data, carrierId: parentVal };\r\n};\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nconst truckConfig = CloneObject(TruckConfig);\r\ndelete truckConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ntruckConfig.beforeUpdate = beforeUpdate;\r\n\r\nconst trailerConfig = CloneObject(TrailerConfig);\r\ndelete trailerConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ntrailerConfig.beforeUpdate = beforeUpdate;\r\n\r\nconst driverConfig = CloneObject(DriverConfig);\r\ndelete driverConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ndriverConfig.beforeUpdate = beforeUpdate;\r\n\r\nexport const AppointmentStatus = [\r\n { value: 'Open', text: 'Open' },\r\n { value: 'ReOpen', text: 'ReOpen' },\r\n { value: 'Request', text: 'Request' },\r\n { value: 'Requested', text: 'Requested' },\r\n { value: 'Confirmed', text: 'Confirmed' },\r\n];\r\n\r\n\r\n\r\nconst InLoadInAppts = {\r\n Title: 'InLoadInAppts',\r\n Resource: 'InboundAppointment',\r\n AreaResource: 'InboundAppointment/area',\r\n LoadResource: 'InboundAppointment',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true, //samvel\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Type: FilterType.Text\r\n },\r\n truckId: {\r\n Title: 'Truck Number',\r\n Type: FilterType.Select,\r\n Valuelist: 'truck'\r\n },\r\n carrierId: {\r\n Title: 'Carrier Name',\r\n Type: FilterType.Select,\r\n Valuelist: 'carrier'\r\n },\r\n pickStatus: {\r\n Title: 'Pick Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n },\r\n dropStatus: {\r\n Title: 'Drop Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'Load',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(PickAppointment, DropAppointment),\r\n carrierName: {\r\n Title: 'Carrier',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n target: {\r\n Title: 'Target',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverName: {\r\n Title: 'Driver',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverPhone: {\r\n Title: 'Phone #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Phone,\r\n Width: 100\r\n },\r\n truckNumber: {\r\n Title: 'Truck #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n trailer: {\r\n Title: 'Trailer #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n readyToBook: {\r\n Title: 'Booked',\r\n NoSort: true,\r\n Type: ColumnType.Bool,\r\n Width: 80\r\n },\r\n // stopNotes: {\r\n // Title: 'Notes',\r\n // NoSort: true,\r\n // Type: ColumnType.SimpleIndicator,\r\n // Width: 80\r\n // }\r\n inboundStopNotes: {\r\n Title: 'Notes',\r\n NoSort: true,\r\n\r\n Type: ColumnType.Button,\r\n Icon: 'chat',\r\n PopupConfig: {\r\n Resource: '',\r\n Form: StopNotes\r\n },\r\n Action: 'OpenForm',\r\n ActionType: 'InboundStopNotes',\r\n\r\n Display: o => !o.isEmpty,\r\n\r\n Width: 60,\r\n }\r\n },\r\n Actions: {\r\n Display: o => o.isFirst,\r\n Width: 60,\r\n Items: [\r\n Action.Edit,\r\n (o) => o.inTransit ? Action.RemoveInTransit : Action.InTransit\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n },\r\n Form: {\r\n Title: 'Truck',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField(o => o.id > 0)\r\n },\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n rate: {\r\n Title: 'Rate',\r\n Field: ElementTypes.CurrencyField(),\r\n },\r\n target: {\r\n Title: 'Target',\r\n Field: ElementTypes.CurrencyField(),\r\n },\r\n }\r\n }\r\n ],\r\n // file:{\r\n // Title: 'Rate Confirmation',\r\n // Field: ElementTypes.File(),\r\n // }, \r\n Components: {\r\n rateConfirmation: {\r\n Component: ComponentTypes.RateConfirmation('id')\r\n }\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n },\r\n //efs: {\r\n // Title: 'EFS',\r\n // Field: ElementTypes.Button({\r\n // Action: 'OpenForm',\r\n // PopupConfig: {\r\n // Key: 'efsId',\r\n // Form: EFS,\r\n // Template: ButtonActionTypes.FormField,\r\n\r\n // },\r\n // })\r\n //}\r\n \r\n }\r\n },\r\n {\r\n Fields: {\r\n carrierId: {\r\n Title: 'Carrier',\r\n //Field: ElementTypes.ComboAdd('/api/carrier/expirationdatevaluelistempty', {\r\n // PopupConfig: CarrierForm\r\n //}),\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/carrier/expirationdatevaluelistempty',\r\n addparams: {\r\n PopupConfig: CarrierForm\r\n },\r\n selectedValueType: 'carrierName',\r\n emptyOption: true,\r\n\r\n\r\n }),\r\n Check: (source, data) => {\r\n const selectedSource = source.find(carrier => carrier['value'] === data);\r\n const expirationDate = moment(selectedSource.expirationDate).format(Defines.Format.MomentDate);\r\n\r\n switch (selectedSource.expirationDateNum) {\r\n case 1:\r\n notification.error({\r\n description: `The following ${selectedSource.text} Insurance is set to expire on ${expirationDate}.\r\n Update Insurance Information with the most current information to continue.`,\r\n duration: 60,\r\n style: {\r\n padding: '30px'\r\n }\r\n });\r\n\r\n return false;\r\n\r\n case 2:\r\n notification.error({\r\n description: `The following ${selectedSource.text} Insurance has expired on the ${expirationDate}.\r\n Update Insurance Information with the most current information to continue.`,\r\n duration: 60,\r\n style: {\r\n padding: '30px'\r\n }\r\n });\r\n\r\n return false;\r\n\r\n default:\r\n return true;\r\n }\r\n },\r\n Dependencies: ['truckId', 'driverId', 'trailerId', 'trailerTypeName', 'trailerSize', 'driverPhone']\r\n },\r\n truckId: {\r\n Title: 'Truck',\r\n //Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/truck/truckvaluelist/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: truckConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'truckNumber',\r\n editability: o => o && o['carrierId'] > 0\r\n })\r\n },\r\n trailerId: {\r\n Title: 'Trailer',\r\n //Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/trailer/trailervaluelistempty/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: trailerConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'trailer',\r\n editability: o => o && o['carrierId'] > 0\r\n }),\r\n Dependencies: [\r\n //['trailer', 'text'],\r\n ['trailerTypeName', 'trailerTypeName'],\r\n ['trailerSize', 'trailerSize']\r\n ]\r\n },\r\n Group1: [\r\n {\r\n Title: 'Trailer',\r\n Fields: {\r\n trailerTypeName: {\r\n Title: 'Type',\r\n Field: ElementTypes.LabelField(o => o.id > 0),\r\n Dependencies: ['trailerId']\r\n },\r\n trailerSize: {\r\n Title: 'Size',\r\n Field: ElementTypes.LabelField(o => o.id > 0),\r\n Dependencies: ['trailerId']\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n\r\n\r\n {\r\n Fields: {\r\n driverId: {\r\n Title: 'Driver',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/driver/phonevaluelistempty/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: driverConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'driverName',\r\n editability: o => o && o['carrierId'] > 0\r\n }),\r\n Dependencies: [['driverPhone', 'driverPhone']]\r\n },\r\n \r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone(),\r\n Dependencies: ['driverId']\r\n },\r\n\r\n }\r\n }\r\n ]\r\n }, \r\n\r\n \r\n {\r\n Sections: [\r\n\r\n {\r\n classes: 'extra',\r\n Components: {\r\n efs: {\r\n Component: ComponentTypes.ManagedSheet('name', {\r\n\r\n List: {\r\n Columns: {\r\n date: {\r\n Title: 'Creation Date',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n\r\n creationBy: {\r\n Title: 'Creation By',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n \r\n },\r\n method: {\r\n Title: 'Payment Method',\r\n Field: ElementTypes.TableLabelField((o) => o.working),\r\n \r\n },\r\n amount: {\r\n Title: 'Amount',\r\n Field: ElementTypes.TableLabelField(),\r\n \r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n \r\n },\r\n status: {\r\n Title: 'Request Status',\r\n Field: ElementTypes.TableLabelField(),\r\n \r\n },\r\n\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n ,\r\n {\r\n classes: 'extra',\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n classes: 'compact',\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.FileSizeLabelField)\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n },\r\n \r\n ]\r\n }\r\n \r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Cancel'])\r\n }\r\n }\r\n }\r\n \r\n};\r\n\r\nexport default InLoadInAppts;","import React from 'react';\r\nimport { Tooltip } from 'antd';\r\nimport Scroll from \"../../scroll/scroll\";\r\nimport Settings from \"../../list/settings\";\r\n\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\n\r\nconst GeneralToolbar = props => {\r\n const { assignedOrders,\r\n getOrderConfig,\r\n getLoadResource,\r\n load\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getLoadResource().ShowRefreshButton ? (\r\n <>\r\n \r\n \r\n Refresh\r\n \r\n \r\n \r\n ) : null}\r\n {/**/}\r\n \r\n \r\n \r\n { !props.isHiddenSwitch && }\r\n );\r\n};\r\n\r\nexport default GeneralToolbar;","export const useStopNotes = setStops => {\r\n const updateInboundStopNotes = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.inboundStopNotes = result.inboundStopNotes;\r\n\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.inboundStopNotes = result.inboundStopNotes;\r\n });\r\n changedStop.orders = newOrders;\r\n\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n\r\n const updateOutboundStopNotes = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.outboundStopNotes = result.outboundStopNotes;\r\n\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.outboundStopNotes = result.outboundStopNotes;\r\n });\r\n changedStop.orders = newOrders;\r\n\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n return [updateInboundStopNotes, updateOutboundStopNotes];\r\n};","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport InLoadOnApptsConfig from '../../../../screens/LoadArea/InboundLoad/inLoadInAppts';\r\n\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\n\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\nimport Toolbar from '../generalToolbar';\r\nimport { Data } from \"./data\";\r\nimport { useFiltering } from '../useFiltering';\r\nimport Stops from '../stops';\r\nimport { useAppointment } from './useAppointment';\r\nimport { useStopNotes } from '../useStopNotes';\r\n\r\nconst assignedOrders = \"AssignedAppointmentOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'pickRegionName';\r\n\r\nconst InLoadInAppts = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(InLoadOnApptsConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(InLoadOnApptsConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(InLoadOnApptsConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(InLoadOnApptsConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(InLoadOnApptsConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(InLoadOnApptsConfig.Pages.Filter), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //assigned\r\n setLoads(response.data.loads.data);\r\n const d = new Data(response.data.assignedOrders.data, response.data.loads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [updatePickAppointment, updateDropAppointment] = useAppointment(setStops);\r\n const [updateInboundStopNotes] = useStopNotes(setStops);\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n [],\r\n InLoadOnApptsConfig.Pages.Filter,\r\n null,\r\n assignedOrders,\r\n subGroup,\r\n 'pickAppointment'\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n <>\r\n \r\n {stops && !loading ?\r\n \r\n {InLoadOnApptsConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n {stopsComponent}\r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(InLoadInAppts, axios));","import {\r\n ElementTypes,\r\n ElementValidations,\r\n GenerateToolBars\r\n} from '../../../config';\r\n\r\nimport { InboundAppointmentFields } from '../appointmentFieldsConfig';\r\n\r\nconst Dispatch = {\r\n Title: 'Dispatch',\r\n //Resource: 'InboundAppointment/stopdispatch',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Dispatch',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...InboundAppointmentFields,\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundPickAppointment: {\r\n Title: 'Appt',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n Group4: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundPickIn: {\r\n Title: 'In Time',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Time()]\r\n }\r\n }\r\n }\r\n ],\r\n Group5: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outTime: {\r\n Title: 'Out Time',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Time()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default Dispatch;","import { CloneObject } from '../../../helper/common';\r\nimport {\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable\r\n} from '../../../config';\r\n\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport Dispatch from './dispatchConfig';\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nexport const AppointmentStatus = [\r\n { value: 'Open', text: 'Open' },\r\n { value: 'ReOpen', text: 'ReOpen' },\r\n { value: 'Request', text: 'Request' },\r\n { value: 'Requested', text: 'Requested' },\r\n { value: 'Confirmed', text: 'Confirmed' },\r\n];\r\n\r\nconst InTransit = {\r\n Title: 'InTransit',\r\n Resource: 'InboundInTransit',\r\n AreaResource: 'InboundInTransit/area',\r\n LoadResource: 'InboundInTransit',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true,\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Type: FilterType.Text\r\n },\r\n truckId: {\r\n Title: 'Truck Number',\r\n Type: FilterType.Select,\r\n Valuelist: 'truck'\r\n },\r\n carrierId: {\r\n Title: 'Carrier Name',\r\n Type: FilterType.Select,\r\n Valuelist: 'carrier'\r\n },\r\n pickStatus: {\r\n Title: 'Pick Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n },\r\n dropStatus: {\r\n Title: 'Drop Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'Load',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(null, null),\r\n carrierName: {\r\n Title: 'Carrier',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverName: {\r\n Title: 'Driver',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverPhone: {\r\n Title: 'Phone #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Phone,\r\n Width: 100\r\n },\r\n truckNumber: {\r\n Title: 'Truck #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n trailer: {\r\n Title: 'Trailer #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n in: {\r\n Title: 'Check In',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 120\r\n },\r\n out: {\r\n Title: 'Check Out',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 120\r\n }\r\n },\r\n Actions: {\r\n Width: 120,\r\n Items: [\r\n Action.Dispatch//,\r\n //r => r.isFirst ? Action.Done : null\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n }\r\n },\r\n Dispatch\r\n }\r\n};\r\n\r\nexport default InTransit;","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\n//import { message } from 'antd';\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport InTransitConfig from '../../../../screens/LoadArea/InboundLoad/inTransitConfig';\r\n\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\n\r\n\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\nimport Toolbar from '../generalToolbar';\r\nimport { Data } from \"./data\";\r\nimport { useFiltering } from '../useFiltering';\r\nimport Stops from '../stops';\r\n\r\nconst assignedOrders = \"AssignedInTransitOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'pickRegionName';\r\n\r\n\r\nconst InTransit = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(InTransitConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(InTransitConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(InTransitConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Filter), []);\r\n const getDispatchConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Dispatch), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //assigned\r\n setLoads(response.data.inboundLoads.data);\r\n const d = new Data(response.data.assignedOrders.data, response.data.inboundLoads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n [],\r\n InTransitConfig.Pages.Filter,\r\n null,\r\n assignedOrders,\r\n subGroup,\r\n 'pickAppointment'\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const updateInOut = result => {\r\n const newStops = [...stops];\r\n const stop = newStops.find(s => s.id === result.id);\r\n if (stop) {\r\n stop.in = result.pickInDate;\r\n stop.out = result.pickOutDate;\r\n const newOrders = [...stop.orders];\r\n newOrders.forEach(o => {\r\n o.in = stop.in;\r\n o.out = stop.out;\r\n });\r\n stop.orders = newOrders;\r\n setStops(newStops);\r\n }\r\n };\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n <>\r\n \r\n {stops && !loading ? \r\n \r\n {InTransitConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n {stopsComponent}\r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(InTransit, axios));","import React, { useState, useEffect } from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\n\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nimport Orders from './orders';\r\n\r\nconst ReceivingOrders = props => {\r\n const {\r\n List,\r\n Resource,\r\n OrderForm,\r\n Key,\r\n data,\r\n dispatchData,\r\n reload\r\n } = props;\r\n const columns = List.Columns;\r\n\r\n const [isLoading, setLoading] = useState(true);\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async (isMounted) => {\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios(\r\n Resource\r\n ).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const data = result.data;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i].key) {\r\n data[i].key = data[i]['id'];\r\n }\r\n };\r\n dispatchData({ type: \"orders\", value: data });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n setLoading(true);\r\n fetchData(isMounted);\r\n return () => { isMounted = false };\r\n }, [Resource, dispatchData, reload]);\r\n\r\n return ;\r\n};\r\n\r\nexport default errorHandler(ReceivingOrders, axios);","import { NullOrUndefined } from '../../helper/common';\r\n\r\nimport {\r\n ElementTypes,\r\n ComponentTypes,\r\n ElementValidations\r\n} from '../../config';\r\n\r\nimport { GenerateToolBars } from '../../config/element.config';\r\nimport { statusColor, appointmentStatusColor } from '../Order/colorConfig';\r\nimport { InvertColor, HexToRGBAFormat } from '../../helper/common';\r\n\r\nconst OrderForm = {\r\n Title: 'OrderForm',\r\n Resource: 'ReceivingLoad/receivingloadorderitem',\r\n Master: 'OrderForm',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'OrderForm',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundLoadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n truckNumber: {\r\n Title: 'Truck Number',\r\n Field: ElementTypes.LabelField()\r\n },\r\n carrierName: {\r\n Title: 'Carrier',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ],\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n driverName: {\r\n Title: 'Driver',\r\n Field: ElementTypes.LabelField()\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone()\r\n }\r\n }\r\n }\r\n ],\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundAppointment: {\r\n Title: 'Pick Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n dropInboundAppointment: {\r\n Title: 'Drop Appointment',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n ],\r\n Group4: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inbioundAppointmentStatus: {\r\n Title: 'Pick Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n },\r\n dropInboundAppointmentStatus: {\r\n Title: 'Drop Appointment Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(appointmentStatusColor(data), 100), true),\r\n backgroundColor: appointmentStatusColor(data),\r\n fontWeight: 'bold',\r\n width: '100px',\r\n textAlign: 'center'\r\n };\r\n }\r\n })\r\n }\r\n }\r\n }\r\n ],\r\n Group5: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n inboundIn: {\r\n Title: 'In Time',\r\n Field: ElementTypes.DateTimeLabel()\r\n },\r\n inboundOut: {\r\n Title: 'Out Time',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n ],\r\n Group6: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n receiveUser: {\r\n Title: 'Received By',\r\n Field: ElementTypes.LabelField()\r\n },\r\n receiveDate: {\r\n Title: 'Received Date',\r\n Field: ElementTypes.DateTimeLabel()\r\n }\r\n }\r\n }\r\n ],\r\n customerCodeOrName: {\r\n Title: 'Customer',\r\n Field: ElementTypes.LabelField()\r\n\r\n },\r\n pickLocation: {\r\n Title: 'Pick Location',\r\n Field: ElementTypes.LabelField()\r\n },\r\n dropLocation: {\r\n Title: 'Drop Off',\r\n Field: ElementTypes.LabelField()\r\n },\r\n Group7: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n pickRegionCode: {\r\n Title: 'Pick Region',\r\n Field: ElementTypes.LabelField()\r\n },\r\n dropRegionCode: {\r\n Title: 'Drop Region',\r\n Field: ElementTypes.LabelField()\r\n },\r\n batchType: {\r\n Title: 'Batch',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField)\r\n },\r\n orderStatus: {\r\n Title: 'Order Status',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField,\r\n {\r\n style: (_, data) => {\r\n return {\r\n color: InvertColor(HexToRGBAFormat(statusColor(data), 100), true),\r\n backgroundColor: statusColor(data),\r\n fontWeight: 'bold'\r\n };\r\n }\r\n }\r\n )\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n Fields: {\r\n Group1: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n puDate: {\r\n Title: 'Pu Date',\r\n Field: ElementTypes.LabelFieldDate()\r\n },\r\n referenceNumber: {\r\n Title: 'Row',\r\n Field: ElementTypes.LabelField(),\r\n Width: 60\r\n }\r\n }\r\n }\r\n ],\r\n dueDate: {\r\n Title: 'Due Date',\r\n Field: ElementTypes.LabelFieldDate()\r\n },\r\n dropDate: {\r\n Title: 'Drop date ',\r\n Field: ElementTypes.LabelFieldDate()\r\n },\r\n Group2: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n poNumber: {\r\n Title: 'PO#',\r\n Field: ElementTypes.LabelField()\r\n },\r\n soNumber: {\r\n Title: 'SO#',\r\n Field: ElementTypes.LabelField()\r\n },\r\n }\r\n }\r\n ],\r\n routeId: {\r\n Title: 'Route',\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n display: (_, data) => {\r\n switch (data) {\r\n case 1:\r\n return 'WHS';\r\n case 2:\r\n return 'DIR';\r\n case 3:\r\n return 'Both';\r\n default:\r\n return;\r\n }\r\n }\r\n })\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n palletCount: {\r\n Title: 'Pallets',\r\n Attributes: {\r\n wrap: {\r\n purple: (o, data) => {\r\n if (o && NullOrUndefined(data)) {\r\n return o.space < data ? '' : null;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n },\r\n Field: ElementTypes.Generic(ElementTypes.LabelField, {\r\n editability: (o) => o['batch'] === 3\r\n })\r\n },\r\n space: {\r\n Title: 'Space',\r\n Field: ElementTypes.LabelField()\r\n },\r\n weight: {\r\n Title: 'Weight',\r\n Field: ElementTypes.LabelDecimalField()\r\n },\r\n cases: {\r\n Title: 'Cases',\r\n Field: ElementTypes.LabelDecimalField()\r\n },\r\n price: {\r\n Title: 'Price',\r\n Field: ElementTypes.Generic(ElementTypes.LabelFieldCurrency, {\r\n editability: (o) => o['batch'] === 3\r\n })\r\n },\r\n loadingSequencesName: {\r\n Title: 'Loading Sequence',\r\n Field: ElementTypes.LabelField()\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.FileSizeLabelField()\r\n },\r\n external: {\r\n Field: ElementTypes.CheckBox('External Document')\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n },\r\n {\r\n Components: {\r\n comments: {\r\n Component: ComponentTypes.CommentsSheet('id', {\r\n createDate: {\r\n Title: 'Date Time',\r\n Field: ElementTypes.ColumnDateTime((o, data) => o && data),\r\n Width: 140\r\n },\r\n user: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 150,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.TableLabelField(),\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n },\r\n 'table_view extra')\r\n }\r\n }\r\n },\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n comment: {\r\n Title: 'Comment',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default OrderForm;","import React, { useState, useEffect, useCallback, useRef } from \"react\";\r\nimport Split from \"react-split-it\";\r\nimport { connect } from \"react-redux\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport { Tooltip } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\n\r\nimport axios from \"../../../axios/axios\";\r\n\r\nimport { openPopup, closePopup } from \"../../../../store/actions/popup/popup\";\r\n\r\nimport { useMessage } from \"../../../hook/data/useMessage\";\r\nimport { DefaultDataTypes } from \"../../../hook/actions\";\r\nimport errorHandler from '../../../error/errorHandler';\r\nimport { getListCriteria, getCriteriaQuery } from \"../../../helper/list\";\r\n\r\nimport Filter from \"../../list/filter/filter\";\r\nimport Expandable from \"../../custom/table/expandable\";\r\nimport Loading from \"../../screen/loading\";\r\nimport Scroll from \"../../scroll/scroll\";\r\nimport Settings from \"../../list/settings\";\r\nimport { useOrderData } from './useOrderData';\r\n\r\nimport ReceivingOrders from \"./receivingOrders\";\r\nimport OrderForm from \"../../../screens/ReceivingLoad/orderConfig\";\r\nimport { saveScreenSwap } from '../../../../store/actions/authentication/authentication';\r\n\r\nexport const GridContext = React.createContext();\r\nconst mainResource = \"LoadOrders\";\r\nconst ReceivingLoad = (props) => {\r\n const truckConfig = props.Pages.ReceivingLoad;\r\n const truckMessageIdentityPrefix = \"\";\r\n\r\n //Load\r\n const [isLoading, setLoading] = useState(true);\r\n const truckComponentRefs = useRef({});\r\n const [truckMessages, truckMessageDispatch] = useMessage(props.Pages.ReceivingLoad);\r\n const [reloadOrder, setReloadOrder] = useState(1);\r\n const [reloadTruck, setReloadTruck] = useState(1);\r\n\r\n const location = useLocation();\r\n const history = useHistory();\r\n const criteriaQuery = getCriteriaQuery(history);\r\n const criteria = useCallback(() => getListCriteria(criteriaQuery), [criteriaQuery]);\r\n const [data, dispatchData, truckData, truckDispatch] = useOrderData();\r\n\r\n const setSwap = swap => {\r\n props.saveScreenSwap(swap);\r\n };\r\n\r\n const loadReceivingOrderData = () => {\r\n let r = reloadOrder;\r\n setReloadOrder(++r);\r\n };\r\n\r\n const loadTruckData = () => {\r\n let r = reloadTruck;\r\n setReloadTruck(++r);\r\n };\r\n\r\n\r\n const swapContainers = () => {\r\n const firstContainer = \r\n {isLoading || !truckData ? (\r\n \r\n ) : (\r\n {\r\n truckComponentRefs.current[\r\n truckMessageIdentityPrefix == null\r\n ? `ReceivingLoad`\r\n : `${truckMessageIdentityPrefix}_ReceivingLoad`\r\n ] = ref;\r\n }}\r\n resource={\"LoadOrders\"}\r\n messageIdentityPrefix={truckMessageIdentityPrefix}\r\n config={truckConfig}\r\n keyFieldName=\"id\"\r\n type={DefaultDataTypes.INIT}\r\n messages={truckMessages}\r\n messageDispatch={truckMessageDispatch}\r\n data={truckData}\r\n dispatch={truckDispatch}\r\n object={truckData}\r\n OrderForm={OrderForm}\r\n OrderConfig={props.Pages.Order}\r\n dispatchDropData={dispatchData}\r\n dragDropData={data}\r\n />\r\n )}\r\n ;\r\n\r\n const secondContainer = \r\n \r\n ;\r\n\r\n return props.swap ? [secondContainer, firstContainer] : [firstContainer, secondContainer]\r\n\r\n };\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async (isMounted) => {\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios(\r\n \"ReceivingLoad\",\r\n {\r\n params: {\r\n request: {},\r\n filterData: JSON.stringify(criteria().filter)\r\n }\r\n }\r\n ).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n const data = result.data;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i].key) {\r\n data[i].key = data[i][props.Pages.ReceivingLoad.Key || \"id\"];\r\n }\r\n }\r\n truckDispatch({ type: DefaultDataTypes.INIT, data: data });\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n setLoading(true);\r\n fetchData(isMounted);\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [criteria, props.Pages.ReceivingLoad.Key, truckDispatch, reloadTruck, location]);\r\n\r\n return <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Load Order\r\n \r\n \r\n \r\n \r\n \r\n Receiving Orders\r\n \r\n \r\n \r\n {props.Pages.Order.List.ShowRefreshButton ? (\r\n <>\r\n \r\n setSwap(!props.swap)}\r\n >\r\n Swap Tables\r\n \r\n \r\n \r\n \r\n Refresh Orders\r\n \r\n \r\n \r\n \r\n Refresh Loads\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n { !props.isHiddenSwitch && }\r\n \r\n \r\n {props.Pages.ReceivingLoad.List.Filter ? (\r\n \r\n ) : null}\r\n \r\n \r\n {swapContainers()}\r\n \r\n \r\n \r\n \r\n};\r\n\r\nconst Download = (props) => {\r\n const [dataSource, setDataSource] = useState([]);\r\n const [header, setHeader] = useState([]);\r\n const headerArr = [];\r\n const csvElRef = useRef(null);\r\n\r\n const downloadGrid = () => {\r\n axios.get(props.screen).then((result) => {\r\n setDataSource(result.data.data);\r\n\r\n for (let label in props.columns) {\r\n headerArr.push({ label: props.columns[label].Title, key: label });\r\n }\r\n\r\n setHeader(headerArr);\r\n csvElRef.current.link.click();\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n Download Truck\r\n
    \r\n
    \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n swap: state.auth.profileSettings && state.auth.profileSettings.screens\r\n && state.auth.profileSettings.screens[mainResource] ? state.auth.profileSettings.screens[mainResource].swap : false\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n openAlert: (key) => dispatch(openPopup(key)),\r\n saveScreenSwap: (swap) => dispatch(saveScreenSwap(mainResource, swap))\r\n\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(errorHandler(ReceivingLoad, axios));\r\n","import { useState, useCallback } from 'react';\r\n\r\nimport { useData } from \"../../../hook/data/useData\";\r\n\r\nexport const useOrderData = () => {\r\n const [data, setData] = useState(null);\r\n const [truckData, truckDispatch] = useData(null);\r\n\r\n const dispatchData = useCallback((data) => {\r\n const type = data.type;\r\n setData(ddd => {\r\n const newData = { ...ddd };\r\n newData[type] = {\r\n data: data.value,\r\n type: type,\r\n };\r\n return newData;\r\n });\r\n }, []);\r\n\r\n return [data, dispatchData, truckData, truckDispatch];\r\n}; ","import { Stop } from \"../stop\";\r\nimport { ArraySum } from '../../../../helper/common';\r\nimport { BaseData } from '../baseData';\r\n\r\nexport class Data extends BaseData {\r\n static createKey(order) {\r\n let createKey = Data.defaultKey;\r\n if (order.outboundLoadId) {\r\n //createKey = `${order.outboundLoadId}_${order.customerId}_${order.dropLocationId}`;\r\n createKey = `${order.outboundLoadId}_${order.dropLocationId}`;\r\n }\r\n else if (order.receiveDate && !order.warehouseId && order.loadId) {\r\n createKey = `${order.loadId}_${order.customerId}_${order.dropLocationId}`;\r\n //createKey = `${order.loadId}_${order.dropLocationId}`;\r\n }\r\n return createKey;\r\n };\r\n\r\n constructor(list, loads) {\r\n super();\r\n this.list = list;\r\n this.group = this.list.reduce((r, o) => {\r\n const groupBy = Data.createKey(o);\r\n r[groupBy] = [...r[groupBy] || [], o];\r\n return r;\r\n }, {});\r\n\r\n Object.keys(this.group).forEach(go => {\r\n const oG = this.group[go];\r\n const stop = new Stop();\r\n if (oG.length > 0) {\r\n const firstO = oG[0];\r\n \r\n let load = loads.find(l => l.id === firstO.outboundLoadId);\r\n\r\n if (!load && firstO.receiveDate && !firstO.warehouseId) {\r\n load = loads.find(l => l.id === firstO.loadId);\r\n if (!load) {\r\n //load not exits for this screen\r\n return;\r\n }\r\n stop.id = stop.key = go;\r\n stop.isFirst = this.stops.find(s => s.loadId === firstO.loadId) === undefined;\r\n stop.customer = firstO.customerCodeOrName;\r\n stop.customerTooltip = firstO.customerCodeOrName;\r\n stop.loadNumber = firstO.inboundLoadNumber;\r\n stop.loadId = firstO.loadId;\r\n stop.customerId = firstO.customerId;\r\n\r\n stop.pickLocationId = firstO.pickLocationId;\r\n stop.pickAppointment = firstO.inboundAppointment;\r\n stop.pickStatus = firstO.inbioundAppointmentStatus;\r\n stop.pickCity = firstO.pickCity;\r\n stop.pickState = firstO.pickState;\r\n stop.pickWarehouse = firstO.pickLocationName;\r\n\r\n stop.dropLocationId = firstO.dropLocationId;\r\n stop.dropAppointment = firstO.dropInboundAppointment;\r\n stop.dropStatus = firstO.dropInboundAppointmentStatus;\r\n stop.dropCity = firstO.warehouse ? firstO.drop1City : firstO.drop2City;\r\n stop.dropState = firstO.warehouse ? firstO.drop1State : firstO.drop2State;\r\n stop.dropWarehouse = firstO.warehouse ? firstO.drop1WH : firstO.drop2WH;\r\n\r\n stop.isWarehouse = firstO.warehouse;\r\n stop.warehouseId = firstO.warehouseId;\r\n stop.sequencesName = firstO.inboundLoadingSequenceName;\r\n stop.inboundStopNotes = firstO.inboundStopNotes;\r\n\r\n stop.in = firstO.outboundIn;\r\n stop.out = firstO.outboundOut;\r\n\r\n stop.color = load.color;\r\n stop.truckNumber = load.truckNumber;\r\n stop.driverName = load.driverName;\r\n stop.driverPhone = load.driverPhone;\r\n stop.rate = load.rate;\r\n stop.carrierName = load.carrierName;\r\n stop.trailer = load.trailer;\r\n stop.truckId = load.truckId;\r\n stop.carrierId = load.carrierId;\r\n\r\n stop.readyToBook = load.readyToBook;\r\n stop.inTransit = load.inTransit;\r\n stop.isInbound = true;\r\n\r\n stop.orders = oG;\r\n this.stops.push(stop);\r\n return;\r\n }\r\n if (!load) {\r\n //load not exits for this screen\r\n return;\r\n }\r\n stop.id = stop.key = go;\r\n stop.isFirst = this.stops.find(s => s.loadId === firstO.outboundLoadId) === undefined;\r\n const custList = oG.reduce((r, o) => {\r\n const groupBy = o.customerCodeOrName;\r\n r[groupBy] = [...r[groupBy] || [], o];\r\n return r;\r\n }, {});\r\n stop.customer = Object.keys(custList).length;// firstO.customerCodeOrName;\r\n stop.customerTooltip = Object.keys(custList).join(', ');\r\n stop.loadNumber = firstO.outboundLoadNumber;\r\n stop.loadId = firstO.outboundLoadId;\r\n stop.customerId = firstO.customerId;\r\n\r\n stop.pickLocationId = firstO.pickLocationId;//???\r\n stop.pickAppointment = firstO.pickOutboundAppointment;\r\n stop.pickStatus = firstO.pickOutboundAppointmentStatus;\r\n stop.pickCity = firstO.drop1City;\r\n stop.pickState = firstO.drop1State;\r\n stop.pickWarehouse = firstO.drop1WH;\r\n\r\n stop.dropLocationId = firstO.dropLocationId;\r\n stop.dropAppointment = firstO.outboundAppointment;\r\n stop.dropStatus = firstO.outboundAppointmentStatus;\r\n stop.dropCity = firstO.drop2City;\r\n stop.dropState = firstO.drop2State;\r\n stop.dropWarehouse = firstO.drop2WH;\r\n\r\n stop.isWarehouse = firstO.warehouse;\r\n stop.warehouseId = firstO.warehouseId;\r\n stop.sequencesName = firstO.outboundLoadingSequenceName;\r\n stop.outboundStopNotes = firstO.outboundStopNotes;\r\n\r\n stop.in = firstO.outboundIn;\r\n stop.out = firstO.outboundOut;\r\n\r\n stop.color = load.color;\r\n\r\n stop.truckNumber = load.truckNumber;\r\n stop.driverName = load.driverName;\r\n stop.driverPhone = load.driverPhone;\r\n stop.rate = load.rate;\r\n stop.carrierName = load.carrierName;\r\n stop.trailer = load.trailer;\r\n stop.truckId = load.truckId;\r\n stop.carrierId = load.carrierId;\r\n\r\n stop.readyToBook = load.readyToBook;\r\n stop.inTransit = load.inTransit;\r\n\r\n stop.orders = oG;\r\n this.stops.push(stop);\r\n }\r\n });\r\n this.stops.forEach(s => {\r\n s.loadTotalPallets = ArraySum(this.stops.filter(si => si.loadId === s.loadId), 'totalPallets');\r\n s.loadTotalWeight = ArraySum(this.stops.filter(si => si.loadId === s.loadId), 'totalWeight');\r\n });\r\n\r\n const firstStops = this.stops.filter(s => s.isFirst);\r\n loads.forEach(l => {\r\n if (!firstStops.find(fs => fs.loadId === l.id)) {\r\n const newStop = new Stop();\r\n newStop.key = `${l.id}_empty`;\r\n newStop.isEmpty = true;\r\n newStop.isFirst = true;\r\n newStop.loadId = l.id;\r\n newStop.loadNumber = l.loadNumber;\r\n newStop.truckNumber = l.truckNumber;\r\n newStop.driverName = l.driverName;\r\n newStop.driverPhone = l.driverPhone;\r\n newStop.rate = l.outboundRate;\r\n newStop.carrierName = l.carrierName; //shoukld add in backend\r\n newStop.color = l.color;\r\n this.stops.push(newStop);\r\n }\r\n });\r\n }\r\n}","export const useAppointment = setStops => {\r\n\r\n const updatePickAppointment = (newStops, result) => {\r\n newStops.forEach(s => {\r\n if (s.loadId === result.outboundLoadId) {\r\n s.pickAppointment = result.pickOutboundAppointment;\r\n s.pickStatus = result.pickStatus;\r\n const newOrders = [...s.orders];\r\n newOrders.forEach(o => {\r\n o.pickOutboundAppointment = s.pickAppointment;\r\n o.pickOutboundAppointmentStatus = s.pickStatus;\r\n });\r\n s.orders = newOrders;\r\n }\r\n });\r\n setStops(newStops);\r\n };\r\n\r\n const updateDropAppointment = (newStops, result) => {\r\n const changedStop = newStops.find(s => s.id === result.id);\r\n if (changedStop) {\r\n changedStop.dropAppointment = result.outboundAppointment;\r\n changedStop.dropStatus = result.status;\r\n const newOrders = [...changedStop.orders];\r\n newOrders.forEach(o => {\r\n o.outboundAppointment = changedStop.dropAppointment;\r\n o.outboundAppointmentStatus = changedStop.dropStatus;\r\n });\r\n changedStop.orders = newOrders;\r\n setStops(newStops);\r\n }\r\n else {\r\n console.error(`Stop not found, id - ${result.id}`)\r\n }\r\n };\r\n return [updatePickAppointment, updateDropAppointment];\r\n};","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Split from \"react-split-it\";\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport OutboundLoadConfig from '../../../../screens/LoadArea/OutboundLoad/config';\r\n\r\nimport { PopupTypes } from \"../../../custom/popup/popup\";\r\nimport { CommonLabels } from \"../../../../../project/Defines\";\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport DragDrop from \"../../../custom/dragDrop\";\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\n\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\n\r\nimport { Data } from \"./data\";\r\nimport { useDragging } from '../useDragging';\r\nimport { useFiltering } from '../useFiltering';\r\nimport { useSelection } from \"../useSelection\";\r\nimport Toolbar from '../loadCreationToolbar';\r\nimport Orders from '../orders';\r\nimport Stops from '../stops';\r\nimport { useAppointment } from './useAppointment';\r\nimport { useLoadSequence } from '../useLoadSequence';\r\n\r\nconst mainResource = \"OutboundAvailableOrders\";\r\nconst assignedOrders = \"OutboundAssignedOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'dropRegionCode';\r\nconst defaultDroppableId = 'orders';\r\n\r\nconst InboundLoad = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(OutboundLoadConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(OutboundLoadConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(OutboundLoadConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(OutboundLoadConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(OutboundLoadConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(OutboundLoadConfig.Pages.Filter), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [availableOrders, setAvailableOrders] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [disableAdd, setDisableAdd] = useState(false);\r\n const [loadAdded, setLoadAdded] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const openAlert = props.openAlert;\r\n\r\n const [selectedOrders, truckNotes, availableSelection, handleCheck,\r\n handleUncheck, onAfterMouseOrdersSelect, handleSuggest, updateSelectedOrders]\r\n = useSelection(stops, availableOrders, groupBy, groupType, groupTypeValue, props.openAlert, Data.createKey);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //available\r\n response.data.availableOrders.data.forEach(item => {\r\n item.puWeek = item.puDate && new Date(item.puDate).getWeek();\r\n item.dropWeek = item.dropDate && new Date(item.dropDate).getWeek();\r\n });\r\n setAvailableOrders(response.data.availableOrders.data);\r\n //assigned\r\n response.data.outboundAssignedOrders.data.forEach(item => {\r\n item.puWeek = item.puDate && new Date(item.puDate).getWeek();\r\n item.dropWeek = item.dropDate && new Date(item.dropDate).getWeek();\r\n });\r\n setLoads(response.data.outboundLoads.data);\r\n const d = new Data(response.data.outboundAssignedOrders.data, response.data.outboundLoads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const resetOrder = (order) => {\r\n order.outboundLoadId = order.outboundLoadNumber = order.outboundTruckNumber = order.outboundDriverName =\r\n order.outboundDriverPhone = order.outboundRate = order.outboundCarrierName = order.outboundTrailer =\r\n order.outboundAppointment = order.outboundAppointmentStatus =\r\n order.pickOutboundAppointment = order.pickOutboundAppointmentStatus = null;\r\n };\r\n\r\n const initOrderFromStop = (order, stop, stops) => {\r\n if (!order) {\r\n throw Error('order is undefined');\r\n }\r\n if (!stop) {\r\n throw Error('stop is undefined');\r\n }\r\n if (!stops) {\r\n throw Error('stops is undefined');\r\n }\r\n //set load defaults\r\n order.outboundLoadId = stop.loadId;\r\n order.outboundLoadNumber = stop.loadNumber;\r\n order.outboundTruckNumber = stop.truckNumber;\r\n order.outboundDriverName = stop.driverName;\r\n order.outboundDriverPhone = stop.driverPhone;\r\n order.outboundRate = stop.rate;\r\n order.outboundCarrierName = stop.carrierName;\r\n order.outboundTrailer = stop.trailer;\r\n //try to find correct stop\r\n const key = Data.createKey(order);\r\n const corectStop = stops.find(s => s.key === key);\r\n if (corectStop) {\r\n order.picOutboundAppointment = corectStop.pickAppointment;\r\n order.picOutboundAppointmentStatus = corectStop.pickStatus;\r\n order.outboundAppointment = corectStop.dropAppointment;\r\n order.outboundAppointmentStatus = corectStop.dropStatus;\r\n }\r\n else {\r\n order.outboundAppointmentStatus = order.pickOutboundAppointmentStatus = 'Open';\r\n order.outboundAppointment = order.pickOutboundAppointment = null;\r\n }\r\n };\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n availableOrders,\r\n OutboundLoadConfig.Pages.Filter,\r\n mainResource,\r\n assignedOrders,\r\n subGroup,\r\n 'dropAppointment',\r\n props.profileSettings,\r\n 'dropRegionCode',\r\n 'OutboundAvailableOrders',\r\n 'OutboundFilterRegions'\r\n );\r\n\r\n const [updatePickAppointment, updateDropAppointment] = useAppointment(setStops);\r\n const [, updateOutboundLoadSequence] = useLoadSequence(setStops);\r\n\r\n const [getDragDropData, updateDragDropData] = useDragging(\r\n defaultDroppableId,\r\n availableOrders,\r\n mainResource,\r\n getFilteredSortedOrders,\r\n getFilteredStops,\r\n updateSelectedOrders,\r\n stops,\r\n getLoadResource().LoadResource,\r\n load,\r\n setAvailableOrders,\r\n initStops,\r\n initOrderFromStop,\r\n getAllStopOrders,\r\n loads,\r\n setStops,\r\n 'assignoutboundorders',\r\n 'unassignoutboundorders',\r\n 'outboundLoadId',\r\n resetOrder\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const createLoad = () => {\r\n setDisableAdd(true);\r\n setLoadAdded(false);\r\n axios({\r\n url: `${getLoadResource().Resource}/createloadassignoutboundorders`,\r\n method: 'PUT',\r\n data: {\r\n loadId: 0,\r\n orderIds: selectedOrders.map(i => i.id)\r\n }\r\n })\r\n .then(result => {\r\n if (result?.data) {\r\n const newLoad = result.data;\r\n const loadId = newLoad.id;\r\n\r\n const loadOrders = [...selectedOrders].map(o => {\r\n o.outboundLoadId = loadId;\r\n return o;\r\n });\r\n const newLoadList = [...loads, newLoad];\r\n\r\n updateSelectedOrders([], '');\r\n\r\n const d = new Data(loadOrders, [newLoad]);\r\n const newStops = [...stops, ...d.stops];\r\n\r\n const newAvailableOrders = [...availableOrders];\r\n loadOrders.forEach(o => {\r\n newAvailableOrders.splice(newAvailableOrders.indexOf(newAvailableOrders.find(ao => ao.id === o.id)), 1);\r\n initOrderFromStop(o, newLoad, d.stops);\r\n o.outboundLoadId = loadId;\r\n });\r\n setAvailableOrders(newAvailableOrders);\r\n setLoads(newLoadList);\r\n initStops([...getAllStopOrders(newStops)], newLoadList);\r\n\r\n openAlert({\r\n windowKey: \"wndConfirmClose\",\r\n type: PopupTypes.Alert,\r\n title: 'Outbound Load Created',\r\n classes: 'truck',\r\n html:
    \r\n {result.data.loadNumber}\r\n Total Pallets: {truckNotes.totalPallet}\r\n Total Weight: {truckNotes.totalWeight?.toLocaleString()}\r\n
    ,\r\n buttonYesText: CommonLabels.Buttons.Close,\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n setDisableAdd(false);\r\n setLoadAdded(true);\r\n });\r\n };\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n const availableOrdersComponent = ;\r\n\r\n const swapContainers = () => props.swap ? [stopsComponent, availableOrdersComponent] : [availableOrdersComponent, stopsComponent];\r\n\r\n return (\r\n <>\r\n \r\n {availableOrders && stops && !loading ? \r\n \r\n {OutboundLoadConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n \r\n {swapContainers()}\r\n \r\n \r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n swap: state.auth.profileSettings && state.auth.profileSettings.screens\r\n && state.auth.profileSettings.screens[mainResource] ? state.auth.profileSettings.screens[mainResource].swap : false,\r\n profileSettings: state.auth.profileSettings\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(errorHandler(InboundLoad, axios));","import {\r\n ElementTypes,\r\n GenerateToolBars\r\n} from '../../../config';\r\n\r\nconst StopNotes = {\r\n Title: 'Stop Notes',\r\n Resource: 'OutboundLoad/stopnotes',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Stop Notes',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n outboundStopNotes: {\r\n fieldClasses: ['note'],\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment()\r\n },\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose','Close'])\r\n }\r\n};\r\n\r\nexport default StopNotes;","import { notification } from 'antd';\r\nimport moment from 'moment';\r\n\r\nimport { CloneObject } from '../../../helper/common';\r\nimport {\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable,\r\n ElementTypes,\r\n ComponentTypes,\r\n ElementValidations\r\n} from '../../../config';\r\nimport { GenerateToolBars } from '../../../config/element.config';\r\n\r\nimport { Defines } from '../../../../../src/project/Defines';\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport PickAppointment from './pickAppointmentConfig';\r\nimport DropAppointment from './dropAppointmentConfig';\r\n\r\nimport TruckConfig from '../../Truck/config';\r\nimport TrailerConfig from '../../Trailer/config';\r\nimport DriverConfig from '../../Driver/config';\r\nimport CarrierConfig from '../../Carrier/config';\r\nimport StopNotes from './stopNotesForm';\r\n\r\nconst CarrierForm = CloneObject(CarrierConfig);\r\nCarrierForm.Form = CarrierForm.Form.Tabstrip[0].Form;\r\n\r\nconst beforeUpdate = (data, parentVal) => {\r\n return { ...data, carrierId: parentVal };\r\n};\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nconst truckConfig = CloneObject(TruckConfig);\r\ndelete truckConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ntruckConfig.beforeUpdate = beforeUpdate;\r\n\r\nconst trailerConfig = CloneObject(TrailerConfig);\r\ndelete trailerConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ntrailerConfig.beforeUpdate = beforeUpdate;\r\n\r\nconst driverConfig = CloneObject(DriverConfig);\r\ndelete driverConfig.Form.SectionGroups[0].Sections[0].Fields.carrierId;\r\n\r\ndriverConfig.beforeUpdate = beforeUpdate;\r\n\r\nexport const AppointmentStatus = [\r\n { value: 'Open', text: 'Open' },\r\n { value: 'ReOpen', text: 'ReOpen' },\r\n { value: 'Request', text: 'Request' },\r\n { value: 'Requested', text: 'Requested' },\r\n { value: 'Confirmed', text: 'Confirmed' },\r\n];\r\n\r\nconst Appointment = {\r\n Title: 'OutLoadOutAppts',\r\n Resource: 'OutboundAppointment',\r\n AreaResource: 'OutboundAppointment/area',\r\n LoadResource: 'OutboundAppointment',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true,\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Type: FilterType.Text\r\n },\r\n truckId: {\r\n Title: 'Truck Number',\r\n Type: FilterType.Select,\r\n Valuelist: 'truck'\r\n },\r\n carrierId: {\r\n Title: 'Carrier Name',\r\n Type: FilterType.Select,\r\n Valuelist: 'carrier'\r\n },\r\n pickStatus: {\r\n Title: 'Pick Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n },\r\n dropStatus: {\r\n Title: 'Drop Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'OutboundLoad',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(PickAppointment, DropAppointment),\r\n carrierName: {\r\n Title: 'Carrier',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverName: {\r\n Title: 'Driver',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverPhone: {\r\n Title: 'Phone #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Phone,\r\n Width: 100\r\n },\r\n truckNumber: {\r\n Title: 'Truck #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n trailer: {\r\n Title: 'Trailer #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n readyToBook: {\r\n Title: 'Booked',\r\n NoSort: true,\r\n Type: ColumnType.Bool,\r\n Width: 80\r\n },\r\n // stopNotes: {\r\n // Title: 'Notes',\r\n // NoSort: true,\r\n // Type: ColumnType.SimpleIndicator,\r\n // Width: 80\r\n // }\r\n outboundStopNotes: {\r\n Title: 'Notes',\r\n NoSort: true,\r\n \r\n Type: ColumnType.Button,\r\n Icon: 'chat',\r\n PopupConfig: {\r\n Resource: '',\r\n Form: StopNotes\r\n },\r\n Action: 'OpenForm',\r\n ActionType: 'OutboundStopNotes',\r\n \r\n Display: o => !o.isEmpty,\r\n \r\n Width: 60\r\n }\r\n },\r\n Actions: {\r\n Display: o => o.isFirst,\r\n Width: 60,\r\n Items: [\r\n Action.Edit,\r\n (o) => o.inTransit ? Action.RemoveInTransit : Action.InTransit\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n },\r\n Form: {\r\n Title: 'Truck',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Field: ElementTypes.LabelField(o => o.id > 0)\r\n },\r\n Group1: [\r\n {\r\n Fields: {\r\n rate: {\r\n Title: 'Rate',\r\n Field: ElementTypes.CurrencyField(),\r\n },\r\n color: {\r\n Title: 'Color',\r\n Field: ElementTypes.Color(),\r\n } \r\n }\r\n }\r\n ],\r\n // file:{\r\n // Title: 'Rate Confirmation',\r\n // Field: ElementTypes.File(),\r\n // },\r\n Components: {\r\n rateConfirmation: {\r\n Component: ComponentTypes.RateConfirmation('id')\r\n }\r\n },\r\n notes: {\r\n Title: 'Notes',\r\n Field: ElementTypes.Comment(),\r\n Attributes: {\r\n textarea: {\r\n note: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n {\r\n Fields: {\r\n carrierId: {\r\n Title: 'Carrier',\r\n //Field: ElementTypes.ComboAdd('/api/carrier/expirationdatevaluelistempty', {\r\n // PopupConfig: CarrierForm\r\n //}),\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/carrier/expirationdatevaluelistempty',\r\n addparams: {\r\n PopupConfig: CarrierForm\r\n },\r\n selectedValueType: 'carrierName'\r\n }),\r\n Check: (source, data) => {\r\n const selectedSource = source.find(carrier => carrier['value'] === data);\r\n const expirationDate = moment(selectedSource.expirationDate).format(Defines.Format.MomentDate);\r\n\r\n switch (selectedSource.expirationDateNum) {\r\n case 1:\r\n notification.error({\r\n description: `The following ${selectedSource.text} Insurance is set to expire on ${expirationDate}.\r\n Update Insurance Information with the most current information to continue.`,\r\n duration: 60,\r\n style: {\r\n padding: '30px'\r\n }\r\n });\r\n\r\n return false;\r\n\r\n case 2:\r\n notification.error({\r\n description: `The following ${selectedSource.text} Insurance has expired on the ${expirationDate}.\r\n Update Insurance Information with the most current information to continue.`,\r\n duration: 60,\r\n style: {\r\n padding: '30px'\r\n }\r\n });\r\n\r\n return false;\r\n\r\n default:\r\n return true;\r\n }\r\n },\r\n Dependencies: ['truckId', 'driverId', 'trailerId', 'trailerTypeName', 'trailerSize', 'driverPhone']\r\n },\r\n truckId: {\r\n Title: 'Truck Number',\r\n Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/truck/truckvaluelist/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: truckConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'truckNumber',\r\n editability: o => o && o['carrierId'] > 0\r\n }),\r\n },\r\n trailerId: {\r\n Title: 'Trailer',\r\n Validations: [ElementValidations.Required()],\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/trailer/trailervaluelistempty/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: trailerConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'trailer',\r\n editability: o => o && o['carrierId'] > 0\r\n }),\r\n Dependencies: [\r\n //['trailer', 'text'],\r\n ['trailerTypeName', 'trailerTypeName'],\r\n ['trailerSize', 'trailerSize']\r\n ]\r\n },\r\n Group1: [\r\n {\r\n Title: 'Trailer',\r\n Fields: {\r\n trailerTypeName: {\r\n Title: 'Type',\r\n Field: ElementTypes.LabelField(o => o.id > 0),\r\n Dependencies: ['trailerId']\r\n },\r\n trailerSize: {\r\n Title: 'Size',\r\n Field: ElementTypes.LabelField(o => o.id > 0),\r\n Dependencies: ['trailerId']\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n Fields: {\r\n driverId: {\r\n Title: 'Driver',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAdd, {\r\n dataSource: '/api/driver/phonevaluelistempty/',\r\n addparams: {\r\n TitlePrefix: '',\r\n PopupConfig: driverConfig\r\n },\r\n parentValueType: 'carrierId',\r\n reloadOnParentChange: true,\r\n selectedValueType: 'driverName',\r\n editability: o => o && o['carrierId'] > 0\r\n }),\r\n Dependencies: [['driverPhone', 'driverPhone']]\r\n },\r\n driverPhone: {\r\n Title: 'Driver Phone',\r\n Field: ElementTypes.Phone(),\r\n Dependencies: ['driverId']\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n Sections: [\r\n {\r\n classes: 'extra',\r\n Components: {\r\n attachments: {\r\n Component: ComponentTypes.Attachments('guid', {\r\n classes: 'compact',\r\n List: {\r\n Columns: {\r\n guid: {\r\n Title: 'Download',\r\n Field: ElementTypes.Download('fileName'),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.TextField(),\r\n Validations: [ElementValidations.Required()],\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 250,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.TableFileSizeLabelField),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n createDate: {\r\n Title: 'Created Date',\r\n Field: ElementTypes.ColumnDate((o, data) => o && data),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n fullName: {\r\n Title: 'Created By',\r\n Field: ElementTypes.TableLabelField(),\r\n Width: 80,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n },\r\n external: {\r\n Title: 'External',\r\n Field: ElementTypes.ColumnBool(),\r\n Width: 60,\r\n Attributes: {\r\n wrap: {\r\n left: ''\r\n }\r\n }\r\n }\r\n }\r\n },\r\n Popup: {\r\n Title: 'Attachment Comment',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n fileName: {\r\n Title: 'File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n originalFileName: {\r\n Title: 'Original File Name',\r\n Field: ElementTypes.LabelField()\r\n },\r\n size: {\r\n Title: 'File Size',\r\n Field: ElementTypes.Generic(ElementTypes.FileSizeLabelField)\r\n },\r\n comments: {\r\n Title: 'File Comment',\r\n Field: ElementTypes.Comment(),\r\n Focus: true\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'SaveClose', 'Cancel'])\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Appointment;","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\n//import { message } from 'antd';\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport OutLoadOutApptsConfig from '../../../../screens/LoadArea/OutboundLoad/outLoadOutAppts';\r\n\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\n\r\n\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\nimport Toolbar from '../generalToolbar';\r\nimport { Data } from \"./data\";\r\nimport { useFiltering } from '../useFiltering';\r\nimport Stops from '../stops';\r\nimport { useAppointment } from './useAppointment';\r\nimport { useStopNotes } from '../useStopNotes';\r\n\r\nconst assignedOrders = \"OutboundAssignedAppointmentOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'pickRegionName';\r\n\r\nconst OutLoadOutAppts = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(OutLoadOutApptsConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(OutLoadOutApptsConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(OutLoadOutApptsConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(OutLoadOutApptsConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(OutLoadOutApptsConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(OutLoadOutApptsConfig.Pages.Filter), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //assigned\r\n setLoads(response.data.outboundLoads.data);\r\n const d = new Data(response.data.outboundAssignedOrders.data, response.data.outboundLoads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [updatePickAppointment, updateDropAppointment] = useAppointment(setStops);\r\n const [, updateOutboundStopNotes] = useStopNotes(setStops);\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n [],\r\n OutLoadOutApptsConfig.Pages.Filter,\r\n null,\r\n assignedOrders,\r\n subGroup,\r\n 'dropAppointment'\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n <>\r\n \r\n {stops && !loading ?\r\n \r\n {OutLoadOutApptsConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n {stopsComponent}\r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(OutLoadOutAppts, axios));","import {\r\n ElementTypes,\r\n GenerateToolBars\r\n} from '../../../config';\r\n\r\nimport { OutboundAppointmentFields } from '../appointmentFieldsConfig';\r\n\r\nconst Dispatch = {\r\n Title: 'Dispatch',\r\n //Resource: 'InboundAppointment/stopdispatch',\r\n Key: 'id',\r\n IsRest: true,\r\n Form: {\r\n Title: 'Dispatch',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n classes: 'wide',\r\n Fields: {\r\n ...OutboundAppointmentFields,\r\n Group3: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundDropAppointment: {\r\n Title: 'Appt Date',\r\n Field: ElementTypes.LabelFieldDate()\r\n }\r\n }\r\n }\r\n ],\r\n Group4: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundDropIn: {\r\n Title: 'In Date',\r\n Field: ElementTypes.DateField()\r\n }\r\n }\r\n }\r\n ],\r\n Group5: [\r\n {\r\n useSeparator: false,\r\n Fields: {\r\n outboundDropOut: {\r\n Title: 'Out Date',\r\n Field: ElementTypes.DateField()\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['Save', 'Cancel'])\r\n }\r\n};\r\n\r\nexport default Dispatch;","import { CloneObject } from '../../../helper/common';\r\nimport {\r\n Action,\r\n ListDefaults,\r\n ColumnType,\r\n FilterType,\r\n DefaultPagination,\r\n InlineTable\r\n} from '../../../config';\r\n\r\nimport DefaultStopColumns from '../defaultStopColumns';\r\nimport DefaultOrderColumns from './defaultOrderColumns';\r\nimport OrderForm, { OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5, Group1, Group2, Group3, Group4, Group5 } from '../orderFormConfig';\r\nimport Dispatch from './dispatchConfig';\r\n\r\nconst tableConfig = CloneObject(InlineTable);\r\ntableConfig.Style.pagination = false;\r\n\r\nexport const AppointmentStatus = [\r\n { value: 'Open', text: 'Open' },\r\n { value: 'ReOpen', text: 'ReOpen' },\r\n { value: 'Request', text: 'Request' },\r\n { value: 'Requested', text: 'Requested' },\r\n { value: 'Confirmed', text: 'Confirmed' },\r\n];\r\n\r\nconst InTransit = {\r\n Title: 'InTransit',\r\n Resource: 'OutboundInTransit',\r\n AreaResource: 'OutboundInTransit/area',\r\n LoadResource: 'OutboundInTransit',\r\n Master: 'code',\r\n Key: 'id',\r\n IsRest: true,\r\n ShowRefreshButton: true,\r\n Pages: {\r\n Filter: {\r\n loadNumber: {\r\n Title: 'Load Number',\r\n Type: FilterType.Text\r\n },\r\n truckId: {\r\n Title: 'Truck Number',\r\n Type: FilterType.Select,\r\n Valuelist: 'truck'\r\n },\r\n carrierId: {\r\n Title: 'Carrier Name',\r\n Type: FilterType.Select,\r\n Valuelist: 'carrier'\r\n },\r\n pickStatus: {\r\n Title: 'Pick Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n },\r\n dropStatus: {\r\n Title: 'Drop Status',\r\n Type: FilterType.Select,\r\n Valuelist: AppointmentStatus\r\n }\r\n },\r\n Order: {\r\n Key: 'id',\r\n List: {\r\n Defaults: ListDefaults,\r\n ShowRefreshButton: true,\r\n Pagination: DefaultPagination,\r\n Columns: {\r\n ...DefaultOrderColumns\r\n },\r\n Actions: {\r\n Width: 60,\r\n Items: [\r\n Action.Edit\r\n ]\r\n }\r\n }\r\n },\r\n OrderForm,\r\n AssignedOrderGroups: [\r\n OutboundGroup1, OutboundGroup2, OutboundGroup3, OutboundGroup4, OutboundGroup5,\r\n Group1, Group2, Group3, Group4, Group5\r\n ],\r\n Stop: {\r\n Title: 'Load',\r\n Master: 'loadNumber',\r\n Resource: 'OutboundInTransit',\r\n Key: 'id',\r\n IsRest: true,\r\n List: {\r\n Defaults: {\r\n View: {\r\n AutoHeight: null,\r\n Small: null,\r\n },\r\n Table: tableConfig\r\n },\r\n Coloring: record => record.color,\r\n Columns: {\r\n ...DefaultStopColumns(null, null),\r\n carrierName: {\r\n Title: 'Carrier',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n rate: {\r\n Title: 'Rate',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverName: {\r\n Title: 'Driver',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 100\r\n },\r\n driverPhone: {\r\n Title: 'Phone #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Phone,\r\n Width: 100\r\n },\r\n truckNumber: {\r\n Title: 'Truck #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n trailer: {\r\n Title: 'Trailer #',\r\n NoSort: true,\r\n Display: o => o.isFirst,\r\n Type: ColumnType.Text,\r\n Width: 80\r\n },\r\n in: {\r\n Title: 'Check In',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 120\r\n },\r\n out: {\r\n Title: 'Check Out',\r\n NoSort: true,\r\n Type: ColumnType.DateTime,\r\n Width: 120\r\n }\r\n },\r\n Actions: {\r\n Width: 60,\r\n Attributes: {\r\n action: {\r\n left: ''\r\n }\r\n },\r\n Items: [\r\n Action.Dispatch,\r\n r => r.isFirst ? Action.Done : null\r\n ]\r\n },\r\n expandedRowKeys: [0, '']\r\n }\r\n },\r\n Dispatch\r\n }\r\n};\r\n\r\nexport default InTransit;","import React, { useEffect, useState, useCallback, useRef } from 'react';\r\nimport { connect } from \"react-redux\";\r\n//import { message } from 'antd';\r\n\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../../store/actions/popup/popup\";\r\nimport axios from '../../../../axios/axios';\r\nimport InTransitConfig from '../../../../screens/LoadArea/OutboundLoad/inTransitConfig';\r\n\r\nimport { CloneObject } from '../../../../helper/common';\r\nimport errorHandler from '../../../../error/errorHandler';\r\nimport Loading from \"../../../screen/loading\";\r\n\r\n\r\nimport Filter from \"../../../list/filter/filter\";\r\n\r\nimport Toolbar from '../generalToolbar';\r\nimport { Data } from \"./data\";\r\nimport { useFiltering } from '../useFiltering';\r\nimport Stops from '../stops';\r\n\r\nconst assignedOrders = \"AssignedInTransitOrders\";\r\nconst groupBy = 'orderGroupIndex';\r\nconst groupType = 'batchType';\r\nconst groupTypeValue = 'Hard';\r\nconst subGroup = 'pickRegionName';\r\n\r\n\r\nconst InTransit = (props) => {\r\n const getOrderConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Order), []);\r\n const getStopConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Stop), []);\r\n const getLoadResource = useCallback(() => CloneObject(InTransitConfig), []);\r\n const getOrderForm = useCallback(() => CloneObject(InTransitConfig.Pages.OrderForm), []);\r\n const getAssignedOrderGroups = useCallback(() => CloneObject(InTransitConfig.Pages.AssignedOrderGroups), []);\r\n const getFilterConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Filter), []);\r\n const getDispatchConfig = useCallback(() => CloneObject(InTransitConfig.Pages.Dispatch), []);\r\n\r\n const [stops, setStops] = useState(null);\r\n const [loads, setLoads] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const lastStop = useRef(null);\r\n\r\n const load = useCallback(() => {\r\n setLoading(true);\r\n axios({\r\n url: getLoadResource().AreaResource,\r\n method: 'GET'\r\n })\r\n .then(response => {\r\n //assigned\r\n setLoads(response.data.outboundLoads.data);\r\n const d = new Data([...response.data.outboundAssignedOrders.data, ...response.data.inboundDirectAssignedAssignedOrders.data], response.data.outboundLoads.data);\r\n setStops(d.stops);\r\n setLoading(false);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n setLoading(false);\r\n });\r\n }, [getLoadResource]);\r\n\r\n const getAllStopOrders = lookingStops => lookingStops.reduce((r, a) => {\r\n a.orders.forEach(o => {\r\n r.push(o);\r\n });\r\n return r;\r\n }, []);\r\n\r\n const initStops = (data, loadsList) => {\r\n const d = new Data(data, loadsList);\r\n setStops(d.stops);\r\n };\r\n\r\n const [filterData, getFilteredSortedOrders, getFilteredStops] = useFiltering(\r\n stops,\r\n [],\r\n InTransitConfig.Pages.Filter,\r\n null,\r\n assignedOrders,\r\n subGroup,\r\n 'dropAppointment'\r\n );\r\n\r\n useEffect(() => {\r\n load();\r\n }, [load]);\r\n\r\n const updateInOut = result => {\r\n const newStops = [...stops];\r\n const stop = newStops.find(s => s.id === result.id);\r\n if (stop) {\r\n stop.in = result.dropInDate;\r\n stop.out = result.dropOutDate;\r\n const newOrders = [...stop.orders];\r\n newOrders.forEach(o => {\r\n o.outboundIn = stop.in;\r\n o.outboundOut = stop.out;\r\n });\r\n stop.orders = newOrders;\r\n setStops(newStops);\r\n }\r\n };\r\n\r\n const stopsComponent = \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n <>\r\n \r\n {stops && !loading ? \r\n \r\n {InTransitConfig.Pages.Filter ? (\r\n \r\n ) : null}\r\n \r\n {stopsComponent}\r\n \r\n : }\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n openPopup: (data) => dispatch(openPopup(data)),\r\n closePopup: (key) => dispatch(closePopup(key)),\r\n closePopupAsync: (key) => dispatch(closePopupAsync(key)),\r\n openAlert: (key) => dispatch(openPopup(key))\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(errorHandler(InTransit, axios));","import React, { useState, useEffect } from \"react\";\r\nimport { message } from \"antd\";\r\nimport { ResponsivePie } from \"@nivo/pie\";\r\n\r\nimport axios from \"../../../axios/axios\";\r\nimport { ArraySum } from \"../../../helper/common\";\r\n\r\nconst PieChart = props => {\r\n const [data, setData] = useState([]);\r\n const resource = props.Resource;\r\n const changesCount = props.changesCount;\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async (isMounted) => {\r\n const responseOrderStatus = await axios(\r\n resource\r\n );\r\n if (isMounted) {\r\n if (responseOrderStatus) {\r\n const result = responseOrderStatus.data;\r\n if (result) {\r\n if (result.hasError) {\r\n message.error(result.message);\r\n\r\n return;\r\n }\r\n\r\n const labels = {\r\n openCount: 'Open',\r\n inboundProgressCount: 'Inbound Progress',\r\n receivedCount: 'Received',\r\n outboundProgressCount: 'Outbound Progress',\r\n deliveredCount: 'Delivered'\r\n };\r\n const sum = ArraySum(Object.keys(labels).map(l => result[l]));\r\n\r\n setData(Object.keys(labels).map((l, i) => ({\r\n id: i,\r\n label: labels[l],\r\n value: +((result[l] / sum * 100).toFixed(2))\r\n })));\r\n }\r\n }\r\n }\r\n };\r\n fetchData(isMounted);\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [resource, changesCount]);\r\n\r\n return (\r\n e.value ? `${e.value}%` : ''}\r\n arcLabelsTextColor={{ from: 'color', modifiers: [['darker', '3']] }}\r\n tooltip={({ datum: { id, value, label, color } }) => (\r\n \r\n \r\n {label}: {`${(value)}%`}\r\n \r\n \r\n )}\r\n legends={[\r\n {\r\n anchor: 'bottom',\r\n direction: 'row',\r\n justify: false,\r\n translateX: 0,\r\n translateY: 60,\r\n itemsSpacing: 25,\r\n itemWidth: 100,\r\n itemHeight: 10,\r\n itemTextColor: '#999',\r\n itemDirection: 'left-to-right',\r\n itemOpacity: 1,\r\n symbolSize: 18,\r\n symbolShape: 'circle',\r\n effects: [\r\n {\r\n on: 'hover',\r\n style: {\r\n itemTextColor: '#000'\r\n }\r\n }\r\n ]\r\n }\r\n ]}\r\n />\r\n );\r\n};\r\n\r\nexport default PieChart;","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport { message } from \"antd\";\r\n\r\nimport { ResponsiveBar } from \"@nivo/bar\";\r\nimport axios from \"../../../axios/axios\";\r\nimport { ArraySort } from \"../../../helper/common\";\r\n\r\nconst BarChart = props => {\r\n const [data, setData] = useState([]);\r\n const [maxValue, setMaxValue] = useState(0);\r\n const resource = props.Resource;\r\n const changesCount = props.changesCount;\r\n const labels = useMemo(() => {\r\n return {\r\n openCount: 'Open',\r\n inboundProgressCount: 'Inbound Progress',\r\n receivedCount: 'Received',\r\n outboundProgressCount: 'Outbound Progress',\r\n deliveredCount: 'Delivered'\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async () => {\r\n const responseOrderStatus = await axios(\r\n resource\r\n );\r\n if (isMounted) {\r\n if (responseOrderStatus) {\r\n const result = responseOrderStatus.data;\r\n if (result) {\r\n if (result.hasError) {\r\n message.error(result.message);\r\n\r\n return;\r\n }\r\n\r\n let max = 0\r\n result.data.forEach(o => {\r\n Object.keys(labels).forEach(i => {\r\n if (o[i] > max) {\r\n max = o[i];\r\n }\r\n });\r\n });\r\n max = Math.ceil((max + 1) / 10) * 10;\r\n setMaxValue(max);\r\n setData(result.data);\r\n }\r\n }\r\n }\r\n };\r\n fetchData();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [resource, labels, changesCount]);\r\n\r\n return (\r\n -', enabled: false }}\r\n colors={['#b3e5fc', '#29b6f6', '#039be5', '#0277bd', '#01579b']}\r\n borderColor={{ from: 'color', modifiers: [['darker', '0']] }}\r\n axisTop={null}\r\n axisRight={null}\r\n axisBottom={{\r\n tickSize: 5,\r\n tickPadding: 5,\r\n tickRotation: 0,\r\n legend: 'Week',\r\n legendPosition: 'middle',\r\n legendOffset: 32\r\n }}\r\n axisLeft={{\r\n tickSize: 5,\r\n tickPadding: 5,\r\n tickRotation: 0,\r\n legend: 'Orders',\r\n legendPosition: 'middle',\r\n legendOffset: -40\r\n }}\r\n enableLabel={false}\r\n legendLabel={e => labels[e.id]}\r\n tooltip={({ id, value, color }) => (\r\n \r\n \r\n {labels[id]}: {value}\r\n \r\n \r\n )}\r\n labelTextColor={{ from: 'color', modifiers: [['darker', '0']] }}\r\n legends={[\r\n {\r\n dataFrom: 'keys',\r\n anchor: 'top-right',\r\n direction: 'column',\r\n justify: false,\r\n translateX: 120,\r\n translateY: 0,\r\n itemsSpacing: 2,\r\n itemWidth: 100,\r\n itemHeight: 20,\r\n itemDirection: 'left-to-right',\r\n itemOpacity: 0.85,\r\n symbolSize: 20,\r\n effects: [\r\n {\r\n on: 'hover',\r\n style: {\r\n itemOpacity: 1\r\n }\r\n }\r\n ]\r\n }\r\n ]}\r\n />\r\n );\r\n};\r\n\r\nexport default BarChart;","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerDashboardActionTypes';\r\n\r\nconst buildUrl = (resource = 'CustomerDashboard') => `/api/${resource}/landingdata`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const setCustomerDashboard = resource => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_DASHBOARD_LOADING) });\r\n axios.get(buildUrl(resource),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CUSTOMER_DASHBOARD_DATA), data: responce.data }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\n","import { useEffect } from \"react\";\r\n\r\nexport const useTidioScript = () => {\r\n useEffect(() => {\r\n const tidioScript = () => {\r\n let script = document.createElement(\"script\");\r\n script.setAttribute(\"type\",\"text/javascript\");\r\n script.setAttribute(\"async\",\"true\");\r\n script.setAttribute(\"src\", \"//code.tidio.co/gclisdozkonukgfczzqeijus2gw0mdjg.js\");\r\n script.setAttribute(\"id\", \"tidio-Id\");\r\n document.body.appendChild(script);\r\n };\r\n\r\n tidioScript();\r\n\r\n const removeTidio = () => {\r\n let tidioDiv = document.getElementById('tidio-chat');\r\n let tidioScript = document.getElementById('tidio-Id');\r\n let tidioIframe = document.getElementById('tidio-chat-code');\r\n\r\n if (tidioDiv) {\r\n tidioScript.remove();\r\n tidioDiv.remove();\r\n tidioIframe.remove();\r\n }\r\n }\r\n return () => { removeTidio() }\r\n }, []);\r\n\r\n return null;\r\n}\r\n","import React, { useRef, useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport Split from \"react-split-it\";\r\nimport { message } from 'antd';\r\nimport PieChart from \"./pieChart\";\r\nimport BarChart from \"./barChart\";\r\nimport { useClientHub } from \"../../../hook/hub/useClientHub\";\r\nimport { setCustomerDashboard, resetError } from '../../../../store/actions/customerDashboard/customerDashboard';\r\nimport Loading from \"../../screen/loading\";\r\nimport { formatPhoneNumber } from \"../../../../codeless/helper/common\";\r\nimport { useTidioScript } from \"../../../hook/data/useTidioScript\";\r\n\r\nconst CustomerDashBoard = props => {\r\n const { setCustomerDashboard, customerDashboard, loading, Resource: resource, haseError, resetError, actionMessage } = props;\r\n useTidioScript();\r\n\r\n useEffect(() => {\r\n setCustomerDashboard(resource);\r\n }, [resource, setCustomerDashboard]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n // resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n const { paletCount, paletWeigth, paletSpace, organization } = customerDashboard;\r\n\r\n const getCurrentWeekNumber = () => {\r\n const date = new Date();\r\n const oneJan = new Date(date.getFullYear(), 0, 1);\r\n const numberOfDays = Math.floor((date - oneJan) / (24 * 60 * 60 * 1000));\r\n const weekNumber = Math.ceil((date.getDay() + 1 + numberOfDays) / 7);\r\n\r\n return weekNumber\r\n };\r\n\r\n const cuurentWeek = getCurrentWeekNumber();\r\n const cuurentYear = new Date().getFullYear()\r\n const [year, setYear] = useState(cuurentYear);\r\n const [week, setWeek] = useState(cuurentWeek);\r\n const [yearNumber, setYearNumber] = useState(cuurentYear);\r\n const [weekNumber, setWeekNumber] = useState(cuurentWeek);\r\n const yearRef = useRef();\r\n const weekRef = useRef();\r\n\r\n const [changesCount, setChangesCount] = useState(0);\r\n\r\n useClientHub(() => {\r\n setChangesCount(changesCount+1);\r\n }, 'notification');\r\n\r\n const format = (value, dispatch) => {\r\n const int = +value\r\n if(int) {\r\n dispatch(int);\r\n }\r\n }\r\n\r\n const getYear = value => {\r\n const year = new Date().getFullYear();\r\n if(value <= year - 1) {\r\n setYear(year - 1);\r\n setYearNumber(year - 1);\r\n } else if(value >= year) {\r\n setYear(year);\r\n setYearNumber(year);\r\n\r\n const currenWeek = getCurrentWeekNumber();\r\n if(weekRef.current.value > currenWeek) {\r\n setWeek(currenWeek);\r\n setWeekNumber(currenWeek);\r\n }\r\n }\r\n };\r\n\r\n const getWeek = value => {\r\n const currenWeek = getCurrentWeekNumber();\r\n if(value < 0) {\r\n setWeek(currenWeek);\r\n setWeekNumber(currenWeek);\r\n return;\r\n }\r\n\r\n const date = new Date();\r\n if(value > currenWeek) {\r\n if(+yearRef.current.value === date.getFullYear()) {\r\n setWeek(currenWeek);\r\n setWeekNumber(currenWeek);\r\n\r\n return;\r\n } else {\r\n if(value > 53) {\r\n setWeek(currenWeek);\r\n setWeekNumber(currenWeek);\r\n\r\n return;\r\n }\r\n }\r\n }\r\n setWeek(value);\r\n setWeekNumber(value);\r\n };\r\n\r\n return (\r\n <>\r\n {(loading || haseError) ? :\r\n
    \r\n \r\n
    \r\n
    Order Management System
    \r\n
    \r\n Go To My Orders\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    Year
    \r\n getYear(e.target.value))} onChange={e => format(e.target.value, setYearNumber)} />\r\n
    \r\n \r\n
    \r\n
    Week
    \r\n getWeek(e.target.value))} onChange={e => format(e.target.value, setWeekNumber)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Statistics Info
    \r\n
    \r\n
    \r\n

    {+paletCount}

    \r\n

    Pallet

    \r\n
    \r\n
    \r\n

    {+paletWeigth}

    \r\n

    Weight

    \r\n
    \r\n
    \r\n

    {+paletSpace}

    \r\n

    Space

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Contact Us
    \r\n
    {organization?.email}
    \r\n
    {formatPhoneNumber(organization?.mainPhone)}
    \r\n
    {organization?.address}
    \r\n
    {organization?.addressLocation}
    \r\n
    MC#{organization?.mcNumber}
    \r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n );\r\n};\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n customerDashboard: state.customerDashboard,\r\n loading: state.customerDashboard.loading,\r\n haseError: state.customerDashboard.hasError,\r\n actionMessage: state.customerDashboard.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setCustomerDashboard: (resource) => dispatch(setCustomerDashboard(resource)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerDashBoard);","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerOrderActionTypes';\r\n\r\nconst buildUrl = (resource = 'CustomerOrder', endPoint) => `/api/${resource}/${endPoint}`;\r\nconst buildPutUrl = (resource = 'CustomerOrder', endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const customerOrderInProgress = (resource, endPoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_ORDERS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_ORDERS_IN_PROGRESS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const revisionCustomerOrder = (resource, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.REVISION_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource, 'revision'), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.REVISION_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_ORDERS_IN_PROGRESS), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_ORDER_IN_PROGRESS),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/customerOrderInProgress/customerOrderInProgress';\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidth,\r\n resource,\r\n }) => {\r\n const customerOrder = state[resource];\r\n const data = customerOrder.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n const headerCall = (\r\n \r\n {data.title}\r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ( { state, resource }) => {\r\n const headers = state[resource].headers;\r\n\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './trafficControlActionTypes';\r\n\r\nconst buildUrl = (resource = 'traffic', endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const trafficControl = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.TRAFFIC_LOADING) });\r\n }\r\n axios.get(buildUrl(resource, 'GetTraffic'),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_TRAFFIC_CONTROL), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const setHeaderWidthTraffic = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_TRAFFIC), data: { ind, width } });\r\n\r\nconst updateData = (dispatch, resource, url, value) => {\r\n axios.put(buildUrl(resource, url), value,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const setItemData = (resource, value, rowState, header, subType) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DATA), data: {\r\n value,\r\n rowState,\r\n header,\r\n subType,\r\n }\r\n });\r\n\r\n const createQueryParam = (param, query) => query ? `${param}?loadId=${rowState.loadId}&${query}=${value}` : `${param}?loadId=${rowState.loadId}`;\r\n\r\n switch (header.key) {\r\n case 'eta':\r\n updateData(dispatch, resource, createQueryParam('changewarehousedoors', 'doornumber'));\r\n break;\r\n case 'truckVerified':\r\n updateData(dispatch, resource, createQueryParam('trackverified', 'trackverifystatus'));\r\n break;\r\n case 'trafficNote':\r\n updateData(dispatch, resource, createQueryParam('addtrafficnote', 'note'));\r\n break;\r\n case 'status':\r\n if (subType === 'priority') {\r\n updateData(dispatch, resource, createQueryParam('priority'));\r\n }\r\n if (subType === 'delayed') {\r\n updateData(dispatch, resource, createQueryParam('delayed'));\r\n }\r\n break;\r\n case 'status2':\r\n const createQueryParamForStatus = () => `changestatus?loadId=${rowState.loadId}&status=${value}`;\r\n updateData(dispatch, resource, createQueryParamForStatus());\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const updateLoadData = (resource, newData) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.UPDATE_LOAD_DATA),\r\n data: newData\r\n});\r\n\r\nexport const setLoadNeedId = (resource, loadId) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_LOAD_NEED_ID),\r\n data: loadId,\r\n});\r\n\r\nexport const updateLoadStatus = (resource, newStatus, rowState, header, loadId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.UPDATE_LOAD_STATUS), data: {\r\n newStatus,\r\n rowState,\r\n header,\r\n loadId,\r\n }\r\n });\r\n \r\n const createQueryParam = () => `changestatus?loadId=${loadId}&status=${newStatus}`;\r\n updateData(dispatch, resource, createQueryParam());\r\n};\r\n\r\nexport const reOrderLoadsByDragAndDrop = (resource, newList) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.RE_ORDER_LOADS), data: {\r\n newList,\r\n }\r\n });\r\n\r\n updateData(dispatch, resource, 'loadordering', newList);\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, 'GetTraffic'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_TRAFFIC), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n }\r\n};","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerOrderLocationsActionTypes';\r\n\r\nconst buildUrl = (resource, endPoint, id) => (id ? `/api/${resource}/${endPoint}/${id}` : `/api/${resource}/${endPoint}`);\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getFavoriteLocationDoorList = (resource, endPoint, parentId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FAVORITE_LOCATION_DOORS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint, parentId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FAVORITE_LOCATION_DOORS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const getAllLocationDoorList = (resource, endPoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ALL_LOCATION_DOORS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ALL_LOCATION_DOORS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerOrderActionTypes';\r\n\r\nconst buildUrl = (resource = 'CustomerOrder', endPoint) => `/api/${resource}/${endPoint}`;\r\nconst buildDeleteUrl = (resource = 'CustomerOrder', id) => `/api/${resource}?id=${id}`;\r\nconst buildPostUrl = (resource = 'CustomerOrder') => `/api/${resource}`;\r\nconst buildPutUrl = (resource = 'CustomerOrder') => `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const customerOrderNewOrders = (resource, endPoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_ORDERS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_ORDERS_NEW_ORDERS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const deleteCustomerOrder = (resource, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .delete(buildDeleteUrl(resource, data), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const addCustomerOrder = (resource, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .post(buildPostUrl(resource), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const editCustomerOrder = (resource, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.EDIT_CUSTOMER_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.EDIT_CUSTOMER_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const setFormValues = (resource, formValues) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_FORM_VALUES), data: formValues\r\n });\r\n}\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_ORDERS_NEW_ORDERS), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_NEW_ORDERS),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nexport const resetOrderAdded = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ORDER_ADDED) });\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerRejectedOrdersActionTypes';\r\n\r\nconst buildUrl = (resource = 'CustomerOrder', endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getCustomerOrderRejected = (resource, endPoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_ORDERS_REJECTED_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_ORDERS_REJECTED), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_ORDERS_REJECTED_ORDERS), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_REJECTED_ORDERS),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n","import React from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nconst EditWarningModal = ({ \r\n errorModalText,\r\n setErrorModalText,\r\n message,\r\n resetError,\r\n resource,\r\n orderAdded,\r\n hasError,\r\n setIsOpen, \r\n setButtonDisabled,\r\n }) => {\r\n\r\n const closeModal = () => {\r\n hasError && !orderAdded && setIsOpen(true);\r\n setErrorModalText('');\r\n resetError && resetError(resource);\r\n setButtonDisabled && setButtonDisabled(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    {message}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default EditWarningModal;","import React, { useEffect, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { DatePicker, Dropdown, Menu, Space } from 'antd';\r\nimport moment from 'moment';\r\nimport Select from 'react-select'\r\nimport { getFavoriteLocationDoorList, getAllLocationDoorList } from '../../../../store/actions/customerOrderLocations/customerOrderLocations';\r\nimport { customerOrderNewOrders, addCustomerOrder, editCustomerOrder, setFormValues } from '../../../../store/actions/customerOrderNewOrders/customerOrderNewOrders';\r\nimport { revisionCustomerOrder } from '../../../../store/actions/customerOrderInProgress/customerOrderInProgress';\r\nimport { getCustomerOrderRejected } from '../../../../store/actions/customerRejectedOrders/customerRejectedOrders';\r\nimport { customerOrderInProgress } from '../../../../store/actions/customerOrderInProgress/customerOrderInProgress';\r\nimport Loading from '../../screen/loading';\r\nimport ErrorModal from './errorModal';\r\nimport store from '../../../../store';\r\n\r\nconst CustomModal = ({ \r\n modalIsOpen,\r\n totalOrders,\r\n totalOrdersRequested,\r\n setIsOpen,\r\n addCustomerOrder,\r\n editCustomerOrder,\r\n customerOrderNewOrders,\r\n customerOrderInProgress,\r\n getCustomerOrderRejected,\r\n editMode,\r\n revisionMode,\r\n revisionCustomerOrder,\r\n data,\r\n setEditWarningModaIsOpen, \r\n getFavoriteLocationDoorList,\r\n getAllLocationDoorList,\r\n favoriteLocationsDoorsList,\r\n allLocationsDoorsList,\r\n favoriteDoorsLocationsLoading,\r\n allDoorsLocationsLoading,\r\n setFormValues,\r\n formValues,\r\n setSaveBtnClicked,\r\n setSaveAndNewBtnClicked,\r\n setSaveAndCloneBtnClicked,\r\n }) => {\r\n\r\n const resource = \"CustomerOrder\";\r\n const [orderAdded, setOrderAdded] = useState(false);\r\n const [buttonDisabled, setButtonDisabled] = useState(false);\r\n const [dataChanged, setDataChanged] = useState(false);\r\n const [errorModalText, setErrorModalText] = useState('');\r\n let submitAction = '';\r\n\r\n // get customerId\r\n const token = store.getState().auth.userToken;\r\n const parts = token.split('.');\r\n let customerId = null;\r\n if (parts.length > 1) {\r\n const part = parts[1];\r\n const jPart = JSON.parse(atob(part));\r\n const userData = JSON.parse(jPart[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata\"]);\r\n customerId = userData.CustomerId;\r\n };\r\n\r\n useEffect(() => {\r\n getFavoriteLocationDoorList('location', 'locationdoorlistbyparentid', customerId);\r\n getAllLocationDoorList('location', 'locationdoorlist');\r\n }, [getFavoriteLocationDoorList, getAllLocationDoorList, customerId]);\r\n \r\n favoriteLocationsDoorsList?.length && favoriteLocationsDoorsList[0].value !== '' && favoriteLocationsDoorsList.unshift({value: '', text: ''});\r\n allLocationsDoorsList?.length && allLocationsDoorsList[0].value !== '' && allLocationsDoorsList.unshift({value: '', text: ''});\r\n\r\n const optionsFavoriteLocations = favoriteLocationsDoorsList && favoriteLocationsDoorsList.map(item => { \r\n return {...item, 'label': item.text }\r\n })\r\n\r\n const optionsAllLocations = allLocationsDoorsList && allLocationsDoorsList.map(item => { \r\n return {...item, 'label': item.text }\r\n })\r\n\r\n const getTextFromValueFavoriteLocations = value => {\r\n return favoriteLocationsDoorsList?.length ? favoriteLocationsDoorsList?.filter(item => item.value === value)[0].text : [];\r\n };\r\n\r\n const getTextFromValueAllLocations = value => {\r\n return allLocationsDoorsList?.length ? allLocationsDoorsList?.filter(item => item.value === value)[0].text : [];\r\n };\r\n \r\n const handleSubmitSave = submitAdd => {\r\n submitAdd();\r\n setButtonDisabled(false);\r\n };\r\n\r\n const handleSubmitClone = (submit) => {\r\n submit()\r\n openModal();\r\n };\r\n\r\n const handleEdit = (submitEdit) => {\r\n submitEdit();\r\n setButtonDisabled(false);\r\n }\r\n\r\n useEffect(() => {\r\n if (orderAdded && !editMode) {\r\n setTimeout(() => {\r\n customerOrderNewOrders('customerOrder', 'myorderorderlist');\r\n customerOrderInProgress('customerOrder', 'area');\r\n setIsOpen(false);\r\n }, 3000)\r\n }\r\n }, [totalOrders, dataChanged, orderAdded, editMode, customerOrderNewOrders, customerOrderInProgress, setIsOpen]);\r\n\r\n useEffect(() => {\r\n if (orderAdded && editMode) {\r\n setTimeout(() => {\r\n customerOrderInProgress('customerOrder', 'area');\r\n customerOrderNewOrders('customerOrder', 'myorderorderlist');\r\n getCustomerOrderRejected('CustomerOrder', 'myrejectedorderorderlist');\r\n setIsOpen(false);\r\n }, 3000)\r\n }\r\n }, [totalOrders, totalOrdersRequested, dataChanged, orderAdded, editMode, customerOrderInProgress, customerOrderNewOrders, getCustomerOrderRejected, setIsOpen]);\r\n\r\n const afterOpenModal = () => {\r\n // references are now sync'd and can be accessed.\r\n };\r\n\r\n const closeModal = () => {\r\n setIsOpen(false);\r\n if (!editMode) {\r\n setFormValues({});\r\n customerOrderNewOrders('customerOrder', 'myorderorderlist');\r\n customerOrderInProgress('customerOrder', 'area');\r\n }\r\n };\r\n\r\n const openModal = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '580px',\r\n minHeight: '440px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n const validationSchema = Yup.object().shape({\r\n pickLocationId: Yup.string().required('Required'),\r\n dropLocationId: Yup.string().required('Required'),\r\n readyDate: Yup.date().required('Required'),\r\n dueDate: Yup.date().required('Required'),\r\n palletCount: Yup.number().integer().required('Required'),\r\n space: Yup.number().integer().required('Required'),\r\n poNumber: Yup.string().required('Required'),\r\n soNumber: Yup.string(),\r\n weight: Yup.number().required('Required'),\r\n // freight: Yup.number().nullable(),\r\n temperature: Yup.number().required('Required'),\r\n });\r\n\r\n const temperatureObject = [\r\n { \r\n 'text': 'Frozen',\r\n 'value': 1,\r\n },\r\n {\r\n 'text': 'Chilled',\r\n 'value': 2,\r\n },\r\n {\r\n 'text': 'Dry',\r\n 'value': 3,\r\n },\r\n {\r\n 'text': 'C|F',\r\n 'value': 4,\r\n }\r\n ];\r\n\r\n const returnTextFromValue = (value, list) => {\r\n for(let i = 0; i < list?.length; i ++) {\r\n if (list[i].value === value) {\r\n return list[i].text;\r\n }\r\n }\r\n }\r\n\r\n const setDropLocation = (option, setFieldValue) => {\r\n setFieldValue('dropLocationId', option.value);\r\n setFieldValue('dropRegionId', option.outboundRegionId)\r\n }\r\n\r\n const colourStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: state.isFocused ? \"lightGray\" : \"lightGray\",\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '39px',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '20',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n };\r\n\r\n if (favoriteDoorsLocationsLoading || allDoorsLocationsLoading || orderAdded) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    {revisionMode ? 'Revision Order' : editMode ? 'Edit Order' : 'Add Order'}
    \r\n \r\n
    \r\n {\r\n setFormValues(resource ,values)\r\n if(revisionMode) {\r\n setButtonDisabled(true)\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n if (\r\n values.palletCount !== data.revisionPalletCount ||\r\n values.weight !== data.revisionWeight ||\r\n values.space !== data.revisionSpace ||\r\n values.customerOrderNotes !== data.revisionNotes\r\n )\r\n {\r\n if (Number(values.space) > 30) {\r\n setFieldValue('space', '');\r\n setErrorModalText(`Space count can't be more than 30`);\r\n } else if (Number(values.weight) > Number(values.palletCount) * 2750) {\r\n setErrorModalText(`Maximum weight for 1 pallet can be 2750 pounds`);\r\n setFieldValue('weight', '');\r\n } else {\r\n revisionCustomerOrder('CustomerOrder', values);\r\n setOrderAdded(true);\r\n setDataChanged(true);\r\n }\r\n setFormValues({});\r\n } else {\r\n setIsOpen(false);\r\n setEditWarningModaIsOpen(true);\r\n }\r\n }, 400);\r\n } else if(editMode && !revisionMode) {\r\n setButtonDisabled(true)\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n if (\r\n values.pickLocationId !== data.pickLocationId ||\r\n values.dropLocationId !== data.dropLocationId ||\r\n (\r\n new Date(values.readyDate._d).getDate() !== new Date(data.readyDate).getDate() ||\r\n new Date(values.readyDate._d).getMonth() !== new Date(data.readyDate).getMonth()\r\n ) ||\r\n (\r\n new Date(values.dueDate._d).getDate() !== new Date(data.dueDate).getDate() ||\r\n new Date(values.dueDate._d).getMonth() !== new Date(data.dueDate).getMonth()\r\n ) ||\r\n values.palletCount !== data.palletCount ||\r\n values.space !== data.space ||\r\n values.soNumber !== data.soNumber ||\r\n values.poNumber !== data.poNumber ||\r\n values.weight !== data.weight ||\r\n // values.freight !== data.freight ||\r\n values.temperature !== data.temperature ||\r\n values.customerOrderNotes !== data.customerOrderNotes\r\n )\r\n {\r\n if (Number(values.space) > 30) {\r\n setFieldValue('space', '');\r\n setErrorModalText(`Space count can't be more than 30`);\r\n } else if (Number(values.weight) > Number(values.palletCount) * 2750) {\r\n setErrorModalText(`Maximum weight for 1 pallet can be 2750 pounds`);\r\n setFieldValue('weight', '');\r\n } else {\r\n editCustomerOrder('CustomerOrder', values);\r\n setOrderAdded(true);\r\n setDataChanged(true);\r\n }\r\n } else {\r\n setIsOpen(false);\r\n setEditWarningModaIsOpen(true);\r\n }\r\n }, 400);\r\n } else {\r\n setButtonDisabled(true)\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n setOrderAdded(false);\r\n if (\r\n values.pickLocationId === '' &&\r\n values.dropLocationId === '' &&\r\n values.readyDate === '' &&\r\n values.dueDate === '' &&\r\n values.palletCount === '' &&\r\n values.space === '' &&\r\n values.poNumber === '' &&\r\n values.weight === '' &&\r\n // values.freight === '' &&\r\n values.temperature === ''\r\n ) {\r\n setButtonDisabled(true);\r\n } else {\r\n values.space <= 30 && (values.weight <= values.palletCount * 2750) &&\r\n addCustomerOrder('CustomerOrder', values); \r\n\r\n if (submitAction === \"first\") {\r\n setSaveBtnClicked(true);\r\n setSaveAndNewBtnClicked(false);\r\n setSaveAndCloneBtnClicked(false);\r\n }\r\n if (submitAction === \"second\" ) {\r\n setSaveBtnClicked(false);\r\n setSaveAndNewBtnClicked(true);\r\n setSaveAndCloneBtnClicked(false);\r\n }\r\n if (submitAction === \"third\" ) {\r\n setSaveBtnClicked(false);\r\n setSaveAndNewBtnClicked(false);\r\n setSaveAndCloneBtnClicked(true);\r\n }\r\n values.space > 30 && setFieldValue('space', '');\r\n values.space > 30 && setErrorModalText(`Space count can't be more than 30`);\r\n values.weight > values.palletCount * 2750 && setErrorModalText(`Maximum weight for 1 pallet can be 2750 pounds`);\r\n values.weight > values.palletCount * 2750 && setFieldValue('weight', '');\r\n }\r\n }, 400);\r\n }}\r\n }\r\n >\r\n {({ isSubmitting, isValid, values, setFieldValue, errors, touched, handleSubmit }) => (\r\n
    \r\n
    \r\n <>\r\n
    Pick Location
    \r\n setDropLocation(option, setFieldValue)}\r\n styles={colourStyles}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n isDisabled={revisionMode}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    Ready Date
    \r\n setFieldValue('readyDate', date)}\r\n style={touched.readyDate && errors.readyDate && { border: '1px solid red' } }\r\n disabled={revisionMode}\r\n />\r\n
    \r\n
    \r\n
    Due Date
    \r\n setFieldValue('dueDate', date)}\r\n style={touched.dueDate && errors.dueDate && { border: '1px solid red' } }\r\n disabled={revisionMode}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    PAL
    \r\n \r\n
    \r\n
    \r\n
    SPA
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    PO#
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    LBS
    \r\n \r\n
    \r\n
    \r\n
    SO#
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    Freight Value
    \r\n \r\n {values.freight && $}\r\n
    */}\r\n\r\n setFieldValue('temperature', Number(data.key))}>\r\n Frozen\r\n Chilled\r\n Dry\r\n C|F\r\n \r\n )} \r\n >\r\n \r\n
    e.preventDefault()}>\r\n
    Temp
    \r\n
    {values.temperature && returnTextFromValue(values.temperature, temperatureObject)}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {revisionMode ?\r\n
    \r\n \r\n \r\n
    :\r\n editMode ? \r\n
    \r\n \r\n \r\n
    :\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n
    \r\n )}\r\n \r\n
    \r\n {!!errorModalText &&\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n favoriteLocationsDoorsList: state.customerOrderLocations.favoriteLocationsDoorsList,\r\n allLocationsDoorsList: state.customerOrderLocations.allLocationsDoorsList,\r\n favoriteDoorsLocationsLoading: state.customerOrderLocations.favoriteDoorsLocationsLoading,\r\n allDoorsLocationsLoading: state.customerOrderLocations.allDoorsLocationsLoading,\r\n totalOrders: state.customerOrderNewOrders.totalOrders,\r\n totalOrdersRequested: state.customerRejectedOrders.totalRejectedOrders,\r\n hasError: state.customerOrderNewOrders.hasError,\r\n actionMessage: state.customerOrderNewOrders.message,\r\n customerOrderNewOrdersLoading: state.customerOrderNewOrders.loading,\r\n addCustomerOrderloading: state.customerOrderNewOrders.addCustomerOrderloading,\r\n formValues: state.customerOrderNewOrders.formValues,\r\n orderAdded: state.customerOrderNewOrders.orderAdded,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n addCustomerOrder: (resource, data) => dispatch(addCustomerOrder(resource, data)),\r\n editCustomerOrder: (resource, data) => dispatch(editCustomerOrder(resource, data)),\r\n revisionCustomerOrder: (resource, data) => dispatch(revisionCustomerOrder(resource, data)),\r\n getFavoriteLocationDoorList: (resource, endPoint, id) => dispatch(getFavoriteLocationDoorList(resource, endPoint, id)),\r\n getAllLocationDoorList: (resource, endPoint) => dispatch(getAllLocationDoorList(resource, endPoint)),\r\n customerOrderNewOrders: (resource, endPoint) => dispatch(customerOrderNewOrders(resource, endPoint)),\r\n customerOrderInProgress: (resource, endPoint) => dispatch(customerOrderInProgress(resource, endPoint)),\r\n getCustomerOrderRejected: (resource, endPoint) => dispatch(getCustomerOrderRejected(resource, endPoint)),\r\n setFormValues: (resource, formValues) => dispatch(setFormValues(resource, formValues)), \r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomModal);","import React from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nconst EditWarningModal = ({ setIsOpen, editWarningModalIsOpen, setEditWarningModaIsOpen }) => {\r\n const closeModal = () => {\r\n setEditWarningModaIsOpen(false);\r\n setIsOpen(true);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    You didn't make any changes
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default EditWarningModal;","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Tooltip, DatePicker } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport CustomModal from './modal';\r\nimport EditWarningModal from '../CustomerOrderNewOrders/modalEditWarning';\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDisplayState,\r\n}) => {\r\n const traffic = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = traffic.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = traffic.headers.findIndex(h => h.key === cellData.key);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [editWarningModaIsOpen, setEditWarningModaIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n// const offsetWidth = traffic.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = traffic.lastSelected?.id;\r\nconst lastSelectHeaderKey = traffic.lastSelected?.headerKey;\r\nconst lastSelectenable = traffic.lastSelected?.enable;\r\nconst rowStateId = rowState.orderId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const handleEdit = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const valueForCompare = tempData;\r\n if (!dataCompare(newValue, valueForCompare)) {\r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate);\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'revisionText':\r\n {if (tempData[0] === '' || tempData[0] === null) {\r\n return <>{tempData[0]}{tempData[1]}\r\n } else {\r\n return <>{tempData[0]}/{tempData[1]}\r\n }\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return (\r\n {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell table-borders customer-order-row'\r\n style={{ ...cellDefaultStyle, ...cellStyle,\r\n }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {modalIsOpen &&\r\n \r\n }\r\n {editWarningModaIsOpen &&\r\n \r\n }\r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n }), dispatch => ({\r\n setItemData: (resource, value, rowState, header, subType) => dispatch(setItemData(resource, value, rowState, header, subType)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n}))(Cell);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n state,\r\n startOnScroll,\r\n resource,\r\n index,\r\n }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { \r\n ...style, \r\n ...{ \r\n height: `${itemSize}px`, \r\n backgroundColor: color,\r\n color: '#080E0E',\r\n }\r\n };\r\n \r\n const cellContent = (i, ind) => {\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({ state: state}))(Row);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { Dropdown, Space, Menu, message } from 'antd';\r\nimport './index.css';\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from '../../screen/loading';\r\nimport { customerOrderInProgress, sortBy } from '../../../../store/actions/customerOrderInProgress/customerOrderInProgress';\r\nimport { resetError, setFormValues, resetOrderAdded } from '../../../../store/actions/customerOrderNewOrders/customerOrderNewOrders';\r\nimport { getContentWidth } from '../../../../store/reducers/customerOrderInProgress/helper/general';\r\nimport CustomModal from \"./modal\";\r\nimport ErrorModal from './errorModal';\r\n\r\nconst CustomerOrderInProgressSpreadsheet = props => {\r\n const { \r\n customerOrderInProgress, \r\n sortBy, \r\n loading, \r\n state, \r\n total, \r\n addCustomerOrderloading,\r\n hasError,\r\n resetError,\r\n actionMessage,\r\n orderAdded,\r\n setFormValues,\r\n formValues,\r\n resetOrderAdded,\r\n totalUpcomingOrders, \r\n } = props;\r\n const resource = 'customerOrderInProgress';\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const customerOrderRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => (mainScroll.current.scrollLeft = width);\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const [sortValue, setSortValue] = useState(null);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [errorModalText, setErrorModalText] = useState('');\r\n const [saveBtnClicked, setSaveBtnClicked] = useState(false);\r\n const [saveAndNewBtnClicked, setSaveAndNewBtnClicked] = useState(false);\r\n const [saveAndCloneBtnClicked, setSaveAndCloneBtnClicked] = useState(false);\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft = listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n setErrorModalText(actionMessage);\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\nuseEffect(() => {\r\n if (orderAdded) {\r\n message.success('Order successfully saved', 3);\r\n saveBtnClicked && setIsOpen(false);\r\n saveBtnClicked && resetError(resource);\r\n saveBtnClicked && setFormValues({});\r\n saveAndNewBtnClicked && setFormValues({});\r\n const updatedValues = {...formValues, poNumber: '', soNumber: ''};\r\n saveAndCloneBtnClicked && setFormValues(resource, updatedValues); \r\n setTimeout(() => resetOrderAdded(resource), 3000);\r\n }\r\n}, [formValues, orderAdded, resetError, resetOrderAdded, saveAndCloneBtnClicked, saveAndNewBtnClicked, saveBtnClicked, setFormValues]);\r\n\r\n useEffect(() => {\r\n customerOrderInProgress('customerOrder', 'area');\r\n }, [resource, customerOrderInProgress, totalUpcomingOrders]);\r\n\r\n let customerOrderList = [];\r\n\r\n if (sortValue) {\r\n customerOrderList = state[resource]?.sortedCustomerOrderInProgress;\r\n } else {\r\n customerOrderList = state[resource]?.customerOrderInProgress;\r\n };\r\n\r\n const header = useMemo(\r\n () => (\r\n \r\n \r\n \r\n ),\r\n [resource],\r\n );\r\n\r\n const getCustomerOrderListItemSize = useCallback(\r\n index => (customerOrderList?.[index] ? customerOrderList[index].rowState.height : defRowHeight),\r\n [customerOrderList],\r\n );\r\n\r\n const RenderCustomerOrderRow = useCallback(\r\n ({ data, index, style }) =>\r\n index !== undefined && data[index] ? (\r\n \r\n ) : null,\r\n [getCustomerOrderListItemSize, resource],\r\n );\r\n\r\n const allCustomerOrderList = useMemo(\r\n () =>\r\n customerOrderList && (\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0px 0px 12px 12px',\r\n }} \r\n itemData={customerOrderList}\r\n itemCount={customerOrderList.length}\r\n height={customerOrderList && (customerOrderList.length * 29) > height ? height : customerOrderList.length * 29}\r\n itemSize={getCustomerOrderListItemSize}>\r\n {RenderCustomerOrderRow}\r\n \r\n \r\n )}\r\n \r\n ),\r\n [customerOrderList, getCustomerOrderListItemSize, RenderCustomerOrderRow],\r\n );\r\n\r\n const handleSelectChange = e => {\r\n sortBy('customerOrder', e.key);\r\n setSortValue(e.key);\r\n };\r\n\r\n const menu = (\r\n \r\n By statuses\r\n By date\r\n By direction\r\n \r\n );\r\n\r\n const content = (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Sort\r\n \r\n \r\n
    \r\n \r\n
    \r\n In Transit Orders: {total}\r\n
    \r\n
    \r\n
    \r\n PAST ORDERS\r\n \r\n
    \r\n
    \r\n
    {header}
    \r\n
    {allCustomerOrderList}
    \r\n onScrollX(e)}>\r\n \r\n \r\n {modalIsOpen && \r\n \r\n }\r\n {errorModalText &&\r\n \r\n }\r\n \r\n \r\n );\r\n\r\n return <>{loading || addCustomerOrderloading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n customerOrder: state.customerOrderInProgress,\r\n loading: state.customerOrderInProgress.loading,\r\n total: state.customerOrderInProgress.total,\r\n totalUpcomingOrders: state.customerOrderNewOrders.totalOrders,\r\n addCustomerOrderloading: state.customerOrderNewOrders.addCustomerOrderloading,\r\n hasError: state.customerOrderNewOrders.hasError,\r\n actionMessage: state.customerOrderNewOrders.message,\r\n orderAdded: state.customerOrderNewOrders.orderAdded,\r\n formValues: state.customerOrderNewOrders.formValues,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n customerOrderInProgress: (resource, endPoint) => dispatch(customerOrderInProgress(resource, endPoint)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n resetOrderAdded: resource => dispatch(resetOrderAdded(resource)), \r\n setFormValues: (resource, formValues) => dispatch(setFormValues(resource, formValues)), \r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerOrderInProgressSpreadsheet);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/customerOrderNewOrders/customerOrderNewOrders';\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidth,\r\n resource,\r\n }) => {\r\n const customerOrder = state[resource];\r\n const data = customerOrder.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n resource === 'customerOrderNewOrders' && ind !== 12 && setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n const headerCall = (\r\n \r\n {data.title}\r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ( { state, resource }) => {\r\n const headers = state[resource].headers;\r\n\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport { customerOrderInProgress } from '../../../../store/actions/customerOrderInProgress/customerOrderInProgress';\r\nimport { customerOrderNewOrders, deleteCustomerOrder } from '../../../../store/actions/customerOrderNewOrders/customerOrderNewOrders';\r\nimport Loading from '../../screen/loading';\r\n\r\nconst CustomModal = ({ totalOrders, id, deleteModalIsOpen, setDeleteModalIsOpen, deleteCustomerOrder, customerOrderNewOrders, customerOrderInProgress }) => {\r\n const [orderDeleted, setOrderDeleted] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const closeModal = () => {\r\n setDeleteModalIsOpen(false);\r\n };\r\n\r\n const handleDelete = () => {\r\n setLoading(true);\r\n deleteCustomerOrder('CustomerOrder', id);\r\n setOrderDeleted(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (orderDeleted) {\r\n customerOrderNewOrders('customerOrder', 'myorderorderlist');\r\n customerOrderInProgress('customerOrder', 'area');\r\n setLoading(false);\r\n }\r\n }, [customerOrderInProgress, customerOrderNewOrders, orderDeleted, totalOrders]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n if (loading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )\r\n };\r\n\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    This action cannot be undone. Are you sure you want to continue?
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n totalOrders: state.customerOrderNewOrders.totalOrders,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n deleteCustomerOrder: (resource, orderId) => dispatch(deleteCustomerOrder(resource, orderId)),\r\n customerOrderNewOrders: (resource, endPoint) => dispatch(customerOrderNewOrders(resource, endPoint)),\r\n customerOrderInProgress: (resource, endPoint) => dispatch(customerOrderInProgress(resource, endPoint)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomModal);","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { DatePicker, Tooltip } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport CustomModal from \"../CustomerOrderInProgress/modal\";\r\nimport CustomModalDelete from \"./modalDelete\";\r\nimport EditWarningModal from './modalEditWarning';\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDisplayState,\r\n}) => {\r\n const traffic = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = traffic.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = traffic.headers.findIndex(h => h.key === cellData.key);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [deleteModalIsOpen, setDeleteModalIsOpen] = useState(false);\r\n const [editWarningModaIsOpen, setEditWarningModaIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n// const offsetWidth = traffic.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = traffic.lastSelected?.id;\r\nconst lastSelectHeaderKey = traffic.lastSelected?.headerKey;\r\nconst lastSelectenable = traffic.lastSelected?.enable;\r\nconst rowStateId = rowState.orderId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const handleEdit = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const handleDelete = () => {\r\n setDeleteModalIsOpen(true);\r\n };\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const valueForCompare = tempData;\r\n if (!dataCompare(newValue, valueForCompare)) {\r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate);\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return (\r\n {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell table-borders customer-order-row'\r\n style={{ ...cellDefaultStyle, ...cellStyle,\r\n }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {modalIsOpen &&\r\n \r\n }\r\n {deleteModalIsOpen &&\r\n \r\n }\r\n {editWarningModaIsOpen &&\r\n \r\n }\r\n \r\n);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setItemData: (resource, value, rowState, header, subType) => dispatch(setItemData(resource, value, rowState, header, subType)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n state,\r\n startOnScroll,\r\n resource,\r\n index,\r\n }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { \r\n ...style, \r\n ...{ \r\n height: `${itemSize}px`, \r\n backgroundColor: color,\r\n color: '#080E0E',\r\n }\r\n };\r\n \r\n const cellContent = (i, ind) => {\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({ state: state}))(Row);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { Dropdown, Space, message, Menu } from 'antd';\r\nimport './index.css';\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from '../../screen/loading';\r\nimport { customerOrderNewOrders, sortBy, resetError, setFormValues } from '../../../../store/actions/customerOrderNewOrders/customerOrderNewOrders';\r\nimport { getContentWidth } from '../../../../store/reducers/customerOrderNewOrders/helper/general';\r\nimport { useTidioScript } from \"../../../hook/data/useTidioScript\";\r\n\r\nconst CustomerOrderNewOrdersSpreadsheet = props => {\r\n const {\r\n customerOrderNewOrders,\r\n sortBy,\r\n loading,\r\n resetError,\r\n state,\r\n totalOrders,\r\n orderUpdated,\r\n setFormValues,\r\n } = props;\r\n const resource = 'customerOrderNewOrders';\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const customerOrderRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => (mainScroll.current.scrollLeft = width);\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const innerWidth = window.innerWidth;\r\n const smallScreen = width > innerWidth;\r\n const [sortValue, setSortValue] = useState('');\r\n\r\n useTidioScript();\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft = listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n customerOrderNewOrders('customerOrder', 'myorderorderlist');\r\n }, [resource, customerOrderNewOrders, totalOrders]);\r\n\r\n useEffect(() => {\r\n if (orderUpdated) {\r\n message.success('Order successfully saved', 3);\r\n resetError(resource);\r\n setFormValues({});\r\n }\r\n }, [orderUpdated, resetError, setFormValues]);\r\n\r\n let customerOrderList = [];\r\n\r\n if (sortValue) {\r\n customerOrderList = state[resource]?.sortedCustomerOrderNewOrders;\r\n } else {\r\n customerOrderList = state[resource]?.customerOrderNewOrders;\r\n };\r\n\r\n const header = useMemo(\r\n () => (\r\n \r\n \r\n \r\n ),\r\n [resource],\r\n );\r\n\r\n const getCustomerOrderListItemSize = useCallback(\r\n index => (customerOrderList?.[index] ? customerOrderList[index].rowState.height : defRowHeight),\r\n [customerOrderList],\r\n );\r\n\r\n const RenderCustomerOrderRow = useCallback(\r\n ({ data, index, style }) =>\r\n index !== undefined && data[index] ? (\r\n \r\n ) : null,\r\n [getCustomerOrderListItemSize, resource],\r\n );\r\n\r\n const allCustomerOrderList = useMemo(\r\n () =>\r\n customerOrderList && (\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0px 0px 12px 12px',\r\n }}\r\n itemData={customerOrderList}\r\n itemCount={customerOrderList.length}\r\n height={customerOrderList && (customerOrderList.length * 29) > height ? height - 1 : customerOrderList.length * 28.2}\r\n itemSize={getCustomerOrderListItemSize}>\r\n {RenderCustomerOrderRow}\r\n \r\n \r\n )}\r\n \r\n ),\r\n [customerOrderList, getCustomerOrderListItemSize, RenderCustomerOrderRow],\r\n );\r\n\r\n const handleSelectChange = e => {\r\n sortBy('customerOrder', e.key);\r\n setSortValue(e.key);\r\n };\r\n \r\n const menu = (\r\n \r\n By date\r\n By direction\r\n \r\n );\r\n \r\n\r\n const content = (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Sort\r\n \r\n \r\n
    \r\n \r\n
    \r\n Upcoming Orders: {totalOrders}\r\n
    \r\n
    \r\n
    \r\n
    {header}
    \r\n
    {allCustomerOrderList}
    \r\n onScrollX(e)}>\r\n \r\n \r\n \r\n );\r\n\r\n return <>{loading ? : content};\r\n };\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n customerOrder: state.customerOrderNewOrders,\r\n loading: state.customerOrderNewOrders.loading,\r\n totalOrders: state.customerOrderNewOrders.totalOrders,\r\n orderUpdated: state.customerOrderNewOrders.orderUpdated,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n customerOrderNewOrders: (resource, endPoint) => dispatch(customerOrderNewOrders(resource, endPoint)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n setFormValues: (resource, formValues) => dispatch(setFormValues(resource, formValues)), \r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerOrderNewOrdersSpreadsheet);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Split from \"react-split-it\";\r\nimport CustomerOrderInProgressSpreadsheet from '../CustomerOrderInProgress/CustomerOrderInProgressSpreadsheet';\r\nimport CustomerOrderNewOrdersSpreadsheet from '../CustomerOrderNewOrders/CustomerOrderNewOrdersSpreadsheet';\r\nimport { getContentWidth } from '../../../../../src/store/reducers/customerOrderNewOrders/helper/general';\r\n\r\nconst CustomerOrders = ({ state, loadingCustomerOrderNewOrders, loadingCustomerOrderInProgress }) => { \r\n const resource = 'customerOrderNewOrders';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers);\r\n const innerWidth = window.innerWidth;\r\n\r\n const smallScreen = width < innerWidth;\r\n const content = (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n return content;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadingCustomerOrderNewOrders: state.customerOrderNewOrders.loading,\r\n loadingCustomerOrderInProgress: state.customerOrderInProgress.loading,\r\n});\r\n\r\nexport default connect(mapStateToProps)(CustomerOrders);","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CustomerOrders from '../../CustomerOrders/CustomerOrders';\r\nimport { getContentWidth } from '../../../../../store/reducers/customerOrderInProgress/helper/general';\r\n\r\nconst CustomerOrderBuild = props => {\r\n const { state } = props;\r\n const resource = 'customerOrderInProgress';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nexport default connect(mapStateToProps)(CustomerOrderBuild);\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './customerLastOrdersActionTypes';\r\n\r\nconst buildUrl = (resource = 'CustomerOrder', endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getLastOrders = (resource, endPoint) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CUSTOMER_LAST_ORDERS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, endPoint), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CUSTOMER_LAST_ORDERS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_LAST_ORDERS), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_LAST_ORDERS),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/customerLastOrders/customerLastOrders';\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidth,\r\n resource,\r\n trafficSubHeader,\r\n }) => {\r\n const traffic = state[resource];\r\n const data = trafficSubHeader ? traffic.subHeaders[ind] : traffic.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n console.log('OnResize', ind);\r\n resource === 'customerLastOrders' && ind !== 14 && s.size.width < 300 && setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n let headerCall =\r\n \r\n {data.title}\r\n ;\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n trafficUpcoming: state.trafficUpcoming,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = (\r\n {\r\n state,\r\n resource,\r\n }) => {\r\n const headers = state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Tooltip, DatePicker } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport CustomModal from \"../CustomerOrderInProgress/modal\";\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDataUpcoming,\r\n setItemDisplayState,\r\n}) => {\r\n const rejectedOrders = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = rejectedOrders.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = rejectedOrders.headers.findIndex(h => h.key === cellData.key);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n// const offsetWidth = rejectedOrders.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = rejectedOrders.lastSelected?.id;\r\nconst lastSelectHeaderKey = rejectedOrders.lastSelected?.headerKey;\r\nconst lastSelectenable = rejectedOrders.lastSelected?.enable;\r\nconst rowStateId = rowState.orderId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data, cellData.priorityValue, cellData.delayedValue, rowState.loadStatus]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const valueForCompare = subType === 'priority' ? cellData.priorityValue : subType === 'delayed' ? cellData.delayedValue : tempData;\r\n if (!dataCompare(newValue, valueForCompare)) {\r\n setTimeout(() => {\r\n if (resource === 'traffic') {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }\r\n if (resource === 'trafficUpcoming') {\r\n setItemDataUpcoming(resource, newValue, rowState, header, subType);\r\n }\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n const handleEdit = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate);\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return (\r\n {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px 2px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell table-borders customer-order-row'\r\n style={{ ...cellDefaultStyle, ...cellStyle }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {modalIsOpen && \r\n \r\n }\r\n \r\n );\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n }), dispatch => ({\r\n setItemData: (resource, value, rowState, header, subType) => dispatch(setItemData(resource, value, rowState, header, subType)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n}))(Cell);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n index,\r\n }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef, data.rowState.loadStatus]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { \r\n ...style,\r\n ...{ \r\n height: `${itemSize}px`, \r\n backgroundColor: color,\r\n color: '#080E0E',\r\n }\r\n };\r\n \r\n const cellContent = (i, ind) => {\r\n\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\n export default connect(state => ({ state: state}))(Row);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { Dropdown, Space, message, Menu } from 'antd';\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { getLastOrders, sortBy } from '../../../../store/actions/customerLastOrders/customerLastOrders';\r\nimport { getContentWidth } from '../../../../store/reducers/customerLastOrders/helper/general';\r\nimport { useTidioScript } from \"../../../hook/data/useTidioScript\";\r\n\r\nconst CustomerLastOrders = props => {\r\n const { getLastOrders, loading, haseError, resetError, actionMessage, state, total, sortBy } = props;\r\n const resource = 'customerLastOrders';\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const lastOrdersRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const lastOrdersHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const [sortValue, setSortValue] = useState('');\r\n\r\n useTidioScript();\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (lastOrdersHeaderReference.current && listReference.current && e.target) {\r\n lastOrdersHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getLastOrders('customerOrder', 'mypastorderorderlist');\r\n }, [resource, getLastOrders]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n let myCustomerLastOrders = [];\r\n\r\n if (sortValue) {\r\n myCustomerLastOrders = state[resource]?.sortedCustomerLastOrders;\r\n } else {\r\n myCustomerLastOrders = state[resource]?.customerLastOrders;\r\n };\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getMyCustomerLastOrdersItemSize = useCallback(\r\n index => myCustomerLastOrders?.[index] ? myCustomerLastOrders[index].rowState.height : defRowHeight,\r\n [myCustomerLastOrders]);\r\n\r\n const RenderLastOrdersRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getMyCustomerLastOrdersItemSize, resource]);\r\n\r\n const allMyCustomerLastOrders = useMemo(() => myCustomerLastOrders &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listReference.current = el }}\r\n style={{\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0px 0px 12px 12px',\r\n }} \r\n itemData={myCustomerLastOrders}\r\n itemCount={myCustomerLastOrders.length}\r\n height={myCustomerLastOrders && (myCustomerLastOrders.length * 29) > height - 1 ? height : myCustomerLastOrders.length * 28.2}\r\n itemSize={getMyCustomerLastOrdersItemSize}>\r\n {RenderLastOrdersRow}\r\n \r\n )}\r\n \r\n , [myCustomerLastOrders, getMyCustomerLastOrdersItemSize, RenderLastOrdersRow]);\r\n\r\n const handleSelectChange = e => {\r\n sortBy('customerOrder', e.key);\r\n setSortValue(e.key);\r\n };\r\n \r\n const menu = (\r\n \r\n By statuses\r\n By date\r\n By direction\r\n \r\n );\r\n \r\n const content = (<>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Sort\r\n \r\n \r\n
    \r\n \r\n
    \r\n Past Orders: {total}\r\n
    \r\n
    \r\n
    \r\n
    {header}
    \r\n
    {allMyCustomerLastOrders}
    \r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\n return <>{loading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loading: state.customerLastOrders.loading,\r\n total: state.customerLastOrders.total\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getLastOrders: (resource, endPoint) => dispatch(getLastOrders(resource, endPoint)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerLastOrders);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/customerRejectedOrders/customerRejectedOrders';\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidth,\r\n resource,\r\n trafficSubHeader,\r\n }) => {\r\n const traffic = state[resource];\r\n const data = trafficSubHeader ? traffic.subHeaders[ind] : traffic.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n resource === 'customerRejectedOrders' && ind !== 13 && s.size.width < 300 && setHeaderWidth(resource, ind, s.size.width);\r\n console.log('OnResize', ind);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n let headerCall =\r\n \r\n {data.title}\r\n ;\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n trafficUpcoming: state.trafficUpcoming,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = (\r\n {\r\n state,\r\n resource,\r\n }) => {\r\n const headers = state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { DatePicker, Tooltip } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport CustomModal from \"../CustomerOrderInProgress/modal\";\r\nimport EditWarningModal from '../CustomerOrderNewOrders/modalEditWarning';\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDataUpcoming,\r\n setItemDisplayState,\r\n}) => {\r\n const rejectedOrders = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = rejectedOrders.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = rejectedOrders.headers.findIndex(h => h.key === cellData.key);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [editWarningModaIsOpen, setEditWarningModaIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n// const offsetWidth = rejectedOrders.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = rejectedOrders.lastSelected?.id;\r\nconst lastSelectHeaderKey = rejectedOrders.lastSelected?.headerKey;\r\nconst lastSelectenable = rejectedOrders.lastSelected?.enable;\r\nconst rowStateId = rowState.orderId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data, cellData.priorityValue, cellData.delayedValue, rowState.loadStatus]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const valueForCompare = subType === 'priority' ? cellData.priorityValue : subType === 'delayed' ? cellData.delayedValue : tempData;\r\n if (!dataCompare(newValue, valueForCompare)) {\r\n setTimeout(() => {\r\n if (resource === 'traffic') {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }\r\n if (resource === 'trafficUpcoming') {\r\n setItemDataUpcoming(resource, newValue, rowState, header, subType);\r\n }\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n const handleEdit = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate);\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return (\r\n {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px 2px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell table-borders customer-order-row'\r\n style={{ ...cellDefaultStyle, ...cellStyle }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {modalIsOpen && \r\n \r\n }\r\n {editWarningModaIsOpen &&\r\n \r\n }\r\n \r\n );\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n }), dispatch => ({\r\n setItemData: (resource, value, rowState, header, subType) => dispatch(setItemData(resource, value, rowState, header, subType)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n}))(Cell);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n index,\r\n }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef, data.rowState.loadStatus]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { \r\n ...style,\r\n ...{ \r\n height: `${itemSize}px`, \r\n backgroundColor: color,\r\n color: '#080E0E',\r\n }\r\n };\r\n \r\n const cellContent = (i, ind) => {\r\n\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\n export default connect(state => ({ state: state}))(Row);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { Dropdown, Space, message, Menu } from 'antd';\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { getCustomerOrderRejected, sortBy } from '../../../../store/actions/customerRejectedOrders/customerRejectedOrders';\r\nimport { getContentWidth } from '../../../../store/reducers/customerRejectedOrders/helper/general';\r\n\r\nconst CustomeRejectedOrders = props => {\r\n const { getCustomerOrderRejected, loading, haseError, resetError, actionMessage, state, total, sortBy } = props;\r\n const resource = 'customerRejectedOrders';\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const rejectedOrdersRef = useRef(null);\r\n const listReference = useRef(null);\r\n const pallInSummaryReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const rejectedOrdersHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const innerWidth = window.innerWidth;\r\n const smallScreen = width > innerWidth;\r\n const [sortValue, setSortValue] = useState('');\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (rejectedOrdersHeaderReference.current && listReference.current && e.target) {\r\n rejectedOrdersHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (pallInSummaryReference.current && listReference.current && e.target) {\r\n pallInSummaryReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getCustomerOrderRejected('CustomerOrder', 'myrejectedorderorderlist');\r\n }, [resource, getCustomerOrderRejected]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n let myCustomerRejectedOrders = [];\r\n\r\n if (sortValue) {\r\n myCustomerRejectedOrders = state[resource]?.sortedCustomerRejectedOrders;\r\n } else {\r\n myCustomerRejectedOrders = state[resource]?.customerRejectedOrders;\r\n };\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getMyCustomerRejectedOrdersItemSize = useCallback(\r\n index => myCustomerRejectedOrders?.[index] ? myCustomerRejectedOrders[index].rowState.height : defRowHeight,\r\n [myCustomerRejectedOrders]);\r\n\r\n const RenderRejectedOrdersRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getMyCustomerRejectedOrdersItemSize, resource]);\r\n\r\n const allMyCustomerRejectedOrders = useMemo(() => myCustomerRejectedOrders &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listReference.current = el }}\r\n style={{\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0 0 12px 12px',\r\n boxShadow: 'black 6px 6px 0 -12px, 0px 6px 6px -8px black',\r\n }}\r\n itemData={myCustomerRejectedOrders}\r\n itemCount={myCustomerRejectedOrders.length}\r\n height={myCustomerRejectedOrders && (myCustomerRejectedOrders.length * 29) > height ? height-5 : myCustomerRejectedOrders.length * 28.1}\r\n itemSize={getMyCustomerRejectedOrdersItemSize}>\r\n {RenderRejectedOrdersRow}\r\n \r\n )}\r\n \r\n , [myCustomerRejectedOrders, getMyCustomerRejectedOrdersItemSize, RenderRejectedOrdersRow]);\r\n\r\n const handleSelectChange = e => {\r\n sortBy('customerOrder', e.key);\r\n setSortValue(e.key);\r\n };\r\n \r\n const menu = (\r\n \r\n By date\r\n By direction\r\n \r\n );\r\n \r\n const content = (<>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Sort\r\n \r\n \r\n
    \r\n \r\n
    \r\n Rejected Orders: {total}\r\n
    \r\n
    \r\n
    \r\n ACTIVE ORDERS\r\n
    \r\n
    \r\n
    {header}
    \r\n
    {allMyCustomerRejectedOrders}
    \r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\n return <>{loading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loading: state.customerRejectedOrders.loadingRejectedOrders,\r\n total: state.customerRejectedOrders.totalRejectedOrders\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getCustomerOrderRejected: (resource, endPoint) => dispatch(getCustomerOrderRejected(resource, endPoint)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomeRejectedOrders);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Split from \"react-split-it\";\r\nimport LastOrdersSpreadsheet from '../CustomerLastOrders/LastOrdersSpreadsheet';\r\nimport RejectedOrdersSpreadsheet from '../CustomerRejectedOrders/RejectedOrdersSpreadsheet';\r\nimport { getContentWidth } from '../../../../../src/store/reducers/customerRejectedOrders/helper/general';\r\n\r\nconst CustomerOrdersLastAndRejected = ({ state, loadingRejectedOrders, loadingLastOrders }) => {\r\n const resource = 'customerRejectedOrders';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers);\r\n const innerWidth = window.innerWidth;\r\n const smallScreen = width < innerWidth;\r\n\r\n const content = (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n return content;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadingRejectedOrders: state.customerRejectedOrders.loadingRejectedOrders,\r\n loadingLastOrders: state.customerLastOrders.loading,\r\n});\r\n\r\nexport default connect(mapStateToProps)(CustomerOrdersLastAndRejected);","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CustomerOrdersLastAndRejected from '../../CustomerOrdersLastAndRejected/CustomerOrdersLastAndRejected';\r\nimport { getContentWidth } from '../../../../../store/reducers/customerRejectedOrders/helper/general';\r\n\r\nconst CustomerOrderLastAndRejectedBuild = props => {\r\n const { state } = props;\r\n const resource = 'customerLastOrders';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) ;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nexport default connect(mapStateToProps)(CustomerOrderLastAndRejectedBuild);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\n\r\nconst HeaderCell = ({ state, ind, setHeaderWidth, resource }) => {\r\n const customerOrderAdmin = state[resource];\r\n const data = customerOrderAdmin.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n //console.log('onResize', e, s);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n let headerCall =\r\n \r\n {data.title}\r\n ;\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({ state, resource }) => {\r\n const headers = state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Checkbox, Tooltip } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { filterByCustomer, setItemDisplayState } from '../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\nimport CustomModal from \"../CustomerOrderInProgress/modal\";\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDisplayState,\r\n checked,\r\n setCheckedList,\r\n filterByCustomer,\r\n}) => {\r\n const customerOrderAdmin = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = customerOrderAdmin.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = customerOrderAdmin.headers.findIndex(h => h.key === cellData.key);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n// const offsetWidth = customerOrderAdmin.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = customerOrderAdmin.lastSelected?.id;\r\nconst lastSelectHeaderKey = customerOrderAdmin.lastSelected?.headerKey;\r\nconst lastSelectenable = customerOrderAdmin.lastSelected?.enable;\r\nconst rowStateId = rowState.loadId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data, cellData.priorityValue, cellData.delayedValue, rowState.loadStatus]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n if (!dataCompare(newValue, tempData)) {\r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n const onChange = e => {\r\n let customerIdList = [];\r\n setCheckedList(oldArray => {\r\n if (!oldArray.includes(rowState.loadData.id)) {\r\n customerIdList = [...oldArray, rowState.loadData.id];\r\n return customerIdList;\r\n } else {\r\n customerIdList = oldArray.filter(item => item !== rowState.loadData.id);\r\n return customerIdList;\r\n }\r\n }); \r\n setTimeout(() => {\r\n if (customerIdList.length === 0) {\r\n filterByCustomer(resource, null);\r\n } else {\r\n filterByCustomer(resource, rowState.loadData.customerId);\r\n }\r\n }, 100);\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return moment(tempData).format(Defines.Format.PrintDate);\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.loadData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'checkbox':\r\n return
    \r\n \r\n {tempData}\r\n
    \r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px 2px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n // setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell table-borders last-order-row'\r\n style={{ ...cellDefaultStyle, ...cellStyle }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {modalIsOpen && \r\n \r\n }\r\n \r\n );\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n }), dispatch => ({\r\n filterByCustomer: (resource, customerId) => dispatch(filterByCustomer(resource, customerId)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n}))(Cell);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = ({ data, style, itemSize, listRef, startOnScroll, resource, setCheckedList, index, checked }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef, data.rowState.loadStatus]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\n export default connect(state => ({ state: state}))(Row);","import React from 'react';\r\nimport Modal from 'react-modal';\r\n// import './index.css';\r\n// import '../CustomerOrderNewOrders/index.css';\r\n\r\nconst SpaceWarningModal = ({ setIsOpen, warningSpaceModalIsOpen, setWarningSpaceModalIsOpen }) => {\r\n \r\n const closeModal = () => {\r\n setWarningSpaceModalIsOpen(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    Total amount of Space can’t exceed 30 when grouping as a “Hard Batch”
    \r\n
    Please choose either a soft batch or no batch.
    \r\n
    Close
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default SpaceWarningModal;","import React, { useEffect, useState } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { Radio, Input } from 'antd';\r\nimport Loading from '../../screen/loading';\r\nimport SpaceWarningModal from \"./modalSpace\";\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst AcceptModal = ({ \r\n setIsOpen,\r\n modalIsOpen,\r\n rejectModalIsOpen,\r\n generateCustomerOrder,\r\n resource,\r\n checkedList,\r\n generateCustomerOrderLoading,\r\n rejectCustomerOrderLoading,\r\n getCustomerOrderAdmin,\r\n total,\r\n orderGenerated,\r\n orderRejected,\r\n setCheckedList,\r\n filterByCustomer,\r\n rejectCustomerOrder,\r\n setRejectModalIsOpen,\r\n customerrderAdminList,\r\n }) => {\r\n\r\n const [batchValue, setBatchValue] = useState(3);\r\n const [rejectReasonText, setRejectReasonText] = useState('');\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: checkedList.length === 1 || rejectModalIsOpen ? '372px' : '580px',\r\n minHeight: '244px',\r\n borderRadius: '18px',\r\n padding: '0',\r\n },\r\n };\r\n\r\n const [warningSpaceModalIsOpen, setWarningSpaceModalIsOpen] = useState(false);\r\n\r\n const closeModal = () => {\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n }\r\n \r\n const acceptedLoadList = customerrderAdminList.filter(row => checkedList.includes(row.rowState.loadData.id));\r\n const spaceCountIsOver30 = acceptedLoadList.reduce((acc, load) => acc + load.rowState.loadData.space, 0) > 30;\r\n\r\n const handleConfirm = () => {\r\n if (batchValue === 1 && spaceCountIsOver30) {\r\n setWarningSpaceModalIsOpen(true);\r\n } else {\r\n setCheckedList([]);\r\n generateCustomerOrder(resource, 'generateorderitem', { ids: checkedList, batchType: batchValue });\r\n setRejectModalIsOpen(false);\r\n }\r\n };\r\n\r\n const handleReject = () => {\r\n setCheckedList([]);\r\n rejectCustomerOrder(resource, 'declinerequestedorder', { ids: checkedList, rejectReason: rejectReasonText });\r\n };\r\n\r\n useEffect(() => {\r\n if (!rejectCustomerOrderLoading && orderRejected) {\r\n setCheckedList([]);\r\n filterByCustomer(resource, null);\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n getCustomerOrderAdmin(resource);\r\n }\r\n }, [filterByCustomer, rejectCustomerOrderLoading, getCustomerOrderAdmin, resource, orderRejected, setCheckedList, setIsOpen, total, setRejectModalIsOpen]);\r\n\r\n useEffect(() => {\r\n if (!generateCustomerOrderLoading && orderGenerated) {\r\n setCheckedList([]);\r\n filterByCustomer(resource, null);\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n getCustomerOrderAdmin(resource);\r\n }\r\n }, [filterByCustomer, generateCustomerOrderLoading, getCustomerOrderAdmin, resource, orderGenerated, setCheckedList, setIsOpen, total, setRejectModalIsOpen]);\r\n\r\n if (generateCustomerOrderLoading || rejectCustomerOrderLoading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )\r\n };\r\n\r\n if (warningSpaceModalIsOpen) {\r\n return (\r\n \r\n )}\r\n\r\n const onChange = e => {\r\n setBatchValue(e.target.value);\r\n };\r\n\r\n return (\r\n rejectModalIsOpen ?\r\n \r\n
    \r\n \r\n
    {checkedList.length > 1 ? 'Reject Orders ?' : 'Reject Order ?'}
    \r\n setRejectReasonText(e.target.value)}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n :\r\n checkedList.length === 1 && !rejectModalIsOpen\r\n ?\r\n \r\n
    \r\n \r\n
    Accept Order ?
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n :\r\n \r\n
    \r\n \r\n
    Grouping Order
    \r\n
    Choose batch type
    \r\n \r\n Soft Batch\r\n Hard Batch\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AcceptModal;","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { Dropdown, Space, message, Menu } from 'antd';\r\nimport { orderBy } from \"lodash\";\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { getCustomerOrderAdmin, sortBy, filterByCustomer, generateCustomerOrder, rejectCustomerOrder, resetError } from '../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\nimport { getContentWidth } from '../../../../store/reducers/customerOrderAdmin/helper/general';\r\nimport AcceptModal from \"./modal\";\r\nimport { useClientHubNewRequest } from \"../../../hook/hub/useClientHubNewRequest\";\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\n\r\nconst CustomerOrderAdmin = props => {\r\n const { resource,\r\n getCustomerOrderAdmin,\r\n loading,\r\n hasError,\r\n state,\r\n total,\r\n sortBy,\r\n filterByCustomer,\r\n generateCustomerOrder,\r\n generateCustomerOrderLoading,\r\n rejectCustomerOrderLoading,\r\n rejectCustomerOrder,\r\n orderRejected,\r\n orderGenerated,\r\n messageText,\r\n resetError,\r\n userId,\r\n } = props;\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const customerOrderAdminRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const customerOrderAdminHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const [sortValue, setSortValue] = useState('');\r\n const [checkedList, setCheckedList] = useState([]);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [rejectModalIsOpen, setRejectModalIsOpen] = useState(false);\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (customerOrderAdminHeaderReference.current && listReference.current && e.target) {\r\n customerOrderAdminHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n useClientHubNewRequest((message) => {\r\n if (userId !== message.byId) {\r\n getCustomerOrderAdmin(resource, 'withoutLoading')\r\n }\r\n }, 'notification');\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n getCustomerOrderAdmin(resource, 'withoutLoading')\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n getCustomerOrderAdmin(resource);\r\n }, [resource, getCustomerOrderAdmin]);\r\n\r\n useEffect(() => {\r\n filterByCustomer(resource, null);\r\n }, [filterByCustomer, resource, total]);\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(messageText, 3);\r\n resetError(resource);\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n }\r\n }, [hasError, resource, messageText, resetError]);\r\n\r\n useEffect(() => {\r\n if (orderGenerated) {\r\n message.success('Order accepted successfully!', 3);\r\n resetError(resource);\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n}\r\n }, [orderGenerated, resetError, resource]);\r\n\r\n useEffect(() => {\r\n if (orderRejected) {\r\n message.success('Order rejected successfully!', 3);\r\n resetError(resource);\r\n setIsOpen(false);\r\n setRejectModalIsOpen(false);\r\n }\r\n }, [orderRejected, resetError, resource]);\r\n\r\n let customerOrderAdminList = [];\r\n\r\n const sortByValue = (customerOrderAdmin, value) => {\r\n let sortedList = [];\r\n if (value === 'byCustomer') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[0].value], [\"asc\"]);\r\n };\r\n if (value === 'byDate') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[1].value], [\"asc\"]);\r\n };\r\n if (value === 'byDirection') {\r\n sortedList = orderBy(customerOrderAdmin, [c => c.row[4].value], [\"asc\"]);\r\n };\r\n return sortedList;\r\n };\r\n\r\n if (!state[resource]?.filteredCustomerOrderAdmin?.length && !sortValue) {\r\n customerOrderAdminList = state[resource]?.customerOrderAdmin;\r\n } else if (!sortValue) {\r\n if (state[resource]?.filteredCustomerOrderAdmin?.length) {\r\n customerOrderAdminList = state[resource]?.filteredCustomerOrderAdmin;\r\n } else {\r\n customerOrderAdminList = state[resource]?.customerOrderAdmin;\r\n }\r\n } else if (sortValue) {\r\n if (state[resource]?.filteredCustomerOrderAdmin?.length) {\r\n customerOrderAdminList = sortByValue(state[resource]?.filteredCustomerOrderAdmin, sortValue) \r\n } else {\r\n customerOrderAdminList = state[resource]?.sortedCustomerOrderAdmin;\r\n }\r\n }\r\n\r\n const handleAcceptButton = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const handleRejectButton = () => {\r\n setRejectModalIsOpen(true);\r\n setIsOpen(true);\r\n };\r\n\r\n const handleDeSelectAllButton = () => {\r\n setCheckedList([]);\r\n filterByCustomer(resource, null);\r\n };\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getCustomerOrderAdminListItemSize = useCallback(\r\n index => customerOrderAdminList?.[index] ? customerOrderAdminList[index].rowState.height : defRowHeight,\r\n [customerOrderAdminList]);\r\n\r\n const RenderCustomerOrderAdminListRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [checkedList, getCustomerOrderAdminListItemSize, resource]);\r\n\r\n const allCustomerOrderAdminList = useMemo(() => customerOrderAdminList &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listReference.current = el }}\r\n style={{ \r\n overflowX: 'hidden', \r\n overflowY: 'auto', \r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0px 0px 12px 12px',\r\n }}\r\n itemData={customerOrderAdminList}\r\n itemCount={customerOrderAdminList.length}\r\n height={customerOrderAdminList && (customerOrderAdminList.length * 29) > height ? height : customerOrderAdminList.length * 28.2}\r\n itemSize={getCustomerOrderAdminListItemSize}>\r\n {RenderCustomerOrderAdminListRow}\r\n \r\n )}\r\n \r\n , [customerOrderAdminList, getCustomerOrderAdminListItemSize, RenderCustomerOrderAdminListRow]);\r\n\r\n const handleSelectChange = e => {\r\n sortBy('customerOrder', e.key);\r\n setSortValue(e.key);\r\n };\r\n \r\n const menu = (\r\n \r\n By customer\r\n By date\r\n By direction\r\n \r\n );\r\n\r\n const buttonsContainer = (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const content = (<>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Sort\r\n \r\n \r\n
    \r\n \r\n
    \r\n New Orders: {customerOrderAdminList?.length}\r\n
    \r\n
    \r\n
    \r\n
    {header}
    \r\n
    {allCustomerOrderAdminList}
    \r\n {buttonsContainer}\r\n
    onScrollX(e)}>\r\n \r\n
    \r\n {modalIsOpen &&\r\n \r\n }\r\n );\r\n return <>{loading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loading: state.customerOrderAdmin.loading,\r\n total: state.customerOrderAdmin.total,\r\n generateCustomerOrderLoading: state.customerOrderAdmin.generateCustomerOrderLoading,\r\n rejectCustomerOrderLoading: state.customerOrderAdmin.rejectCustomerOrderLoading,\r\n orderRejected: state.customerOrderAdmin.orderRejected,\r\n orderGenerated: state.customerOrderAdmin.orderGenerated,\r\n messageText: state.customerOrderAdmin.messageText,\r\n hasError: state.customerOrderAdmin.hasError,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getCustomerOrderAdmin: (resource, loadingType) => dispatch(getCustomerOrderAdmin(resource, loadingType)),\r\n generateCustomerOrder: (resource, endPoint, data) => dispatch(generateCustomerOrder(resource, endPoint, data)),\r\n rejectCustomerOrder: (resource, endPoint, data) => dispatch(rejectCustomerOrder(resource, endPoint, data)),\r\n filterByCustomer: (resource, customerId) => dispatch(filterByCustomer(resource, customerId)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerOrderAdmin);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport CustomerOrderAdmin from '../../CustomerOrderAdmin/CustomerOrderAdminSpreadsheet';\r\nimport { getContentWidth } from '../../../../../store/reducers/customerLastOrders/helper/general';\r\nimport { getCustomerOrderAdmin, setNewRequestOrdersCount } from '../../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\nimport { useClientHubNewRequest } from \"../../../../hook/hub/useClientHubNewRequest\";\r\nimport './index.css';\r\n\r\nconst CustomerOrderAdminBuild = props => {\r\n const { state, total, newRequestCount, setNewRequestOrdersCount, loading } = props\r\n const resource = 'customerOrderAdmin';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers);\r\n const pathname = window.location.pathname;\r\n let count = newRequestCount ? newRequestCount : total;\r\n if (newRequestCount < total) {\r\n count = total;\r\n };\r\n\r\n useClientHubNewRequest((message) => setNewRequestOrdersCount(resource, message.newRequestCount), 'notification');\r\n\r\n useEffect(() => {\r\n getCustomerOrderAdmin('customerOrderAdmin');\r\n}, [newRequestCount, total]);\r\n\r\n return (\r\n \r\n
    \r\n \r\n NEW REQUEST\r\n {!loading && {count === 0 ? '' : count}}\r\n \r\n \r\n REVISION\r\n \r\n \r\n CANCELED\r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n newRequestCount: state.customerOrderAdmin.newRequestCount,\r\n total: state.customerOrderAdmin.total,\r\n loading: state.customerOrderAdmin.loading,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getCustomerOrderAdmin: (resource, endPoint) => dispatch(getCustomerOrderAdmin(resource, endPoint)),\r\n setNewRequestOrdersCount: (resource, newRequestCount) => dispatch(setNewRequestOrdersCount(resource, newRequestCount)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CustomerOrderAdminBuild);\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './revisionOrderAdminActionTypes';\r\n\r\nconst buildUrl = (resource) => `/api/${resource}`;\r\nconst buildPutUrl = (resource, endPoint) => `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getRevisionOrdersAdmin = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_REVISION_ORDER_ADMIN_LOADING) });\r\n }\r\n axios\r\n .get(buildUrl(resource), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_REVISION_ORDER_ADMIN), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const acceptRevision = (resource, endPoint, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCEPT_REVISION_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource, endPoint), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCEPT_REVISION_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: err });\r\n });\r\n};\r\n\r\nexport const rejectRevision = (resource, endPoint, data) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.REJECT_REVISION_ORDER_LOADING) });\r\n axios\r\n .put(buildPutUrl(resource, endPoint), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.REJECT_REVISION_ORDER), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: err });\r\n });\r\n};\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_ADMIN_REVISION),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/revisionOrderAdmin/revisionOrderAdmin';\r\n\r\nconst HeaderCell = ({ state, ind, setHeaderWidth, resource }) => {\r\n const customerOrderAdmin = state[resource];\r\n const data = customerOrderAdmin.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: '#29CABA',\r\n color: '#FFFFFF',\r\n };\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n //console.log('onResize', e, s);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n let headerCall =\r\n \r\n {data.title}\r\n ;\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({ state, resource }) => {\r\n const headers = state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport { Input } from 'antd';\r\nimport Loading from '../../screen/loading';\r\nimport { getRevisionOrdersAdmin, rejectRevision } from '../../../../store/actions/revisionOrderAdmin/revisionOrderAdmin';\r\nconst { TextArea } = Input;\r\n\r\nconst RejectModal = ({ \r\n total, \r\n id, \r\n rejectModalIsOpen,\r\n setRejectModalIsOpen,\r\n rejectRevision,\r\n rejectRevisionOrderLoading,\r\n getRevisionOrdersAdmin,\r\n hasError,\r\n }) => {\r\n const [orderRejected, setOrderRejected] = useState(false);\r\n const [rejectReasonText, setRejectReasonText] = useState('');\r\n \r\n const closeModal = useCallback(() => {\r\n setRejectModalIsOpen(false);\r\n }, [setRejectModalIsOpen]);\r\n\r\n const handleReject = () => {\r\n rejectRevision('CustomerOrderRevisionAdmin', 'declinerevision', { ids: [id], rejectReason: rejectReasonText });\r\n setOrderRejected(true);\r\n }\r\n \r\n useEffect(() => {\r\n if (hasError) {\r\n closeModal();\r\n }\r\n}, [closeModal, hasError]);\r\n \r\n useEffect(() => {\r\n if (orderRejected) {\r\n getRevisionOrdersAdmin('CustomerOrderRevisionAdmin');\r\n }\r\n }, [getRevisionOrdersAdmin, orderRejected, total]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: 0,\r\n },\r\n };\r\n\r\n if (rejectRevisionOrderLoading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    Reject Revision ?
    \r\n setRejectReasonText(e.target.value)}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n total: state.revisionOrderAdmin.total,\r\n orderRejected: state.revisionOrderAdmin.orderRejected,\r\n rejectRevisionOrderLoading: state.revisionOrderAdmin.rejectRevisionOrderLoading,\r\n hasError: state.revisionOrderAdmin.hasError,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n rejectRevision: (resource, endPoint, data) => dispatch(rejectRevision(resource, endPoint, data)),\r\n getRevisionOrdersAdmin: (resource) => dispatch(getRevisionOrdersAdmin(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RejectModal);","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Tooltip } from 'antd';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { getRevisionOrdersAdmin, acceptRevision, setItemDisplayState } from '../../../../store/actions/revisionOrderAdmin/revisionOrderAdmin';\r\nimport RejectModal from './rejectModal';\r\n\r\nconst Cell = ({ state, cellData, itemSize, rowState, resource, startOnScroll, setItemDisplayState, acceptRevision }) => {\r\n const customerOrderAdmin = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = customerOrderAdmin.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = customerOrderAdmin.headers.findIndex(h => h.key === cellData.key);\r\n const [rejectModalIsOpen, setRejectModalIsOpen] = useState(false);\r\n\r\n const width = header.width;\r\n // const offsetWidth = customerOrderAdmin.headers.reduce((r, h, index) => {\r\n // if (h.visible && index < (headerIndex - 3)) {\r\n // r += h.width;\r\n // }\r\n // return r;\r\n // }, 0);\r\n\r\n const lastSelectId = customerOrderAdmin.lastSelected?.id;\r\n const lastSelectHeaderKey = customerOrderAdmin.lastSelected?.headerKey;\r\n const lastSelectenable = customerOrderAdmin.lastSelected?.enable;\r\n const rowStateId = rowState.loadId;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\n const cellStyle = cellData.cellStyle;\r\n let data = cellData.valueText && cellData.fieldType === 'text' ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data, cellData.priorityValue, cellData.delayedValue, rowState.loadStatus]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const handleAccept = () => {\r\n acceptRevision('CustomerOrderRevisionAdmin', 'acceptrevision', { ids: [rowState.orderData.id] });\r\n };\r\n\r\n const handleReject = () => {\r\n setRejectModalIsOpen(true);\r\n };\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDateLong) : ''};\r\n }\r\n case 'text':\r\n return tempData;\r\n case 'revisionText': {\r\n if (tempData[0] === '' || tempData[0] === null || tempData[1] === '' || tempData[1] === null) {\r\n return (\r\n <>\r\n {tempData[0]}\r\n {tempData[1]}\r\n \r\n );\r\n } else if (tempData[0] === tempData[1]) {\r\n return {tempData[0]};\r\n } else {\r\n return (\r\n <>\r\n {tempData[0]}/{tempData[1]}\r\n \r\n );\r\n }\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n case 'link':\r\n return (\r\n \r\n {rowState.orderData.revisionOrderid}\r\n \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n const dataDisplay = () => getData();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n padding: '4px 2px',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n // setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const editableFunction = cellData => (cellData.editable ? setDisplayState(editable) : null);\r\n\r\n return (\r\n <>\r\n onSetFocus()}\r\n onClick={() => {\r\n editableFunction(cellData);\r\n }}\r\n className='table-body-cell table-borders last-order-row__revision'\r\n style={{ ...cellDefaultStyle, ...cellStyle }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n \r\n {rejectModalIsOpen && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n total: state.revisionOrderAdmin.total,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n getRevisionOrdersAdmin: resource => dispatch(getRevisionOrdersAdmin(resource)),\r\n acceptRevision: (resource, endPoint, data) => dispatch(acceptRevision(resource, endPoint, data)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\n\r\nconst Row = ({ \r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n index,\r\n checked,\r\n }) => {\r\n const rowRef = useRef({});\r\n const color = index % 2 === 0 ? '#F9FFFF' : '#FFFFFF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef, data.rowState.loadStatus]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { \r\n ...style,\r\n ...{\r\n height: `${itemSize}px`,\r\n backgroundColor: color,\r\n color: '#080E0E',\r\n }\r\n };\r\n \r\n const cellContent = (i, ind) => {\r\n\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\n export default connect(state => ({ state: state}))(Row);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { message } from 'antd';\r\nimport Modal from 'react-modal';\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { getRevisionOrdersAdmin, resetError } from '../../../../store/actions/revisionOrderAdmin/revisionOrderAdmin';\r\nimport { getContentWidth } from '../../../../store/reducers/revisionOrderAdmin/helper/general';\r\nimport { useClientHubNewRequest } from \"../../../hook/hub/useClientHubNewRequest\";\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\nimport { getCustomerOrderAdmin } from '../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\n\r\nconst RevisionOrderAdmin = props => {\r\n const { resource,\r\n getRevisionOrdersAdmin,\r\n loading,\r\n hasError,\r\n state,\r\n orderRejected,\r\n orderAccepted,\r\n messageText,\r\n resetError,\r\n acceptRevisionOrderLoading,\r\n total,\r\n getCustomerOrderAdmin,\r\n userId,\r\n } = props;\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const customerOrderAdminRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const customerOrderAdminHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (customerOrderAdminHeaderReference.current && listReference.current && e.target) {\r\n customerOrderAdminHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n const [newRequestCount, setNewRequestCount] = useState(props.total);\r\n useClientHubNewRequest((message) => setNewRequestCount(message.newRequestCount), 'notification');\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n getRevisionOrdersAdmin('CustomerOrderRevisionAdmin', 'withoutLoading')\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n getRevisionOrdersAdmin('CustomerOrderRevisionAdmin');\r\n getCustomerOrderAdmin('customerOrderAdmin');\r\n }, [resource, getRevisionOrdersAdmin, getCustomerOrderAdmin, newRequestCount]);\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(messageText, 3);\r\n setTimeout(() => resetError(resource), 3000);\r\n }\r\n }, [hasError, resource, messageText, resetError]);\r\n\r\n useEffect(() => {\r\n if (orderAccepted) {\r\n message.success('Order Revision Accepted', 3);\r\n resetError(resource);\r\n }\r\n }, [orderAccepted, resetError, resource]);\r\n\r\n useEffect(() => {\r\n if (orderRejected) {\r\n message.success('Order Revision Rejected', 3);\r\n resetError(resource);\r\n }\r\n }, [orderRejected, resetError, resource]);\r\n\r\n useEffect(() => {\r\n if (orderAccepted) {\r\n getRevisionOrdersAdmin('CustomerOrderRevisionAdmin');\r\n }\r\n }, [getRevisionOrdersAdmin, orderAccepted, total]);\r\n\r\n let revisionOrderAdminList = state[resource]?.revisionOrderAdminList;;\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getRevisionOrderAdminListItemSize = useCallback(\r\n index => revisionOrderAdminList?.[index] ? revisionOrderAdminList[index].rowState.height : defRowHeight,\r\n [revisionOrderAdminList]);\r\n\r\n const RenderRevisionOrderAdminListRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getRevisionOrderAdminListItemSize, resource]);\r\n\r\n const allRevisionOrderAdminList = useMemo(() => revisionOrderAdminList &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listReference.current = el }}\r\n style={{ \r\n overflowX: 'hidden', \r\n overflowY: 'auto', \r\n borderBottom: '1px solid #dedede',\r\n borderLeft: '1px solid #dedede',\r\n borderRight: '1px solid #dedede',\r\n borderRadius: '0px 0px 12px 12px',\r\n }}\r\n itemData={revisionOrderAdminList}\r\n itemCount={revisionOrderAdminList.length}\r\n height={revisionOrderAdminList && (revisionOrderAdminList.length * 29) > height ? height : revisionOrderAdminList.length * 28.2}\r\n itemSize={getRevisionOrderAdminListItemSize}>\r\n {RenderRevisionOrderAdminListRow}\r\n \r\n )}\r\n \r\n , [revisionOrderAdminList, getRevisionOrderAdminListItemSize, RenderRevisionOrderAdminListRow]);\r\n\r\n const content = (<>\r\n
    \r\n
    {header}
    \r\n
    {allRevisionOrderAdminList}
    \r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\nconst customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px',\r\n borderRadius: '8px',\r\n padding: 0,\r\n border: 0,\r\n },\r\n};\r\n\r\n if (acceptRevisionOrderLoading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )\r\n };\r\n\r\n return <>{loading? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loading: state.revisionOrderAdmin.loading,\r\n total: state.revisionOrderAdmin.total,\r\n orderRejected: state.revisionOrderAdmin.orderRejected,\r\n messageText: state.revisionOrderAdmin.messageText,\r\n hasError: state.revisionOrderAdmin.hasError,\r\n orderAccepted: state.revisionOrderAdmin.orderAccepted,\r\n acceptRevisionOrderLoading: state.revisionOrderAdmin.acceptRevisionOrderLoading,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getRevisionOrdersAdmin: (resource, loadingType) => dispatch(getRevisionOrdersAdmin(resource, loadingType)),\r\n getCustomerOrderAdmin: (resource, endPoint) => dispatch(getCustomerOrderAdmin(resource, endPoint)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RevisionOrderAdmin);","import React, { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport RevisionOrderAdmin from '../../RevisionOrderAdmin/RevisionOrderAdminSpreadsheet';\r\nimport { getContentWidth } from '../../../../../store/reducers/revisionOrderAdmin/helper/general';\r\nimport { getCustomerOrderAdmin, setNewRequestOrdersCount } from '../../../../../store/actions/customerOrderAdmin/customerOrderAdmin';\r\nimport { useClientHubNewRequest } from \"../../../../hook/hub/useClientHubNewRequest\";\r\nimport './index.css';\r\n\r\nconst RevisionOrderAdminBuild = props => {\r\n const { state, total, newRequestCount, setNewRequestOrdersCount} = props\r\n const resource = 'revisionOrderAdmin';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) ;\r\n const pathname = window.location.pathname;\r\n let count = newRequestCount ? newRequestCount : total;\r\n if (newRequestCount < total) {\r\n count = total;\r\n };\r\n\r\n useClientHubNewRequest((message) => setNewRequestOrdersCount(resource, message.newRequestCount), 'notification');\r\n\r\n useEffect(() => {\r\n getCustomerOrderAdmin('customerOrderAdmin');\r\n}, [newRequestCount, total]);\r\n\r\n return (\r\n \r\n {pathname === '/loadplanning/revision' &&
    \r\n \r\n NEW REQUEST\r\n {count === 0 ? '' : count}\r\n \r\n \r\n REVISION\r\n \r\n \r\n CANCELED\r\n \r\n
    }\r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n newRequestCount: state.customerOrderAdmin.newRequestCount,\r\n total: state.customerOrderAdmin.total,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getCustomerOrderAdmin: (resource, endPoint) => dispatch(getCustomerOrderAdmin(resource, endPoint)),\r\n setNewRequestOrdersCount: (resource, newRequestCount) => dispatch(setNewRequestOrdersCount(resource, newRequestCount)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RevisionOrderAdminBuild);\r\n","import axios from 'axios';\r\nimport moment from 'moment';\r\nimport store from '../..';\r\nimport * as actionTypes from './callCheckActionTypes';\r\n\r\nconst buildUrl = (resource, endPoint = '', loadId) => loadId ? `/api/${resource}/${endPoint}?loadId=${loadId}` : `/api/${resource}/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const load = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CALL_CHECK_LOADING) });\r\n }\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CALL_CHECK), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CALL_CHECK_ERROR) });\r\n })\r\n};\r\n\r\nexport const reactOnAssignedItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNED), data: { id, type } });\r\n\r\nexport const reactOnAssignedItems = (resource, ids, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNEDS), data: { ids, type } });\r\n\r\nexport const setHeaderWidth = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_CALL_CHECK), data: { ind, width } });\r\n\r\nexport const setItemData = (resource, value, rowState, header, hasSubOrder) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_CALL_CHECK_DATA), data: {\r\n value,\r\n rowState,\r\n header,\r\n hasSubOrder,\r\n }\r\n });\r\n\r\n let requestData = {};\r\n let orderDelayedReasonByCall;\r\n let orderStatusByCall;\r\n let orderNotesByCall;\r\n let loadCallCheckNote;\r\n let pickInDate;\r\n let pickOutDate;\r\n let dropInDate;\r\n let dropOutDate;\r\n let deliverDate;\r\n let podRequestStatus;\r\n let callCheckAttachment;\r\n let inboundDeliveryEstimate;\r\n let browserDateTime = moment.utc(new Date()).local().utc(true).format();\r\n\r\n const order = rowState.type === 'stop' ? rowState.firstOrderData : rowState.orderData;\r\n if (rowState.loadData.loadType === 3) {\r\n orderDelayedReasonByCall = order.outDelayedReason;\r\n orderStatusByCall = order.outOrderStatusByCall;\r\n orderNotesByCall = order?.outNotes;\r\n podRequestStatus = order?.outPodRequestStatus\r\n pickInDate = order.outboundPickIn;\r\n deliverDate = order.outDeliverDate;\r\n pickOutDate = order.outboundPickOut;\r\n dropInDate = order.outboundDropIn;\r\n dropOutDate = order.outboundDropOut;\r\n callCheckAttachment = order.callCheckOutAttachment;\r\n loadCallCheckNote = order.outLoadCallCheckNote;\r\n } else if (rowState.loadData.loadType === 1) {\r\n orderDelayedReasonByCall = order.inDelayedReason;\r\n orderStatusByCall = order.inOrderStatusByCall;\r\n orderNotesByCall = order.inNotes;\r\n podRequestStatus = order?.inPodRequestStatus;\r\n pickInDate = order.inboundPickIn;\r\n pickOutDate = order.inboundPickOut;\r\n deliverDate = order.inDeliverDate;\r\n dropInDate = order.inboundDropIn;\r\n dropOutDate = order.inboundDropOut;\r\n callCheckAttachment = order.callCheckInAttachment;\r\n loadCallCheckNote = order.inLoadCallCheckNote;\r\n }\r\n\r\n requestData = {\r\n orderId: order.id,\r\n loadId: rowState.loadData?.id,\r\n orderStatusByCall,\r\n orderDelayedReasonByCall,\r\n orderNotesByCall,\r\n podRequestStatus,\r\n loadCallCheckNote,\r\n callCheckAttachment,\r\n pickInDate,\r\n pickOutDate,\r\n dropInDate,\r\n dropOutDate,\r\n deliverDate,\r\n inboundDeliveryEstimate,\r\n browserDateTime,\r\n }\r\n\r\n order[header?.key] = value;\r\n\r\n if (header.key === 'orderStatusByCall') {\r\n requestData.orderStatusByCall = value;\r\n requestData.orderDelayedReasonByCall = null;\r\n } else if (header.key === 'delayedReason') {\r\n requestData.orderDelayedReasonByCall = value;\r\n } else if (header.key === 'orderNotesByCall') {\r\n requestData.orderNotesByCall = value;\r\n } else if (header.key === 'podRequestStatus') {\r\n if (rowState.orderData?.subOrderId) {\r\n requestData.outPodRequestStatus = value;\r\n }\r\n if (value === 3 && !hasSubOrder) {\r\n console.log('!hasSub', !hasSubOrder)\r\n requestData.callCheckAttachment = null;\r\n } \r\n requestData.podRequestStatus = value;\r\n } else if (header.key === 'podDoc') {\r\n requestData.callCheckAttachment = value;\r\n } else if (header.key === 'pickInDate') {\r\n requestData.pickInDate = value;\r\n } else if (header.key === 'pickOutDate') {\r\n requestData.pickOutDate = value;\r\n } else if (header.key === 'dropInDate') {\r\n requestData.dropInDate = value\r\n } else if (header.key === 'dropOutDate') {\r\n requestData.dropOutDate = value;\r\n } else if (header.key === 'loadCallCheckNote') {\r\n requestData.loadCallCheckNote = value;\r\n } else if (header.key === 'deliverDate') {\r\n requestData.deliverDate = value;\r\n } else if (header.key === 'inboundDeliveryEstimate') {\r\n requestData.inboundDeliveryEstimate = value;\r\n }\r\n\r\n if (rowState.orderData?.subOrderId) {\r\n const orderData = rowState.orderData;\r\n let subOrderData = {\r\n ...requestData,\r\n id: orderData.subOrderId,\r\n // pickInDate: resource === 'load' ? orderData.inboundPickIn : orderData.outboundPickIn,\r\n // pickOutDate: resource === 'load' ? orderData.inboundPickOut : orderData.outboundPickOut,\r\n // dropInDate: resource === 'load' ? orderData.inboundDropIn : orderData.outboundDropIn,\r\n // dropOutDate: resource === 'load' ? orderData.inboundDropOut : orderData.outboundDropOut,\r\n pickAppointmentDate: resource === 'load' ? orderData.inboundPickAppointment : orderData.outboundPickAppointment,\r\n pickAppointmentStatus: resource === 'load' ? orderData.inboundAppointmentStatus : orderData.pickOutboundAppointmentStatus,\r\n dropAppointmentDate: resource === 'load' ? orderData.inboundDropAppointment : orderData.outboundDropAppointment,\r\n dropAppointmentStatus: resource === 'load' ? orderData.inboundDropAppointmentStatus : orderData.outboundAppointmentStatus,\r\n pickWeek: resource === 'load' ? orderData.pickWeek : orderData.pickWeek,\r\n dueDate: orderData.dueDate,\r\n puDate: orderData.puDate,\r\n deliverDate: orderData.deliverDate,\r\n lumper: resource === 'load' ? orderData.inboundLumper : orderData.outboundLumper,\r\n dropRestriction: resource === 'load' ? orderData.pickRestriction : orderData.dropRestriction,\r\n palletCount: orderData.palletCount,\r\n cases: orderData.cases,\r\n space: orderData.space,\r\n weight: orderData.weight,\r\n poNumber: orderData.poNumber,\r\n stepCount: orderData.stepCount ? orderData.stepCount : 1,\r\n };\r\n\r\n let url = buildUrl('suborder');\r\n if (header?.key === 'podDoc' || header?.key === 'podRequestStatus') {\r\n url = buildUrl('CallCheck', 'loadorderitem');\r\n subOrderData = {\r\n ...requestData,\r\n subOrderId: orderData.subOrderId,\r\n }\r\n }\r\n\r\n axios.put(url, subOrderData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else if ((response.data.callCheckInAttachment || response.data.callCheckOutAttachment) && header.key === 'podDoc') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CALL_CHECK_DATA), data: {\r\n value: rowState.loadData.loadType === 1 ? response.data.callCheckInAttachment : \r\n rowState.loadData.loadType === 3 ? response.data.callCheckOutAttachment : '',\r\n rowState,\r\n header\r\n }\r\n })\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n } else {\r\n axios.put(buildUrl('CallCheck', 'loadorderitem'), requestData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else if ((response.data.callCheckInAttachment || response.data.callCheckOutAttachment) && header.key === 'podDoc') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CALL_CHECK_DATA), data: {\r\n value: rowState.loadData.loadType === 1 ? response.data.callCheckInAttachment : \r\n rowState.loadData.loadType === 3 ? response.data.callCheckOutAttachment : '',\r\n rowState,\r\n header\r\n }\r\n })\r\n dispatch(reloadAfterUpdate(resource));\r\n } else if (header.key === 'podDoc') {\r\n dispatch(reloadAfterUpdate(resource));\r\n } else if (header.key === 'orderNotesByCall' || header.key === 'podRequestStatus') {\r\n dispatch(reloadAfterUpdate(resource))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const filterCallChecks = (resource, key) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_CALL_CHECKS),\r\n data: key\r\n});\r\n\r\nexport const sendToDelivered = (resource, loadId) => dispatch => {\r\n axios.put(buildUrl(resource, 'loadordelivery', loadId), loadId,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else {\r\n dispatch(reloadAfterUpdate(resource))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const getHistoryListCallCheck = (resource, url, orderId, field, isSub) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY_CALL_CHECK_LOADING) });\r\n const data = {\r\n params: {\r\n filterData: isSub ? {\r\n SubOrderId: orderId,\r\n field: field,\r\n } : \r\n {\r\n orderId: orderId,\r\n field: field,\r\n },\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildUrl(url), data, axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY_CALL_CHECK), data: response }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CALL_CHECK_ERROR) });\r\n });\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, errorText) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_CALL_CHECK), data: {\r\n responce, \r\n errorText,\r\n }}))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CALL_CHECK_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource) => dispatch => {\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CALL_CHECK), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.CALL_CHECK_ERROR) });\r\n });\r\n};\r\n","import React from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nexport function AuthenticatedLink({ url, filename, children }) {\r\n const link = document.createElement('a');\r\n\r\n const handleAction = async (event) => {\r\n axios.get(url, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).then(response => {\r\n new File([response.data], filename);\r\n const href = window.URL.createObjectURL(response.data);\r\n link.download = filename;\r\n link.href = href;\r\n link.click(); \r\n });\r\n event.preventDefault();\r\n };\r\n return ({children});\r\n};\r\n\r\nexport default errorHandler(AuthenticatedLink, axios);","import React from 'react';\r\nimport AuthenticatedLink from './authenticatedLinkCallCheck';\r\n\r\nconst Uploader = ({ rowState, setData, setUploadModalIsOpen, headerWidth, hasSubOrder }) => {\r\n const orderGuid = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment?.guid : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.guid : '';\r\n\r\n const onChange = result => {\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment.id : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment.id : '';\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: orderGuid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n }\r\n setData(callCheckAttachment);\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Upload\r\n
    \r\n
    \r\n );\r\n\r\n const fileName = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment?.fileName : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.fileName : '';\r\n\r\n if (fileName) {\r\n return (\r\n <>\r\n \r\n {fileName}\r\n \r\n onChange(null)} className='x-btn'>X\r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n};\r\n\r\nexport default Uploader;\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './commentsActionTypes';\r\n\r\nconst buildUrl = (resource, id) => `/api/${resource}/${id}`;\r\nconst buildUrlPut = resource => `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getComments = (resource, id) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.COMMENTS_LOADING) });\r\n axios.get(buildUrl(resource, id),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_COMMENTS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.COMMENTS_ERROR) });\r\n })\r\n};\r\n\r\nexport const setComment = (resource, orderId, newComment, attachment ) => dispatch => {\r\n const comment = {\r\n id: orderId,\r\n comment: newComment,\r\n attachments: attachment,\r\n };\r\n\r\n // dispatch({\r\n // type: actionTypes.getActionType(resource, actionTypes.SET_COMMENT), data: {\r\n // comment\r\n // }\r\n // });\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.COMMENTS_LOADING) })\r\n axios.put(buildUrlPut(resource), comment,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n }\r\n dispatch(reloadAfterUpdate(resource, orderId))\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, errorText) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_COMMENTS), data: {\r\n responce, \r\n errorText,\r\n }}))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.COMMENTS_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource, orderId) => dispatch => {\r\n axios.get(buildUrl(resource, orderId),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_COMMENTS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.COMMENTS_ERROR) });\r\n });\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { Input, message, Upload } from 'antd';\r\nimport moment from 'moment';\r\nimport './index.css';\r\nimport { getComments, setComment, resetError } from '../../../../store/actions/comments/comments';\r\nimport Loading from \"../../screen/loading\";\r\nimport axios from '../../../axios/axios';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport Download from '../../../elements/download';\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst CommentsModal = ({ \r\n setCommentsModalIsOpen,\r\n commentsModalIsOpen,\r\n rowState,\r\n hasError,\r\n actionMessage,\r\n getComments,\r\n setComment,\r\n comments,\r\n loading,\r\n resetError,\r\n attachments,\r\n }) => {\r\n\r\nconst resource = \"OrderResources\";\r\nconst orderId = rowState?.orderData?.id;\r\n\r\n const closeModal = () => {\r\n setCommentsModalIsOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n getComments(resource, orderId);\r\n}, [getComments, resource, orderId]);\r\n\r\nuseEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [attachmentsList, setAttachmentsList] = useState([]);\r\n const [newComment, setNewComment] = useState('');\r\n\r\n useEffect(() => {\r\n setCommentsList(comments);\r\n setAttachmentsList(attachments);\r\n}, [setCommentsList, comments, attachments]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '600px',\r\n minHeight: '300px',\r\n maxWidth: '600px',\r\n maxHeight: '400px', \r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n const saveComment = () => {\r\n setComment(resource, orderId, newComment);\r\n setNewComment('');\r\n };\r\n\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n const attachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n isNew: true,\r\n };\r\n setComment(resource, orderId, '', [attachment]);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n
    X
    \r\n
    Uploads
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {attachmentsList?.map(attachment => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    DownloadFile nameDate and TimeCreated By
    \r\n \r\n {attachment.fileName}{moment.utc(attachment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{attachment.fullName}
    \r\n
    \r\n \r\n
    Click to Upload
    \r\n
    \r\n
    \r\n
    \r\n
    Comments
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {commentsList?.map(comment => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    Date and TimeCreated ByComment
    {moment.utc(comment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{comment.user}{comment.comment}
    \r\n
    \r\n
    Add new comment
    \r\n setNewComment(e.target.value)}\r\n value={newComment}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n comments: state.comments.comments,\r\n attachments: state.comments.attachments,\r\n loading: state.comments.loading,\r\n hasError: state.comments.hasError,\r\n actionMessage: state.comments.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getComments: (resource, id) => dispatch(getComments(resource, id)),\r\n setComment: (resource, orderId, comment, attachment) => dispatch(setComment(resource, orderId, comment, attachment)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommentsModal);\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './notesActionTypes';\r\n\r\nconst buildUrl = (resource, id) => `/api/${resource}/${id}`;\r\nconst buildUrlPut = resource => `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getNotes = (resource, id) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.NOTES_LOADING) });\r\n axios.get(buildUrl(resource, id),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_NOTES), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.NOTES_ERROR) });\r\n })\r\n};\r\n\r\nexport const setNotes = (resource, loadId, updatedLoad ) => dispatch => {\r\n // dispatch({\r\n // type: actionTypes.getActionType(resource, actionTypes.SET_NOTE), data: {\r\n // note\r\n // }\r\n // });\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.NOTES_LOADING) })\r\n axios.put(buildUrlPut(resource), updatedLoad,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n }\r\n dispatch(reloadAfterUpdate(resource, loadId))\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, errorText) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_NOTES), data: {\r\n responce, \r\n errorText,\r\n }}))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.NOTES_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource, loadId) => dispatch => {\r\n axios.get(buildUrl(resource, loadId),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_NOTES), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.NOTES_ERROR) });\r\n });\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { Input, message } from 'antd';\r\nimport moment from 'moment';\r\nimport './index.css';\r\nimport { getNotes, setNotes, resetError } from '../../../../store/actions/notes/notes';\r\nimport { load } from '../../../../store/actions/callCheck/callCheck';\r\nimport Loading from \"../../screen/loading\";\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst NotesModal = ({ \r\n setNotesModalIsOpen,\r\n notesModalIsOpen,\r\n rowState,\r\n hasError,\r\n actionMessage,\r\n getNotes,\r\n setNotes,\r\n notes,\r\n loading,\r\n resetError,\r\n loadData,\r\n load,\r\n }) => {\r\n\r\n const loadId = rowState?.loadData?.id;\r\n const resource = rowState?.loadData.loadType === 1 ? \"Load\" : 'outboundLoad';\r\n\r\n const closeModal = () => {\r\n setNotesModalIsOpen(false);\r\n load('callCheck');\r\n };\r\n\r\n useEffect(() => {\r\n getNotes(resource, loadId);\r\n }, [getNotes, loadId, resource]);\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [hasError, actionMessage, resetError, resource]);\r\n\r\n const [notesList, setNotesList] = useState([]);\r\n const [newNote, setNewNote] = useState('');\r\n\r\n useEffect(() => {\r\n setNotesList(notes);\r\n }, [setNotesList, notes]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '600px',\r\n minHeight: '300px',\r\n maxWidth: '600px',\r\n maxHeight: '400px', \r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n const saveNote = () => {\r\n const updatedLoad = { ...loadData, notes: newNote};\r\n setNotes(resource, loadId, updatedLoad);\r\n setNewNote('');\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n
    X
    \r\n <>\r\n
    Notes
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {notesList?.map(note => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    Date and TimeCreated ByNote
    {moment.utc(note.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{note.user}{note.comment}
    \r\n
    \r\n
    Add new note
    \r\n setNewNote(e.target.value)}\r\n value={newNote}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n notes: state.notes.notes,\r\n loading: state.notes.loading,\r\n hasError: state.notes.hasError,\r\n actionMessage: state.notes.message,\r\n loadData: state.notes.loadData,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getNotes: (resource, id) => dispatch(getNotes(resource, id)),\r\n setNotes: (resource, loadId, note, attachment) => dispatch(setNotes(resource, loadId, note, attachment)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n load: (resource) => dispatch(load(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NotesModal);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\n\r\nimport { setItemData, sendToDelivered } from '../../../../store/actions/callCheck/callCheck';\r\nimport './index.css';\r\n\r\nconst DeliveredModal = ({ resource, rowState, deliveredModalIsOpen, setDeliveredModalIsOpen, loadsAssignedOrders, sendToDelivered }) => {\r\n const closeModal = () => {\r\n setDeliveredModalIsOpen(false);\r\n };\r\n\r\n const handleConfirm = () => {\r\n sendToDelivered(resource, rowState.loadData.id);\r\n setDeliveredModalIsOpen(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '360px',\r\n minHeight: '140px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    This Load has PODs pending. Confirm Delivery?
    \r\n
    \r\n \r\n
    Close
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n sendToDelivered: (resource, loadId) => dispatch(sendToDelivered(resource, loadId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeliveredModal);\r\n","import axios from 'axios';\r\nimport store from '../../../store';\r\nimport * as actionTypes from './loadActionTypes';\r\n\r\nconst buildUrl = (resource, method = '') => `/api/${resource}${method ? `/${method}` : ''}`;\r\nconst buildSimpleUrl = endPoint => `/api/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const load = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_IN_LOADING) });\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_REFRESH_IN_PROCESS), data: true });\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n }).finally(() => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_REFRESH_IN_PROCESS), data: false });\r\n });\r\n};\r\n\r\nexport const manifestList = resource => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_IN_LOADING) });\r\n axios.get(buildUrl('load', resource),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_MANIFEST_LIST), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const reactOnAssignedItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNED), data: { id, type } });\r\n\r\nexport const reactOnAvailableItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_AVAILABLE), data: { id, type } });\r\n\r\nexport const reactOnAvailableItems = (resource, ids, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_AVAILABLES), data: { ids, type } });\r\n\r\nexport const reactOnAssignedItems = (resource, ids, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNEDS), data: { ids, type } });\r\n\r\nexport const unreactOrders = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.UNREACT_ORDERS)});\r\n\r\nexport const setHeaderWidth = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH), data: { ind, width } });\r\n\r\nexport const unAssignOrders = (resource, orders, allAvailableOrders) => dispatch => {\r\n const orderGroupIndex = orders[0]?.rowState?.orderData?.orderGroupIndex;\r\n const allHardBatchOrders = allAvailableOrders?.filter(order => order.orderGroupIndex === orderGroupIndex && order.batchType === 'Hard');\r\n const orderIds = allHardBatchOrders?.map(order => order.id);\r\n\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.UNASSIGN_ORDERS), \r\n data: allHardBatchOrders.length ? allHardBatchOrders : orders.map(o => o.rowState.orderData)\r\n });\r\n axios.put(buildUrl(resource, 'unassignorders'),\r\n {\r\n orderIds: orderIds.length ? orderIds : orders.map(i => i.rowState.orderData.id),\r\n },\r\n axiosConfig()\r\n ).then(response => {\r\n const errorList = response.data.filter(d => d.hasError);\r\n const errorMessage = response.data?.message || response.data[0]?.message;\r\n dispatch(errorAction(resource, errorList.length > 0, errorMessage));\r\n errorList.forEach(e => console.error(e.message));\r\n // dispatch(reloadAfterUpdate(resource, 'area'));\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const addNewLoad = resource => dispatch => {\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_ADD_NEW_IN_PROCESS), data: true });\r\n\r\n axios.post(buildUrl(resource),\r\n {\r\n id: 0\r\n },\r\n axiosConfig()\r\n )\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n else {\r\n dispatch(\r\n {\r\n type: actionTypes.getActionType(resource, actionTypes.ADD_NEW_LOAD),\r\n data: {\r\n loadData: response.data\r\n }\r\n });\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n }).finally(() => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_ADD_NEW_IN_PROCESS), data: false });\r\n });\r\n};\r\n\r\nexport const assignOrdersToLoad = (resource, load, orders, allAvailableOrders, newLoad) => dispatch => {\r\n const pickAppointment = resource === 'load' ? 'inboundAppointment': 'outboundAppointment';\r\n const pickAppointmentStatus = resource === 'load' ? 'inboundAppointmentStatus': 'outboundAppointmentStatus';\r\n const location = resource === 'load' ? 'pickLocation': 'dropLocation';\r\n\r\n const hardBatchOrders = orders.filter(order => order.rowState.orderData.batchType === 'Hard');\r\n const notHardBatchStateOrders = orders.filter(order => order.rowState.orderData.batchType !== 'Hard');\r\n const notHardBatchOrders = notHardBatchStateOrders.map(order => order.rowState.orderData);\r\n const orderGroupIndexes = hardBatchOrders?.map(order => order.rowState?.orderData?.orderGroupIndex);\r\n\r\n let allHardBatchOrders = [];\r\n for (let i = 0; i < allAvailableOrders.length; i++) {\r\n for (let j = 0; j < orderGroupIndexes.length; j++) {\r\n if (allAvailableOrders[i].orderGroupIndex === orderGroupIndexes[j]) {\r\n allHardBatchOrders.push(allAvailableOrders[i])\r\n };\r\n };\r\n };\r\n\r\n const allSelectedOrders = [...allHardBatchOrders, ...notHardBatchOrders]\r\n const orderIds = allSelectedOrders?.map(order => order.id);\r\n const ordersLocationsList = [ ...new Set(orders.map(order => order.rowState.orderData[location]))];\r\n const locationGroupsList = [];\r\n const locationGroupsObjectList = [];\r\n\r\n for (const loc of ordersLocationsList) {\r\n locationGroupsList.push(orders.filter(order => order.rowState.orderData[location] === loc));\r\n }\r\n \r\n locationGroupsList.forEach(locationGroup => {\r\n const locationGroupsObject = {\r\n locationOfGroup: '',\r\n orders: [],\r\n showModal: false,\r\n };\r\n \r\n const locationOfGroup = locationGroup[0].rowState.orderData[location];\r\n locationGroupsObject.locationOfGroup = locationOfGroup;\r\n locationGroupsObject.orders = locationGroup;\r\n\r\n\r\n // START\r\n if (locationGroup.length > 1) {\r\n const haveAtLeastOneOrderWithAppt = locationGroup.filter(ord => ord.rowState.orderData[pickAppointment]).length;\r\n const haveAtLeastOneOrderWithOutAppt = locationGroup.filter(ord => !ord.rowState.orderData[pickAppointment]).length;\r\n const noNeedModal = haveAtLeastOneOrderWithAppt && haveAtLeastOneOrderWithOutAppt;\r\n if (noNeedModal) {\r\n if (([...new Set(locationGroup.map(order => order.rowState.orderData[pickAppointment]))].filter(order => order !== null).length > 1)) {\r\n locationGroupsObject.showModal = true;\r\n }\r\n } else if ( ([...new Set(locationGroup.map(order => order.rowState.orderData[pickAppointment]))].filter(order => order !== null).length > 1 \r\n || [...new Set(locationGroup.map(order => Number(order.rowState.orderData[pickAppointmentStatus])))].filter(order => order !== null).length > 1)) {\r\n locationGroupsObject.showModal = true;\r\n }\r\n }\r\n // END\r\n locationGroupsObjectList.push(locationGroupsObject);\r\n });\r\n\r\n let noAssignedLocation = false;\r\n load.ordersData.forEach(order => {\r\n if (!ordersLocationsList.includes(order.rowState.orderData?.[location]) && \r\n orders.length > 1 &&\r\n new Set(orders.map(order => order?.[location])).length > 1) {\r\n noAssignedLocation = true;\r\n }\r\n })\r\n \r\n // case when assigned orders are many and the locations are different\r\n const openModal = locationGroupsObjectList.filter(group => group.showModal).length > 0 || noAssignedLocation;\r\n\r\n let data = {\r\n orders: allSelectedOrders.length ? allSelectedOrders : orders.map(o => o.rowState.orderData),\r\n loadData: load,\r\n openModal: false,\r\n };\r\n\r\n if (openModal) {\r\n data.openModal = true;\r\n };\r\n\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.ASSIGN_ORDERS_TO_LOAD),\r\n data: data\r\n });\r\n\r\n if (!openModal) {\r\n axios.put(buildUrl(resource, 'assignorders'),\r\n {\r\n loadId: load.rowState.loadData.id,\r\n orderIds: orderIds.length ? orderIds : orders.map(i => i.rowState.orderData.id),\r\n },\r\n axiosConfig()\r\n )\r\n .then(response => {\r\n const hasError = response.data.hasError || response.data[0].hasError;\r\n const errorMessage = response.data.message || response.data[0].message;\r\n if (hasError) {\r\n dispatch(errorAction(resource, hasError, errorMessage));\r\n } else {\r\n dispatch(reloadAfterUpdate(resource, 'area'))\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n } \r\n};\r\n\r\nexport const assignOrdersToLoadAndUpdate = (resource, load, orders, allAvailableOrders, closeModal, locationObjects) => dispatch => {\r\n const hardBatchOrders = orders.filter(order => order.rowState.orderData.batchType === 'Hard');\r\n const notHardBatchStateOrders = orders.filter(order => order.rowState.orderData.batchType !== 'Hard');\r\n const notHardBatchOrders = notHardBatchStateOrders.map(order => order.rowState.orderData);\r\n const orderGroupIndexes = hardBatchOrders?.map(order => order.rowState?.orderData?.orderGroupIndex);\r\n const location = resource === 'load' ? 'pickLocation': 'dropLocation';\r\n\r\n let allHardBatchOrders = [];\r\n for (let i = 0; i < allAvailableOrders.length; i++) {\r\n for (let j = 0; j < orderGroupIndexes.length; j++) {\r\n if (allAvailableOrders[i].orderGroupIndex === orderGroupIndexes[j]) {\r\n allHardBatchOrders.push(allAvailableOrders[i])\r\n };\r\n };\r\n };\r\n \r\n const allSelectedOrders = [...allHardBatchOrders, ...notHardBatchOrders];\r\n const ordersLocationsList = [ ...new Set(orders.map(order => order.rowState.orderData?.[location]))];\r\n const locationGroups = [];\r\n\r\n for (const loc of ordersLocationsList) {\r\n locationGroups.push(orders.filter(order => order.rowState.orderData?.[location] === loc));\r\n }\r\n\r\n let data = {\r\n orders: allSelectedOrders.length ? allSelectedOrders : orders.map(o => o.rowState.orderData),\r\n loadData: load,\r\n openModal: false,\r\n locationObjects: locationObjects,\r\n };\r\n\r\n const getAllOrderIdsFromGroup = orderIds => {\r\n const orders = allAvailableOrders.filter(order => orderIds.includes(order.id));\r\n const hardBatchOrders = orders.filter(order => order.batchType === 'Hard');\r\n const notHardBatchStateOrders = orders.filter(order => order.batchType !== 'Hard');\r\n const orderGroupIndexes = hardBatchOrders?.map(order => order.orderGroupIndex);\r\n let allHardBatchOrders = [];\r\n for (let i = 0; i < allAvailableOrders.length; i++) {\r\n for (let j = 0; j < orderGroupIndexes.length; j++) {\r\n if (allAvailableOrders[i].orderGroupIndex === orderGroupIndexes[j]) {\r\n allHardBatchOrders.push(allAvailableOrders[i])\r\n };\r\n };\r\n };\r\n const allSelectedOrders = [...allHardBatchOrders, ...notHardBatchStateOrders];\r\n const allSelectedOrdersIds = allSelectedOrders.map(order => order?.id);\r\n return allSelectedOrdersIds;\r\n }\r\n\r\n if (closeModal) {\r\n data.openModal = false;\r\n };\r\n\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.ASSIGN_ORDERS_TO_LOAD),\r\n data: data\r\n });\r\n\r\n if (closeModal === 'cancelModal') {\r\n dispatch(unAssignOrders(resource, orders, allAvailableOrders))\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n\r\n if (!closeModal) {\r\n const items = locationObjects.map(locationGroup => {\r\n return {\r\n orderids: getAllOrderIdsFromGroup(locationGroup.orderIds),\r\n appointmentStatus: locationGroup.checkedStatus ? locationGroup.checkedStatus : 0,\r\n appointment: locationGroup.checkedAppointment,\r\n }\r\n });\r\n\r\n axios.put(buildUrl(resource, 'changeappointment'), {\r\n items: items,\r\n loadId: load.rowState.loadData.id,\r\n },\r\n axiosConfig()\r\n )\r\n .then(response => {\r\n const hasError = response.data?.hasError || response.data[0]?.hasError;\r\n const errorMessage = response.data?.message || response.data[0]?.message;\r\n if (hasError) {\r\n dispatch(errorAction(resource, hasError, errorMessage));\r\n } else {\r\n dispatch(reloadAfterUpdate(resource, 'area'))\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n};\r\n\r\nexport const assignOrdersToLoadAndUpdateNewLoad = (resource, orders, allAvailableOrders, closeModal, locationObjects) => dispatch => {\r\n const hardBatchOrders = orders.filter(order => order.batchType === 'Hard');\r\n const notHardBatchStateOrders = orders.filter(order => order.batchType !== 'Hard');\r\n const orderGroupIndexes = hardBatchOrders?.map(order => order.orderGroupIndex);\r\n const location = resource === 'load' ? 'pickLocation': 'dropLocation';\r\n\r\n let allHardBatchOrders = [];\r\n for (let i = 0; i < allAvailableOrders.length; i++) {\r\n for (let j = 0; j < orderGroupIndexes.length; j++) {\r\n if (allAvailableOrders[i].orderGroupIndex === orderGroupIndexes[j]) {\r\n allHardBatchOrders.push(allAvailableOrders[i])\r\n };\r\n };\r\n };\r\n \r\n if (allHardBatchOrders.length) {\r\n for (let i = 0; i < locationObjects.length; i++) {\r\n locationObjects[i].orderIds.forEach(id => {\r\n const order = allAvailableOrders.find(o => o.id === id);\r\n const allHardBatchOrderIds = allHardBatchOrders.map(o => o.id);\r\n if (order && allHardBatchOrderIds.includes(id)) {\r\n const index = order.orderGroupIndex;\r\n const allOrdersByIndex = allAvailableOrders.filter(order => order.orderGroupIndex === index);\r\n locationObjects[i].orderIds = allOrdersByIndex.map(order => order.id);\r\n }\r\n })\r\n };\r\n };\r\n\r\n const allSelectedOrders = [...allHardBatchOrders, ...notHardBatchStateOrders];\r\n const ordersLocationsList = [ ...new Set(orders.map(order => order?.[location]))];\r\n const locationGroups = [];\r\n\r\n for (const loc of ordersLocationsList) {\r\n locationGroups.push(orders.filter(order => order?.[location] === loc));\r\n }\r\n\r\n let data = {\r\n orders: allSelectedOrders.length ? allSelectedOrders : orders.map(o => o.rowState.orderData),\r\n loadData: load,\r\n openModal: false,\r\n locationObjects: locationObjects,\r\n };\r\n\r\n if (closeModal) {\r\n data.openModalNewLoad = false;\r\n };\r\n\r\n // dispatch({\r\n // type: actionTypes.getActionType(resource, actionTypes.ASSIGN_ORDERS_TO_LOAD),\r\n // data: data\r\n // });\r\n\r\n if (closeModal === 'cancelModal') {\r\n // dispatch(unAssignOrders(resource, orders, allAvailableOrders))\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n\r\n if (!closeModal) {\r\n const items = locationObjects.map(locationGroup => {\r\n return {\r\n orderids: locationGroup.orderIds,\r\n appointmentStatus: locationGroup.checkedStatus ? locationGroup.checkedStatus : 0,\r\n appointment: locationGroup.checkedAppointment,\r\n }\r\n });\r\n\r\n axios.put(buildUrl(resource, 'changeappointment'), {\r\n items: items,\r\n loadId: 0,\r\n },\r\n axiosConfig()\r\n )\r\n .then(response => {\r\n const hasError = response.data.hasError;\r\n const error = response.data.message;\r\n if (hasError) {\r\n dispatch(errorAction(resource, hasError, error));\r\n } else {\r\n dispatch(reloadAfterUpdate(resource, 'area'))\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n};\r\n\r\nexport const deleteLoad = (resource, rowState) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_LOAD), data: { rowState } });\r\n axios.delete(buildUrl(resource),\r\n {\r\n headers: axiosConfig().headers,\r\n params: {\r\n id: rowState.loadId,\r\n }\r\n })\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n if (rowState.isSub) {\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const createSubLoadAssignOrders = (resource, orders, dropLocationId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CREATE_SUB_IN_PROCESS), data: true });\r\n axios.put(buildUrl(resource, 'createsubloadassignorders'),\r\n {\r\n loadId: orders[0].rowState.loadData.id,\r\n dropLocationId,\r\n orderIds: orders.length > 0 ? orders.map(i => i.rowState.orderObjectId) : []\r\n },\r\n axiosConfig()\r\n )\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n else {\r\n //dispatch(\r\n // {\r\n // type: actionTypes.CREATE_SUB_LOAD_ASSIGN_ORDERS,\r\n // data: {\r\n // orders,\r\n // loadData: response.data,\r\n // dropLocationId\r\n // }\r\n // });\r\n dispatch(load(resource));\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n }).finally(() => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CREATE_SUB_IN_PROCESS), data: false });\r\n });\r\n};\r\n\r\nexport const assignOrdersToNewLoad = (resource, orders, index, allAvailableOrders) => dispatch => {\r\n const pickAppointment = resource === 'load' ? 'inboundPickAppointment': 'outboundAppointment';\r\n const pickAppointmentStatus = resource === 'load' ? 'inboundAppointmentStatus': 'outboundAppointmentStatus';\r\n const location = resource === 'load' ? 'pickLocation': 'dropLocation';\r\n\r\n const hardBatchOrders = orders.filter(order => order.rowState.orderData.batchType === 'Hard');\r\n const notHardBatchStateOrders = orders.filter(order => order.rowState.orderData.batchType !== 'Hard');\r\n const notHardBatchOrders = notHardBatchStateOrders.map(order => order.rowState.orderData);\r\n const orderGroupIndexes = hardBatchOrders?.map(order => order.rowState?.orderData?.orderGroupIndex);\r\n\r\n let allHardBatchOrders = [];\r\n for (let i = 0; i < allAvailableOrders.length; i++) {\r\n for (let j = 0; j < orderGroupIndexes.length; j++) {\r\n if (allAvailableOrders[i].orderGroupIndex === orderGroupIndexes[j]) {\r\n const assignedOrderWithHardType = orders.filter(order => order.rowState.orderData.id === allAvailableOrders[i].id)[0];\r\n if (assignedOrderWithHardType) {\r\n allHardBatchOrders.push(assignedOrderWithHardType.rowState.orderData)\r\n }\r\n };\r\n };\r\n };\r\n \r\n const allSelectedOrders = [...allHardBatchOrders, ...notHardBatchOrders]\r\n const ordersLocationsList = [ ...new Set(orders.map(order => order.rowState.orderData?.[location]))];\r\n const locationGroupsList = [];\r\n const locationGroupsObjectList = [];\r\n\r\n for (const loc of ordersLocationsList) {\r\n locationGroupsList.push(orders.filter(order => order.rowState.orderData?.[location] === loc));\r\n }\r\n\r\n locationGroupsList.forEach(locationGroup => {\r\n const locationGroupsObject = {\r\n locationOfGroup: '',\r\n orders: [],\r\n showModal: false,\r\n };\r\n \r\n const locationOfGroup = locationGroup[0].rowState.orderData?.[location];\r\n locationGroupsObject.locationOfGroup = locationOfGroup;\r\n locationGroupsObject.orders = locationGroup;\r\n\r\n if (locationGroup.length > 1) {\r\n const haveAtLeastOneOrderWithAppt = locationGroup.filter(ord => ord.rowState.orderData[pickAppointment]).length;\r\n const haveAtLeastOneOrderWithOutAppt = locationGroup.filter(ord => !ord.rowState.orderData[pickAppointment]).length;\r\n const noNeedModal = haveAtLeastOneOrderWithAppt && haveAtLeastOneOrderWithOutAppt;\r\n if (noNeedModal) {\r\n if (([...new Set(locationGroup.map(order => order.rowState.orderData[pickAppointment]))].filter(order => order !== null).length > 1)) {\r\n locationGroupsObject.showModal = true;\r\n }\r\n } else if ( ([...new Set(locationGroup.map(order => order.rowState.orderData[pickAppointment]))].filter(order => order !== null).length > 1 \r\n || [...new Set(locationGroup.map(order => Number(order.rowState.orderData[pickAppointmentStatus])))].filter(order => order !== null).length > 1)) {\r\n locationGroupsObject.showModal = true;\r\n }\r\n }\r\n\r\n locationGroupsObjectList.push(locationGroupsObject);\r\n });\r\n\r\n const openModalNewLoad = locationGroupsObjectList.filter(group => group.showModal).length > 0;\r\n\r\n let data = {\r\n orders: allSelectedOrders.length ? allSelectedOrders : orders.map(o => o.rowState.orderData),\r\n openModalNewLoad: false,\r\n };\r\n\r\n if (openModalNewLoad) {\r\n data.openModalNewLoad = true;\r\n };\r\n\r\n if (openModalNewLoad) {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD_WITH_MODAL),\r\n data: data\r\n });\r\n }\r\n\r\n if (!openModalNewLoad) {\r\n const orderIds = [];\r\n const allOrders = [];\r\n for (let i = 0; i < orders.length; i++) {\r\n const orderGroupIndex = orders[i]?.rowState?.orderData?.orderGroupIndex;\r\n const hardBatchOrders = allAvailableOrders?.filter(order => order.orderGroupIndex === orderGroupIndex && order.batchType === 'Hard');\r\n if (!hardBatchOrders?.length) {\r\n orderIds.push(orders[i]?.rowState?.orderData?.id);\r\n allOrders.push(orders[i]?.rowState?.orderData);\r\n } else {\r\n const allHardBatchOrderIds = hardBatchOrders?.map(order => order.id);\r\n allHardBatchOrderIds.length && orderIds.push(...allHardBatchOrderIds);\r\n hardBatchOrders?.length && allOrders.push(...hardBatchOrders);\r\n }\r\n }\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CREATE_IN_PROCESS), data: true });\r\n axios.put(buildUrl(resource, 'createloadassignorders'),\r\n {\r\n loadId: 0,\r\n orderIds: orderIds?.length ? orderIds : orders.map(i => i.rowState.orderData.id),\r\n },\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n else {\r\n dispatch(\r\n {\r\n type: actionTypes.getActionType(resource, actionTypes.ASSIGN_ORDERS_TO_NEW_LOAD),\r\n data: {\r\n orders: allOrders?.length ? allOrders : orders.map(o => o.rowState.orderData),\r\n index,\r\n loadData: response.data\r\n }\r\n });\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n }).finally(() => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_CREATE_IN_PROCESS), data: false });\r\n });\r\n }\r\n};\r\n\r\nexport const setPopupItemData = (resource, value, rowState, header) => dispatch => {\r\n \r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.UPDATE_EFS_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n};\r\n\r\nexport const setItemData = (resource, value, rowState, header) => dispatch => {\r\n if (rowState.type === 'load') {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_LOAD_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n if (header.key === 'wk') {\r\n rowState.loadData['pickWeek'] = value;\r\n }\r\n axios.put(buildUrl(resource, 'loadlintitem'), rowState.loadData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n const headerForReload = [\"wk\"];\r\n const needReload = headerForReload.includes(header?.key);\r\n if (needReload) {\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n else {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DATA), data: {\r\n value: header?.key === 'outboundLumper' ? '' : value,\r\n rowState,\r\n header\r\n }\r\n });\r\n if (rowState.orderData && !(header?.key === 'outboundLumper' && value === '')) {\r\n const orderData = rowState.orderData;\r\n\r\n if (header?.key === 'wk') {\r\n orderData['pickWeek'] = value;\r\n };\r\n\r\n Array.isArray(value) && value.forEach(item => {\r\n orderData[item.header] = item.value;\r\n });\r\n\r\n if (header?.key === 'readyDate' && !value) {\r\n orderData['puDate'] = '';\r\n };\r\n\r\n if (value === 'unColor') {\r\n orderData['orderHistoryDict'][header?.key] = false;\r\n orderData['outOrderHistoryDict'][header?.key] = false;\r\n } else\r\n if (header?.key === 'dropLocation') {\r\n orderData['dropLocationId'] = value;\r\n } else {\r\n orderData[header?.key] = value;\r\n }\r\n\r\n if (rowState.isSub) {\r\n const subOrderData = {\r\n id: orderData.subOrderId,\r\n pickInDate: resource === 'load' ? orderData.inboundPickIn : orderData.outboundPickIn,\r\n pickOutDate: resource === 'load' ? orderData.inboundPickOut : orderData.outboundPickOut,\r\n pickAppointmenteDate: resource === 'load' ? orderData.inboundPickAppointment : orderData.outboundPickAppointment,\r\n pickAppointmentStatus: resource === 'load' ? orderData.inboundAppointmentStatus : orderData.pickOutboundAppointmentStatus,\r\n dropInDate: resource === 'load' ? orderData.inboundDropIn : orderData.outboundDropIn,\r\n pickWeek: resource === 'load' ? orderData.pickWeek : orderData.pickWeek,\r\n dropOutDate: resource === 'load' ? orderData.inboundDropOut : orderData.outboundDropOut,\r\n dropAppointmenteDate: resource === 'load' ? orderData.inboundDropAppointment : orderData.outboundDropAppointment,\r\n dropAppointmentStatus: resource === 'load' ? orderData.inboundDropAppointmentStatus : orderData.outboundAppointmentStatus,\r\n dueDate: orderData.dueDate,\r\n puDate: orderData.puDate,\r\n deliverDate: orderData.deliverDate,\r\n lumper: resource === 'load' ? orderData.inboundLumper : orderData.outboundLumper,\r\n dropRestriction: resource === 'load' ? orderData.pickRestriction : orderData.dropRestriction,\r\n palletCount: orderData.palletCount,\r\n cases: orderData.cases,\r\n space: orderData.space,\r\n weight: orderData.weight,\r\n poNumber: orderData.poNumber,\r\n stepCount: orderData.stepCount ? orderData.stepCount : 1,\r\n dropLocationId: orderData.dropLocationId,\r\n };\r\n axios.put(buildUrl('suborder', ''), subOrderData, // '/api/inboudsuborder'\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n }\r\n const headerForReload = [\"palletCount\", \"space\", \"weight\", \"outboundLumper\"];\r\n const needReload = headerForReload.includes(header?.key);\r\n if (Array.isArray(value) || needReload || !value) {\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n else {\r\n const url = resource === \"load\" ? buildUrl('order', 'loadorderitem') : buildUrl('order', 'outboundloadorderitem') \r\n axios.put(url, orderData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n }\r\n const headerForReload = [\"palletCount\", \"space\", \"weight\", \"outboundLumper\", \"dropLocation\"];\r\n const needReload = headerForReload.includes(header?.key);\r\n if (Array.isArray(value) || needReload || !value) {\r\n dispatch(reloadAfterUpdate(resource, 'area'));\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const updateLoadData = (resource, newData) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.UPDATE_LOAD_DATA),\r\n data: newData\r\n});\r\n\r\nexport const updateLoadDataEFS = (resource, value, rowState, header) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.UPDATE_EFS_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n});\r\n\r\nexport const setSortLoadsByCarriar = (resource, sort) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_SORT_LOAD_BY_CARRIER),\r\n data: sort\r\n});\r\n\r\nexport const setSortLoadsByPickAppts = (resource, sort) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_SORT_LOAD_BY_PICK_APPTS),\r\n data: sort\r\n});\r\n\r\nexport const setSortLoadsByPickLocation = (resource, sort) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_SORT_LOAD_BY_PICK_LOCATION),\r\n data: sort\r\n});\r\n\r\nexport const setSortLoadsByDropLocation = (resource, sort) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_SORT_LOAD_BY_DROP_LOCATION),\r\n data: sort\r\n});\r\n\r\nexport const setSortLoadsByDeliverNumber = (resource, sort) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_SORT_LOAD_BY_DELIVER_NUMBER),\r\n data: sort\r\n});\r\n\r\nexport const filterInOutOrders = (resource, filterType, option) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_IN_OUT_ORDERS),\r\n data: {\r\n filterType,\r\n option,\r\n }\r\n});\r\n\r\nexport const getHistoryList = (resource, url, orderId, field, isSub) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY_LOADING) });\r\n const data = {\r\n params: {\r\n filterData: isSub ? {\r\n SubOrderId: orderId,\r\n field: field,\r\n } : \r\n {\r\n orderId: orderId,\r\n field: field,\r\n },\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildUrl(url), data, axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY), data: response }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const setReOrderLoad = (resource, state, rowState, index) => dispatch => {\r\n const loadType = resource === 'load' ? 1 : 3;\r\n const firstOrderId = rowState.orderObjectId;\r\n const loadId = rowState.loadObjectId;\r\n const locationId = resource === 'load' ? 'pickLocationId' : 'dropLocationId';\r\n const orderLocationId = rowState.orderData?.[locationId];\r\n const loadOrders = state[resource].loadsAssignedOrders?.filter(item => item.rowState.loadObjectId === loadId);\r\n const ordersWithSameLocation = loadOrders.filter(order => order.rowState.orderData?.[locationId] === orderLocationId)\r\n const indexOfCurrentOrder = ordersWithSameLocation.findIndex(order => order.rowState.orderObjectId === firstOrderId);\r\n let secondOrderId = '';\r\n\r\n if (isNaN(index)) {\r\n if (index === 'up') {\r\n secondOrderId = ordersWithSameLocation[indexOfCurrentOrder-1].rowState.orderObjectId;\r\n } else {\r\n secondOrderId = ordersWithSameLocation[indexOfCurrentOrder+1].rowState.orderObjectId;\r\n }\r\n } else {\r\n secondOrderId = ordersWithSameLocation[index-1].rowState.orderObjectId;\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_RE_ORDER_LOAD), \r\n data: { firstOrderId, secondOrderId },\r\n });\r\n axios.put(buildSimpleUrl('load/swaporders'), { \r\n firstOrderId: firstOrderId,\r\n secondOrderId: secondOrderId,\r\n loadType: loadType,\r\n },\r\n axiosConfig()\r\n ).then(response => {\r\n const errorList = response?.data?.length ? response.data?.filter(d => d.hasError) : response?.data.hasError;\r\n const errorMessage = response.data.message || response.data[0].message;\r\n errorList.length && errorMessage && dispatch(errorAction(resource, errorList.length > 0, errorMessage));\r\n errorList.length && errorMessage && console.error(errorMessage);\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, errorText) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR), data: {\r\n responce, \r\n errorText,\r\n }}))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource, endpoint) => dispatch => {\r\n axios.get(buildUrl(resource, endpoint),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\n","import axios from 'axios';\r\nimport moment from 'moment';\r\nimport store from '../..';\r\nimport * as actionTypes from './deliveredTrucksActionTypes';\r\n\r\nconst buildUrl = (resource, method = '') => `/api/${resource}/${method}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const load = (resource, method, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_TRUCKS_LOADING) });\r\n }\r\n axios.get(buildUrl(resource, method),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_TRUCKS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_TRUCKS_ERROR) });\r\n })\r\n};\r\n\r\nexport const reactOnAssignedItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNED_DELIVERED_TRUCKS), data: { id, type } });\r\n\r\nexport const setHeaderWidth = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_DELIVERED_TRUCKS), data: { ind, width } });\r\n\r\nexport const paidButtonAction = (resource, method, rowState) => dispatch =>{\r\n axios.put(buildUrl(resource, `${method}?loadId=${rowState.loadId}`), '',\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n } else {\r\n dispatch(load(resource, 'readytopay'))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n}\r\nexport const setItemData = (resource, value, rowState, header, loadsAssignedOrders) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DELIVERED_TRUCKS_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n \r\n let requestData = {};\r\n let orderStatusByCall;\r\n let orderNotesByCall;\r\n let loadCallCheckNote;\r\n let podRequestStatus;\r\n let callCheckAttachment;\r\n let browserDateTime = moment.utc(new Date()).local().utc(true).format();\r\n\r\n const order = rowState.orderData;\r\n if (rowState.loadData.loadType === 3) {\r\n orderStatusByCall = order.outOrderStatusByCall;\r\n orderNotesByCall = order?.outNotes;\r\n podRequestStatus = order?.outPodRequestStatus || 0;\r\n callCheckAttachment = order.callCheckOutAttachment;\r\n loadCallCheckNote = order.outLoadCallCheckNote;\r\n } else if (rowState.loadData.loadType === 1) {\r\n orderStatusByCall = order.inOrderStatusByCall;\r\n orderNotesByCall = order.inNotes;\r\n podRequestStatus = order?.inPodRequestStatus;\r\n callCheckAttachment = order.callCheckInAttachment;\r\n loadCallCheckNote = order.inLoadCallCheckNote;\r\n }\r\n requestData = {\r\n orderId: rowState.isSub ? order.orderId : order.id,\r\n loadId: rowState.loadData?.id,\r\n subOrderId: rowState.isSub ? order.id : '',\r\n orderStatusByCall,\r\n orderNotesByCall,\r\n podRequestStatus,\r\n loadCallCheckNote,\r\n callCheckAttachment,\r\n browserDateTime,\r\n poNumber: rowState.poNumber,\r\n }\r\n\r\n if (header.key === 'orderStatusByCall') {\r\n requestData.orderStatusByCall = value;\r\n requestData.orderDelayedReasonByCall = null;\r\n } else if (header.key === 'orderNotesByCall') {\r\n requestData.orderNotesByCall = value;\r\n } else if (header.key === 'podRequestStatus') {\r\n requestData.podRequestStatus = value;\r\n } else if (header.key === 'podDoc') {\r\n requestData.callCheckAttachment = value;\r\n } else if (header.key === 'loadCallCheckNote') {\r\n requestData.loadCallCheckNote = value;\r\n } else {\r\n requestData[header.key] = value;\r\n }\r\n\r\n axios.put(buildUrl('AccountPayable', 'loadorderitem'), requestData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else if ((response.data.callCheckInAttachment || response.data.callCheckOutAttachment) && header.key === 'podDoc') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_DELIVERED_TRUCKS_DATA), data: {\r\n value: rowState.loadData.loadType === 1 ? response.data.callCheckInAttachment :\r\n rowState.loadData.loadType === 3 ? response.data.callCheckOutAttachment : '',\r\n rowState,\r\n header\r\n }\r\n })\r\n } else if (header.key === 'orderNotesByCall') {\r\n dispatch(reloadAfterUpdate(resource))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE_DELIVERED_TRUCKS), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const filterDeliveredTrucks = (resource, key) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_DELIVERED_TRUCKS),\r\n data: key\r\n});\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_DELIVERED_TRUCKS), data: sortValue\r\n });\r\n}\r\n\r\nexport const getHistoryListDeliveredTrucks = (resource, url, orderId, field, isSub) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY_DELIVERED_TRUCKS_LOADING) });\r\n const data = {\r\n params: {\r\n filterData: isSub ? {\r\n SubOrderId: orderId,\r\n field: field,\r\n } : \r\n {\r\n orderId: orderId,\r\n field: field,\r\n },\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildUrl(url), data, axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_HISTORY_DELIVERED_TRUCKS), data: response }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_TRUCKS_ERROR) });\r\n });\r\n};\r\n\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, method) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, method),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_DELIVERED_TRUCKS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_TRUCKS_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource) => dispatch => {\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_TRUCKS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_TRUCKS_ERROR) });\r\n });\r\n};","export const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px',\r\n borderRadius: '8px',\r\n padding: 0,\r\n },\r\n};\r\n\r\nexport const customStyleLoadDetailsPage = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '968px',\r\n minHeight: '600px',\r\n borderRadius: '8px',\r\n padding: '0',\r\n width: '90%',\r\n maxWidth: '968px',\r\n height: '-webkit-fill-available',\r\n overflowY: 'scroll',\r\n },\r\n};\r\n\r\nexport const customStylesLoadDetailsPage = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: state.isFocused ? 'lightGray' : 'lightGray',\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '37px',\r\n width: '100%',\r\n cursor: 'notAllowed',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '20',\r\n }),\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n options: (base, state) => ({\r\n padding: '4px 8px',\r\n cursor: 'pointer',\r\n borderRadius: 'unset',\r\n }),\r\n};","export const translateIntoCamelCase = textInUnderScore => {\r\n if (textInUnderScore === 'inboundPickAppointment') {\r\n return 'inbound_pick_appointment';\r\n } else if (textInUnderScore === 'outboundPickAppointment') {\r\n return 'outbound_pick_appointment';\r\n } else if (textInUnderScore === 'inboundDropAppointment') {\r\n return 'inbound_drop_appointment';\r\n } else if (textInUnderScore === 'outboundDropAppointment') {\r\n return 'outbound_drop_appointment';\r\n } else if (textInUnderScore === 'poNumber') {\r\n return 'po_number';\r\n }\r\n};","import React, { useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { useDispatch } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { getHistoryList } from '../../../../store/actions/loadArea/loadArea';\r\nimport { getHistoryListCallCheck } from '../../../../store/actions/callCheck/callCheck';\r\nimport { getHistoryListDeliveredTrucks } from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\nimport { HistorySelectors } from '../../../../store/selectors/historySelector';\r\nimport Loading from \"../../screen/loading\";\r\nimport { customStyles } from './styles';\r\nimport { translateIntoCamelCase } from './helper';\r\n\r\nconst HistoryModal = ({ isHistoryModalOpen, setHistoryModalOpen, inputRef, resource, rowState, cellDataKey, field }) => {\r\n const dispatch = useDispatch();\r\n const isSub = rowState.orderData.subOrderId;\r\n const orderId = isSub ? rowState.orderData.subOrderId : rowState.orderObjectId;\r\n const { historyList, loading } = HistorySelectors(resource);\r\n\r\n useEffect(() => {\r\n if (isSub) {\r\n if (resource === 'callCheck') {\r\n dispatch(getHistoryListCallCheck(resource, 'suborder/suborderchangeloginfo', orderId, translateIntoCamelCase(cellDataKey), isSub));\r\n } else if (resource === 'AccountPayable') {\r\n dispatch(getHistoryListDeliveredTrucks(resource, 'suborder/suborderchangeloginfo', orderId, translateIntoCamelCase(cellDataKey), isSub));\r\n } else {\r\n dispatch(getHistoryList(resource, 'suborder/suborderchangeloginfo', orderId, translateIntoCamelCase(cellDataKey), isSub));\r\n }\r\n } else {\r\n dispatch(getHistoryList(resource, 'order/orderchangeloginfo', orderId, translateIntoCamelCase(cellDataKey)));\r\n }\r\n }, [cellDataKey, dispatch, isSub, orderId, resource]);\r\n\r\n const closeModal = () => {\r\n setHistoryModalOpen(false);\r\n if (field === 'appt') {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const getFromDataValue = (fromData, field) => {\r\n if (field === 'appt') {\r\n return moment.utc(fromData).utcOffset(4).format('MM/DD/YY HH:mm');\r\n } else if (cellDataKey === 'poNumber') {\r\n return fromData;\r\n }\r\n }\r\n\r\n if (loading) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    {field === 'appt' ? 'Changes' : 'PO# Changes'}
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {historyList?.map(item => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    Created/Changed byDate/Time{field === 'appt' ? 'Old APPT Date' : 'Old PO#'}{field === 'appt' ? 'NEW APPT Date' : 'New PO#'}
    {item.updated}{item.editDate ? moment.utc(item.editDate).utcOffset(4).format('MM/DD/YY HH:mm') : ''}{item.fromData ? getFromDataValue(item.fromData, field) : ''}{item.toData ? getFromDataValue(item.toData, field) : ''}
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default HistoryModal;\r\n","import { useSelector } from \"react-redux\";\r\n\r\nexport const HistorySelectors = (resource) => {\r\n const historyList = useSelector(state => state[resource].historyList);\r\n const loading = useSelector(state => state[resource].historyLoading);\r\n\r\n return { historyList, loading };\r\n};","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { DatePicker, InputNumber, Select, Tooltip, Popover, message } from 'antd';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/callCheck/callCheck';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport Uploader from './Uploader';\r\nimport CommentsModal from './CommentsModal';\r\nimport NotesModal from './NotesModal';\r\nimport DeliveredModal from './DeliveredModal';\r\nimport './index.css';\r\nimport HistoryModal from '../../custom/spreadsheet/HistoryModal';\r\n\r\nconst Cell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n startOnScroll,\r\n rowState,\r\n setItemData,\r\n setItemDisplayState,\r\n resource,\r\n loadsAssignedOrders,\r\n setUploadModalIsOpen,\r\n setUploadRowState,\r\n hasSubOrder,\r\n }) => {\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = loadArea.headers.findIndex(h => h.key === cellData.key);\r\n const selectNameOptionsStatus = [{ name: '-', id: 0 }, { name: 'On time', id: 1 }, { name: 'Delayed', id: 2 }];\r\n const selectNameOptionsReason = [{ name: '-', id: 0 }, { name: 'Mechanical', id: 1 }, { name: 'Delivery conflict', id: 2 }, { name: 'Internal reason', id: 3 }, { name: 'Weather', id: 4 }, { name: 'Other', id: 5 } ];\r\n const selectNameOptionsPODStatus = [ { name: 'Delivered', id: 'Delivered' }, { name: 'Shortage', id: 'Shortage' }, { name: 'Overage', id: 'Overage' }, { name: 'Reject', id: 'Reject' }];\r\n const selectOptionsStatus = { 0: '-', 1: 'On time', 2: 'Delayed' };\r\n const selectOptionsReason = { null: '-', 0: '-', 1: 'Mechanical', 2: 'Delivery conflict', 3: 'Internal reason', 4: 'Weather', 5: 'Other' };\r\n const selectOptionsPalletTypes = { null: '', 1: 'Straight', 2: 'Chimney', 3: 'Other', 4: 'Sideways' };\r\n const selectOptionsPODStatus = { 'Delivered': 'Delivered', 'Shortage': 'Shortage', 'Overage': 'Overage', 'Reject': 'Reject' };\r\n const selectNameOptionsPOD = [{ name: '-', id: 0 }, { name: 'Received', id: 1 }, { name: 'Requested', id: 2 }, { name: 'Don’t Split', id: 3}];\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested', 3: 'Don’t Split' };\r\n \r\n // const offsetWidth = loadArea.headers.reduce((r, h, index) => {\r\n // if (h.visible && index < (headerIndex - 3)) {\r\n // r += h.width;\r\n // }\r\n // return r;\r\n // }, 0);\r\n const value2= cellData.value2;\r\n const width = header.width;\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n const [isHistoryModalOpen, setHistoryModalOpen] = useState(false);\r\n\r\n const ordersAssignedToCurrentLoad = loadsAssignedOrders.filter(order => order.rowState.loadData.id === rowState.loadId && order.rowState.type === 'order');\r\n const poNumbers = ordersAssignedToCurrentLoad.map(order => order.rowState.orderData.poNumber).join(', ');\r\n const mailBodyText = `Please send POD for the bellow PO#s: ${poNumbers}`;\r\n const carrierEmail = rowState.loadData.carrierEmail;\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\n useEffect(() => {\r\n if ((headerKey === 'orderStatusByCall' ||\r\n headerKey === 'delayedReason' ||\r\n (headerKey === 'loadCallCheckNote' && headerKey === 'stop') ||\r\n headerKey === 'podDoc' ||\r\n headerKey === 'orderNotesByCall' ||\r\n headerKey === 'podRequestStatus') &&\r\n cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n }, [cellData.editable, headerKey]);\r\n\r\n const data = cellData.value;\r\n const podNotesHistory = cellData?.value2;\r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current && \r\n (headerKey !== 'orderStatusByCall' &&\r\n headerKey !== 'delayedReason' &&\r\n headerKey !== 'loadCallCheckNote' &&\r\n headerKey !== 'podDoc' &&\r\n headerKey !== 'orderNotesByCall' &&\r\n headerKey !== 'podRequestStatus')\r\n ){\r\n inputReference.current.focus();\r\n }\r\n }, [displayState, headerKey]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n const setData = value => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const isApptDate = cellData.key === 'pickOutDate' || cellData.key === 'pickInDate' || \r\n cellData.key === 'dropInDate' || cellData.key === 'dropOutDate';\r\n if (!rowState.loadData?.carrierId && rowState.orderData?.subOrderId && isApptDate) {\r\n message.error('Unable to add the date. Please add a carrier to the load first');\r\n setTimeout(() => {\r\n setItemDisplayState(resource, rowState, header, true);\r\n }, 100);\r\n } else {\r\n if (!dataCompare(newValue, tempData)) {\r\n setTempData(newValue); \r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header, hasSubOrder);\r\n }, 100);\r\n }\r\n }\r\n };\r\n\r\n const changeImage = (data) => {\r\n setTimeout(() => {\r\n setUploadRowState(rowState);\r\n }, 100);\r\n };\r\n\r\n const [commentsModalIsOpen, setCommentsModalIsOpen] = useState(false);\r\n const [notesModalIsOpen, setNotesModalIsOpen] = useState(false);\r\n\r\n const handleEdit = () => {\r\n setCommentsModalIsOpen(true);\r\n };\r\n\r\n // create condition for disable/enable for Delivered button\r\n const onlyOrders = loadsAssignedOrders.filter(order => order.rowState.orderData);\r\n const ordersForThisLoad = onlyOrders.filter(order => order.rowState.loadData.id === rowState.loadId);\r\n\r\n const ordersIsInbound = rowState.loadData?.loadType === 1;\r\n const ordersIsOutbound = rowState.loadData?.loadType === 3;\r\n\r\n const ordersHaveFullDataInbound = ordersForThisLoad.filter(order => \r\n order.rowState.orderData.inboundPickIn &&\r\n order.rowState.orderData.inboundPickOut &&\r\n order.rowState.orderData.inboundDropIn &&\r\n order.rowState.orderData.inboundDropOut\r\n );\r\n\r\n const ordersHaveFullDataOutBound = ordersForThisLoad.filter(order => \r\n order.rowState.orderData.outboundPickIn &&\r\n order.rowState.orderData.outboundPickOut &&\r\n order.rowState.orderData.outboundDropIn &&\r\n order.rowState.orderData.outboundDropOut\r\n );\r\n\r\n const canDelivered = (ordersIsInbound && (ordersForThisLoad.length && ordersForThisLoad.length === ordersHaveFullDataInbound.length)) ||\r\n (ordersIsOutbound && (ordersForThisLoad.length && ordersForThisLoad.length === ordersHaveFullDataOutBound.length));\r\n\r\n const [deliveredModalIsOpen, setDeliveredModalIsOpen] = useState(false);\r\n const handleDelivered = () => {\r\n setDeliveredModalIsOpen(true);\r\n };\r\n\r\n const handleClickOnNotes = () => {\r\n setNotesModalIsOpen(true);\r\n };\r\n\r\n const getData = () => {\r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return tempData ? moment(tempData).format(Defines.Format.PrintDate) : '';\r\n case 'dateTime':\r\n if (header.key === 'inboundDeliveryEstimate' && rowState.loadData.loadType === 3) {\r\n return;\r\n }\r\n return
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date) : ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time) : ''}
    \r\n
    ;\r\n case 'link':\r\n return {tempData}\r\n case 'text':\r\n if (header.key === 'loadPositionType') {\r\n return selectOptionsPalletTypes[tempData];\r\n } else if (header.key === 'carrierName' && rowState.type === 'load') {\r\n return (\r\n \r\n {tempData}\r\n )\r\n } else if (header.key === 'loadCallCheckNote' && rowState.type === 'load') {\r\n return (\r\n
    \r\n {tempData}\r\n
    )\r\n } else if (header.key === 'lumper_efs' && rowState.type === 'stop') {\r\n const efsData = value2 === 2 ? 'EFS: NO' : value2 === 1 ? 'EFS: YES' : 'EFS: -';\r\n const lumperData = tempData === 2 ? 'YES' : tempData === 1 ? 'NO' : '-';\r\n return \r\n {lumperData}\r\n \r\n } else {\r\n return tempData;\r\n }\r\n case 'textInputPO':\r\n let asterisks = '';\r\n for(let i = 0; i < value2; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n \r\n {value2 &&\r\n setHistoryModalOpen(true)}>\r\n {value2 ? asterisks : ''}\r\n }\r\n
    \r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n case 'button':\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData\r\n };\r\n\r\n const handleSelectChange = (value) => {\r\n if (header.key === 'orderNotesByCall') {\r\n setData(value);\r\n } else {\r\n setData(parseInt(value));\r\n }\r\n };\r\n\r\n const handleValidationForPickDropInOut = value => {\r\n let errorText;\r\n const pickIn = rowState.loadData?.loadType === 1 ? 'inboundPickIn' : 'outboundPickIn'; \r\n const pickOut = rowState.loadData?.loadType === 1 ? 'inboundPickOut' : 'outboundPickOut'; \r\n const dropIn = rowState.loadData?.loadType === 1 ? 'inboundDropIn' : 'outboundDropIn'; \r\n const dropOut = rowState.loadData?.loadType === 1 ? 'inboundDropOut' : 'outboundDropOut'; \r\n\r\n if (header?.key === 'pickInDate') {\r\n if (rowState.orderData[pickOut] && !value) {\r\n errorText = 'Error: Cannot remove Pick In with Pick Out set.'\r\n }\r\n } else if (header?.key === 'pickOutDate') {\r\n if (!rowState.orderData[pickIn] && value) {\r\n errorText = 'Error: Pick Out cannot be set without Pick In.'\r\n }\r\n if (rowState.orderData[dropIn] && !value) {\r\n errorText = 'Error: Cannot remove Pick Out with Drop In set.'\r\n }\r\n } else if (header?.key === 'dropInDate') {\r\n if (!rowState.orderData[pickOut] && value) {\r\n errorText = 'Error: Del In cannot be set without Pick In/Out'\r\n }\r\n if (rowState.orderData[dropOut] && !value) {\r\n errorText = 'Error: Cannot remove Drop In with Drop Out set.'\r\n }\r\n } else if (header?.key === 'dropOutDate') {\r\n if (!rowState.orderData[dropIn] && value) {\r\n errorText = 'Error: Del Out cannot be set without Del In.'\r\n }\r\n }\r\n return errorText;\r\n }\r\n\r\n let splittedData = [];\r\n if (header.key === 'orderNotesByCall' && podNotesHistory && podNotesHistory?.[0]) {\r\n splittedData = podNotesHistory?.split(',');\r\n };\r\n\r\n const content = splittedData.length ? (\r\n
    \r\n \r\n \r\n \r\n \r\n {splittedData?.map(data => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n Created By       Data Time     Status note
    {data}
    \r\n
    \r\n ) :
    You don't have any notes
    ;\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n }}\r\n onChange={(value) => {\r\n let errorText = handleValidationForPickDropInOut(value);\r\n if (errorText) {\r\n onSetBlur();\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n message.error(errorText)\r\n }, 0);\r\n } else {\r\n setData(value === null ? '' : value._d)\r\n }\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n minuteStep={15}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false} />;\r\n case 'date':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n onSetBlur();\r\n }}\r\n onChange={(value) => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />;\r\n case 'integer':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(e.target.value)\r\n }}\r\n className='spreadsheet-number-input'\r\n />;\r\n case 'textInput':\r\n return {\r\n setData(value.currentTarget.value)\r\n }}\r\n style={{ cursor: 'pointer', textAlign: 'center', width: 'inherit' }}\r\n className={header.key === 'loadCallCheckNote' ? 'green__BG' : ''}\r\n />;\r\n case 'textInputPO':\r\n let asterisks = '';\r\n for(let i = 0; i < value2; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n }}\r\n />\r\n {value2 &&\r\n setHistoryModalOpen(true)}>\r\n {asterisks}\r\n \r\n }\r\n
    \r\n case 'select':\r\n let selectOption;\r\n let selectNameOptions;\r\n if (header.key === 'orderStatusByCall') {\r\n selectOption = selectOptionsStatus;\r\n selectNameOptions = selectNameOptionsStatus;\r\n } else if (header.key === 'delayedReason') {\r\n selectOption = selectOptionsReason;\r\n selectNameOptions = selectNameOptionsReason;\r\n } else if (header.key === 'podRequestStatus') {\r\n selectOption = selectOptionsPOD;\r\n selectNameOptions = selectNameOptionsPOD;\r\n }\r\n const statusByCell = rowState.loadData.loadType === 1 ?\r\n rowState?.firstOrderData?.inOrderStatusByCall :\r\n rowState?.firstOrderData?.outOrderStatusByCall;\r\n return ;\r\n case 'select_and_popover':\r\n return (\r\n \r\n \r\n \r\n );\r\n case 'upload':\r\n if (rowState.orderData?.subOrderId && rowState?.orderData?.outPodRequestStatus === 3555) {\r\n return\r\n } else {\r\n return
    \r\n
    changeImage(rowState)} className='uploader-container'>\r\n \r\n \r\n
    \r\n
    ;\r\n }\r\n default: return <>;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? \r\n (\r\n {displayState === redonly ? getData() : getInput()}\r\n ) : \r\n displayState === redonly ? getData() : getInput();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n // setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => (\r\n cellData.editable ? setDisplayState(editable) : null\r\n );\r\n\r\n return (\r\n <>\r\n onSetFocus()}\r\n onClick={() => { editableFunction(cellData)}}\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle, color: color }}\r\n tabIndex={displayState === redonly ? 0 : -1}\r\n >\r\n {dataDisplay()}\r\n \r\n {commentsModalIsOpen && \r\n \r\n }\r\n {deliveredModalIsOpen && \r\n \r\n }\r\n {notesModalIsOpen && \r\n \r\n }\r\n {isHistoryModalOpen &&\r\n \r\n }\r\n \r\n);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.callCheck.loadsAssignedOrders,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header, hasSubOrder) => dispatch(setItemData(resource, value, rowState, header, hasSubOrder)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);","import { DownOutlined, UpOutlined} from '@ant-design/icons';\r\nimport React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LeftActionCall = (\r\n {\r\n state,\r\n cellData,\r\n reacted,\r\n itemSize,\r\n onClickRow,\r\n bgColor,\r\n innerRef,\r\n type,\r\n resource,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '17px',\r\n left: 0,\r\n backgroundColor: bgColor,\r\n };\r\n\r\n const cellStyleValue = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: bgColor,\r\n left: 0\r\n };\r\n\r\n const arrowColor = type === 'stop' ? '#000000' : '#FFFFFF';\r\n\r\n return (\r\n <>\r\n {\r\n type === 'load' || type === 'stop' ?\r\n
    { onClickRow() }}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {reacted ? : }\r\n
    :\r\n
    { onClickRow() }}>\r\n {cellData.value}\r\n
    \r\n }\r\n \r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(LeftActionCall);","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport LeftActionCall from './leftActionCall';\r\nimport { reactOnAssignedItem } from '../../../../store/actions/callCheck/callCheck';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n reactOnAssignedItem,\r\n state,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n uploadModalIsOpen,\r\n setUploadModalIsOpen,\r\n setUploadRowState,\r\n loadsAssignedOrders,\r\n }) => {\r\n const rowRef = useRef({});\r\n const loadArea = state[resource];\r\n const isSubOrder = loadsAssignedOrders.filter(order => order.rowState.isSub && \r\n order.rowState.id === data.rowState.loadId &&\r\n data.rowState.type === 'order')[0];\r\n const color = data.rowState.reacted ? 'lightgray' :\r\n isSubOrder ? '#b4d5bc' :\r\n data.rowState.type === 'load' ? '#65A7A5' :\r\n data.rowState.type === 'stop' ? '#D9EBEB' :\r\n 'white';\r\n\r\n const subOrdersOrderIDs = loadArea?.subOrders?.map(sub => sub.orderId);\r\n const hasSubOrder = data?.rowState.type === 'order' && subOrdersOrderIDs?.includes(data?.rowState.orderData?.id) && !isSubOrder;\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n reactOnAssignedItem(resource, data.rowState.id, data.rowState.type);\r\n }, [reactOnAssignedItem, data, resource]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n const header = loadArea.headers.find(h => h.key === i.key);\r\n\r\n if (header.leftAction) {\r\n return ();\r\n }\r\n\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n reactOnAssignedItem: (resource, id, type) => dispatch(reactOnAssignedItem(resource, id, type)),\r\n}))(Row);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth } from '../../../../store/actions/callCheck/callCheck';\r\n\r\nconst HeaderCell = ({state, ind, setHeaderWidth, resource}) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0,\r\n maxWidth: `${data.width-1}px`,\r\n width: `${data.width-1}px`,\r\n minWidth: `${data.width-1}px`,\r\n }\r\n };\r\n }\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n const headerCall = (\r\n \r\n {data.title}\r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return data.leftAction ? headerCall : resizableHeaderCall;\r\n};\r\n\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({state, resource }) => {\r\n const loadArea = state[resource];\r\n return (\r\n
    \r\n {loadArea.headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","export const createSeparator = (itemDefaultSize, headers, type, ind, loadId, regionId) => ({\r\n row: [{\r\n key: headers[0].key,\r\n value: '',\r\n editable: false,\r\n height: itemDefaultSize\r\n }],\r\n rowState: {\r\n type: 'separator',\r\n id: `${type}_separator_${ind}`,\r\n loadId,\r\n regionId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: 4\r\n }\r\n});","import React, { useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport moment from 'moment';\r\nimport { Upload, message } from 'antd';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport { setItemData } from '../../../../store/actions/callCheck/callCheck';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport './index.css';\r\n\r\nconst UploadModal = ({ state, rowState, setItemData, uploadModalIsOpen, setUploadModalIsOpen }) => {\r\n const closeModal = () => {\r\n setUploadModalIsOpen(false);\r\n };\r\n\r\n const resource = 'callCheck';\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === 'podDoc');\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const orderGuid = rowState.loadData?.loadType === 1 ? rowState.orderData.callCheckInAttachment?.guid : rowState.loadData?.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.guid : '';\r\n const [guid, setGuid] = useState(orderGuid);\r\n\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '360px',\r\n minHeight: '140px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n closeModal();\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n setGuid(result.guId);\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment.id : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment.id : '';\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: guid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n } else {\r\n callCheckAttachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n comments: '',\r\n isNew: true,\r\n deleted: false,\r\n external: true,\r\n };\r\n }\r\n setItemData(resource, callCheckAttachment, rowState, header);\r\n };\r\n \r\n return (\r\n \r\n
    \r\n
    Did you verify all case counts on this load?
    \r\n
    \r\n \r\n
    Verified
    \r\n
    \r\n
    Close
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadModal);\r\n","import React, { useState, useMemo, useRef, useEffect, useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { VariableSizeList } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { createSelectable, SelectableGroup } from '../../../components/custom/reactSelectable';\r\nimport { load, resetError, filterCallChecks, reactOnAssignedItems } from '../../../../store/actions/callCheck/callCheck';\r\nimport { getContentWidth } from '../../../../store/reducers/callCheck/helper/general';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport { createSeparator } from '../../../../store/reducers/callCheck/helper/separator';\r\nimport { Dropdown, Space, message, Menu } from 'antd';\r\nimport Loading from \"../../screen/loading\";\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport UploadModal from './UploadModal'; \r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\n\r\nconst Spreadsheet = props => {\r\n const { \r\n state,\r\n loadsAssignedOrders,\r\n resetError,\r\n haseError,\r\n actionMessage,\r\n loading,\r\n load,\r\n resource,\r\n filterCallChecks,\r\n filterType,\r\n reactOnAssignedItems,\r\n selectable,\r\n userId,\r\n } = props;\r\n\r\n const [uploadModalIsOpen, setUploadModalIsOpen] = useState(false);\r\n const [uploadRowState, setUploadRowState] = useState('');\r\n const scrollSizeSmall = 18;\r\n const scrollSize = 16;\r\n const defRowHeight = 20;\r\n const assignedRef = useRef({});\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n load(resource, 'withoutLoading');\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n load(resource);\r\n }, [load, resource]);\r\n\r\n useEffect(() => {\r\n filterCallChecks(resource, filterType)\r\n }, [filterCallChecks, filterType, resource])\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n const header = useMemo(() =>\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n ,\r\n [resource]);\r\n \r\n const width = getContentWidth(state[resource].headers) + scrollSize;\r\n const extraScrollVisibility = window.innerWidth > width ? 'none' : 'flex';\r\n\r\n const byPODStatusIN = (loadsAssignedOrders, status) => {\r\n const filteredList = [];\r\n for (let i = 0; i < loadsAssignedOrders?.length; i++) {\r\n if(loadsAssignedOrders[i].ordersData) {\r\n for (let j = 0; j < loadsAssignedOrders[i].ordersData.length; j++) {\r\n if (loadsAssignedOrders[i].ordersData[j].rowState?.orderData?.inPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n break;\r\n }\r\n }\r\n } else {\r\n if (loadsAssignedOrders[i].rowState?.orderData?.inPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n }\r\n }\r\n }\r\n return filteredList.filter(item => item.rowState.loadData.loadType === 1);\r\n };\r\n\r\n const byPODStatusOUT = (loadsAssignedOrders, status) => {\r\n const filteredList = [];\r\n for (let i = 0; i < loadsAssignedOrders?.length; i++) {\r\n if(loadsAssignedOrders[i].ordersData) {\r\n for (let j = 0; j < loadsAssignedOrders[i].ordersData.length; j++) {\r\n if (loadsAssignedOrders[i].ordersData[j].rowState?.orderData?.outPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n break;\r\n }\r\n }\r\n } else {\r\n if (loadsAssignedOrders[i].rowState?.orderData?.outPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n }\r\n }\r\n }\r\n return filteredList.filter(item => item.rowState.loadData.loadType === 3);\r\n };\r\n \r\n const byPODStatus = (loadsAssignedOrders, type) => {\r\n return [...byPODStatusIN(loadsAssignedOrders, type), ...byPODStatusOUT(loadsAssignedOrders, type)];\r\n };\r\n\r\n let filteredData = [];\r\n if (filterType === 'byIn') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 1);\r\n } else if (filterType === 'byOut') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 3);\r\n } else if (filterType === 'byPODReceived') {\r\n filteredData = byPODStatus(loadsAssignedOrders, 1);\r\n } else if (filterType === 'byPODRequested') {\r\n filteredData = byPODStatus(loadsAssignedOrders, 2);\r\n } else if (filterType === 'all') {\r\n filteredData = loadsAssignedOrders;\r\n };\r\n\r\n const handleMouseEndSelectionAssigned = useCallback(selectedItems => {\r\n reactOnAssignedItems(resource, selectedItems.filter(i => i.rowState.type === 'order').map(i => i.rowState.id), 'order');\r\n }, [reactOnAssignedItems, resource]);\r\n\r\n const displayLoadsAssignedOrders = useMemo(() =>\r\n !filteredData || filteredData.length === 0\r\n ? [createSeparator(defRowHeight, state[resource].headers, 'load', 0)] : filteredData, [filteredData, state, resource]);\r\n \r\n const myLoadsAssignedOrders = useMemo(() => displayLoadsAssignedOrders.filter(d => d.rowState?.visible), [displayLoadsAssignedOrders]);\r\n\r\n const getAsignedItemSize = useCallback(\r\n index => myLoadsAssignedOrders[index] ? myLoadsAssignedOrders[index].rowState.height : defRowHeight,\r\n [myLoadsAssignedOrders]);\r\n \r\n const RenderAssignedRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getAsignedItemSize, resource, uploadModalIsOpen]);\r\n\r\n const SelectableComponent = useMemo(() => createSelectable(Row), []);\r\n\r\n const SelectableAssignedRow = useCallback(({ data, index, style }) => {\r\n return index !== undefined && data[index]\r\n ? \r\n : null\r\n }, [getAsignedItemSize, resource]);\r\n\r\n const allOrdersList = useMemo(() => loadsAssignedOrders &&\r\n \r\n {({ height }) => (\r\n \r\n { listReference.current = el }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll' }}\r\n itemData={myLoadsAssignedOrders}\r\n itemCount={myLoadsAssignedOrders.length}\r\n height={height}\r\n itemSize={getAsignedItemSize}>\r\n {selectable ? SelectableAssignedRow : RenderAssignedRow}\r\n \r\n \r\n )}\r\n \r\n , [loadsAssignedOrders, getAsignedItemSize, RenderAssignedRow, selectable, SelectableAssignedRow, handleMouseEndSelectionAssigned]);\r\n\r\n const content = (<>\r\n
    \r\n {header}\r\n
    \r\n
    \r\n
    {allOrdersList}
    \r\n
    onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n {uploadModalIsOpen && \r\n \r\n }\r\n );\r\n\r\n const handleSelectChange = e => {\r\n filterCallChecks(resource, e.key);\r\n };\r\n\r\n const menu = (\r\n \r\n All\r\n IN\r\n OUT\r\n POD requested\r\n POD received\r\n \r\n );\r\n const refreshPage = e => {\r\n load(resource);\r\n };\r\n const subHeader = (\r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Filter\r\n \r\n \r\n
    Refresh
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n\r\n return <>\r\n {subHeader}{loading ? : <>{content}};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.callCheck.loadsAssignedOrders,\r\n loading: state.callCheck.loading,\r\n haseError: state.callCheck.hasError,\r\n actionMessage: state.callCheck.message,\r\n filterType: state.callCheck.filterType,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n load: (resource, loadingType) => dispatch(load(resource, loadingType)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n filterCallChecks: (resource, key) => dispatch(filterCallChecks(resource, key)),\r\n reactOnAssignedItems: (resource, ids, type) => dispatch(reactOnAssignedItems(resource, ids, type)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Spreadsheet);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\n","import React from 'react';\r\nimport AdminCallCheckSpreadsheet from '../../AdminCallCheck/spreadsheet';\r\n\r\nconst AdminCallCheckBuld = () => (\r\n \r\n \r\n
    \r\n);\r\n\r\nexport default AdminCallCheckBuld;\r\n","import { useSelector } from \"react-redux\";\r\n\r\nexport const FactoringCompanySelectors = () => {\r\n const state = useSelector(state => state);\r\n const loading = useSelector(state => state.factoringCompany.loading);\r\n const factoringCompanyList = useSelector(state => state.factoringCompany.factoringCompanyList);\r\n const factoringCompanyDetails = useSelector(state => state.factoringCompany.factoringCompanyDetails);\r\n const sortType = useSelector(state => state.factoringCompany.sortType);\r\n const messageText = useSelector(state => state.factoringCompany.messageText);\r\n const hasError = useSelector(state => state.factoringCompany.hasError);\r\n const statesList = useSelector(state => state.factoringCompany.statesList);\r\n const newFactoryAdded = useSelector(state => state.factoringCompany.newFactoryAdded);\r\n const factoryCompanyUpdated = useSelector(state => state.factoringCompany.factoryCompanyUpdated);\r\n const submitActinType = useSelector(state => state.factoringCompany.submitActinType);\r\n\r\n return { \r\n state, \r\n loading,\r\n factoringCompanyList, \r\n factoringCompanyDetails, \r\n sortType, \r\n messageText, \r\n hasError, \r\n statesList, \r\n newFactoryAdded,\r\n factoryCompanyUpdated,\r\n submitActinType,\r\n };\r\n};","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './factoringCompanyActionTypes';\r\n\r\nconst buildUrl = (resource, id) => id ? `/api/${resource}/${id}` : `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getFactoringCompanyList = (resource, companyName, email) => dispatch => {\r\n const data = {\r\n params: {\r\n filterData: { companyName: companyName, email: email }\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FACTORING_COMPANY_LIST_LOADING) });\r\n axios\r\n .get(buildUrl(resource), data, axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FACTORING_COMPANY_LIST), data: response }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const getFactoringCompanyDetails = (resource, id) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FACTORING_COMPANY_DETAILS_LOADING) });\r\n axios\r\n .get(buildUrl(resource, id), axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_FACTORING_COMPANY_DETAILS), data: response }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const addFactoringCompany = (resource, factoringCompanyNewData, submitActinType) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_FACTORING_COMPANY_LOADING) });\r\n axios\r\n .post(buildUrl(resource), factoringCompanyNewData, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: response.data.message });\r\n } else {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ADD_FACTORING_COMPANY), data: { response, submitActinType} })\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const updateFactoringCompany = (resource, factoringCompanyNewData, submitActinType) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_FACTORING_COMPANY_LOADING) });\r\n axios\r\n .put(buildUrl(resource), factoringCompanyNewData, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR), data: response.data.message });\r\n } else {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_FACTORING_COMPANY), data: { response, submitActinType} })\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const deleteFactoringCompany = (resource, id) => dispatch => {\r\n const filterData = {\r\n params: { id: id },\r\n headers: axiosConfig().headers,\r\n}; \r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELETE_FACTORING_COMPANY_LOADING) });\r\n axios\r\n .delete(buildUrl(resource), filterData, axiosConfig())\r\n .then(response => {\r\n if (response) {\r\n setTimeout(window.location.replace(`/otr/factoringCompany`), 1000)\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const emptyFactoringCompanyDetails = (resource) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.EMPTY_FACTORING_COMPANY_DETAILS),\r\n });\r\n}\r\n\r\nexport const getStatesListByCountryId = (resource, id) => dispatch => {\r\n axios\r\n .get(buildUrl(resource, id), axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_STATES_LIST), data: response }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_FACTORING_COMPANY), data: sortValue\r\n });\r\n}\r\n\r\nexport const setHeaderWidth = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_FACTORING_COMPANY),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\n// const errorAction = (resource, reload, errorText) => dispatch => {\r\n// if (reload) {\r\n// axios.get(buildUrl(resource),\r\n// axiosConfig()\r\n// )\r\n// .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR), \r\n// data: {\r\n// response, errorText,\r\n// }}))\r\n// .catch((err) => {\r\n// console.error(err);\r\n// console.log(err.response);\r\n// dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n// });\r\n// }\r\n// };","import React from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidth, sortBy } from '../../../../store/actions/factoringCompany/factoringCompany';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { FactoringCompanySelectors } from '../../../../store/selectors/factoringCompanySelectors';\r\n\r\nconst HeaderCell = ({ ind, resource }) => {\r\n const { state, sortType } = FactoringCompanySelectors();\r\n const dispatch = useDispatch();\r\n const factoringCompany = state[resource];\r\n const data = factoringCompany?.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n const onResize = s => {\r\n dispatch(setHeaderWidth(resource, ind, s.size.width));\r\n };\r\n\r\n const upArrowColor = sortType === 'asc' ? '#3E8A86' : '';\r\n const downArrowColor = sortType === 'desc' ? '#3E8A86' : '';\r\n\r\n let headerCall =\r\n
    \r\n {data.title}\r\n {data.sortable &&\r\n
    \r\n dispatch(sortBy(resource, 'asc'))} style={{ color: upArrowColor }} />\r\n dispatch(sortBy(resource, 'desc'))} style={{ color: downArrowColor }} />\r\n
    \r\n }\r\n
    ;\r\n\r\n const resizableHeaderCall = (\r\n { e.stopPropagation()}}\r\n />\r\n }\r\n onResize={(_, s) => onResize(s)}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nexport default HeaderCell;","import React from 'react';\r\nimport HeaderCell from './headerCell'\r\nimport { FactoringCompanySelectors } from '../../../../store/selectors/factoringCompanySelectors';\r\n\r\nconst HeaderRow = ({ resource }) => {\r\n const { state } = FactoringCompanySelectors();\r\n const headers = state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default HeaderRow;","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { FactoringCompanySelectors } from '../../../../store/selectors/factoringCompanySelectors';\r\n\r\nconst Cell = ({ cellData, itemSize, resource, rowState }) => {\r\n const history = useHistory();\r\n const { state } = FactoringCompanySelectors();\r\n const header = state[resource].headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let data = cellData.value;\r\n const id = rowState.factoringCompanyData.id;\r\n\r\n const getData = () => {\r\n if (data !== '' && data !== null) {\r\n switch (cellData.fieldType) {\r\n case 'text':\r\n return {data};\r\n case 'link':\r\n const path = `factoringDetails/${id}`; \r\n return (\r\n
    history.replace(path)} className='factoring__link-name'>{data}
    \r\n );\r\n default:\r\n return data;\r\n }\r\n }\r\n return data;\r\n };\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n backgroundColor: cellData.backgroundColor,\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {getData()}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Cell;\r\n","import React from 'react';\r\nimport Cell from './cell';\r\n\r\nconst Row = ({ data, itemSize, resource, style }) => {\r\n const cellContent = (i, ind) => {\r\n return ();\r\n };\r\n\r\n return data ? \r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\n export default Row;","import React, { useEffect, useRef, useCallback, useMemo } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { message } from 'antd';\r\nimport { FactoringCompanySelectors } from '../../../../store/selectors/factoringCompanySelectors';\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { getFactoringCompanyList, resetError, sortBy } from '../../../../store/actions/factoringCompany/factoringCompany';\r\nimport { getContentWidth } from '../../../helper/common';\r\n\r\nconst FactoringCompany = ({ resource, filteredFactoringData }) => {\r\n const dispatch = useDispatch();\r\n const { state, loading, messageText, hasError } = FactoringCompanySelectors();\r\n const defRowHeight = 20;\r\n const scrollSmall = 18;\r\n const factoringCompanyRef = useRef(null);\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const factoringCompanyHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers);\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (factoringCompanyHeaderReference.current && listReference.current && e.target) {\r\n factoringCompanyHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(getFactoringCompanyList(resource));\r\n }, [dispatch, resource]);\r\n\r\n useEffect(() => {\r\n dispatch(sortBy(resource, 'asc'))\r\n }, [dispatch, resource]);\r\n \r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(messageText, 3);\r\n setTimeout(() => dispatch(resetError(resource), 3000));\r\n }\r\n }, [hasError, resource, messageText, dispatch]);\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getFactoringCompanyListItemSize = useCallback(\r\n index => filteredFactoringData?.[index] ? filteredFactoringData[index].rowState.height : defRowHeight,\r\n [filteredFactoringData]);\r\n\r\n const RenderFactoryCompanyListRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getFactoringCompanyListItemSize, resource]);\r\n\r\n const allFactoringCompanyList = useMemo(() => filteredFactoringData &&\r\n \r\n {({ height }) => (\r\n { listReference.current = el }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll', borderRight: '1px solid #F0F0F0' }}\r\n itemData={filteredFactoringData}\r\n itemCount={filteredFactoringData.length}\r\n height={filteredFactoringData && (filteredFactoringData.length * defRowHeight) > height ? height: filteredFactoringData.length * defRowHeight}\r\n itemSize={getFactoringCompanyListItemSize}>\r\n {RenderFactoryCompanyListRow}\r\n )}\r\n \r\n , [filteredFactoringData, getFactoringCompanyListItemSize, RenderFactoryCompanyListRow]);\r\n\r\n const content = (<>\r\n
    \r\n {header}\r\n
    \r\n
    \r\n
    {allFactoringCompanyList}
    \r\n
    onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n return <>{loading ? : <>{content}};\r\n};\r\n\r\nexport default (FactoringCompany);","import React from 'react';\r\nimport * as Yup from 'yup';\r\nimport { phoneRegExp } from '../../../../codeless/helper/common';\r\nimport { message } from 'antd';\r\nimport { Field, ErrorMessage } from 'formik';\r\n\r\nexport const countryStateListURL = 'Location/statekeyvaluelist';\r\nexport const countryIdUSA = 234;\r\nexport const countryIdCanada = 40;\r\n\r\nexport const getCSVData = factoringCompany => {\r\n let CSVData = [];\r\n for (let i = 0; i < factoringCompany?.length; i++) {\r\n let object = {\r\n Name: factoringCompany[i]?.rowState.factoringCompanyData.companyName,\r\n Terms: factoringCompany[i]?.rowState.factoringCompanyData.terms,\r\n 'Mailing Address': factoringCompany[i]?.rowState.factoringCompanyData.mailingAddress,\r\n 'Additional Address': factoringCompany[i]?.rowState.factoringCompanyData.additionalAddress,\r\n City: factoringCompany[i]?.rowState.factoringCompanyData.city,\r\n State: factoringCompany[i]?.rowState.factoringCompanyData.state,\r\n 'Zip Code': factoringCompany[i]?.rowState.factoringCompanyData.zipCode,\r\n Email: factoringCompany[i]?.rowState.factoringCompanyData.email,\r\n Phone: factoringCompany[i]?.rowState.factoringCompanyData.phone,\r\n Notes: factoringCompany[i]?.rowState.factoringCompanyData.notes,\r\n }\r\n CSVData.push(object);\r\n };\r\n\r\n return CSVData;\r\n}\r\n\r\nexport const terms = [\r\n { label: 'NET 15', text: 'NET 15', value: 'NET 15' },\r\n { label: 'NET 21', text: 'NET 21', value: 'NET 21' },\r\n { label: 'NET 30', text: 'NET 30', value: 'NET 30' },\r\n { label: 'NET 45', text: 'NET 45', value: 'NET 45' },\r\n { label: 'DD', text: 'DD', value: 'DD' },\r\n];\r\n\r\nexport const countries = [\r\n { label: 'USA', text: 'USA', value: countryIdUSA },\r\n { label: 'Canada', text: 'Canada', value: countryIdCanada },\r\n];\r\n\r\nexport const validationSchema = Yup.object().shape({\r\n companyName: Yup.string().required('Company name is required').nullable(),\r\n terms: Yup.string().nullable(),\r\n mailingAddress: Yup.string().required('Mailing Address is required').nullable(),\r\n additionalAddress: Yup.string().nullable(),\r\n city: Yup.string().required('City is required').nullable(),\r\n stateId: Yup.string().required('State is required').nullable(),\r\n zipCode: Yup.number().typeError('Zip code should be number').required('Zip code is required').nullable(),\r\n countryId: Yup.string().required('Country is required').nullable(),\r\n email: Yup.string().email('Invalid email').nullable(),\r\n phone: Yup.string().matches(phoneRegExp, 'Phone number is not valid').nullable(),\r\n ext: Yup.number().typeError('Ext should be number').nullable(),\r\n notes: Yup.string().nullable(),\r\n active: Yup.bool().nullable(),\r\n});\r\n\r\nconst max = 5;\r\nexport const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf('.') + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const InputField = (touched, errors, values, label, name) => {\r\n return (\r\n
    \r\n
    {label}
    \r\n \r\n {errors &&
    {errors[name]}
    }\r\n
    \r\n )\r\n}","import React, { useState, useEffect, useRef } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport { Input } from 'antd';\r\nimport FactoringCompany from '../../FactoringCompany/spreadsheet';\r\nimport { getContentWidth } from '../../../../helper/common';\r\nimport HideShowMenuSwitch from '../../../layout/hideShowMenuSwitch';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Formik, Form, Field, ErrorMessage } from 'formik';\r\nimport { getFactoringCompanyList } from '../../../../../store/actions/factoringCompany/factoringCompany';\r\nimport { getCSVData } from '../../../project/FactoringCompany/helper'\r\nimport { FactoringCompanySelectors } from '../../../../../store/selectors/factoringCompanySelectors';\r\n\r\nconst FactoringCompanyBuild = () => {\r\n const dispatch = useDispatch();\r\n const formikRef = useRef();\r\n const { state, factoringCompanyList } = FactoringCompanySelectors();\r\n const resource = 'factoringCompany';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + 18;\r\n const style = { maxWidth: width };\r\n const [open, setOpen] = useState(false);\r\n const history = useHistory();\r\n const [filteredFactoringData, setFilteredFactoringData] = useState(factoringCompanyList);\r\n\r\n const handleClearAll = setFieldValue => {\r\n setFieldValue('companyName', '');\r\n setFieldValue('email', '')\r\n };\r\n\r\n useEffect(() => {\r\n setFilteredFactoringData(factoringCompanyList);\r\n}, [factoringCompanyList]);\r\n\r\n const refreshPage = resetForm => {\r\n dispatch(getFactoringCompanyList(resource))\r\n resetForm()\r\n };\r\n\r\n const CSVHeaders = state[resource].headers.map(column => ({\r\n label: column.title,\r\n key: column.title,\r\n }));\r\n const CSVData = getCSVData(factoringCompanyList);\r\n\r\nconst search = e => {\r\n let newList = [...factoringCompanyList];\r\n if (e.target.value){\r\n newList = newList?.filter(factory => {\r\n const searchFactory = factory.row\r\n .filter(item => item.key === \"name\" || item.key === \"mailingAddress\" || item.key === \"zipCode\");\r\n const bool = searchFactory.filter(item1 => item1.value?.toLowerCase().search(e.target.value?.toLowerCase()) !== -1)\r\n return bool.length\r\n })\r\n setFilteredFactoringData(newList)\r\n } else {\r\n setFilteredFactoringData(newList)\r\n }\r\n};\r\n\r\n const subHeader = (<>\r\n
    \r\n
    \r\n
    \r\n \r\n
    refreshPage(formikRef.current.resetForm)}>Refresh
    \r\n \r\n Download\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return (<>\r\n {subHeader}\r\n
    \r\n
    setOpen(true)}>\r\n Expande\r\n Filters\r\n grid\r\n
    \r\n\r\n
    \r\n
    \r\n
    setOpen(false)}>\r\n grid\r\n Filters \r\n \r\n .\r\n Collapse\r\n \r\n
    \r\n {\r\n // setButtonDisabled(true);\r\n dispatch(getFactoringCompanyList(resource, values.companyName, values.email));\r\n }}>\r\n {({ isSubmitting, isValid, values, setFieldValue, setFieldTouched, errors, touched, handleSubmit }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    Name
    \r\n \r\n \r\n
    Email
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default FactoringCompanyBuild;\r\n","export const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: '0',\r\n boxShadow: 'none',\r\n width: '100%',\r\n cursor: 'notAllowed',\r\n background: 'rgba(136, 136, 136, 0.1)',\r\n border: 'none',\r\n minHeight: '20px',\r\n height: '20px',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n marginTop: '4px',\r\n }),\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important',\r\n overflowY: 'scroll',\r\n height: '200px',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n input: (base, state) => ({\r\n padding: 0,\r\n margin: 0,\r\n }),\r\n options: (base, state) => ({\r\n padding: '3px 12px',\r\n cursor: 'pointer',\r\n borderRadius: 'unset',\r\n }),\r\n indicatorsContainer: () => ({\r\n marginRight: '4px',\r\n }),\r\n indicatorContainer: () => ({\r\n padding: '0 4px 8px 0',\r\n }),\r\n};\r\n\r\nexport const customStylesForCountries = {\r\n ...customStyles,\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important',\r\n height: '72px',\r\n }),\r\n};\r\n\r\nexport const warningModalStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n};","import React, { useState, useEffect } from 'react';\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\nimport axios from '../../../axios/axios';\r\nimport errorHandler from '../../../error/errorHandler';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\n\r\nconst ThumbnailImage = props => {\r\n const [loading, setLoading] = useState(false);\r\n const [imageUrl, setImageUrl] = useState(null);\r\n const { guid, width, height, originalName } = props;\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchData = async () => {\r\n if (!guid) {\r\n return;\r\n }\r\n if (isMounted) {\r\n setLoading(true);\r\n }\r\n const response = await axios.get(`${ApiUrl.Thumbnail}/${width}/${height}/${guid}`, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).finally(() => {\r\n if (isMounted) {\r\n setLoading(false);\r\n }\r\n });\r\n if (isMounted) {\r\n const reader = new FileReader();\r\n reader.addEventListener(\"load\", function () {\r\n setImageUrl(reader.result);\r\n }, false);\r\n if (response) {\r\n reader.readAsDataURL(new File([response.data], originalName));\r\n }\r\n }\r\n };\r\n fetchData();\r\n return () => { isMounted = false };\r\n }, [width, height, guid, originalName]);\r\n\r\n if (loading)\r\n {\r\n return ;\r\n }\r\n if (imageUrl) {\r\n return {originalName}\r\n }\r\n return null;\r\n};\r\n\r\nexport default errorHandler(ThumbnailImage, axios);","import React, { createRef } from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nexport function AuthenticatedLink({ url, filename, children }) {\r\n const link = createRef()\r\n\r\n const handleAction = async (event) => {\r\n if (link.current.href && link.current.href !== encodeURI(`${event.currentTarget.baseURI}${filename}`))\r\n {\r\n setTimeout(() => {\r\n link.current.href = filename;\r\n }, 100);\r\n \r\n return;\r\n }\r\n axios.get(url, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).then(response => {\r\n new File([response.data], filename);\r\n const href = window.URL.createObjectURL(response.data);\r\n link.current.download = filename;\r\n link.current.href = href;\r\n link.current.click();\r\n });\r\n event.preventDefault();\r\n };\r\n return ({children});\r\n};\r\n\r\nexport default errorHandler(AuthenticatedLink, axios);","import React from 'react';\r\nimport Modal from 'react-modal';\r\nimport { warningModalStyles } from './customStyles';\r\n\r\nconst WarningModal = ({ warningModalIsOpen, setWarningModalIsOpen, text }) => {\r\n const closeModal = () => {\r\n setWarningModalIsOpen(false);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    {text}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default WarningModal;","import React, { useEffect, useState, useCallback } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { withRouter, useHistory } from 'react-router-dom';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport Select from 'react-select';\r\nimport InputMask from 'react-input-mask';\r\nimport { message, Upload, Checkbox } from 'antd';\r\nimport { DownOutlined } from '@ant-design/icons';\r\nimport axios from '../../../axios/axios';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport { getFactoringCompanyDetails, \r\n getFactoringCompanyList,\r\n addFactoringCompany, \r\n updateFactoringCompany,\r\n deleteFactoringCompany, \r\n resetError, \r\n getStatesListByCountryId,\r\n emptyFactoringCompanyDetails,\r\n} from '../../../../store/actions/factoringCompany/factoringCompany';\r\nimport { FactoringCompanySelectors } from '../../../../store/selectors/factoringCompanySelectors';\r\nimport { customStyles, customStylesForCountries } from './customStyles';\r\nimport ThumbnailImage from './thumbnailImage';\r\nimport AuthenticatedLink from './authenticatedLink';\r\nimport Loading from \"../../screen/loading\";\r\nimport WarningModal from './warningModal';\r\nimport { terms, countries, validationSchema, restrictions, countryStateListURL, countryIdUSA, countryIdCanada, InputField } from './helper';\r\n\r\nconst AddFactoringCompanyDetails = ({ location }) => {\r\n const dispatch = useDispatch();\r\n const { loading, factoringCompanyDetails, factoringCompanyList, messageText, hasError, statesList, newFactoryAdded, factoryCompanyUpdated, submitActinType } = FactoringCompanySelectors();\r\n const resource = 'factoringCompany';\r\n const id = location.pathname.split('/')[3];\r\n const history = useHistory();\r\n let submitAction = '';\r\n const [ buttonDisabled, setButtonDisabled ] = useState(false);\r\n const [ fileName, setFileName ] = useState(factoringCompanyDetails?.fileName || '');\r\n const [ guid, setGuid ] = useState(factoringCompanyDetails?.guid || '');\r\n const [ countryLocal, setCountry ] = useState('');\r\n const [ warningModalIsOpen, setWarningModalIsOpen ] = useState(false);\r\n const [ warningModalText, setWarningModalText ] = useState('');\r\n const [ fileCont, setFileCont ] = useState(null);\r\n\r\n useEffect(() => {\r\n if (Number(id) !== 0) dispatch(getFactoringCompanyDetails(resource, id));\r\n return () => dispatch(emptyFactoringCompanyDetails(resource));\r\n }, [resource, id, dispatch]);\r\n\r\n useEffect(() => {\r\n setGuid(factoringCompanyDetails?.guid);\r\n }, [factoringCompanyDetails]);\r\n\r\n useEffect(() => {\r\n dispatch(getFactoringCompanyList(resource));\r\n}, [dispatch, resource]);\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(messageText);\r\n dispatch(resetError(resource));\r\n }\r\n }, [dispatch, hasError, messageText, resource]);\r\n\r\n useEffect(() => {\r\n if (factoryCompanyUpdated && messageText) {\r\n message.success(messageText);\r\n dispatch(resetError(resource));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [factoryCompanyUpdated]);\r\n \r\n\r\n useEffect(() => {\r\n if (newFactoryAdded && messageText) {\r\n message.success(messageText);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [newFactoryAdded]);\r\n\r\n useEffect(() => {\r\n if (submitActinType === 'SAVE & NEW' && newFactoryAdded && factoringCompanyDetails?.id) {\r\n setTimeout(() => window.location.replace('/otr/factoringDetails/0'), 2500);\r\n } else if (submitActinType === 'SAVE & NEW' && factoryCompanyUpdated) {\r\n setTimeout(() => window.location.replace('/otr/factoringDetails/0'), 2500);\r\n } else if (newFactoryAdded && factoringCompanyDetails?.id) {\r\n setTimeout(() => history.replace(`/otr/factoringDetails/${factoringCompanyDetails.id}`), 2500);\r\n }\r\n }, [history, factoringCompanyDetails, submitActinType, dispatch, newFactoryAdded, factoryCompanyUpdated]);\r\n\r\n useEffect(() => {\r\n if (Number(factoringCompanyDetails?.countryId) === countryIdCanada) {\r\n dispatch(getStatesListByCountryId(countryStateListURL, countryIdCanada));\r\n } else if (Number(factoringCompanyDetails?.countryId) === countryIdUSA) {\r\n dispatch(getStatesListByCountryId(countryStateListURL, countryIdUSA));\r\n }\r\n }, [dispatch, factoringCompanyDetails]);\r\n\r\n useEffect(() => {\r\n if (Number(countryLocal) === countryIdCanada) {\r\n dispatch(getStatesListByCountryId(countryStateListURL, countryIdCanada));\r\n } else if (Number(countryLocal) === countryIdUSA) {\r\n dispatch(getStatesListByCountryId(countryStateListURL, countryIdUSA));\r\n }\r\n }, [dispatch, factoringCompanyDetails, countryLocal]);\r\n\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n setFileName(result.originalName);\r\n setGuid(result.guId);\r\n };\r\n\r\n const onDelete = (id) => {\r\n setGuid(null);\r\n setFileName(null);\r\n }\r\n\r\n const states = statesList?.map(state => ({ ...state, label: state.text }));\r\n\r\n const getTextFromValues = useCallback((value, list) => {\r\n return list?.length ? list?.filter(item => item.value === value)[0]?.text : [];\r\n }, []);\r\n\r\n const getIdFromValues = useCallback((value, list) => {\r\n return list?.length ? list?.filter(item => Number(item.value) === Number(value))[0]?.text : [];\r\n }, []);\r\n \r\n const handleSubmitSave = (values, submitAction) => {\r\n const updatedFactoringCompany = {\r\n ...factoringCompanyDetails,\r\n companyName: values.companyName,\r\n terms: values.terms,\r\n mailingAddress: values.mailingAddress,\r\n additionalAddress: values.additionalAddress,\r\n city: values.city,\r\n stateId: values.stateId,\r\n zipCode: values.zipCode,\r\n countryId: values.countryId,\r\n email: values.email,\r\n phone: values.phone,\r\n ext: values.ext,\r\n fileName: fileName,\r\n guid: guid,\r\n notes: values.notes,\r\n active: values.active,\r\n };\r\n\r\n let companyNameIsExist = false;\r\n let companyNameIsExistAndNotCurrent = false;\r\n if (factoringCompanyList?.filter(factory => factory.rowState.factoringCompanyData.companyName === values.companyName).length > 0) {\r\n companyNameIsExist = true;\r\n };\r\n if (factoringCompanyList?.filter(factory => \r\n factory.rowState.factoringCompanyData.companyName === values.companyName &&\r\n values.companyName !== factoringCompanyDetails?.companyName).length > 0) {\r\n companyNameIsExistAndNotCurrent = true;\r\n };\r\n\r\n // add FactoringCompany\r\n if (Number(id) === 0 && companyNameIsExist) {\r\n setWarningModalIsOpen(true);\r\n setWarningModalText(\"Company name should be unique\");\r\n } else if (Number(id) === 0 && !companyNameIsExist) {\r\n dispatch(addFactoringCompany(resource, updatedFactoringCompany, submitAction ))\r\n }\r\n\r\n // update FactoringCompany\r\n if (Number(id) !== 0 && companyNameIsExistAndNotCurrent) {\r\n setWarningModalIsOpen(true);\r\n setWarningModalText(\"Company name should be unique\");\r\n } else if (Number(id) !== 0 && !companyNameIsExistAndNotCurrent) {\r\n dispatch(updateFactoringCompany(resource, updatedFactoringCompany, submitAction));\r\n }\r\n\r\n setButtonDisabled(false);\r\n };\r\n\r\n const handleSetFieldValue = (fieldName, value, setFieldValue, setFieldTouched) => {\r\n setFieldValue(fieldName, value); \r\n setTimeout(() => setFieldTouched(fieldName, true));\r\n if (fieldName === 'countryId') {\r\n setCountry(value)\r\n }\r\n };\r\n\r\n const handleDelete = () => {\r\n dispatch(deleteFactoringCompany(resource, id));\r\n }\r\n\r\n if (loading) {\r\n return
    \r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n history.replace(`/otr/factoringCompany`)} className='factoring-company__header-back'>{'<'}\r\n \r\n {factoringCompanyDetails?.companyName ? factoringCompanyDetails?.companyName : 'New Factoring Company'}\r\n
    \r\n
    \r\n {\r\n setButtonDisabled(true);\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n if (\r\n factoringCompanyDetails?.companyName === values.companyName &&\r\n factoringCompanyDetails?.terms === values.terms &&\r\n factoringCompanyDetails?.mailingAddress === values.mailingAddress &&\r\n factoringCompanyDetails?.additionalAddress === values.additionalAddress &&\r\n factoringCompanyDetails?.city === values.city &&\r\n factoringCompanyDetails?.stateId === values.stateId &&\r\n factoringCompanyDetails?.zipCode === values.zipCode &&\r\n factoringCompanyDetails?.countryId === values.countryId &&\r\n factoringCompanyDetails?.email === values.email &&\r\n factoringCompanyDetails?.phone === values.phone &&\r\n factoringCompanyDetails?.ext === values.ext &&\r\n factoringCompanyDetails?.fileName === fileName &&\r\n factoringCompanyDetails?.guid === guid &&\r\n factoringCompanyDetails?.notes === values.notes &&\r\n factoringCompanyDetails?.active === values.active\r\n ) {\r\n setWarningModalIsOpen(true);\r\n setWarningModalText(\"You didn't make any changes\");\r\n setButtonDisabled(false);\r\n } else {\r\n handleSubmitSave(values, submitAction);\r\n }\r\n }, 400);\r\n }}>\r\n {({ isSubmitting, isValid, values, setFieldValue, setFieldTouched, errors, touched, handleSubmit }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {InputField(touched, errors, values, 'Company Name', 'companyName')}\r\n\r\n
    \r\n
    Terms
    \r\n handleSetFieldValue('terms', option.value, setFieldValue, setFieldTouched)}\r\n styles={customStyles}\r\n isSearchable={false}\r\n components={{ DropdownIndicator:() => , IndicatorSeparator:() => null }}\r\n />\r\n
    \r\n \r\n {InputField(touched, errors, values, 'Mailing Address', 'mailingAddress')}\r\n {InputField(touched, errors, values, 'Additional Address', 'additionalAddress')}\r\n\r\n
    \r\n
    Country
    \r\n handleSetFieldValue('countryId', option.value, setFieldValue, setFieldTouched)}\r\n styles={customStylesForCountries}\r\n isSearchable={false}\r\n components={{ DropdownIndicator:() => , IndicatorSeparator:() => null }}\r\n />\r\n {errors &&
    {errors.countryId}
    }\r\n
    \r\n\r\n
    \r\n
    State
    \r\n handleSetFieldValue('stateId', option.value, setFieldValue, setFieldTouched)}\r\n styles={customStyles}\r\n components={{ DropdownIndicator:() => , IndicatorSeparator:() => null }}\r\n />\r\n {errors &&
    {errors.stateId}
    }\r\n
    \r\n\r\n {InputField(touched, errors, values, 'City', 'city')}\r\n {InputField(touched, errors, values, 'Zip Code', 'zipCode')}\r\n
    \r\n\r\n
    \r\n\r\n {InputField(touched, errors, values, 'Email', 'email')}\r\n\r\n
    \r\n
    Phone
    \r\n setFieldValue('phone', e.target.value)}\r\n className='factoring-company__input'\r\n />\r\n {errors.phone ?
    Phone number is not valid
    : ''}\r\n
    \r\n\r\n {InputField(touched, errors, values, 'Ext', 'ext')}\r\n\r\n
    \r\n \r\n {guid ? : \r\n
    \r\n
    +
    \r\n
    Upload
    \r\n
    }\r\n
    \r\n {guid ? \r\n
    \r\n
    \r\n delete\r\n
    \r\n \r\n download\r\n \r\n
    \r\n : null}\r\n
    \r\n\r\n
    \r\n
    Notes
    \r\n \r\n
    \r\n\r\n
    \r\n setFieldValue('active', e.target.checked)}\r\n component={Checkbox}\r\n defaultValue={false}\r\n checked={values.active}>\r\n
    Active
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }}\r\n \r\n {warningModalIsOpen && \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default withRouter(AddFactoringCompanyDetails);\r\n","import axios from 'axios';\r\nimport moment from 'moment';\r\nimport store from '../..';\r\nimport * as actionTypes from './deliveredLoadsActionTypes';\r\n\r\nconst buildUrl = (resource, endpoint = '') => `/api/${resource}/${endpoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const load = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_LOADS_LOADING) });\r\n };\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_LOADS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_LOADS_ERROR) });\r\n })\r\n};\r\n\r\nexport const reactOnAssignedItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNED_DELIVERED_LOADS), data: { id, type } });\r\n\r\nexport const setHeaderWidth = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_DELIVERED_LOADS), data: { ind, width } });\r\n\r\nexport const setItemData = (resource, value, rowState, header, loadsAssignedOrders) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DELIVERED_LOADS_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n\r\n let requestData = {};\r\n let orderDelayedReasonByCall;\r\n let orderStatusByCall;\r\n let orderNotesByCall;\r\n let loadCallCheckNote;\r\n let pickInDate;\r\n let pickOutDate;\r\n let dropInDate;\r\n let dropOutDate;\r\n let podRequestStatus;\r\n let callCheckAttachment;\r\n let browserDateTime = moment.utc(new Date()).local().utc(true).format();\r\n\r\n const order = rowState.orderData;\r\n if (rowState.loadData.loadType === 3) {\r\n orderDelayedReasonByCall = order.outDelayedReason;\r\n orderStatusByCall = order.outOrderStatusByCall;\r\n orderNotesByCall = order?.outNotes;\r\n podRequestStatus = order?.outPodRequestStatus\r\n pickInDate = order.outboundPickIn;\r\n pickOutDate = order.outboundPickOut;\r\n dropInDate = order.outboundDropIn;\r\n dropOutDate = order.outboundDropOut;\r\n callCheckAttachment = order.callCheckOutAttachment;\r\n loadCallCheckNote = order.outLoadCallCheckNote;\r\n } else if (rowState.loadData.loadType === 1) {\r\n orderDelayedReasonByCall = order.inDelayedReason;\r\n orderStatusByCall = order.inOrderStatusByCall;\r\n orderNotesByCall = order.inNotes;\r\n podRequestStatus = order?.inPodRequestStatus;\r\n pickInDate = order.inboundPickIn;\r\n pickOutDate = order.inboundPickOut;\r\n dropInDate = order.inboundDropIn;\r\n dropOutDate = order.inboundDropOut;\r\n callCheckAttachment = order.callCheckInAttachment;\r\n loadCallCheckNote = order.inLoadCallCheckNote;\r\n }\r\n requestData = {\r\n orderId: order.id,\r\n loadId: rowState.loadData?.id,\r\n orderStatusByCall,\r\n orderDelayedReasonByCall,\r\n orderNotesByCall,\r\n podRequestStatus,\r\n loadCallCheckNote,\r\n callCheckAttachment,\r\n pickInDate,\r\n pickOutDate,\r\n dropInDate,\r\n dropOutDate,\r\n browserDateTime,\r\n }\r\n\r\n if (header.key === 'orderStatusByCall') {\r\n requestData.orderStatusByCall = value;\r\n requestData.orderDelayedReasonByCall = null;\r\n } else if (header.key === 'delayedReason') {\r\n requestData.orderDelayedReasonByCall = value;\r\n } else if (header.key === 'orderNotesByCall') {\r\n requestData.orderNotesByCall = value;\r\n } else if (header.key === 'podRequestStatus') {\r\n requestData.podRequestStatus = value;\r\n } else if (header.key === 'podDoc') {\r\n requestData.callCheckAttachment = value;\r\n } else if (header.key === 'pickInDate') {\r\n requestData.pickInDate = value;\r\n } else if (header.key === 'pickOutDate') {\r\n requestData.pickOutDate = value;\r\n } else if (header.key === 'dropInDate') {\r\n requestData.dropInDate = value\r\n } else if (header.key === 'dropOutDate') {\r\n requestData.dropOutDate = value;\r\n } else if (header.key === 'loadCallCheckNote') {\r\n requestData.loadCallCheckNote = value;\r\n }\r\n\r\n axios.put(buildUrl('AccountPayable', 'loadorderitem'), requestData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else if ((response.data.callCheckInAttachment || response.data.callCheckOutAttachment) && header.key === 'podDoc') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_DELIVERED_LOADS_DATA), data: {\r\n value: rowState.loadData.loadType === 1 ? response.data.callCheckInAttachment :\r\n rowState.loadData.loadType === 3 ? response.data.callCheckOutAttachment : '',\r\n rowState,\r\n header\r\n }\r\n })\r\n } else if (header.key === 'orderNotesByCall') {\r\n dispatch(reloadAfterUpdate(resource))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE_DELIVERED_LOADS), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const filterDeliveredLoads = (resource, key) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_DELIVERED_LOADS),\r\n data: key\r\n});\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_DELIVERED_LOADS), data: sortValue\r\n });\r\n}\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_DELIVERED_LOADS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_LOADS_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource) => dispatch => {\r\n axios.get(buildUrl(resource, 'area'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DELIVERED_LOADS), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.DELIVERED_LOADS_ERROR) });\r\n });\r\n};","export const createSeparator = (itemDefaultSize, headers, type, ind, loadId, regionId) => ({\r\n row: [{\r\n key: headers[0].key,\r\n value: '',\r\n editable: false,\r\n height: itemDefaultSize\r\n }],\r\n rowState: {\r\n type: 'separator',\r\n id: `${type}_separator_${ind}`,\r\n loadId,\r\n regionId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: 4\r\n }\r\n});","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { Tooltip, Popover } from 'antd';\r\nimport { setItemDisplayState } from '../../../../store/actions/deliveredLoads/deliveredLoads';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport './index.css';\r\n\r\nconst Cell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n setItemData,\r\n setItemDisplayState,\r\n resource,\r\n loadsAssignedOrders,\r\n }) => {\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const selectOptionsPalletTypes = { null: '', 1: 'Straight', 2: 'Chimney', 3: 'Other', 4: 'Sideways' };\r\n const width = header.width;\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n\r\n const ordersAssignedToCurrentLoad = loadsAssignedOrders.filter(order => order.rowState.loadData.id === rowState.loadId && order.rowState.type === 'order');\r\n const poNumbers = ordersAssignedToCurrentLoad.map(order => order.rowState.orderData.poNumber).join(', ');\r\n const mailBodyText = `Please send POD for the bellow PO#s: ${poNumbers}`;\r\n const carrierEmail = rowState.loadData.carrierEmail;\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\n const data = cellData.value;\r\n const podNotesHistory = cellData?.value2;\r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n const setData = value => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n if (!dataCompare(newValue, tempData)) {\r\n setTempData(newValue); \r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header);\r\n }, 100);\r\n }\r\n };\r\n\r\n const getData = () => { \r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''}\r\n case 'dateTime':\r\n return
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date) : ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time) : ''}
    \r\n
    ;\r\n case 'link':\r\n return {tempData}\r\n case 'text':\r\n if (header.key === 'loadPositionType') {\r\n return selectOptionsPalletTypes[tempData];\r\n } else if (header.key === 'carrierName' && rowState.type === 'load') {\r\n return (\r\n \r\n {tempData}\r\n )\r\n } else {\r\n return tempData;\r\n }\r\n case 'popover':\r\n return (\r\n \r\n {tempData}\r\n \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData\r\n };\r\n\r\n let splittedData = [];\r\n if (header.key === 'orderNotesByCall' && podNotesHistory && podNotesHistory?.[0]) {\r\n splittedData = podNotesHistory?.split(',');\r\n };\r\n\r\n const content = splittedData.length ? (\r\n
    \r\n \r\n \r\n \r\n \r\n {splittedData?.map(data => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n Created By       Data Time     Status note
    {data}
    \r\n
    \r\n ) :
    You don't have any notes
    ;\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'textInput':\r\n return {\r\n setData(value.currentTarget.value)\r\n }}\r\n style={{ cursor: 'pointer', textAlign: 'center', width: 'inherit' }}\r\n className={header.key === 'loadCallCheckNote' ? 'green__BG' : ''}\r\n />;\r\n default: return <>;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? (\r\n {displayState === redonly ? getData() : getInput()}\r\n ) : displayState === redonly ? getData() : getInput();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n return (\r\n \r\n {dataDisplay()}\r\n
    \r\n);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.deliveredLoads.loadsAssignedOrders,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);","import { DownOutlined, UpOutlined} from '@ant-design/icons';\r\nimport React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LeftActionCall = ({\r\n state,\r\n cellData,\r\n reacted,\r\n itemSize,\r\n onClickRow,\r\n bgColor,\r\n innerRef,\r\n type,\r\n resource,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '17px',\r\n left: 0,\r\n backgroundColor: bgColor,\r\n };\r\n\r\n const cellStyleValue = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: bgColor,\r\n left: 0\r\n };\r\n\r\n const arrowColor = type === 'stop' ? '#000000' : '#FFFFFF';\r\n\r\n return (\r\n <>\r\n {\r\n type === 'load' || type === 'stop' ?\r\n
    { onClickRow() }}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {reacted ? : }\r\n
    :\r\n
    { onClickRow() }}>\r\n {cellData.value}\r\n
    \r\n }\r\n \r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(LeftActionCall);","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport Cell from './cell';\r\nimport LeftActionCall from './leftActionCall';\r\nimport { reactOnAssignedItem } from '../../../../store/actions/deliveredLoads/deliveredLoads';\r\n\r\nconst Row = ({\r\n data,\r\n style,\r\n itemSize,\r\n reactOnAssignedItem,\r\n state,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n}) => {\r\n const rowRef = useRef({});\r\n const loadArea = state[resource];\r\n const color = data.rowState.type === 'load' ? '#65A7A5' : data.rowState.type === 'stop' ? '#D9EBEB' : 'white';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n reactOnAssignedItem(resource, data.rowState.id, data.rowState.type);\r\n }, [reactOnAssignedItem, data, resource]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n\r\n const cellContent = (i, ind) => {\r\n const header = loadArea.headers.find(h => h.key === i.key);\r\n\r\n if (header.leftAction) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return data ? (\r\n
    \r\n {data.row.map(cellContent)}\r\n
    \r\n ) : null;\r\n };\r\n\r\nexport default connect(\r\n state => ({\r\n state: state,\r\n }),\r\n dispatch => ({\r\n reactOnAssignedItem: (resource, id, type) => dispatch(reactOnAssignedItem(resource, id, type)),\r\n }),\r\n)(Row);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport {setHeaderWidth, sortBy} from '../../../../store/actions/deliveredLoads/deliveredLoads';\r\nimport { CaretUpOutlined , CaretDownOutlined} from '@ant-design/icons';\r\n\r\nconst HeaderCell = ({state, ind, setHeaderWidth, resource, sortBy}) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0,\r\n maxWidth: `${data.width-1}px`,\r\n width: `${data.width-1}px`,\r\n minWidth: `${data.width-1}px`,\r\n }\r\n };\r\n }\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n const sortableClick = () => {\r\n if(state.deliveredLoads.sortType && state.deliveredLoads.sortType.sort && state.deliveredLoads.sortType.sort[0] === \"ask\"){\r\n sortBy(resource, {type: data.key, ind, sort: ['desc']})\r\n } else if(state.deliveredLoads.sortType && state.deliveredLoads.sortType.sort === null){\r\n sortBy(resource, {type: data.key, ind, sort: ['ask']})\r\n } else {\r\n sortBy(resource, {type: data.key, ind, sort: null})\r\n }\r\n }\r\n const headerCall = (\r\n data.sortable && sortableClick()\r\n }>\r\n
    \r\n {data.title}\r\n {data.sortable &&\r\n
    \r\n {state.deliveredLoads.sortType && state.deliveredLoads.sortType.sort && state.deliveredLoads.sortType.sort[0] === \"ask\" &&\r\n \r\n }\r\n {state.deliveredLoads.sortType && state.deliveredLoads.sortType.sort && state.deliveredLoads.sortType.sort[0] === \"desc\" &&\r\n \r\n }\r\n {state.deliveredLoads.sortType && !state.deliveredLoads.sortType.sort &&\r\n <>\r\n \r\n \r\n }\r\n
    \r\n }\r\n
    \r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n return data.leftAction ? headerCall : resizableHeaderCall;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({state, resource }) => {\r\n const loadArea = state[resource];\r\n return (\r\n
    \r\n {loadArea.headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useMemo, useRef, useEffect, useCallback } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { VariableSizeList } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { Dropdown, Space, message, Menu, Button } from 'antd';\r\nimport { orderBy } from 'lodash';\r\nimport { resetError, filterDeliveredLoads } from '../../../../store/actions/deliveredLoads/deliveredLoads';\r\nimport { load } from '../../../../store/actions/deliveredLoads/deliveredLoads';\r\nimport { getContentWidth } from '../../../../store/reducers/deliveredLoads/helper/general';\r\nimport { createSeparator } from '../../../../store/reducers/deliveredLoads/helper/separator';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport Loading from '../../screen/loading';\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\n\r\nconst Spreadsheet = props => {\r\n const { state, \r\n loadsAssignedOrders,\r\n resetError,\r\n haseError,\r\n actionMessage,\r\n loading,\r\n load,\r\n resource, \r\n filterDeliveredLoads,\r\n filterType,\r\n sortType,\r\n userId,\r\n } = props;\r\n\r\n const scrollSizeSmall = 18;\r\n const scrollSize = 16;\r\n const defRowHeight = 20;\r\n const assignedRef = useRef({});\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n load('deliverdLoads', 'withoutLoading')\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n load('deliverdLoads', '');\r\n }, [load, resource]);\r\n\r\n useEffect(() => {\r\n filterDeliveredLoads(resource, filterType);\r\n }, [filterDeliveredLoads, filterType, resource]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => (mainScroll.current.scrollLeft = width);\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft = listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n const header = useMemo(\r\n () => (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n ),\r\n [resource],\r\n );\r\n\r\n const width = getContentWidth(state[resource].headers) + scrollSize;\r\n const extraScrollVisibility = window.innerWidth > width ? 'none' : 'flex';\r\n\r\n let filteredData = loadsAssignedOrders;\r\n if (filterType === 'byIn') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 1);\r\n } else if (filterType === 'byOut') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 3);\r\n } else if (filterType === 'all') {\r\n filteredData = loadsAssignedOrders;\r\n }\r\n if (sortType && sortType.sort !== null) {\r\n let newList = [];\r\n let newListTwo = [];\r\n const newArr = [...filteredData];\r\n newArr.forEach((item, index) => {\r\n if (item.rowState.type === 'load') {\r\n newListTwo = orderBy(newListTwo, [c => c.row[sortType.ind].value], sortType.sort);\r\n newList = [...newList, ...newListTwo, item];\r\n newListTwo.length = 0;\r\n } else if (index === newArr.length - 1) {\r\n newListTwo.push(item);\r\n newListTwo = orderBy(newListTwo, [c => c.row[sortType.ind].value], sortType.sort);\r\n newList = [...newList, ...newListTwo];\r\n } else {\r\n newListTwo.push(item);\r\n }\r\n });\r\n filteredData = newList;\r\n // filteredData = orderBy(filteredData, [c => c.row[sortType.ind].value], sortType.sort);\r\n }\r\n const displayLoadsAssignedOrders = useMemo(\r\n () => (!filteredData || filteredData.length === 0 ? [createSeparator(defRowHeight, state[resource].headers, 'load', 0)] : filteredData),\r\n [filteredData, state, resource],\r\n );\r\n\r\n const myLoadsAssignedOrders = useMemo(() => displayLoadsAssignedOrders.filter(d => d.rowState.visible), [displayLoadsAssignedOrders]);\r\n\r\n const getAsignedItemSize = useCallback(\r\n index => (myLoadsAssignedOrders[index] ? myLoadsAssignedOrders[index].rowState.height : defRowHeight),\r\n [myLoadsAssignedOrders],\r\n );\r\n\r\n const RenderAssignedRow = useCallback(\r\n ({ data, index, style }) =>\r\n index !== undefined && data[index] ? (\r\n \r\n ) : null,\r\n [getAsignedItemSize, resource],\r\n );\r\n\r\n const allOrdersList = useMemo(\r\n () =>\r\n myLoadsAssignedOrders && (\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll' }}\r\n itemData={myLoadsAssignedOrders}\r\n itemCount={myLoadsAssignedOrders.length}\r\n height={height}\r\n itemSize={getAsignedItemSize}>\r\n {RenderAssignedRow}\r\n \r\n \r\n )}\r\n \r\n ),\r\n [myLoadsAssignedOrders, getAsignedItemSize, RenderAssignedRow],\r\n );\r\n\r\n const content = (\r\n <>\r\n
    \r\n {header}\r\n \r\n
    \r\n
    {allOrdersList}
    \r\n onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n\r\n const handleSelectChange = e => {\r\n filterDeliveredLoads(resource, e.key);\r\n };\r\n\r\n const menu = (\r\n \r\n All\r\n IN\r\n OUT\r\n \r\n );\r\n\r\n const refreshPage = () => {\r\n load('deliverdLoads');\r\n };\r\n\r\n const subHeader = (\r\n \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Filter\r\n \r\n \r\n Refresh\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n return (<> \r\n {loading ? \r\n () : (\r\n <>{subHeader}{content}\r\n )}\r\n );\r\n };\r\n\r\n const mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.deliveredLoads.loadsAssignedOrders && state.deliveredLoads.loadsAssignedOrders.filter(item => item.rowState.type !== 'stop'),\r\n loading: state.deliveredLoads.loading,\r\n haseError: state.deliveredLoads.hasError,\r\n actionMessage: state.deliveredLoads.message,\r\n filterType: state.deliveredLoads.filterType,\r\n sortType: state.deliveredLoads.sortType,\r\n userId: state.auth.userId,\r\n });\r\n\r\n const mapDispatchToProps = dispatch => ({\r\n load: (resource, loadingType) => dispatch(load(resource, loadingType)),\r\n resetError: (resource, method) => dispatch(resetError(resource, false, method)),\r\n filterDeliveredLoads: (resource, key) => dispatch(filterDeliveredLoads(resource, key)),\r\n });\r\n\r\n export default connect(mapStateToProps, mapDispatchToProps)(Spreadsheet);\r\n","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\n","import React from 'react';\r\nimport DeliveredLoads from '../../DeliveredLoads/spreadsheet';\r\n\r\nconst DeliveredBuild = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default DeliveredBuild;\r\n"," import React from 'react';\r\n import List from '../../../list/list';\r\n \r\n const AdminOrderBuild = props => {\r\n return (\r\n \r\n )\r\n };\r\n \r\n export default AdminOrderBuild;\r\n\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './locationsActionTypes';\r\n\r\nconst buildUrl = (resource, param) => `/api/${resource}/${param}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getLocations = (resource, param) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOCATIONS_LOADING) });\r\n axios.get(buildUrl(resource, param),\r\n axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_LOCATIONS), data: response }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOCATIONS_ERROR) });\r\n })\r\n};","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './loadDetailsActionTypes';\r\n\r\nconst buildUrl = (resource, id) => `/api/${resource}/${id}`;\r\nconst buildUrlCarrier = (resource, url, carrierId) => (carrierId ? `/api/${resource}/${url}?selectedId=${carrierId}` : `/api/${resource}/${url}`);\r\nconst buildUrlDetails = (resource, id, carriedId) => `/api/${resource}/${id}/${carriedId}`;\r\nconst buildUrlEFS = (resource, id) => (id ? `/api/${resource}/${id}` : `/api/${resource}`);\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const getLoadDetails = (resource, id, noLoading) => dispatch => {\r\n if (noLoading !== 'noLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n }\r\n axios\r\n .get(buildUrl(resource, id), axiosConfig())\r\n .then(response => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_LOAD_DETAILS), data: response }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const setLoadDetails = (resource, loadDetails, loadId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_LOAD_DETAILS),\r\n data: {\r\n loadDetails,\r\n },\r\n });\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n axios\r\n .put(buildUrlEFS(resource), loadDetails, axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message, loadId));\r\n console.error(response.data.message);\r\n }\r\n dispatch(reloadAfterUpdate(resource, loadId));\r\n })\r\n .catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nexport const clearLoadDetailsData = resource => ({ type: actionTypes.getActionType(resource, actionTypes.CLEAR_LOAD_DETAILS_DATA) });\r\n\r\nconst errorAction = (resource, reload, errorText, loadId) => dispatch => {\r\n if (reload) {\r\n axios\r\n .get(buildUrl(resource, loadId), axiosConfig())\r\n .then(responce =>\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_LOAD_DETAILS),\r\n data: {\r\n responce,\r\n errorText,\r\n },\r\n }),\r\n )\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource, loadId) => dispatch => {\r\n axios\r\n .get(buildUrl(resource, loadId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_LOAD_DETAILS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getCarrierList = (resource, carrierId) => dispatch => {\r\n // dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n axios\r\n .get(buildUrlCarrier(resource, 'expirationdatevaluelistempty', carrierId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CARRIER_LIST), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getTrucksList = (resource, carrierId) => dispatch => {\r\n // dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n axios\r\n .get(buildUrlDetails(resource, 'truckvaluelist', carrierId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_TRUCKS_LIST), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getDriversList = (resource, carrierId) => dispatch => {\r\n // dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n axios\r\n .get(buildUrlDetails(resource, 'phonevaluelistempty', carrierId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_DRIVERS_LIST), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getTrailersList = (resource, carrierId) => dispatch => {\r\n // dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_LOADING) });\r\n axios\r\n .get(buildUrlDetails(resource, 'trailervaluelistempty', carrierId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_TRAILERS_LIST), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getEmptyEFS = resource => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.EMPTY_EFS_LOADING) });\r\n axios\r\n .get(buildUrlEFS(resource, '0'), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_EMPTY_EFS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.EMPTY_EFS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getEFS = (resource, efsId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_EFS_LOADING) });\r\n axios\r\n .get(buildUrlEFS(resource, efsId), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_EFS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_EFS_ERROR) });\r\n });\r\n};\r\n\r\nexport const getEFSList = (resource, loadId) => dispatch => {\r\n const data = {\r\n params: {\r\n // request: {\r\n // Page: 1,\r\n // PageSize: 100,\r\n // Sorts: null\r\n // },\r\n filterData: { LoadId: loadId },\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.EFS_LIST_LOADING) });\r\n axios\r\n .get(buildUrlEFS(resource), data, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_EFS_LIST), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.EFS_LIST_ERROR) });\r\n });\r\n};\r\n\r\nexport const setEFS = (resource, newEFSData) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_EFS_LOADING) });\r\n axios\r\n .post(buildUrlEFS(resource), newEFSData, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_EFS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_EFS_ERROR) });\r\n });\r\n};\r\n\r\nexport const updateEFS = (resource, newEFSData) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_EFS_LOADING) });\r\n axios\r\n .put(buildUrlEFS(resource), newEFSData, axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_EFS), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_EFS_ERROR) });\r\n });\r\n};\r\n","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './rateConfirmationActionTypes';\r\n\r\nconst buildUrl = (resource, id) => `/api/${resource}/${id}`;\r\nconst buildUrlPDF = (resource, id) => `/api/${resource}/download/${id}`;\r\nconst buildUrlPDFSend = (resource, sendPDF) => sendPDF ? `/api/${resource}/sendrateconfirmation` : `/api/${resource}`;\r\nconst buildUrlCarrierRate = (resource, carrierId) => `/api/${resource}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const getRateConfirmationData = (resource, loadId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_LOADING) });\r\n axios.get(buildUrl(resource, loadId),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_DATA), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_ERROR) });\r\n })\r\n};\r\n\r\nexport const sendRateConfirmationData = (resource, data, sendPDF = false) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_LOADING) });\r\n axios.put(buildUrlPDFSend(resource, sendPDF), data,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_DATA), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_ERROR) });\r\n })\r\n};\r\n\r\nexport const getCarierRateConfirmation = (resource, carrierId) => dispatch => {\r\n const data = {\r\n params: {\r\n request: {\r\n Page: 1,\r\n PageSize: 100,\r\n Sorts: null\r\n },\r\n filterData: { carrierId: carrierId},\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n // dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CARRIER_RATE_CONFIRMATION_LOADING) });\r\n axios.get(buildUrlCarrierRate(resource, carrierId), data,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CARRIER_RATE_CONFIRMATION_DATA), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CARRIER_RATE_CONFIRMATION_ERROR) });\r\n })\r\n};\r\n\r\nexport const getRateConfirmationDataPDF = (resource, loadId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_LOADING) });\r\n axios.get(buildUrlPDF(resource, loadId), { \r\n headers: { 'Authorization': 'Bearer ' + store.getState().auth.userToken },\r\n responseType: 'blob' })\r\n .then(response => {\r\n //Create a Blob from the PDF Stream\r\n console.log(response)\r\n const file = new Blob(\r\n [response.data], \r\n {type: 'application/pdf'}\r\n );\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(file);\r\n //Open the URL on new Window\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_PDF_URL), data: fileURL });\r\n window.open(fileURL);\r\n }) \r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_RATE_CONFIRMATION_ERROR) });\r\n })\r\n};\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\n// const errorAction = (resource, reload, errorText) => dispatch => {\r\n// if (reload) {\r\n// axios.get(buildUrl(resource),\r\n// axiosConfig()\r\n// )\r\n// .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_LOAD_DETAILS), data: {\r\n// responce, \r\n// errorText,\r\n// }}))\r\n// .catch((err) => {\r\n// console.error(err);\r\n// console.log(err.response);\r\n// dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n// });\r\n// }\r\n// };\r\n\r\n// const reloadAfterUpdate = (resource, loadId) => dispatch => {\r\n// axios.get(buildUrl(resource, loadId),\r\n// axiosConfig()\r\n// )\r\n// .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_LOAD_DETAILS), data: responce }))\r\n// .catch((err) => {\r\n// console.error(err);\r\n// console.log(err.response);\r\n// dispatch({ type: actionTypes.getActionType(resource, actionTypes.LOAD_DETAILS_ERROR) });\r\n// });\r\n// };\r\n","import React from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { Formik, Form, Field, ErrorMessage } from 'formik';\r\nimport Select from 'react-select'\r\nimport * as Yup from 'yup';\r\nimport moment from 'moment';\r\nimport './index.css';\r\nimport { setEFS, updateEFS, getEFSList } from '../../../../store/actions/loadDetails/loadDetails';\r\nimport Loading from \"../../screen/loading\";\r\n\r\nconst EFSModal = ({\r\n setEFSModalIsOpen,\r\n EFSModalIsOpen,\r\n loading,\r\n EFSData,\r\n EFSLoading,\r\n getEFSList,\r\n setEFS,\r\n loadId,\r\n updateEFS,\r\n isEditMode,\r\n userRole,\r\n }) => {\r\n \r\n const resource = 'LoadEFS';\r\n const isAdmin = userRole === 'Admin';\r\n \r\n const closeModal = () => {\r\n setEFSModalIsOpen(false);\r\n };\r\n\r\n let submitAction = '';\r\n\r\n const efsPaymentMethodOptions = [\r\n { \"value\": \"Advance\", \"text\": \"Advance\", \"label\": \"Advance\" },\r\n { \"value\": \"Other\", \"text\": \"Other\", \"label\": \"Other\"}\r\n ];\r\n\r\n const customStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '300px',\r\n maxWidth: '600px',\r\n maxHeight: '600px', \r\n borderRadius: '8px',\r\n padding: loading ? '0 0 8px 0' : '0',\r\n },\r\n };\r\n\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: state.isFocused ? \"lightGray\" : \"lightGray\",\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '37px',\r\n width: '100%',\r\n cursor: 'notAllowed',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '20',\r\n }),\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important'\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '5px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n margin: '4px 0',\r\n }),\r\n options: (base, state) => ({\r\n padding: '4px 8px',\r\n cursor: 'pointer',\r\n borderRadius: 'unset'\r\n }),\r\n };\r\n\r\n const handleSubmitSave = (values, submitAction) => {\r\n let updatedEFS = {\r\n ...EFSData, \r\n paymentMethod: values.paymentMethod,\r\n amount: values.amount,\r\n cardNumber: values.cardNumber,\r\n note: values.comment,\r\n email: values.email,\r\n loadId: loadId,\r\n }\r\n if (submitAction === 'Issue') {\r\n setEFS(resource, updatedEFS);\r\n }\r\n if (submitAction === 'Send') {\r\n updatedEFS = {\r\n ...updatedEFS, \r\n efsStatus: 4\r\n };\r\n updateEFS(resource, updatedEFS);\r\n }\r\n setTimeout(() => getEFSList('LoadEFS', loadId), 4000);\r\n closeModal();\r\n };\r\n\r\n const handleReject = (values) => {\r\n let updatedEFS = {\r\n ...EFSData, \r\n note: values.comment,\r\n email: values.email,\r\n loadId: loadId,\r\n efsStatus: 3\r\n }\r\n updateEFS(resource, updatedEFS);\r\n setTimeout(() => getEFSList('LoadEFS', loadId), 3000);\r\n closeModal();\r\n };\r\n\r\n const validationSchema = Yup.object().shape({\r\n paymentMethod: Yup.string().required('Required'),\r\n amount: Yup.number().integer().positive().required('Required'),\r\n cardNumber: isAdmin ? Yup.string().required('Required') : Yup.string().nullable(),\r\n comment: Yup.string().nullable(),\r\n email: isEditMode && EFSData?.efsStatusStr === 'Requested' ? Yup.string().nullable() : \r\n isEditMode ? Yup.string().email('Invalid email').required('Driver mail is required') : Yup.string().nullable(),\r\n });\r\n\r\n return (\r\n \r\n
    \r\n {EFSLoading ?
    : <>\r\n
    \r\n
    X
    \r\n
    {isEditMode ? 'EFS' : 'New EFS'}
    \r\n
    \r\n {\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n handleSubmitSave(values, submitAction);\r\n }, 400);\r\n }}\r\n >\r\n {({ isSubmitting, isValid, values, setFieldValue, errors, touched, handleSubmit }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n {isEditMode &&
    \r\n
    Status
    \r\n
    {EFSData?.efsStatusStr}
    \r\n
    Created Date
    \r\n
    {moment.utc(EFSData?.createDate).utcOffset(4).format(\"MM/DD/YY\")}
    \r\n
    Created By
    \r\n
    {EFSData?.createByStr}
    \r\n
    }\r\n\r\n
    \r\n
    EFS
    \r\n {\r\n setSelValue(value);\r\n }}\r\n >\r\n {statusOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n { setPickOrDelNumber(e.target.value) }}\r\n ref={extraInputRef} \r\n type=\"text\"\r\n placeholder={cellDataKey === 'inboundPickAppointment' || \r\n cellDataKey === 'outboundPickAppointment' ? 'Pick #' : 'Del #'}\r\n id=\"externalInput\"\r\n className='appts-selector__input'\r\n style={{ backgroundColor: delOrPickNumberColor ? delOrPickNumberColor : 'white' }}>\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n />\r\n {isHistoryModalOpen &&\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default AppointmentSelector;","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport moment from 'moment'\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { DatePicker, InputNumber, Select, Tooltip, message } from 'antd';\r\nimport { DownOutlined } from '@ant-design/icons';\r\nimport CurrencyInput from 'react-currency-input-field';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/loadArea/loadArea';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport './index.css';\r\nimport LoadDetailsModal from './loadDetailsModal';\r\nimport AppointmentSelector from './appointmentSelector';\r\nimport HistoryModal from './HistoryModal';\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n startOnScroll,\r\n rowState,\r\n setItemData,\r\n setItemDisplayState,\r\n resource,\r\n reacted,\r\n delOrPickNumberColor,\r\n selectedOrder,\r\n }) => {\r\n const location = useLocation();\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const selectNameOptionsPalletTypes = [{ name: 'Straight', id: 1 }, { name: 'Chimney', id: 2 }, { name: 'Other', id: 3 }, { name: 'Sideways', id: 4 }];\r\n const selectOptionsPalletTypes = { 1: 'Straight', 2: 'Chimney', 3: 'Other', 4: 'Sideways' };\r\n const selectNameOption = [{ name: 'Open', id: 2 }, { name: 'Pending', id: 3 }, { name: 'Confirmed', id: 4 }, { name: 'Change', id: 1 } ];\r\n const selectOption = { 2: 'Open', 3: 'Pending', 4: 'Confirmed', 1: 'Change' };\r\n const temperatureNames = { 1: 'Frozen', 2: 'Chilled', 3: 'Dry', 4: 'C|F' };\r\n\r\n const locations = state?.locations?.locations;\r\n const weekArray = Array.from(Array(moment().weeksInYear()), (_, x) => x+1);\r\n const weekNow = new Date().getWeek()\r\n const spliceWeekList = weekArray.splice(weekArray.indexOf(weekNow))\r\n const weekList = spliceWeekList.map((item,index) => ({ \"value\": `${item }`, \"text\": `${item }` }))\r\n const isSub = rowState.isSub;\r\n const orderHasSub = loadArea.subOrders?.find(sub => sub?.orderId === rowState?.orderData?.id);\r\n const isOrder = rowState.type === 'order';\r\n\r\n let data = null;\r\n let secondaryData = null;\r\n let thirdData = null;\r\n let forthData = null;\r\n let fifthData = null;\r\n let sixthData = null;\r\n if (Array.isArray(cellData.value)) {\r\n data = cellData.value.length > 0 ? cellData.value[0] : null;\r\n secondaryData = cellData.value.length > 1 ? cellData.value[1] : null;\r\n thirdData = cellData.value.length > 2 ? cellData.value[2] : null;\r\n forthData = cellData.value.length > 3 ? cellData.value[3] : null;\r\n fifthData = cellData.value.length > 4 ? cellData.value[4] : null;\r\n sixthData = cellData.value.length > 5 ? cellData.value[5] : null;\r\n } else {\r\n data = cellData.value;\r\n };\r\n \r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const secondValue = cellData.secondValue;\r\n const thirdValue = cellData.thirdValue;\r\n\r\n const width = header?.width;\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header?.key;\r\n\r\n const [isDetailsModalOpen, setDetailsModalToOpen] = useState(false);\r\n const [isHistoryModalOpen, setHistoryModalOpen] = useState(false);\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n const [valueData, setValueData] = useState(null);\r\n const [updatedValue, setUpdatedValue] = useState(thirdValue);\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(editable);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\n useEffect(() => {\r\n if ((headerKey === 'poNumber' || headerKey === 'soNumber' || headerKey === 'customerCodeOrName') && cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n }, [cellData.editable, headerKey]);\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n setValueData(data);\r\n }, [data]);\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const rowSelectApptsColorClass = status => { \r\n switch (Number(status)) {\r\n case 2: return 'open_style';\r\n case 1: return 'change_style';\r\n case 3: return 'pending_style';\r\n case 4: return 'confirmed_style';\r\n default: return '';\r\n }\r\n };\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n case 'appointmentSelector':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n case 'integer':\r\n return Number(newData) === Number(data);\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n \r\n const throwNeededMessage = (headerKey) => {\r\n if (headerKey === 'cases' || headerKey === 'space') {\r\n message.error(\"Cannot exceed original count\");\r\n }\r\n if (headerKey === 'weight') {\r\n message.error(\"Exceeded original limit\");\r\n }\r\n if (headerKey === 'palletCount') {\r\n message.error(\"Exceeds original count\");\r\n }\r\n }\r\n\r\n const setData = (value, h, ft) => {\r\n if (header.key === 'cases' && value < 0) {\r\n message.error(\"The case can't be a negative value\");\r\n return\r\n }\r\n if ((h === 'palletCount' || h === 'case' || h === 'space' || h === 'weight') && !dataCompare(value, tempData) && !isSub) {\r\n setUpdatedValue(true);\r\n }\r\n if (Array.isArray(value)) {\r\n onSetBlur();\r\n setTimeout(() => {\r\n setItemData(resource, value, rowState);\r\n }, 100);\r\n } else if (value === 'unColor' && !isSub) {\r\n setUpdatedValue(false);\r\n onSetBlur();\r\n setTimeout(() => {\r\n setItemData(resource, 'unColor', rowState, h);\r\n }, 100);\r\n } else {\r\n h = h === undefined ? header : loadArea.allHeaders.find(hed => hed.key === h);\r\n ft = ft === undefined ? cellData.fieldType : ft;\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (ft) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n case 'appointmentSelector':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'integer':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'selectManifest':\r\n newValue = value;\r\n break;\r\n case 'decimal':\r\n newValue = value;\r\n break;\r\n case 'currency':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n if (!dataCompare(newValue, tempData)) {\r\n setTempData(newValue); \r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, h);\r\n }, 100);\r\n }\r\n }\r\n };\r\n\r\n let rowSelectAppts_color__class = \r\n tempData === 1 && (header.key === 'inboundAppointmentStatus' || header.key === 'outboundAppointmentStatus') ? 'change_style' : \r\n tempData === 2 && (header.key === 'inboundAppointmentStatus' || header.key === 'outboundAppointmentStatus') ? 'open_style': \r\n tempData === 3 && (header.key === 'inboundAppointmentStatus' || header.key === 'outboundAppointmentStatus') ? 'pending_style' :\r\n tempData === 4 && (header.key === 'inboundAppointmentStatus' || header.key === 'outboundAppointmentStatus') ? 'confirmed_style' : '';\r\n\r\n const isSubClass = rowState.isSub && rowState.type === 'order' ? 'isSub' : '';\r\n const isSubClassAndReacted = rowState.isSub && reacted && (header.key === 'inboundAppointmentStatus' || header.key === 'outboundAppointmentStatus') ? 'isSubReacted' : '';\r\n\r\n if (reacted && (cellData.key === 'outboundAppointmentStatus' || cellData.key === 'inboundAppointmentStatus')) {\r\n // rowSelectAppts_color__class = 'reacted';\r\n };\r\n\r\n let nummber = '';\r\n if (resource === 'load') {\r\n if (cellData.key === 'inboundPickAppointment') {\r\n nummber = rowState?.orderData?.inPickNummber;\r\n } else {\r\n nummber = rowState?.orderData?.inDeliverNummber;\r\n }\r\n } else {\r\n if (cellData.key === 'outboundDropAppointment') {\r\n nummber = rowState?.orderData?.outDeliverNummber;\r\n } else {\r\n nummber = rowState?.orderData?.outPickNummber;\r\n }\r\n }\r\n\r\n const subOrder = loadArea?.subOrders?.filter(subOrder => subOrder.orderId === rowState.orderObjectId)[0];\r\n let showRemoveIcon = true;\r\n if (rowState?.subId && rowState.type === 'order' && subOrder?.pickAppointmenteDate && header.key === 'outboundPickAppointment') {\r\n showRemoveIcon = false;\r\n } else if (rowState?.subId && rowState.type === 'order' && subOrder?.dropAppointmenteDate && header.key === 'outboundDropAppointment') {\r\n showRemoveIcon = false;\r\n }\r\n \r\n const subOrder_OrderId = rowState?.isSub && rowState.type === 'order' && rowState?.orderObjectId;\r\n let mainOrder = '';\r\n let subIsDisabled = false;\r\n if (subOrder_OrderId) {\r\n mainOrder = loadArea?.loadsAssignedOrders?.filter(order => order?.rowState?.orderData?.id === subOrder_OrderId && order?.rowState?.subId)?.[0];\r\n if (!mainOrder?.rowState?.orderData?.pickOutboundAppointment && header.key === 'outboundPickAppointment') {\r\n subIsDisabled = true;\r\n } else if (!mainOrder?.rowState?.orderData?.outboundDropAppointment && header.key === 'outboundDropAppointment') {\r\n subIsDisabled = true;\r\n }\r\n }\r\n\r\n const tooltipForLocation = workingDaysStr => {\r\n const updatedWorkingDays = workingDaysStr?.split(',');\r\n let workingDaysObject = {};\r\n const workingDaysNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n for (let i = 0; i < updatedWorkingDays?.length; i++) {\r\n let day = workingDaysNames[i];\r\n workingDaysObject[day] = updatedWorkingDays[i].trim();\r\n }\r\n\r\n let tooltipData = workingDaysStr ?
    \r\n
    Working hours
    \r\n
    Monday: {workingDaysObject.Monday}
    \r\n
    Tuesday: {workingDaysObject.Tuesday}
    \r\n
    Wednesday: {workingDaysObject.Wednesday}
    \r\n
    Thursday: {workingDaysObject.Thursday}
    \r\n
    Friday: {workingDaysObject.Friday}
    \r\n
    Saturday: {workingDaysObject.Saturday}
    \r\n
    Sunday: {workingDaysObject.Sunday}
    \r\n
    : null;\r\n if ((workingDaysObject.Monday === workingDaysObject.Tuesday &&\r\n workingDaysObject.Monday === workingDaysObject.Wednesday &&\r\n workingDaysObject.Monday === workingDaysObject.Thursday &&\r\n workingDaysObject.Monday === workingDaysObject.Friday) &&\r\n (workingDaysObject.Saturday === workingDaysObject.Sunday) \r\n ) {\r\n tooltipData = workingDaysStr ?
    \r\n
    Working hours
    \r\n
    Monday-Friday: {workingDaysObject.Monday}
    \r\n
    Saturday-Sunday: {workingDaysObject.Saturday}
    \r\n
    : null;\r\n }\r\n\r\n return \r\n
    \r\n {tempData}\r\n {orderHasSub && !isSub && isOrder ? \r\n message.error(\"It’s impossible to update the order location, as the order has an outbound suborder\")} \r\n /> : ''}\r\n
    \r\n
    \r\n }\r\n\r\n const getNameById = tempData => {\r\n return locations?.length && locations?.find(loc => loc.value === tempData)?.text;\r\n }\r\n\r\n const getData = () => {\r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n if (cellData.key === 'dueDate') {\r\n const indicator = rowState?.orderData?.orderIndicator;\r\n if (rowState?.orderData?.isHardDate) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''}\r\n \r\n )\r\n } else if (indicator === 2) {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''}\r\n \r\n )\r\n }\r\n } else {\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''};\r\n }\r\n case 'appointmentSelector':\r\n return \r\n
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date) : ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time) : ''}
    \r\n
    \r\n
    ;\r\n case 'dateTime':\r\n if (header.key === 'inboundPickIn' ||\r\n header.key === 'inboundPickOut' ||\r\n header.key === 'outboundPickIn' ||\r\n header.key === 'outboundPickOut' ||\r\n header.key === 'inboundPickAppointment' ||\r\n header.key === 'inboundDropAppointment' ||\r\n header.key === 'outboundPickAppointment' ||\r\n header.key === 'outboundDropAppointment' ||\r\n header.key === 'inboundDropIn' ||\r\n header.key === 'inboundDropOut' ||\r\n header.key === 'outboundDropIn' ||\r\n header.key === 'outboundDropOut' ||\r\n header.key === 'inboundDeliveryAPPT')\r\n {\r\n return (
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date) : ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time) : ''}
    \r\n
    );\r\n }\r\n else\r\n {\r\n return tempData ? moment(tempData).format(Defines.Format.PrintDateTime) : '';\r\n }\r\n case 'text':\r\n if (header.key === 'notes') {\r\n return {tempData}\r\n }\r\n let colorClass = '';\r\n if (((header.key === 'palletCount' || header.key === 'space') && tempData > 30) ||\r\n (header.key === 'weight' && tempData > 40000)) {\r\n colorClass = 'dark-purple'\r\n }\r\n if ((header.key === 'palletCount' || \r\n header.key === 'space' || \r\n // header.key === 'cases' || \r\n header.key === 'weight') && !!Number(secondValue)) {\r\n return cellData.isBold ? {tempData} :\r\n \r\n {`${Number(tempData) - Number(secondValue)}/${tempData}`}\r\n ;\r\n }\r\n if (header.key === 'pickLocation' && resource === 'load') {\r\n return tooltipForLocation(rowState?.orderData?.pickWorkingDaysStr);\r\n }\r\n if (header.key === 'dropLocation' && resource === 'outboundload') {\r\n return tooltipForLocation(rowState?.orderData?.dropWorkingDaysStr);\r\n }\r\n if (header.key === 'loadNumber' && rowState.type === 'order' && rowState.loadId) {\r\n const loadId = rowState.loadData.id;\r\n let orderFromLoadIsUpdated = 'false';\r\n const onlyOrders = state[resource].loadsAssignedOrders.filter(order => !order.ordersData);\r\n const allOrdersForCurrentLoad = onlyOrders.filter(load => load.rowState.loadData.id === loadId);\r\n \r\n let minOneOrderIsUpdatedFromLoad = [];\r\n allOrdersForCurrentLoad.forEach(order => {\r\n if (resource === 'load' && !order.rowState.orderData.orderHistoryDict) {\r\n minOneOrderIsUpdatedFromLoad = allOrdersForCurrentLoad.filter(order => order.rowState.orderData.orderHistoryDict).length;\r\n } else if (resource === 'outboundload' && !order.rowState.orderData.outOrderHistoryDict) {\r\n minOneOrderIsUpdatedFromLoad = allOrdersForCurrentLoad.filter(order => order.rowState.orderData.outOrderHistoryDict).length;\r\n }\r\n\r\n if (minOneOrderIsUpdatedFromLoad > 0) {\r\n orderFromLoadIsUpdated = true;\r\n } else {\r\n orderFromLoadIsUpdated = false;\r\n }\r\n })\r\n\r\n const isUpdated = resource === 'load' ? \r\n rowState?.orderData?.orderHistoryDict && Object.values(rowState?.orderData?.orderHistoryDict)?.filter(item => item).length > 0 :\r\n rowState?.orderData?.outOrderHistoryDict && Object.values(rowState?.orderData?.outOrderHistoryDict)?.filter(item => item).length > 0;\r\n\r\n const isRateConfirmed = secondValue;\r\n const carrierInformed = thirdValue;\r\n\r\n let whiteBG = '';\r\n if (isRateConfirmed && carrierInformed) {\r\n whiteBG = true;\r\n } else if (!isRateConfirmed) {\r\n whiteBG = false;\r\n } else { \r\n if (isRateConfirmed && !carrierInformed && isUpdated) {\r\n whiteBG = false;\r\n } else if (isRateConfirmed && !carrierInformed && orderFromLoadIsUpdated) {\r\n whiteBG = false;\r\n } else {\r\n whiteBG = true;\r\n } \r\n } \r\n const updatedFields = resource === 'load' ? \r\n rowState?.orderData?.orderHistoryDict && \r\n Object.entries(rowState?.orderData?.orderHistoryDict).filter(([key, value]) => value).map(([key, value]) => key) :\r\n rowState?.orderData?.outOrderHistoryDict && \r\n Object.entries(rowState?.orderData?.outOrderHistoryDict).filter(([key, value]) => value).map(([key, value]) => key);\r\n \r\n let hoverText = [];\r\n if (!isRateConfirmed) {\r\n if (!hoverText.includes('Rate Confirmation is absent')) {\r\n hoverText.push('Rate Confirmation is absent')\r\n }\r\n }\r\n updatedFields && updatedFields.forEach(field => {\r\n if (field === 'inDropApp' || field === 'inPickApp' || field === 'outDropApp' || field === 'outPickApp') {\r\n if (!hoverText.includes('Appointment date was changed')) {\r\n hoverText.push('Appointment date was changed')\r\n }\r\n }\r\n if (field === 'palletCount') {\r\n hoverText.push('Pallet count was changed')\r\n }\r\n if (field === 'space') {\r\n hoverText.push('Space was changed')\r\n }\r\n if (field === 'weight') {\r\n hoverText.push('Weight was changed')\r\n }\r\n })\r\n\r\n const renderTooltip = hoverText => {\r\n return hoverText.map(item =>
    {item}
    )\r\n }\r\n\r\n if (hoverText.length && !whiteBG) {\r\n return \r\n
    {tempData}
    \r\n
    \r\n } else {\r\n return
    {tempData}
    \r\n }\r\n\r\n }\r\n return cellData.isBold ? {tempData} : tempData;\r\n case 'textInput':\r\n return cellData.isBold ? {tempData} : tempData;\r\n case 'textInputPO':\r\n let colorPO = '';\r\n let BGColorPO = '';\r\n let fontWeightPO = 'inherit';\r\n if (Number(rowState?.orderData.palletCount) !== Number(rowState?.orderData.space)) {\r\n colorPO = '#DA2FC9';\r\n fontWeightPO = 'bold';\r\n } \r\n if (selectedOrder && selectedOrder[0] && rowState?.orderObjectId === selectedOrder[0].rowState?.orderObjectId) {\r\n BGColorPO = 'lightGray'\r\n }\r\n let asterisks = '';\r\n for(let i = 0; i < secondValue; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n \r\n {secondValue && }\r\n
    \r\n case 'integer':\r\n if (header.key === 'temperature') {\r\n return temperatureNames[tempData]\r\n }\r\n if ((header.key === 'palletCount' || \r\n header.key === 'space' || \r\n // header.key === 'cases' || \r\n header.key === 'weight') && secondValue) {\r\n return cellData.isBold ? {tempData} : secondValue && tempData ? `${tempData - secondValue}/${tempData}` : tempData ;\r\n }\r\n if ((header.key === 'palletCount' || \r\n header.key === 'space' || \r\n // header.key === 'cases' || \r\n header.key === 'weight') && updatedValue === true) {\r\n return handleUnColor()} className='changed-value__BG'>{tempData};\r\n }\r\n return cellData.isBold ? {tempData} : tempData;\r\n case 'currency':\r\n const dollarUSLocale = Intl.NumberFormat('en-US');\r\n let formatedData = '';\r\n if (tempData) {\r\n formatedData = dollarUSLocale.format(tempData);\r\n }\r\n else {\r\n return '';\r\n }\r\n return cellData.isBold ? {'$' + formatedData} : formatedData === null ? formatedData : formatedData === undefined ? formatedData : '$' + formatedData;\r\n case 'decimal':\r\n return cellData.isBold ? parseFloat(tempData).toFixed(2) : parseFloat(tempData).toFixed(2);\r\n case 'select':\r\n let selectOptions;\r\n let selectNameOptions;\r\n if (header.key === 'pickRestriction' || header.key === 'dropRestriction') {\r\n selectOptions = selectOptionsPalletTypes;\r\n selectNameOptions = selectNameOptionsPalletTypes;\r\n } else {\r\n selectOptions = selectOption;\r\n selectNameOptions = selectNameOption;\r\n }\r\n return ;\r\n case 'selectLocations':\r\n return ;\r\n case 'selectManifest':\r\n return cellData.isBold ? {tempData} : tempData;\r\n default:\r\n return cellData.isBold ? {tempData} : tempData;\r\n }\r\n }\r\n if (tempData === '' && nummber && \r\n (cellData.key === 'inboundPickAppointment' || \r\n cellData.key === 'outboundPickAppointment' ||\r\n cellData.key === 'inboundDropAppointment' ||\r\n cellData.key === 'outboundDropAppointment'\r\n ) ) {\r\n return (\r\n \r\n
    Hidden Text
    \r\n
    Hidden Text
    \r\n
    )\r\n }\r\n return tempData\r\n };\r\n\r\n const handleSelectChange = (value) => {\r\n setData(parseInt(value));\r\n };\r\n const handleSelectChangeManifest = (value) => {\r\n setData(parseInt(value));\r\n };\r\n\r\n const handleUnColor = () => {\r\n if (!isSub) {\r\n setUpdatedValue(false);\r\n setTimeout(() => {\r\n setData('unColor', header);\r\n }, 100);\r\n }\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'appointmentSelector':\r\n return {\r\n setTimeout(() => {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n }}\r\n onOk={(dateVal, statusValue, currentPickOrDelNumber) => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n let newData = [];\r\n if (resource === 'load') {\r\n if (cellData.key === 'inboundPickAppointment') {\r\n newData.push(\r\n {\r\n value: statusValue,\r\n header: \"inboundAppointmentStatus\",\r\n }, {\r\n value: currentPickOrDelNumber,\r\n header: \"inPickNummber\",\r\n }, {\r\n value: moment(fifthData).format(Defines.Format.PrintDate),\r\n header: \"lastInboundPickFromData\",\r\n }, {\r\n value: moment(dateVal).format(Defines.Format.PrintDate),\r\n header: \"lastInboundPickToData\",\r\n }, {\r\n value: new Date(dateVal._d),\r\n header: header.key,\r\n },\r\n );\r\n setData(newData);\r\n } else {\r\n newData.push(\r\n {\r\n value: statusValue,\r\n header: \"dropInboundAppointmentStatus\",\r\n }, {\r\n value: currentPickOrDelNumber,\r\n header: \"inDeliverNummber\",\r\n }, {\r\n value: moment(fifthData).format(Defines.Format.PrintDate),\r\n header: \"lastInboundDropFromData\",\r\n }, {\r\n value: moment(dateVal).format(Defines.Format.PrintDate),\r\n header: \"lastInboundDropToData\",\r\n }, {\r\n value: new Date(dateVal._d),\r\n header: header.key,\r\n },\r\n );\r\n setData(newData);\r\n }\r\n } else {\r\n if (cellData.key === 'outboundPickAppointment') {\r\n newData.push(\r\n {\r\n value: statusValue,\r\n header: \"pickOutboundAppointmentStatus\",\r\n }, {\r\n value: currentPickOrDelNumber,\r\n header: \"outPickNummber\",\r\n }, {\r\n value: moment(fifthData).format(Defines.Format.PrintDate),\r\n header: \"lastOutboundPickFromData\",\r\n }, {\r\n value: moment(dateVal).format(Defines.Format.PrintDate),\r\n header: \"lastOutboundPickToData\",\r\n }, {\r\n value: new Date(dateVal._d),\r\n header: header.key,\r\n },\r\n );\r\n setData(newData);\r\n } else {\r\n newData.push(\r\n {\r\n value: statusValue,\r\n header: \"outboundAppointmentStatus\",\r\n }, {\r\n value: currentPickOrDelNumber,\r\n header: \"outDeliverNummber\",\r\n }, {\r\n value: moment(fifthData).format(Defines.Format.PrintDate),\r\n header: \"lastOutboundDropFromData\",\r\n }, {\r\n value: moment(dateVal).format(Defines.Format.PrintDate),\r\n header: \"lastOutboundDropToData\",\r\n }, {\r\n value: new Date(dateVal._d),\r\n header: header.key,\r\n },\r\n );\r\n setData(newData);\r\n }\r\n }\r\n }}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n statusOptions={selectNameOption}\r\n rowSelectApptsColorClass={rowSelectApptsColorClass}\r\n delOrPickNumberColor={delOrPickNumberColor}\r\n subIsDisabled={subIsDisabled}\r\n showRemoveIcon={showRemoveIcon}\r\n />;\r\n case 'dateTime':\r\n return {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n minuteStep={15}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n onChange={(value) => {\r\n if (value === null) {\r\n setData(\"\");\r\n }\r\n }}\r\n onOk={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n showToday={false}\r\n />;\r\n case 'date':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n onSetBlur();\r\n }}\r\n onChange={(value) => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d)\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n onSetBlur();\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n \r\n />;\r\n case 'integer':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n } \r\n if (isSub && (tempData || tempData === null) && e.target.value > tempData) {\r\n throwNeededMessage(header.key);\r\n } else {\r\n setData(e.target.value, cellData.key)\r\n }\r\n }}\r\n onDoubleClick={() => handleUnColor()}\r\n className={`${isSub ? 'subBG' : updatedValue === true ? 'changed-value__BG' : 'spreadsheet-number-input' }`}\r\n />;\r\n case 'decimal':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(e.target.value)\r\n }}\r\n className='spreadsheet-number-input'\r\n />;\r\n case 'textInput':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n }}\r\n format={Defines.Format.PrintDate}\r\n />;\r\n case 'textInputReadOnly':\r\n return
    \r\n \r\n
    \r\n case 'textInputPO':\r\n let colorPO = '';\r\n let BGColorPO = '';\r\n let fontWeightPO = 'inherit';\r\n if (Number(rowState?.orderData.palletCount) !== Number(rowState?.orderData.space)) {\r\n colorPO = '#DA2FC9';\r\n fontWeightPO = 'bold';\r\n } \r\n if (selectedOrder && selectedOrder[0] && rowState?.orderObjectId === selectedOrder[0].rowState?.orderObjectId) {\r\n BGColorPO = 'lightGray'\r\n }\r\n let asterisks = '';\r\n for(let i = 0; i < secondValue; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n }}\r\n />\r\n {secondValue &&\r\n setHistoryModalOpen(true)}>\r\n {asterisks}\r\n \r\n }\r\n
    \r\n case 'currency': return setValueData(value) }\r\n onBlur={() => {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(valueData);\r\n }}\r\n />;\r\n case 'select':\r\n let selectOptions;\r\n let selectNameOptions;\r\n if (header.key === 'pickRestriction' || header.key === 'dropRestriction') {\r\n selectOptions = selectOptionsPalletTypes;\r\n selectNameOptions = selectNameOptionsPalletTypes;\r\n } else {\r\n selectOptions = selectOption;\r\n selectNameOptions = selectNameOption;\r\n }\r\n return ;\r\n case 'selectLocations':\r\n return ;\r\n case 'selectManifest':\r\n return ;\r\n default: return setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }} />;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? (\r\n {getData()}\r\n ) : getData();\r\n\r\n const dataDisplay = () => displayState === redonly ? getDataWithTooltip() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => (\r\n cellData.editable ? setDisplayState(editable) : null\r\n )\r\n\r\n if (cellData.key === 'puDate' && !rowState?.orderData?.readyDate) {\r\n cellData.editable = false;\r\n };\r\n\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n const isHideForOutboundLoadPlanning = (\r\n (cellData.key === \"outboundPickIn\" && resource === 'outboundload') || \r\n (cellData.key === \"outboundPickOut\" && resource === 'outboundload') ||\r\n (cellData.key === \"outboundDropIn\" && resource === 'outboundload') ||\r\n (cellData.key === \"outboundDropOut\" && resource === 'outboundload') ||\r\n (cellData.key === \"inboundPickIn\" && resource === 'load') || \r\n (cellData.key === \"inboundPickOut\" && resource === 'load') ||\r\n (cellData.key === \"inboundDropIn\" && resource === 'load') ||\r\n (cellData.key === \"inboundDropOut\" && resource === 'load') ||\r\n cellData.key === \"carrier\" ||\r\n cellData.key === \"rate\" ||\r\n cellData.key === \"target\" ||\r\n cellData.key === \"driver_truck_Trailer_VIN\" ||\r\n cellData.key === \"efs\") &&\r\n location.pathname.split('/')[1] === 'loadplanning';\r\n\r\n return !isHideForOutboundLoadPlanning ? (\r\n <>\r\n
    onSetFocus()} onClick={() => {\r\n editableFunction(cellData);\r\n }}\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle, color: color }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n {isDetailsModalOpen &&\r\n \r\n }\r\n {isHistoryModalOpen &&\r\n \r\n }\r\n \r\n ) : null;\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable))\r\n}))(Cell);","import { DownOutlined, UpOutlined} from '@ant-design/icons';\r\nimport React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LeftActionCall = (\r\n {\r\n state,\r\n cellData,\r\n reacted,\r\n itemSize,\r\n onClickRow,\r\n bgColor,\r\n reactedBgColor,\r\n innerRef,\r\n type,\r\n resource,\r\n isSub,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '17px',\r\n left: 0,\r\n backgroundColor: '#65A7A5'\r\n };\r\n\r\n const cellStyleValue = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: reacted ? reactedBgColor : isSub ? '#b4d5bc' : bgColor,\r\n left: 0\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n type === 'load' ?\r\n
    { onClickRow() }}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {reacted ? : }\r\n
    :\r\n
    { onClickRow() }}>\r\n {cellData.value}\r\n
    \r\n }\r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(LeftActionCall);","import React, { useCallback, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { CaretDownOutlined, CaretUpOutlined} from '@ant-design/icons';\r\nimport { deleteLoad, updateLoadData } from '../../../../store/actions/loadArea/loadArea';\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../store/actions/popup/popup\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { CommonLabels } from \"../../../../project/Defines\";\r\nimport LoadDetailsModal from './loadDetailsModal';\r\nimport { setReOrderLoad } from '../../../../store/actions/loadArea/loadArea';\r\nimport { Select } from 'antd';\r\n\r\nconst RightActionCell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n deleteLoad,\r\n openConfirm,\r\n resource,\r\n setReOrderLoad,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n\r\n const cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n backgroundColor: '#65A7A5',\r\n right: 0,\r\n borderLeft: '1px solid #000'\r\n };\r\n const [isDetailsModalOpen, setDetailsModalToOpen] = useState(false);\r\n\r\n const deleteConfirmLoad = useCallback(rowState => {\r\n openConfirm({\r\n windowKey: 'wndConfirmDelete',\r\n type: PopupTypes.Confirm,\r\n title: CommonLabels.Messages.ConfirmDeleteTitle('Inbound Load', rowState.loadData.loadNumber),\r\n text: CommonLabels.Messages.ConfirmDeleteText,\r\n buttonYesText: CommonLabels.Buttons.Delete,\r\n buttonNoText: CommonLabels.Buttons.Cancel,\r\n yesCallback: () => setTimeout(() => deleteLoad(resource, rowState), 10)\r\n });\r\n }, [openConfirm, deleteLoad, resource]);\r\n\r\n const editLoad = () => {\r\n setDetailsModalToOpen(true);\r\n };\r\n\r\n const subOrders_loadIds = state?.outboundload?.subOrders?.map(sub => sub.loadId);\r\n const loadWithSub = subOrders_loadIds?.includes(rowState?.subId?.id);\r\n\r\n const handleClickUp = () => {\r\n setReOrderLoad(resource, state, rowState, 'up');\r\n };\r\n\r\n const handleClickDown = () => {\r\n setReOrderLoad(resource, state, rowState, 'down');\r\n };\r\n\r\n const handleChangeSorting = e => {\r\n setOrderSortNumber(e);\r\n setReOrderLoad(resource, state, rowState, e);\r\n }\r\n\r\n const loadId = rowState.loadObjectId;\r\n const locationId = resource === 'load' ? 'pickLocationId' : 'dropLocationId';\r\n const orderPossitionIndex = resource === 'load' ? 'inOrderPossitionIndex' : 'outOrderPossitionIndex';\r\n const orderLocationId = rowState?.orderData?.[locationId];\r\n const loadOrders = state[resource].loadsAssignedOrders?.filter(item => item.rowState.loadObjectId === loadId);\r\n const ordersWithSameLocation = loadOrders.filter(order => order.rowState?.orderData?.[locationId] === orderLocationId);\r\n const ordersIndexesList = ordersWithSameLocation.map(order => order.rowState.orderData?.[orderPossitionIndex]);\r\n const index = ordersWithSameLocation.findIndex(order => order.rowState.orderObjectId === rowState?.orderObjectId);\r\n const firstArrowIsDisabled = index === 0;\r\n const lastArrowIsDisabled = index === ordersWithSameLocation.length-1;\r\n const [orderSortNumber, setOrderSortNumber] = useState(rowState?.orderData?.[orderPossitionIndex]);\r\n const orderHasPickOutData = resource === 'load' ? rowState?.orderData?.inboundPickOut : rowState?.orderData?.outboundPickOut;\r\n\r\n return (\r\n <>\r\n \r\n {rowState.type === 'load' ? \r\n \r\n
    editLoad(rowState)}>\r\n \r\n \r\n \r\n
    \r\n {rowState?.loadData?.carrierId ? null : \r\n
    deleteConfirmLoad(rowState)}>\r\n \r\n \r\n \r\n
    }\r\n
    : cellData.value}\r\n {(rowState.type === 'order' && !!rowState.loadObjectId && !rowState.isSub && !rowState.orderHasSub) ?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    {orderSortNumber}
    \r\n \r\n
    \r\n
    : null\r\n }\r\n
    \r\n {isDetailsModalOpen &&\r\n \r\n }\r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n deleteLoad: (resource, rowState) => dispatch(deleteLoad(resource, rowState)),\r\n openPopup: data => dispatch(openPopup(data)),\r\n closePopup: key => dispatch(closePopup(key)),\r\n closePopupAsync: key => dispatch(closePopupAsync(key)),\r\n openAlert: key => dispatch(openPopup(key)),\r\n updateLoadData: (resource, newData) => dispatch(updateLoadData(resource, newData)),\r\n openConfirm: data => dispatch(openPopup(data)),\r\n setReOrderLoad: (resource, state, rowState, number) => dispatch(setReOrderLoad(resource, state, rowState, number)),\r\n}))(RightActionCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst RegionCell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n onClickRow,\r\n resource\r\n }) => {\r\n const loadArea = state[resource];\r\n const width = loadArea.regionHeaders.find(h => h.key === cellData.key).width(loadArea.headers);\r\n\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`\r\n };\r\n\r\n return (\r\n
    onClickRow()}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n
    \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(RegionCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst RegionContentCell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n onClickRow,\r\n resource\r\n }) => {\r\n const loadArea = state[resource];\r\n const width = loadArea.regionHeaders.find(h => h.key === cellData.key).width(loadArea.headers);\r\n\r\n const dataDisplay = () => {\r\n return {cellData.value};\r\n };\r\n\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n left: '20px',\r\n backgroundColor: '#65A7A5',\r\n color: '#FFFFFF'\r\n };\r\n\r\n return (\r\n
    onClickRow()}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {dataDisplay()}\r\n
    \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(RegionContentCell);","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport LeftActionCall from './leftActionCall';\r\nimport RightActionCell from './rightActionCell';\r\nimport RegionCell from './regionCell';\r\nimport RegionContentCell from './regionContentCell';\r\nimport { reactOnAssignedItem, reactOnAvailableItem } from '../../../../store/actions/loadArea/loadArea';\r\nimport { getContentWidth } from '../../../../store/reducers/loadArea/helper/general';\r\nimport { Draggable } from \"react-beautiful-dnd\";\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n reactOnAssignedItem,\r\n reactOnAvailableItem,\r\n state,\r\n listRef,\r\n dndRowIndex,\r\n startOnScroll,\r\n resource,\r\n onDrugStartMouseX,\r\n selectedOrder,\r\n }) => {\r\n const rowRef = useRef({});\r\n const id = window.location.search && window.location.search.substring(4);\r\n const loadArea = state[resource];\r\n let color = data.rowState.type === 'load' || data.rowState.type === 'separator' ? '#65A7A5' : \r\n id === data.rowState.orderObjectId ? 'lightGray' :\r\n data.rowState.reacted ? 'lightGray' :\r\n data.rowState.isSub ? '#b4d5bc'\r\n : 'inherit';\r\n\r\n const allOrders = loadArea.loadsAssignedOrders?.filter(order => !order.ordersData && order.rowState.type !== 'separator');\r\n const allLoads = loadArea.loadsAssignedOrders?.filter(order => order.ordersData && order.rowState.type !== 'separator')\r\n let loadId = data.rowState.loadObjectId;\r\n let load = allLoads.filter(load => load?.rowState.loadId === loadId)[0];\r\n let order = '';\r\n \r\n // Del validation\r\n let delOrPickNumberColor = '';\r\n const yellow = '#D4CE39';\r\n const black = 'white';\r\n if (data.rowState.type === 'order' && !data.rowState.available ) {\r\n order = data;\r\n let orderDeliverNumber = order.rowState.orderData.outDeliverNummber;\r\n let orderPickUpNumber = order.rowState.orderData.inPickNummber;\r\n let orderDeliverLocation = order.rowState.orderData.dropLocation;\r\n let orderPickLocation = order.rowState.orderData.pickLocation;\r\n const orderAppointment = resource === 'outboundload' ? order.rowState.orderData.outboundDropAppointment : order.rowState.orderData.inboundPickAppointment;\r\n const isSub = order.rowState.isSub === true;\r\n let parentOrder = '';\r\n let parentOrderLoad = '';\r\n let orderObjectId = '';\r\n if (isSub) {\r\n orderObjectId = order.rowState.orderObjectId;\r\n parentOrder = allOrders.filter(order => order.rowState.orderObjectId === orderObjectId && order.rowState.isSub === false)[0];\r\n parentOrderLoad = allLoads.filter(load => load?.rowState?.loadId === parentOrder?.rowState?.loadObjectId)[0];\r\n load = parentOrderLoad;\r\n orderDeliverNumber = parentOrder?.rowState?.orderData.outDeliverNummber;\r\n orderPickUpNumber = parentOrder?.rowState?.orderData.inPickNummber;\r\n loadId = parentOrderLoad?.rowState?.loadId;\r\n };\r\n\r\n let selectedOrdersByLoc = [];\r\n let selectedOrdersByDel = [];\r\n let selectedOrdersByAppt = [];\r\n let selectedOrdersByPickNum = [];\r\n\r\n if (resource === 'outboundload') {\r\n if (!isSub) {\r\n selectedOrdersByLoc = load?.ordersData.filter(order => order.rowState.orderData.dropLocation === orderDeliverLocation);\r\n selectedOrdersByDel = load?.ordersData.filter(order => order.rowState.orderData.outDeliverNummber === orderDeliverNumber);\r\n selectedOrdersByAppt = load?.ordersData.filter(order => order.rowState.orderData.outboundDropAppointment?.toString().substring(0, 16) === orderAppointment?.toString().substring(0, 16));\r\n } else {\r\n const parentOrder = parentOrderLoad?.ordersData.filter(order => order?.rowState.orderObjectId === orderObjectId)[0];\r\n orderDeliverLocation = parentOrder?.rowState?.orderData.dropLocation;\r\n\r\n selectedOrdersByLoc = load?.ordersData.filter(order => order?.rowState.orderData.dropLocation === orderDeliverLocation);\r\n selectedOrdersByDel = load?.ordersData.filter(order => order?.rowState.orderData.outDeliverNummber === orderDeliverNumber);\r\n selectedOrdersByAppt = load?.ordersData.filter(order => order?.rowState.orderData.outboundDropAppointment?.toString().substring(0, 16) === orderAppointment?.toString().substring(0, 16));\r\n }\r\n } else {\r\n if (!isSub) {\r\n selectedOrdersByLoc = load?.ordersData.filter(order => order.rowState.orderData.pickLocation === orderPickLocation);\r\n selectedOrdersByPickNum = load?.ordersData.filter(order => order.rowState.orderData.inPickNummber === orderPickUpNumber);\r\n selectedOrdersByAppt = load?.ordersData.filter(order => order.rowState.orderData.inboundPickAppointment?.toString().substring(0, 16) === orderAppointment?.toString().substring(0, 16));\r\n } else {\r\n const parentOrder = parentOrderLoad?.ordersData.filter(order => order.rowState.orderObjectId === orderObjectId)[0];\r\n orderPickLocation = parentOrder.rowState?.orderData.pickLocation;\r\n\r\n selectedOrdersByLoc = load?.ordersData.filter(order => order.rowState.orderData.pickLocation === orderPickLocation);\r\n selectedOrdersByPickNum = load?.ordersData.filter(order => order.rowState.orderData.inPickNummber === orderPickUpNumber);\r\n selectedOrdersByAppt = load?.ordersData.filter(order => order.rowState.orderData.inboundPickAppointment?.toString().substring(0, 16) === orderAppointment?.toString().substring(0, 16));\r\n }\r\n }\r\n\r\n if (resource === 'outboundload') {\r\n for (let i = 0; i < selectedOrdersByLoc?.length; i++) {\r\n if (selectedOrdersByLoc.length === 1 && selectedOrdersByDel.length === 1) {\r\n delOrPickNumberColor = black\r\n } else if ((selectedOrdersByLoc.length === 1 && selectedOrdersByDel.length !== 1) ||\r\n (selectedOrdersByLoc.length !== 1 && selectedOrdersByDel.length === 1)) {\r\n delOrPickNumberColor = yellow\r\n } else if (selectedOrdersByLoc[i]?.rowState.id === selectedOrdersByDel[i]?.rowState.id && \r\n selectedOrdersByAppt[i]?.rowState.id === selectedOrdersByDel[i]?.rowState.id &&\r\n (selectedOrdersByLoc.length === selectedOrdersByAppt.length)) {\r\n delOrPickNumberColor = black;\r\n } else {\r\n // delOrPickNumberColor = yellow;\r\n }\r\n };\r\n }\r\n\r\n if (resource === 'load') {\r\n for (let i = 0; i < selectedOrdersByLoc.length; i++) {\r\n if (selectedOrdersByLoc.length === 1 && selectedOrdersByPickNum.length === 1) {\r\n delOrPickNumberColor = black\r\n } else if ((selectedOrdersByLoc.length === 1 && selectedOrdersByPickNum.length !== 1) ||\r\n (selectedOrdersByLoc.length !== 1 && selectedOrdersByPickNum.length === 1)) {\r\n delOrPickNumberColor = yellow\r\n } else if (selectedOrdersByLoc[i]?.rowState.id === selectedOrdersByPickNum[i]?.rowState.id && \r\n selectedOrdersByAppt[i]?.rowState.id === selectedOrdersByPickNum[i]?.rowState.id &&\r\n (selectedOrdersByLoc.length === selectedOrdersByAppt.length)) {\r\n delOrPickNumberColor = black;\r\n } else {\r\n // delOrPickNumberColor = yellow;\r\n }\r\n };\r\n }\r\n\r\n if (resource === 'outboundload' && (orderDeliverNumber === null || orderDeliverNumber === '')) {\r\n delOrPickNumberColor = yellow;\r\n }\r\n if (resource === 'load' && (orderPickUpNumber === null || orderPickUpNumber === '')) {\r\n delOrPickNumberColor = yellow;\r\n }\r\n\r\n const orderDeliverNumberIsOnlyInOneLoad = [];\r\n for (let i = 0; i < allOrders.length; i++) {\r\n if (allOrders[i].rowState.orderData.outDeliverNummber === orderDeliverNumber \r\n && allOrders[i].rowState.loadObjectId !== loadId\r\n && allOrders[i].rowState.orderObjectId !== order.rowState.orderObjectId\r\n && allOrders[i].rowState.isSub === false\r\n ) {\r\n orderDeliverNumberIsOnlyInOneLoad.push(orderDeliverNumber)\r\n }\r\n }\r\n if (resource === 'outboundload' && orderDeliverNumberIsOnlyInOneLoad.length > 0) {\r\n delOrPickNumberColor = yellow;\r\n };\r\n\r\n const orderPickNumberIsOnlyInOneLoad = [];\r\n for (let i = 0; i < allOrders.length; i++) {\r\n if (allOrders[i].rowState.orderData.inPickNummber === orderPickUpNumber \r\n && allOrders[i].rowState.loadObjectId !== loadId\r\n && allOrders[i].rowState.orderObjectId !== order.rowState.orderObjectId\r\n && allOrders[i].rowState.isSub === false\r\n ) {\r\n orderPickNumberIsOnlyInOneLoad.push(orderPickUpNumber)\r\n }\r\n }\r\n if (resource === 'load' && orderPickNumberIsOnlyInOneLoad.length > 0) {\r\n delOrPickNumberColor = yellow;\r\n };\r\n\r\n const sameDelNumShouldHaveSameLocation = [];\r\n for (let i = 0; i < allOrders.length; i++) {\r\n if (allOrders[i].rowState.orderData.inPickNummber === orderPickUpNumber \r\n && allOrders[i].rowState.loadObjectId === loadId\r\n && allOrders[i].rowState.orderObjectId !== order.rowState.orderObjectId\r\n && allOrders[i].rowState.orderData.pickLocation !== order.rowState.orderData.pickLocation\r\n && allOrders[i].rowState.isSub === false\r\n ) {\r\n sameDelNumShouldHaveSameLocation.push(orderPickUpNumber)\r\n }\r\n }\r\n if (resource === 'load' && sameDelNumShouldHaveSameLocation.length > 0) {\r\n delOrPickNumberColor = yellow;\r\n };\r\n\r\n const samePickNumShouldHaveSameLocation = [];\r\n for (let i = 0; i < allOrders.length; i++) {\r\n if (allOrders[i].rowState.orderData.outDeliverNummber === orderDeliverNumber \r\n && allOrders[i].rowState.loadObjectId === loadId\r\n && allOrders[i].rowState.orderObjectId !== order.rowState.orderObjectId\r\n && allOrders[i].rowState.orderData.dropLocation !== order.rowState.orderData.dropLocation\r\n && allOrders[i].rowState.isSub === false\r\n ) {\r\n samePickNumShouldHaveSameLocation.push(orderDeliverNumber)\r\n }\r\n }\r\n if (resource === 'outboundload' && samePickNumShouldHaveSameLocation.length > 0) {\r\n delOrPickNumberColor = yellow;\r\n };\r\n\r\n }\r\n // end of del validation\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n if (data.rowState.available) {\r\n reactOnAvailableItem(resource, data.rowState.id, data.rowState.type);\r\n }\r\n else {\r\n reactOnAssignedItem(resource, data.rowState.id, data.rowState.type);\r\n }\r\n }, [reactOnAssignedItem, reactOnAvailableItem, data, resource]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color, fontSize: '10px' } };\r\n \r\n const cellContent = (i, ind) => {\r\n if (data.rowState.type === 'separator') {\r\n let contentWidth = getContentWidth(loadArea.headers, 'booking');\r\n return
    \r\n };\r\n\r\n const header = loadArea.headers.find(h => h.key === i.key) || loadArea.regionHeaders.find(h => h.key === i.key);\r\n let bgColor, reactedBgColor;\r\n\r\n if (header.leftAction) {\r\n if (data.rowState.type === 'order') {\r\n bgColor = 'inherit';\r\n reactedBgColor = 'inherit';\r\n }\r\n if (data.rowState.type === 'load') {\r\n bgColor = 'lightgrey';\r\n reactedBgColor = 'grey';\r\n }\r\n if (data.rowState.type === 'region') {\r\n bgColor = 'inherit';\r\n reactedBgColor = 'inherit';\r\n }\r\n if (id === data.rowState.orderObjectId) {\r\n bgColor = 'lightGray';\r\n reactedBgColor = 'lightGray';\r\n }\r\n bgColor = color;\r\n\r\n return ();\r\n };\r\n\r\n if (header.rightAction) {\r\n return ();\r\n };\r\n\r\n if (data.rowState.type === 'region') {\r\n if (i.value) {\r\n return ();\r\n }\r\n return ();\r\n }\r\n\r\n return ();\r\n };\r\n\r\n const myOnMouseDown = e => {\r\n onDrugStartMouseX.current = e.screenX;\r\n };\r\n\r\n const content = (\r\n \r\n {provided => {\r\n \r\n\r\n return (\r\n myOnMouseDown(e)}\r\n className='resp-table-row'\r\n ref={provided.innerRef}\r\n {...provided.draggableProps}\r\n {...provided.dragHandleProps}\r\n style={{ ...rowStyle, ...provided.draggableProps.style, display:'flex' }}\r\n >\r\n {data.row.map(cellContent)}\r\n
    \r\n );\r\n }}\r\n \r\n );\r\n\r\n return data.rowState.visible ? content : null;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n reactOnAssignedItem: (resource, id, type) => dispatch(reactOnAssignedItem(resource, id, type)),\r\n reactOnAvailableItem: (resource, id, type) => dispatch(reactOnAvailableItem(resource, id, type)),\r\n}))(Row);","import React, { useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { CaretDownOutlined, CaretUpOutlined} from '@ant-design/icons';\r\nimport { setHeaderWidth, \r\n setSortLoadsByCarriar, \r\n setSortLoadsByPickAppts, \r\n setSortLoadsByPickLocation, \r\n setSortLoadsByDropLocation, \r\n setSortLoadsByDeliverNumber } \r\n from '../../../../store/actions/loadArea/loadArea';\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidth,\r\n resource,\r\n headerKey,\r\n setSortLoadsByCarriar,\r\n setSortLoadsByPickAppts,\r\n setSortLoadsByPickLocation,\r\n setSortLoadsByDropLocation,\r\n setSortLoadsByDeliverNumber,\r\n }) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n fontSize: '12px',\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0\r\n }\r\n };\r\n }\r\n else if (data.rightAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n backgroundColor: '#449996',\r\n color: '#FFF',\r\n right: 0,\r\n borderLeft: '1px solid #000'\r\n }\r\n };\r\n }\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n //console.log('onResize', e, s);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n\r\n const isSorted = resource === 'load' ? state.load.loadsAreSorted : state.outboundload.loadsAreSorted;\r\n const currentSortedBy = resource === 'load' ? state.load.loadsSortedBy : state.outboundload.loadsSortedBy;\r\n let arrowType = false;\r\n\r\n if (headerKey === 'carrier') {\r\n if (isSorted && currentSortedBy === 'carrier') {\r\n arrowType = isSorted;\r\n } else {\r\n arrowType = false\r\n }\r\n } else if (headerKey === 'inboundPickAppointment' || headerKey === 'outboundPickAppointment') {\r\n if (isSorted && currentSortedBy === 'pickAppts') {\r\n arrowType = isSorted;\r\n } else {\r\n arrowType = false\r\n }\r\n } else if (headerKey === 'pickLocation') {\r\n if (isSorted && currentSortedBy === 'pickLocation') {\r\n arrowType = isSorted;\r\n } else {\r\n arrowType = false\r\n }\r\n } else if (headerKey === 'dropLocation') {\r\n if (isSorted && currentSortedBy === 'dropLocation') {\r\n arrowType = isSorted;\r\n } else {\r\n arrowType = false\r\n }\r\n } else if (headerKey === 'inDeliverNummber' || headerKey === 'outDeliverNummber') {\r\n if (isSorted && currentSortedBy === 'deliverNummber') {\r\n arrowType = isSorted;\r\n } else {\r\n arrowType = false\r\n }\r\n };\r\n\r\n const handleSortLoadsByCarrier = useCallback(() => {\r\n if (currentSortedBy !== 'carrier') {\r\n setSortLoadsByCarriar(resource, true);\r\n } else {\r\n setSortLoadsByCarriar(resource, !isSorted);\r\n }\r\n }, [resource, setSortLoadsByCarriar, isSorted, currentSortedBy]);\r\n\r\n const handleSortLoadsByPickAppts = useCallback(() => {\r\n if (currentSortedBy !== 'pickAppts') {\r\n setSortLoadsByPickAppts(resource, true);\r\n } else {\r\n setSortLoadsByPickAppts(resource, !isSorted);\r\n }\r\n }, [resource, setSortLoadsByPickAppts, isSorted, currentSortedBy]);\r\n\r\n const handleSortLoadsByPickLocation = useCallback(() => {\r\n if (currentSortedBy !== 'pickLocation') {\r\n setSortLoadsByPickLocation(resource, true);\r\n } else {\r\n setSortLoadsByPickLocation(resource, !isSorted);\r\n }\r\n }, [resource, setSortLoadsByPickLocation, isSorted, currentSortedBy]);\r\n\r\n const handleSortLoadsByDropLocation = useCallback(() => {\r\n if (currentSortedBy !== 'dropLocation') {\r\n setSortLoadsByDropLocation(resource, true);\r\n } else {\r\n setSortLoadsByDropLocation(resource, !isSorted);\r\n }\r\n }, [resource, setSortLoadsByDropLocation, isSorted, currentSortedBy]);\r\n\r\n const handleSortLoadsByDeliverNumber = useCallback(() => {\r\n if (currentSortedBy !== 'deliverNummber') {\r\n setSortLoadsByDeliverNumber(resource, true);\r\n } else {\r\n setSortLoadsByDeliverNumber(resource, !isSorted);\r\n }\r\n }, [resource, setSortLoadsByDeliverNumber, isSorted, currentSortedBy]);\r\n\r\n let headerCall;\r\n let headerCallFunction = sortingFunction => {\r\n return (\r\n \r\n <>{data.title}{arrowType ? : }\r\n
    \r\n )\r\n }\r\n\r\n if (headerKey === 'carrier') {\r\n headerCall = headerCallFunction(handleSortLoadsByCarrier);\r\n } else if (headerKey === 'inboundPickAppointment' || headerKey === 'outboundPickAppointment') {\r\n headerCall = headerCallFunction(handleSortLoadsByPickAppts);\r\n } else if (headerKey === 'pickLocation') {\r\n headerCall = headerCallFunction(handleSortLoadsByPickLocation);\r\n } else if (headerKey === 'dropLocation') {\r\n headerCall = headerCallFunction(handleSortLoadsByDropLocation);\r\n } else if (headerKey === 'inDeliverNummber' || headerKey === 'outDeliverNummber') {\r\n headerCall = headerCallFunction(handleSortLoadsByDeliverNumber);\r\n } else {\r\n headerCall = (\r\n \r\n {data.title}\r\n \r\n )\r\n };\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n return data.leftAction || data.rightAction ? headerCall : resizableHeaderCall;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n setSortLoadsByCarriar: (resource, value) => dispatch(setSortLoadsByCarriar(resource, value)),\r\n setSortLoadsByPickAppts: (resource, value) => dispatch(setSortLoadsByPickAppts(resource, value)),\r\n setSortLoadsByPickLocation: (resource, value) => dispatch(setSortLoadsByPickLocation(resource, value)),\r\n setSortLoadsByDropLocation: (resource, value) => dispatch(setSortLoadsByDropLocation(resource, value)),\r\n setSortLoadsByDeliverNumber: (resource, value) => dispatch(setSortLoadsByDeliverNumber(resource, value)),\r\n}))(HeaderCell);","import React from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = (\r\n {\r\n state,\r\n resource\r\n }) => {\r\n const loadArea = state[resource];\r\n const location = useLocation();\r\n return (\r\n
    \r\n {loadArea.headers.map((header, ind) => {\r\n if (location.pathname.split('/')[1] === 'booking')\r\n {\r\n return \r\n }\r\n else if (!header.hideForLoadPlanning === true && location.pathname.split('/')[1] === 'loadplanning')\r\n {\r\n return \r\n }\r\n else \r\n return null;\r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React from 'react';\r\n\r\nconst LoaderSmall = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\nexport default LoaderSmall;","import React from 'react';\r\nimport LoaderSmall from './loaderSmall';\r\nimport { Tooltip } from 'antd';\r\n\r\nconst ToolBarButton = ({\r\n primary,\r\n text,\r\n title,\r\n inProcess,\r\n onClick,\r\n clickParams,\r\n className,\r\n}) => {\r\n const buttonStyle = inProcess ? { paddingLeft: '5px' } : null;\r\n\r\n const tryToProcess = clickParams => {\r\n if (inProcess) {\r\n return;\r\n }\r\n onClick(clickParams);\r\n };\r\n\r\n if (primary) {\r\n return (\r\n );\r\n }\r\n return (\r\n \r\n tryToProcess(clickParams)}\r\n className=\"accent button_actions\"\r\n >\r\n {inProcess ? : null}\r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default ToolBarButton;","import React, { useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport CurrencyInput from 'react-currency-input-field';\r\nimport { setItemData } from '../../../../store/actions/loadArea/loadArea';\r\n\r\nconst LumperModal = ({ \r\n state,\r\n resource,\r\n setItemData,\r\n lumperModalIsOpen,\r\n setLumperModalIsOpen,\r\n selectedAssignedOrders,\r\n }) => {\r\n const [lumperCountText, setLumperCount] = useState('');\r\n const header = state[resource].headers.find(h => h.key === 'outboundLumper');\r\n\r\n const closeModal = () => {\r\n setLumperModalIsOpen(false);\r\n };\r\n\r\n const selectedOrdersLoadsIds = selectedAssignedOrders?.map(order => order.rowState.loadData.id);\r\n const areOrdersFromDifferentLoads = selectedAssignedOrders.length > 1 && new Set(selectedOrdersLoadsIds).size !== 1;\r\n const availableForLumper = selectedAssignedOrders?.filter(order => order.rowState.orderData?.outboundDropIn);\r\n const loadId = selectedAssignedOrders[0].rowState.loadData.id;\r\n const allOrdersForSelectedLoad = state[resource].loadsAssignedOrders.filter(load => load.rowState.loadData.id === loadId)[0].ordersData;\r\n const dropLocation = selectedAssignedOrders[0].rowState.orderData.dropLocation;\r\n const allOrdersWithSameDropLocation = allOrdersForSelectedLoad.filter(order => order.rowState.orderData.dropLocation === dropLocation);\r\n const thereIsOrderWithOutDropIn = selectedAssignedOrders.length > availableForLumper.length;\r\n const deliveryLocations = availableForLumper.map(order => order.rowState.orderData?.dropLocation);\r\n const delInDates = availableForLumper.map(order => {\r\n const tempDate = new Date(order.rowState.orderData?.outboundDropIn);\r\n return new Date(tempDate.setHours(tempDate.getHours() + 4 - 24)).toDateString();\r\n });\r\n const isNegative = lumperCountText < 0 || !'-' || !'-$';\r\n const areOrderWithDiffDelLocations = selectedAssignedOrders.length > 1 && new Set(deliveryLocations).size !== 1;\r\n const areOrderWithDiffDelIndates = selectedAssignedOrders.length > 1 && new Set(delInDates).size !== 1;\r\n\r\n const handleSave = () => {\r\n allOrdersWithSameDropLocation.forEach((order, i) => {\r\n setItemData(resource, '', order.rowState, header);\r\n });\r\n setTimeout(() => {\r\n setItemData(resource, lumperCountText, selectedAssignedOrders[0].rowState, header);\r\n }, 100);\r\n closeModal();\r\n }\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: 0,\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    Lumper Amount
    \r\n {selectedAssignedOrders.length &&\r\n !areOrdersFromDifferentLoads &&\r\n !thereIsOrderWithOutDropIn &&\r\n !areOrderWithDiffDelIndates &&\r\n !areOrderWithDiffDelLocations ?\r\n setLumperCount(value) }\r\n disabled={!selectedAssignedOrders?.length || thereIsOrderWithOutDropIn || areOrderWithDiffDelLocations || areOrderWithDiffDelIndates}\r\n >\r\n : null\r\n }\r\n {!selectedAssignedOrders.length &&
    For Lumper adding, please choose an order
    }\r\n {thereIsOrderWithOutDropIn &&
    The order/orders should have delivery in date
    }\r\n {areOrdersFromDifferentLoads &&
    You can't add Lumper for orders with different loads
    }\r\n {!thereIsOrderWithOutDropIn && areOrderWithDiffDelLocations ?
    You can't add Lumper for orders with different delivery locations
    : ''}\r\n {!thereIsOrderWithOutDropIn && areOrderWithDiffDelIndates && !areOrderWithDiffDelLocations?
    You can't add Lumper for orders with different delivery dates
    : ''}\r\n {isNegative ?
    You can't add negative value
    : ''}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LumperModal);","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Modal from 'react-modal';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'antd';\r\nimport './index.css';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { assignOrdersToLoadAndUpdateNewLoad } from '../../../../store/actions/loadArea/loadArea';\r\nimport { customStyles } from './styles'\r\n\r\nconst AssignOrdersModalNewLoad = ({ \r\n setAssignOrdersModalIsOpen,\r\n assignOrdersModalIsOpen,\r\n resource,\r\n allAvailableOrders,\r\n state,\r\n }) => {\r\n const dispatch = useDispatch();\r\n const assignedOrders = state && resource && state[resource]?.assignedOrders;\r\n const appointmentByLoadType = resource === 'load' ? 'inboundPickAppointment': 'outboundDropAppointment';\r\n const appointmentStatusByLoadType = resource === 'load' ? 'inboundAppointmentStatus': 'outboundAppointmentStatus';\r\n const location = resource === 'load' ? 'pickLocation' : 'dropLocation';\r\n const [locationObjects, setLocationObjects] = useState([]);\r\n const [checkedAppointments, setCheckedAppointments] = useState([]);\r\n const closeModal = () => {\r\n setAssignOrdersModalIsOpen(false);\r\n dispatch(assignOrdersToLoadAndUpdateNewLoad(resource, assignedOrders, allAvailableOrders, 'cancelModal', locationObjects));\r\n };\r\n\r\n const handleOnSave = () => {\r\n setAssignOrdersModalIsOpen(false);\r\n dispatch(assignOrdersToLoadAndUpdateNewLoad(resource, assignedOrders, allAvailableOrders, false, locationObjects))\r\n };\r\n\r\n const listOfLocationsSet = new Set(assignedOrders.map(order => order[location]));\r\n const listOfLocations = [...listOfLocationsSet];\r\n const [allAreChecked, setAllAreChecked] = useState(false);\r\n \r\n useEffect(() => {\r\n const tempLocationObjects = [];\r\n let apptStatus = '';\r\n let currentApptointment = '';\r\n for (let i = 0; i < listOfLocations.length; i++) {\r\n let object = {};\r\n let appointments = assignedOrders\r\n .filter(order => order[location] === listOfLocations[i] && order[appointmentByLoadType])\r\n .map(order => order[appointmentByLoadType]);\r\n\r\n let status = assignedOrders\r\n .filter(order => order[location] === listOfLocations[i] && order[appointmentByLoadType])\r\n .map(order => Number(order[appointmentStatusByLoadType]));\r\n\r\n object.appointments = appointments;\r\n object.status = status;\r\n object.checkedAppointment = currentApptointment\r\n ? currentApptointment\r\n : appointments.length === 1 || appointments.every(item => item === appointments[0])\r\n ? appointments[0]\r\n : '';\r\n object.checkedStatus = apptStatus ? apptStatus : status.length === 1 || status.every(item => item === status[0]) ? status[0] : '';\r\n object[location] = listOfLocations[i];\r\n object.orderIds = assignedOrders\r\n .filter(order => order[location] === listOfLocations[i])\r\n .map(order => order.id);\r\n tempLocationObjects.push(object);\r\n }\r\n const tempCheckedAppointments = [];\r\n tempLocationObjects.forEach(object => {\r\n const appt = `${object.checkedAppointment}_${object.checkedStatus}_${object[location]}`;\r\n object.checkedAppointment && object.checkedStatus && tempCheckedAppointments.push(appt)\r\n });\r\n setCheckedAppointments(tempCheckedAppointments);\r\n setLocationObjects(tempLocationObjects);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n // case when all location's appointments checks automatically (only one order or all orders have the same location)\r\n let checked = false;\r\n let tempObject = {};\r\n locationObjects.forEach((object, index) => {\r\n if ((object.checkedAppointment && object.checkedStatus) || object.orderIds.length === 1) {\r\n tempObject[index] = true;\r\n } else {\r\n tempObject[index] = false;\r\n }\r\n });\r\n if (Object.values(tempObject)?.every(value => value === true)) {\r\n checked = true\r\n }\r\n\r\n const checkedAppointment = locationObjects.filter(object => !object.checkedAppointment).length === 0;\r\n const checkedStatus = locationObjects.filter(object => !object.checkedStatus).length === 0;\r\n const apptAndStatusAreChecked = locationObjects.length && (checkedAppointment && checkedStatus);\r\n setAllAreChecked(checked && apptAndStatusAreChecked)\r\n if (allAreChecked) {\r\n dispatch(assignOrdersToLoadAndUpdateNewLoad(resource, assignedOrders, allAvailableOrders, false, locationObjects))\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [locationObjects, allAreChecked]);\r\n\r\n const handleOnChange = (e, status, selectedLocation) => {\r\n const clicked = `${e.target.value}_${status}_${selectedLocation}`;\r\n if (checkedAppointments.includes(clicked)) {\r\n const index = checkedAppointments.indexOf(clicked);\r\n checkedAppointments.splice(index, 1);\r\n setCheckedAppointments([...checkedAppointments]);\r\n } else {\r\n const test = checkedAppointments.filter(item => !item.includes(selectedLocation));\r\n setCheckedAppointments([...test, `${e.target.value}_${status}_${selectedLocation}`]);\r\n }\r\n\r\n locationObjects.forEach(object => {\r\n if (object?.[location] === selectedLocation) {\r\n object.checkedAppointment = e.target.value;\r\n object.checkedStatus = status;\r\n }\r\n });\r\n };\r\n\r\n const removeDuplicates = location => {\r\n const objectsList = [];\r\n for (let i = 0; i < location?.appointments?.length; i++) {\r\n const object = {\r\n appointment: location?.appointments[i],\r\n status: location?.status[i],\r\n };\r\n objectsList.push(object);\r\n }\r\n // return Unique by all properties in array\r\n const arrUniq = [...new Map(objectsList.map(v => [JSON.stringify(v), v])).values()];\r\n return arrUniq;\r\n };\r\n\r\n const locationObjectsOnlyChecked = locationObjects.filter(obj => obj.checkedAppointment !== undefined);\r\n const finalListOfLocationObjects = locationObjects;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n X\r\n
    \r\n
    \r\n
    Attention:
    \r\n
    {`The orders have different ${resource === 'load' ? 'pick' : 'drop'} appointments`}
    \r\n
    Please choose the correct one
    \r\n {finalListOfLocationObjects.length &&\r\n // eslint-disable-next-line array-callback-return\r\n finalListOfLocationObjects.map((locationObj, i) => {\r\n if (!locationObj.appointments.length === 1 || \r\n !locationObj.appointments.every(item => item === locationObj.appointments[0]) ||\r\n !locationObj.status.every(item => item === locationObj.status[0])\r\n ) {\r\n return (\r\n <>\r\n
    \r\n {locationObj.appointments.length && resource === 'load' ? locationObj?.pickLocation :\r\n locationObj.appointments.length && resource === 'outboundload' ? locationObj?.dropLocation : ''}\r\n
    \r\n
    \r\n {removeDuplicates(locationObj).map((appointmentObject, i) => {\r\n return (\r\n handleOnChange(e, appointmentObject.status, locationObj[location])}>\r\n {moment.utc(appointmentObject.appointment).local().format(Defines.Format.PrintDateTime)}\r\n \r\n );\r\n })}\r\n
    \r\n \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n \r\n SAVE\r\n \r\n
    \r\n CANCEL\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AssignOrdersModalNewLoad;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Select from 'react-select'\r\nimport { message, Input, Switch } from 'antd';\r\nimport { debounce } from 'lodash';\r\nimport Scroll from \"../../scroll/scroll\";\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport { saveScreenSwap } from '../../../../store/actions/authentication/authentication';\r\nimport { load, unreactOrders, assignOrdersToNewLoad, addNewLoad, createSubLoadAssignOrders }\r\n from '../../../../store/actions/loadArea/loadArea';\r\nimport { openPopup, closePopup, closePopupAsync } from \"../../../../store/actions/popup/popup\";\r\nimport { PopupTypes } from \"../../custom/popup/popup\";\r\nimport { ElementTypes, ElementValidations, GenerateToolBars, ValueListUrls } from '../../../config';\r\nimport LocationConfig from '../../../screens/Location/config';\r\nimport Manifest from '../../../screens/Manifest/config';\r\nimport axios from '../../../../codeless/axios/axios';\r\nimport ToolBarButton from '../../../elements/toolBarButton';\r\nimport LumperModal from './LumperModal';\r\nimport AssignOrdersModalNewLoad from './AssignOrdersModalNewLoad';\r\n\r\nconst ToolBar = props => {\r\n const {\r\n mainResource,\r\n saveScreenSwap,\r\n screens,\r\n state,\r\n unreactOrders,\r\n assignOrdersToNewLoad,\r\n createSubLoadAssignOrders,\r\n addNewLoad,\r\n openPopup,\r\n load,\r\n resource,\r\n userRole,\r\n filter,\r\n handleSelectChange,\r\n setSearchInput,\r\n setFilterInput,\r\n } = props;\r\n\r\n const [lumperModalIsOpen, setLumperModalIsOpen] = useState(false);\r\n const openModalNewLoad = state[resource].openModalNewLoad;\r\n const [assignOrdersModalIsOpen, setAssignOrdersModalIsOpen] = useState(false);\r\n const allAvailableOrders = resource === 'load' ? state?.load?.orders : state?.outboundload?.orders;\r\n\r\n useEffect(() => {\r\n setAssignOrdersModalIsOpen(openModalNewLoad);\r\n }, [openModalNewLoad]);\r\n\r\n const swap = screens && screens[mainResource] ? screens[mainResource].swap : false;\r\n const loadArea = state[resource];\r\n const selectedAvailableOrders =\r\n (loadArea && loadArea.regionsAvailableOrders) ?\r\n loadArea.regionsAvailableOrders.filter(\r\n o => o.rowState.type === 'order' && o.rowState.reacted) : [];\r\n const selectedAssignedOrders =\r\n (loadArea && loadArea.loadsAssignedOrders) ?\r\n loadArea.loadsAssignedOrders.filter(\r\n o => o.rowState.type === 'order' && o.rowState.reacted) : [];\r\n\r\n const availableSelection = (load && loadArea.orders) ?\r\n loadArea.orders.filter(\r\n o => selectedAvailableOrders.findIndex(ao =>\r\n ao.rowState.orderData.id === o.id) !== -1 ||\r\n selectedAssignedOrders.findIndex(ao =>\r\n ao.rowState.orderData.id === o.id) !== -1) : [];\r\n const totalSpace = availableSelection.reduce((sum, o) => sum + o.space, 0);\r\n const totalPallet = availableSelection.reduce((sum, o) => sum + o.palletCount, 0);\r\n const totalWeight = availableSelection.reduce((sum, o) => sum + o.weight, 0);\r\n\r\n const success = (text) => {\r\n message.success(`${text}`);\r\n };\r\n\r\n const createManifest = () => {\r\n const windowKey = \"Manifest\";\r\n const config = Manifest;\r\n const title = `Edit ${config.Title}`;\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: title,\r\n type: PopupTypes.ConfigSection,\r\n bodyProps: { windowKey },\r\n config: {\r\n Title: 'Create Manifest',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n week: {\r\n Title: 'Select Week',\r\n Field: ElementTypes.LabelField(),\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n },\r\n data: {\r\n week: `${new Date().getWeek()}`,\r\n noteCheckBeforeSave:true,\r\n },\r\n onSave: (result, isClose) => {\r\n axios({\r\n url: `/load/createmanifestforweek`,\r\n method: 'put',\r\n headers:\r\n {\r\n \"Content-Type\": \"application/json-patch+json\"\r\n },\r\n data: result.week,\r\n }).then((res) => {\r\n success(res?.data?.message)\r\n \r\n })\r\n if (isClose) {\r\n closePopupAsync(windowKey);\r\n }\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const createSabload = () => {\r\n const windowKey = \"SubLoad\";\r\n openPopup({\r\n windowKey,\r\n fullScreen: false,\r\n title: 'Create Sub Load',\r\n type: PopupTypes.ConfigSection,\r\n bodyProps: { windowKey },\r\n data: {\r\n dropLocationId: undefined\r\n },\r\n config: {\r\n Title: 'Select Destination',\r\n SectionGroups: [\r\n {\r\n Sections: [\r\n {\r\n Fields: {\r\n dropLocationId: {\r\n Title: 'DEL WH',\r\n Field: ElementTypes.Generic(ElementTypes.ComboAddWithCache, {\r\n dataSource: ValueListUrls.LocationDoor,\r\n addparams: {\r\n TitlePrefix: 'Drop',\r\n PopupConfig: LocationConfig,\r\n ValueField: 'defLocationDoorId'\r\n },\r\n selectedValueType: 'drop2WH'\r\n }),\r\n Validations: [ElementValidations.Required()]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n ToolBars: GenerateToolBars(['SaveClose', 'Cancel'])\r\n },\r\n onSave: (result, isClose) => {\r\n createSubLoadAssignOrders(resource, selectedAssignedOrders, result.dropLocationId);\r\n if (isClose) {\r\n closePopupAsync(windowKey);\r\n }\r\n },\r\n closeAction: () => {\r\n closePopup(windowKey);\r\n }\r\n });\r\n };\r\n\r\n const trySaveScreenSwap = params => {\r\n document.getElementById('main').scrollLeft = 0;\r\n saveScreenSwap(params.mainResource, params.swap)\r\n };\r\n\r\n const tryAssignOrdersToNewLoad = params => resource === 'load' ? \r\n assignOrdersToNewLoad(params.resource, params.orders, 0, state.load.orders) :\r\n assignOrdersToNewLoad(params.resource, params.orders, 0, state.outboundload.orders);\r\n\r\n const forAdminAndCustomerRoles = userRole === 'Admin' || userRole === 'Customer';\r\n\r\n const pickLocations = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.pickLocation : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.pickLocation : '' }\r\n });\r\n\r\n const dropLocations = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.dropLocation : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.dropLocation : '' }\r\n });\r\n\r\n let delNumbers = [];\r\n if (resource === 'load') {\r\n delNumbers = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inDeliverNummber : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inDeliverNummber : '' }\r\n });\r\n } else {\r\n delNumbers = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outDeliverNummber : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outDeliverNummber : '' }\r\n });\r\n };\r\n\r\n const stateNames = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.dropStateName : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.dropStateName : '' }\r\n });\r\n\r\n // let apptStatuses = [];\r\n // if (resource === 'load') {\r\n // apptStatuses = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n // return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inboundAppointmentStatus : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inboundAppointmentStatus : '' }\r\n // });\r\n // } else {\r\n // apptStatuses = state[resource]?.loadsAssignedOrders && state[resource]?.loadsAssignedOrders.map(order => { \r\n // return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outboundAppointmentStatus : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outboundAppointmentStatus : '' }\r\n // });\r\n // };\r\n\r\n const uniquePickLocations = pickLocations?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n\r\n const uniqueDropLocations = dropLocations?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n\r\n const uniqueDelNumbers = delNumbers?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n\r\n // const uniqueApptStatuses = apptStatuses?.filter((order, index, self) =>\r\n // index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n // .filter(order => order.value !== '')\r\n // .map(order => {\r\n // if (order.value == 2) order.label = 'Open';\r\n // if (order.value == 1) order.label = 'Change';\r\n // if (order.value == 3) order.label = 'Pending';\r\n // if (order.value == 4) order.label = 'Confirmed';\r\n // return order\r\n // })\r\n // .concat( { value: 'All', label: 'All' });\r\n \r\n // constant data for statuses\r\n const uniqueApptStatuses = [\r\n { value: 2, label: 'Open' },\r\n { value: 1, label: 'Change' },\r\n { value: 3, label: 'Pending' },\r\n { value: 4, label: 'Confirmed' },\r\n { value: 'All', label: 'All' },\r\n ];\r\n\r\n const uniqueStateNames = stateNames?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n\r\n const [pickLocation, setPickLocations] = useState('');\r\n const [dropLocation, setDropLocations] = useState('');\r\n const [delNumber, setDelNumber] = useState('');\r\n const [apptStatus, setApptStatus] = useState('');\r\n const [stateName, setStateName] = useState('');\r\n const [checkboxSelected, setCheckboxSelected] = useState(false);\r\n\r\n const handleChangePick = option => {\r\n handleSelectChange(option.value, 'pick');\r\n setPickLocations(option);\r\n };\r\n\r\n const handleChangeDrop = option => {\r\n handleSelectChange(option.value, 'drop');\r\n setDropLocations(option);\r\n };\r\n\r\n const handleChangeDelNumber = option => {\r\n handleSelectChange(option.value, 'del');\r\n setDelNumber(option);\r\n };\r\n\r\n const handleChangeApptStatus = option => {\r\n handleSelectChange(option.value, 'apptStatus');\r\n setApptStatus(option);\r\n };\r\n\r\n // const handleChangeStateName = option => {\r\n // handleSelectChange(option.value, 'stateName');\r\n // setStateName(option);\r\n // };\r\n\r\n const noLumper = selectedAssignedOrders?.filter(order => order.rowState.orderData?.dropWhLumper === 1).length > 0;\r\n\r\n const debounced = debounce(() => {\r\n message.warning(\"It's not possible to add a lumper for this WH\", 1)\r\n }, 700);\r\n \r\n const handleOpenLumperModal = () => {\r\n if (noLumper) {\r\n debounced();\r\n } else {\r\n selectedAssignedOrders.length && setLumperModalIsOpen(true);\r\n }\r\n };\r\n\r\n const handleCheckboxSelected = () => {\r\n setCheckboxSelected(!checkboxSelected);\r\n setFilterInput('');\r\n setSearchInput('');\r\n };\r\n\r\n const styles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '22px',\r\n minWidth: '200px',\r\n paddingLeft: '10px',\r\n height: '24px',\r\n alignContent: 'center',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n boxShadow: '0',\r\n top: 20,\r\n }),\r\n input: (base, state) => ({\r\n ...base,\r\n height: 0,\r\n position: 'absolute',\r\n top: '0',\r\n marginTop: '-2px',\r\n }),\r\n valueContainer: (base, state) => ({\r\n height: '-webkit-fill-available',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '170px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n menuList: (base, state) => ({\r\n ...base,\r\n position: 'fixed',\r\n maxHeight: \"-webkit-fill-available\",\r\n padding: 0,\r\n \"::-webkit-scrollbar\": {\r\n width: \"4px\",\r\n height: \"0px\",\r\n },\r\n \"::-webkit-scrollbar-track\": {\r\n background: \"#f1f1f1\"\r\n },\r\n \"::-webkit-scrollbar-thumb\": {\r\n background: \"#888\"\r\n },\r\n \"::-webkit-scrollbar-thumb:hover\": {\r\n background: \"#555\"\r\n }\r\n }),\r\n option: (defaultStyles, state) => ({\r\n ...defaultStyles,\r\n color: state.isSelected ? \"#000\" : \"#000\",\r\n backgroundColor: state.isSelected ? \"lightGrey\" : \"#fff\",\r\n border: '1px solid lightGray'\r\n }),\r\n indicatorsContainer: () => ({\r\n height: 'max-content',\r\n }),\r\n indicatorContainer: () => ({\r\n padding: '0 8px!important',\r\n }),\r\n };\r\n\r\n const stylesDel = {\r\n ...styles,\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '22px',\r\n minWidth: '100px',\r\n paddingLeft: '10px',\r\n height: '24px',\r\n alignContent: 'center',\r\n }),\r\n };\r\n\r\n return ( document.activeElement.blur()} \r\n scroll=\"\" \r\n lightgrey=\"\" \r\n className={`subtoolbar ${filter ? 'withFilter' : ''}`}> \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loadArea.loadType === 'inbound' && forAdminAndCustomerRoles ?\r\n \r\n : null}\r\n {loadArea.loadType === 'outbound' ?\r\n handleOpenLumperModal()} />\r\n : null} \r\n \r\n \r\n {\r\n availableSelection.length > 0 && (<>\r\n {\r\n selectedAssignedOrders.filter(a => a.rowState.isSub || a.rowState.subId).length === 0 &&\r\n \r\n }\r\n {\r\n availableSelection.length === selectedAssignedOrders.filter(as => as.rowState.allowCreateSubOrder &&\r\n as.rowState.loadData.id === selectedAssignedOrders[0].rowState.loadData.id).length && resource === 'outboundload' &&\r\n \r\n }\r\n
    \r\n
    Space Count
    \r\n
    \r\n 31 ? '' : null}>{totalSpace?.toLocaleString()}\r\n
    \r\n
    \r\n
    \r\n
    Pallet Count
    \r\n
    \r\n 31 ? '' : null}>{totalPallet}\r\n
    \r\n
    \r\n
    \r\n
    Total Weight
    \r\n
    \r\n 30000 ? '' : null}>{totalWeight?.toLocaleString()}\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    FILTER
    \r\n null}\r\n onChange={option => handleChangePick(option)}\r\n styles={styles}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n
    \r\n null}\r\n onChange={option => handleChangeDrop(option)}\r\n styles={styles}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n
    \r\n null}\r\n onChange={option => handleChangeDelNumber(option)}\r\n styles={stylesDel}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n {resource === 'outboundload' &&
    \r\n null}\r\n onChange={option => handleChangeApptStatus(option)}\r\n styles={stylesDel}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    }\r\n
    \r\n null}\r\n onChange={option => handleChangeApptStatus(option)}\r\n styles={stylesDel}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n
    \r\n handleCheckboxSelected()} />\r\n {!checkboxSelected ? <>\r\n
    Search
    \r\n setSearchInput(e.target.value.toLowerCase())}\r\n placeholder=\"PO#\"\r\n type=\"text\"\r\n /> \r\n : null}\r\n {checkboxSelected ? <>\r\n
    Filter
    \r\n setFilterInput(e.target.value.toLowerCase())}\r\n placeholder=\"PO#\"\r\n type=\"text\"\r\n /> \r\n : null}\r\n
    \r\n
    \r\n
    \r\n {!props.isHiddenSwitch && }\r\n {lumperModalIsOpen &&\r\n \r\n \r\n }\r\n {assignOrdersModalIsOpen && \r\n \r\n }\r\n
    );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n screens: state.auth.profileSettings && state.auth.profileSettings.screens,\r\n userRole: state.auth.userRole,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n load: (resource) => dispatch(load(resource)),\r\n openAlert: (key) => dispatch(openPopup(key)),\r\n saveScreenSwap: (resource, swap) => dispatch(saveScreenSwap(resource, swap)),\r\n unreactOrders: resource => dispatch(unreactOrders(resource)),\r\n assignOrdersToNewLoad: (resource, orders, index, allOrders) => dispatch(assignOrdersToNewLoad(resource, orders, 1, allOrders)),\r\n createSubLoadAssignOrders: (resource, orders, dropLocationId) =>\r\n dispatch(createSubLoadAssignOrders(resource, orders, dropLocationId)),\r\n addNewLoad: resource => dispatch(addNewLoad(resource)),\r\n openPopup: data => dispatch(openPopup(data)),\r\n closePopup: key => dispatch(closePopup(key)),\r\n closePopupAsync: key => dispatch(closePopupAsync(key))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ToolBar);","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport Modal from 'react-modal';\r\nimport moment from 'moment';\r\nimport { Checkbox } from 'antd';\r\nimport './index.css';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { assignOrdersToLoadAndUpdate } from '../../../../store/actions/loadArea/loadArea';\r\nimport { customStyles } from './styles'\r\n\r\nconst AssignOrdersModal = ({ \r\n setAssignOrdersModalIsOpen,\r\n assignOrdersModalIsOpen,\r\n resource,\r\n allAvailableOrders,\r\n assignedOrders,\r\n draggableLoad,\r\n }) => {\r\n const dispatch = useDispatch();\r\n const appointmentType = resource === 'load' ? 'inboundPickAppointment': 'outboundDropAppointment';\r\n const appointmentStatusType = resource === 'load' ? 'inboundAppointmentStatus': 'outboundAppointmentStatus';\r\n const location = resource === 'load' ? 'pickLocation': 'dropLocation';\r\n\r\n const [locationObjects, setLocationObjects] = useState([]);\r\n const [checkedAppointments, setCheckedAppointments] = useState([]);\r\n const closeModal = () => {\r\n setAssignOrdersModalIsOpen(false);\r\n dispatch(assignOrdersToLoadAndUpdate(resource, draggableLoad, assignedOrders, allAvailableOrders, 'cancelModal', locationObjects));\r\n };\r\n\r\n const listOfLocationsSet = new Set(assignedOrders.map(order => order.rowState.orderData?.[location]));\r\n const listOfLocations = [...listOfLocationsSet];\r\n const existingOrdersLocations = draggableLoad.ordersData.map(order => order.rowState.orderData[appointmentType]);\r\n const existingOrdersPickAppointment = draggableLoad.ordersData.map(order => order.rowState.orderData[appointmentType]).filter(item => !!item);\r\n\r\n useEffect(() => {\r\n const tempLocationObjects = [];\r\n let apptStatus = '';\r\n let currentApptointment = '';\r\n for (let i = 0; i < listOfLocations.length; i++) {\r\n const existingOrdersForCurrentLocation = draggableLoad.ordersData.filter(order => order.rowState.orderData?.[location] === listOfLocations[i]);\r\n\r\n if (existingOrdersForCurrentLocation.length && existingOrdersForCurrentLocation[0]?.rowState.orderData[appointmentType]) {\r\n apptStatus = existingOrdersForCurrentLocation[0].rowState.orderData[appointmentStatusType];\r\n currentApptointment = existingOrdersForCurrentLocation[0].rowState.orderData[appointmentType];\r\n } else {\r\n apptStatus = null;\r\n currentApptointment = null;\r\n }\r\n\r\n let object = {};\r\n let appointments = assignedOrders\r\n .filter(order => order.rowState.orderData?.[location] === listOfLocations[i] && order.rowState.orderData[appointmentType])\r\n .map(order => order.rowState.orderData[appointmentType]);\r\n\r\n let status = assignedOrders\r\n .filter(order => order.rowState.orderData?.[location] === listOfLocations[i] && order.rowState.orderData[appointmentType])\r\n .map(order => Number(order.rowState.orderData[appointmentStatusType]));\r\n\r\n object.appointments = appointments;\r\n object.status = status;\r\n object.checkedAppointment = currentApptointment\r\n ? currentApptointment\r\n : appointments.length === 1 || appointments.every(item => item === appointments[0])\r\n ? appointments[0]\r\n : '';\r\n object.checkedStatus = apptStatus\r\n ? apptStatus\r\n : status.length === 0\r\n ? 0\r\n : status.length === 1 || status.every(item => item === status[0])\r\n ? status[0]\r\n : '';\r\n object[location] = listOfLocations[i];\r\n object.orderIds = assignedOrders\r\n .filter(order => order.rowState.orderData?.[location] === listOfLocations[i])\r\n .map(order => order.rowState.orderObjectId);\r\n tempLocationObjects.push(object);\r\n }\r\n const tempCheckedAppointments = [];\r\n tempLocationObjects.forEach(object => {\r\n const appt = `${object.checkedAppointment}_${object.checkedStatus}_${object[location]}`;\r\n object.checkedAppointment && object.checkedStatus && tempCheckedAppointments.push(appt)\r\n });\r\n setCheckedAppointments(tempCheckedAppointments);\r\n setLocationObjects(tempLocationObjects);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n // case when all location's appointments checks automatically (only one order or all orders have the same location)\r\n const checkedAppointment = locationObjects.filter(object => !object.checkedAppointment).length === 0;\r\n const checkedStatus = locationObjects.filter(object => !object.checkedStatus).length === 0;\r\n const allAreChecked = locationObjects.length && (checkedAppointment && checkedStatus);\r\n if (allAreChecked) {\r\n dispatch(assignOrdersToLoadAndUpdate(resource, draggableLoad, assignedOrders, allAvailableOrders, false, locationObjects));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [locationObjects]);\r\n\r\n const handleOnChange = (e, status, selectedLocation) => {\r\n const clicked = `${e.target.value}_${status}_${selectedLocation}`;\r\n if (checkedAppointments.includes(clicked)) {\r\n const index = checkedAppointments.indexOf(clicked);\r\n checkedAppointments.splice(index, 1);\r\n setCheckedAppointments([...checkedAppointments]);\r\n } else {\r\n const test = checkedAppointments.filter(item => !item.includes(selectedLocation));\r\n setCheckedAppointments([...test, `${e.target.value}_${status}_${selectedLocation}`]);\r\n }\r\n\r\n locationObjects.forEach(object => {\r\n if (object[location] === selectedLocation) {\r\n object.checkedAppointment = e.target.value;\r\n object.checkedStatus = status;\r\n }\r\n });\r\n };\r\n\r\n const removeDuplicates = location => {\r\n const objectsList = [];\r\n for (let i = 0; i < location?.appointments?.length; i++) {\r\n const object = {\r\n appointment: location?.appointments[i],\r\n status: location?.status[i],\r\n };\r\n objectsList.push(object);\r\n }\r\n // return Unique by all properties in array\r\n const arrUniq = [...new Map(objectsList.map(v => [JSON.stringify(v), v])).values()];\r\n return arrUniq;\r\n };\r\n\r\n const locationObjectsWithAppt = locationObjects.filter(locObject => locObject.appointments.length);\r\n const ordersWithOutExistingInLoad = locationObjects.filter(loc => !existingOrdersLocations.includes(loc?.[location]));\r\n const finalListOfLocationObjects = existingOrdersLocations.length && !existingOrdersPickAppointment.length ? locationObjects : ordersWithOutExistingInLoad;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n X\r\n
    \r\n
    \r\n
    Attention:
    \r\n
    {`The orders have different ${resource === 'load' ? 'pick' : 'drop'} appointments`}
    \r\n
    Please choose the correct one
    \r\n {finalListOfLocationObjects.length &&\r\n // eslint-disable-next-line array-callback-return\r\n finalListOfLocationObjects.map((locationObj, i) => {\r\n if (!locationObj.appointments.length === 1 || \r\n !locationObj.appointments.every(item => item === locationObj.appointments[0]) ||\r\n !locationObj.status.every(item => item === locationObj.status[0])\r\n ) {\r\n return (\r\n <>\r\n
    \r\n {locationObj.appointments.length && resource === 'load' ? locationObj?.pickLocation :\r\n locationObj.appointments.length && resource === 'outboundload' ? locationObj?.dropLocation : ''}\r\n
    \r\n
    \r\n {removeDuplicates(locationObj).map((appointmentObject, i) => {\r\n return (\r\n handleOnChange(e, appointmentObject.status, locationObj[location])}>\r\n {moment.utc(appointmentObject.appointment).local().format(Defines.Format.PrintDateTime)}\r\n \r\n );\r\n })}\r\n
    \r\n \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n \r\n dispatch(assignOrdersToLoadAndUpdate(resource, draggableLoad, assignedOrders, allAvailableOrders, false, locationObjects))\r\n }>\r\n SAVE\r\n \r\n
    \r\n CANCEL\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AssignOrdersModal;\r\n","import React, { useMemo, useRef, useEffect, useCallback, useState } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { VariableSizeList } from 'react-window';\r\nimport Split from \"react-split-it\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { unAssignOrders, assignOrdersToLoad, assignOrdersToNewLoad, load, \r\n resetError, reactOnAvailableItems, reactOnAssignedItems, filterInOutOrders }\r\n from '../../../../store/actions/loadArea/loadArea';\r\nimport { getLocations } from '../../../../store/actions/locations/locations';\r\nimport { getContentWidth } from '../../../../store/reducers/loadArea/helper/general';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport { DragDropContext, Droppable } from \"react-beautiful-dnd\";\r\nimport { createSelectable, SelectableGroup } from '../reactSelectable';\r\nimport ToolBar from './toolBar';\r\nimport { createSeparator } from '../../../../store/reducers/loadArea/helper/separator';\r\nimport { message } from 'antd';\r\nimport Loading from \"../../screen/loading\";\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\nimport AssignOrdersModal from './AssignOrdersModal';\r\n\r\nconst Spreadsheet = props => {\r\n const scrollSizeSmall = 8;\r\n const scrollSize = 16;\r\n const defRowHeight = 18;\r\n const assignedRef = useRef({});\r\n const availableRef = useRef({});\r\n const { selectable, reactOnAssignedItems, reactOnAvailableItems, state, filterInOutOrders, getLocations } = props;\r\n const resource = props.resource;\r\n const allAvailableOrders = resource === 'load' ? state?.load?.orders : state?.outboundload?.orders;\r\n const location = useLocation();\r\n\r\n const haseError = state[resource].hasError;\r\n const resetError = props.resetError;\r\n const actionMessage = state[resource].message;\r\n const load = props.load;\r\n const overIndex = useRef(null);\r\n const loading = state[resource].loading;\r\n const loadingLocations = state['locations'].loading;\r\n const openModal = state[resource].openModal;\r\n const [assignOrdersModalIsOpen, setAssignOrdersModalIsOpen] = useState(openModal);\r\n const [assignedOrders, setAssignedOrders] = useState('');\r\n const [draggableLoad, setDraggableLoad] = useState('');\r\n const [filterInput, setFilterInput] = useState('');\r\n const [searchInput, setSearchInput] = useState('');\r\n const [selectedOrder, setSelectedOrder] = useState('');\r\n\r\n useEffect(() => {\r\n setAssignOrdersModalIsOpen(openModal);\r\n }, [assignOrdersModalIsOpen, openModal]);\r\n\r\n const defaultFilterOptions = {\r\n pick: 'All',\r\n drop: 'All',\r\n del: 'All',\r\n apptStatus: 'All',\r\n stateName: 'All',\r\n };\r\n \r\n const swap = state.auth.profileSettings && state.auth.profileSettings.screens\r\n && state.auth.profileSettings.screens[resource] ? state.auth.profileSettings.screens[resource].swap : false;\r\n \r\n const onDrugStartMouseX = useRef(0);\r\n\r\n useClientHubOrder((message) => {\r\n if (state.auth.userId !== message.byId) {\r\n load(resource, 'withoutLoading');\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n load(resource, '');\r\n }, [load, resource]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage, 5);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n useEffect(() => {\r\n getLocations('location', 'locationdoorlist');\r\n }, [getLocations]);\r\n\r\n const listFirstReference = useRef(null);\r\n const listSecondReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listFirstReference.current && listSecondReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listFirstReference.current.scrollLeft =\r\n listSecondReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n };\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n \r\n const width = location.pathname.split('/')[1] === 'booking' ? \r\n getContentWidth(state[resource].headers, 'booking') + 32 :\r\n getContentWidth(state[resource].headers.filter(header => header.hideForLoadPlanning !== true)) - 10;\r\n\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n filterInOutOrders(resource, 'default');\r\n history.listen(() => {\r\n filterInOutOrders(resource, 'default');\r\n });\r\n return () => {\r\n filterInOutOrders(resource, 'default');\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [resource, history]);\r\n\r\n const stateLoadsAssignedOrders = state[resource].loadsAssignedOrders;\r\n const stateFilterOptions = state[resource].filterOptions;\r\n\r\n let filteredData = stateLoadsAssignedOrders;\r\n if (JSON.stringify(stateFilterOptions) === JSON.stringify(defaultFilterOptions)) {\r\n filteredData = stateLoadsAssignedOrders;\r\n } else {\r\n const filterFunction = (item) => {\r\n // filter orders\r\n const pickQuery = stateFilterOptions['pick'] !== 'All' ?\r\n item?.rowState?.orderData?.pickLocation === stateFilterOptions['pick'] : true;\r\n\r\n const dropQuery = stateFilterOptions['drop'] !== 'All' ?\r\n item?.rowState?.orderData?.dropLocation === stateFilterOptions['drop'] : true;\r\n\r\n let delQuery;\r\n if (resource === 'load') {\r\n delQuery = stateFilterOptions['del'] !== 'All' ?\r\n item?.rowState?.orderData?.inDeliverNummber === stateFilterOptions['del'] : true;\r\n } else {\r\n delQuery = stateFilterOptions['del'] !== 'All' ?\r\n item?.rowState?.orderData?.outDeliverNummber === stateFilterOptions['del'] : true;\r\n }\r\n\r\n let apptsQuery;\r\n if (resource === 'load') {\r\n apptsQuery = stateFilterOptions['apptStatus'] !== 'All' ?\r\n +item?.rowState?.orderData?.inboundAppointmentStatus === stateFilterOptions['apptStatus'] && \r\n !!item?.rowState?.orderData?.inboundPickAppointment : true;\r\n } else {\r\n apptsQuery = stateFilterOptions['apptStatus'] !== 'All' ?\r\n +item?.rowState?.orderData?.outboundAppointmentStatus === stateFilterOptions['apptStatus'] &&\r\n !!item?.rowState?.orderData?.outboundDropAppointment : true;\r\n }\r\n\r\n const stateNameQuery = stateFilterOptions['stateName'] !== 'All' ?\r\n item?.rowState?.orderData?.dropStateName === stateFilterOptions['stateName'] : true;\r\n\r\n // filter loads\r\n let filteredOrders = filteredData;\r\n if (stateFilterOptions['pick'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => item?.rowState?.orderData?.pickLocation === stateFilterOptions['pick']) :\r\n filteredOrders = []\r\n }\r\n\r\n if (stateFilterOptions['drop'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => item?.rowState?.orderData?.dropLocation === stateFilterOptions['drop']) :\r\n filteredOrders = []\r\n }\r\n\r\n if (stateFilterOptions['stateName'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => item?.rowState?.orderData?.dropStateName === stateFilterOptions['stateName']) :\r\n filteredOrders = []\r\n }\r\n\r\n if (resource === 'load' && stateFilterOptions['del'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => item?.rowState?.orderData?.inDeliverNummber === stateFilterOptions['del']) :\r\n filteredOrders = []\r\n } else if (resource === 'outboundload' && stateFilterOptions['del'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => item?.rowState?.orderData?.outDeliverNummber === stateFilterOptions['del']) :\r\n filteredOrders = []\r\n }\r\n\r\n if (resource === 'load' && stateFilterOptions['apptStatus'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => +item?.rowState?.orderData?.inboundAppointmentStatus === stateFilterOptions['apptStatus']\r\n && item?.rowState?.orderData?.inboundPickAppointment)\r\n : filteredOrders = []\r\n } else if (resource === 'outboundload' && stateFilterOptions['apptStatus'] !== 'All') {\r\n filteredOrders = filteredOrders.length ?\r\n filteredOrders.filter(item => +item?.rowState?.orderData?.outboundAppointmentStatus === stateFilterOptions['apptStatus']\r\n && item?.rowState?.orderData?.outboundDropAppointment)\r\n : filteredOrders = []\r\n }\r\n\r\n const orderQuery = pickQuery && dropQuery && apptsQuery && delQuery && stateNameQuery;\r\n const onlyOrdersLoadIds = filteredOrders?.map(order => order.rowState.loadData.id);\r\n const loadQuery = item?.ordersData?.length && onlyOrdersLoadIds.includes(item.rowState.loadData.id);\r\n\r\n return loadQuery || orderQuery;\r\n };\r\n\r\n filteredData = filteredData?.filter(filterFunction);\r\n\r\n setTimeout(() => {\r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft) {\r\n listFirstReference.current.scrollLeft = listHeaderReference?.current?.scrollLeft\r\n }\r\n }, 100)\r\n };\r\n\r\n const handleSelectChange = (option, filterType) => {\r\n filterInOutOrders(resource, filterType, option);\r\n };\r\n\r\n const displayLoadsAssignedOrders = useMemo(() =>\r\n !filteredData || filteredData === 0\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n ? [createSeparator(defRowHeight, state[resource].headers, 'load', 0)] : filteredData, [stateLoadsAssignedOrders, stateFilterOptions]);\r\n const displayRegionsAvailableOrders =\r\n !state[resource].regionsAvailableOrders || state[resource].regionsAvailableOrders.length === 0\r\n ? [createSeparator(defRowHeight, state[resource].headers, 'region', 0)] : state[resource].regionsAvailableOrders;\r\n \r\n const loadNumber = resource === 'load' ? 'inboundLoadNumber' : 'outboundLoadNumber';\r\n\r\n const loadsAssignedOrders = useMemo(() => displayLoadsAssignedOrders\r\n .filter(order => order.rowState.visible)\r\n .filter(order => (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.[loadNumber]?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(filterInput)).length > 0) ||\r\n (order.ordersData?.length === 0 && !filterInput) ||\r\n (order.ordersData?.length === 0 && order.rowState?.loadData?.loadNumber?.toLowerCase().includes(filterInput)) ||\r\n order.rowState?.orderData?.[loadNumber]?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(filterInput))\r\n ,[displayLoadsAssignedOrders, loadNumber, filterInput]\r\n );\r\n\r\n const regionsAvailableOrders = useMemo(() => displayRegionsAvailableOrders\r\n .filter(order => order.rowState.visible)\r\n .filter(order => (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.[loadNumber]?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(filterInput)).length > 0) ||\r\n (order.ordersData?.length === 0 && !filterInput) ||\r\n (order.ordersData?.length === 0 && order.rowState?.loadData?.loadNumber?.toLowerCase().includes(filterInput)) ||\r\n order.rowState?.orderData?.[loadNumber]?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(filterInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(filterInput))\r\n ,[displayRegionsAvailableOrders, loadNumber, filterInput]\r\n );\r\n\r\n useEffect(() => {\r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft) {\r\n listFirstReference.current.scrollLeft = listHeaderReference?.current?.scrollLeft\r\n }\r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft) {\r\n listSecondReference.current.scrollLeft = listHeaderReference?.current?.scrollLeft\r\n }\r\n }, [filterInput]);\r\n\r\n useEffect(() => {\r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft &&\r\n loadsAssignedOrders?.length < 3) {\r\n listHeaderReference.current.scrollLeft = listFirstReference.current.scrollLeft;\r\n mainScroll.current.scrollLeft = 0\r\n }\r\n }, [loadsAssignedOrders]);\r\n\r\n const getAsignedItemSize = useCallback(\r\n index => loadsAssignedOrders[index] ? loadsAssignedOrders[index].rowState.height : defRowHeight,\r\n [loadsAssignedOrders]);\r\n\r\n const getAvailableItemSize = useCallback(\r\n index => regionsAvailableOrders[index] ? regionsAvailableOrders[index].rowState.height : defRowHeight,\r\n [regionsAvailableOrders]);\r\n\r\n useEffect(() => {\r\n // assigned\r\n const selectedOrderAssigned = displayLoadsAssignedOrders.filter(order =>\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) &&\r\n searchInput !== ''\r\n );\r\n const selectedOrderAssignedIndex = displayLoadsAssignedOrders.map((order, index) => {\r\n if (order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) && searchInput !== '') {\r\n return index\r\n }\r\n }).filter(item => item !== undefined)[0];\r\n\r\n // available\r\n const selectedOrderAvailable = displayRegionsAvailableOrders.filter(order =>\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) &&\r\n searchInput !== ''\r\n );\r\n const selectedOrderAvailableIndex = displayRegionsAvailableOrders.map((order, index) => {\r\n if (order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) && searchInput !== '') {\r\n return index\r\n }\r\n }).filter(item => item !== undefined)[0];\r\n\r\n if (selectedOrderAssigned.length) {\r\n setSelectedOrder(selectedOrderAssigned) \r\n if (assignedRef?.current?.scrollToItem) {\r\n const loadsList = displayLoadsAssignedOrders.filter(order => order.rowState.type === 'load');\r\n const selectedOrderId = selectedOrderAssigned[0].rowState.orderObjectId;\r\n let selectedLoadIndex = 0;\r\n for (let i = 0; i < loadsList.length; i++) {\r\n for (let j = 0; j < loadsList[i].ordersData.length; j++) {\r\n if (loadsList[i].ordersData[j].rowState.orderObjectId === selectedOrderId) {\r\n selectedLoadIndex = i;\r\n }\r\n }\r\n }\r\n const finalIndex = Math.round(selectedOrderAssignedIndex && selectedOrderAssignedIndex + selectedLoadIndex );\r\n selectedOrderAssignedIndex && assignedRef.current.scrollToItem(finalIndex)\r\n };\r\n } else if (selectedOrderAvailable.length) {\r\n setSelectedOrder(selectedOrderAvailable) \r\n if (availableRef?.current?.scrollToItem) {\r\n const regionsList = displayRegionsAvailableOrders.filter(order => order.rowState.type === 'region');\r\n const selectedOrderId = selectedOrderAvailable[0].rowState.orderObjectId;\r\n let selectedRegionIndex = 0;\r\n for (let i = 0; i < regionsList.length; i++) {\r\n for (let j = 0; j < regionsList[i].ordersData.length; j++) {\r\n if (regionsList[i].ordersData[j].rowState.orderObjectId === selectedOrderId) {\r\n selectedRegionIndex = i;\r\n }\r\n }\r\n }\r\n const finalIndex = Math.round(selectedOrderAvailableIndex && selectedOrderAvailableIndex + selectedRegionIndex );\r\n selectedOrderAvailableIndex && availableRef.current.scrollToItem(finalIndex)\r\n };\r\n } else {\r\n setSelectedOrder('')\r\n // availableRef?.current && availableRef.current.scrollToItem && availableRef.current.scrollToItem(0);\r\n // assignedRef?.current && assignedRef.current.scrollToItem && assignedRef.current.scrollToItem(0)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [assignedRef, availableRef, searchInput]);\r\n\r\n const RenderAssignedRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getAsignedItemSize, resource\r\n ]);\r\n\r\n const RenderAvailableRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index]) ?\r\n \r\n :
    No pending orders
    \r\n ), [getAvailableItemSize, resource\r\n ]);\r\n\r\n const SelectableComponent = useMemo(() => createSelectable(Row), []);\r\n\r\n const SelectableAssignedRow = useCallback(({ data, index, style }) => {\r\n return index !== undefined && data[index]\r\n ? \r\n : null\r\n }, [getAsignedItemSize, resource, selectedOrder]);\r\n\r\n const SelectableAvailableRow = useCallback(({ data, index, style }) => {\r\n return index !== undefined && data[index]\r\n ? \r\n :
    No pending orders
    \r\n }, [getAvailableItemSize, resource, selectedOrder]);\r\n\r\n const handleMouseMoveSelectionAvailable = (itemData, isSelected) => {\r\n if (itemData.key.rowState.type === 'order') { \r\n isSelected ? \r\n itemData.domNode.style.backgroundColor = 'lightGray' :\r\n itemData.domNode.style.backgroundColor = 'inherit';\r\n }\r\n };\r\n\r\n const handleMouseEndSelectionAvailable = useCallback(selectedItems => {\r\n reactOnAvailableItems(resource, selectedItems.filter(i => i.rowState.type === 'order').map(i => i.rowState.id), 'order');\r\n }, [reactOnAvailableItems, resource]);\r\n\r\n const handleMouseEndSelectionAssigned = useCallback(selectedItems => {\r\n reactOnAssignedItems(resource, selectedItems.filter(i => i.rowState.type === 'order').map(i => i.rowState.id), 'order');\r\n }, [reactOnAssignedItems, resource]);\r\n\r\n const getSelectedOrders = useCallback(result => {\r\n const druggedOrder = result.source.droppableId === 'availableOrders'\r\n ?\r\n regionsAvailableOrders[result.source.index] :\r\n loadsAssignedOrders[result.source.index];\r\n\r\n return [...regionsAvailableOrders.filter(\r\n o => (o.rowState.type === 'order' && o.rowState.reacted) || o.rowState.id === druggedOrder.rowState.id),\r\n ...loadsAssignedOrders.filter(o => (o.rowState.type === 'order' && o.rowState.reacted) || o.rowState.id === druggedOrder.rowState.id)]\r\n .filter(o => !o.rowState.isSub && (!o.rowState.loadId || o.rowState.subId === undefined));\r\n\r\n }, [regionsAvailableOrders, loadsAssignedOrders]);\r\n\r\n const getCloneXPosition = cloneWidth => {\r\n let left = 0;\r\n const cloneHalfeWidth = cloneWidth / 2;\r\n if (onDrugStartMouseX.current) {\r\n left = onDrugStartMouseX.current - cloneHalfeWidth;\r\n }\r\n if (left < 0) {\r\n return 0;\r\n }\r\n return left;\r\n };\r\n\r\n const renderClone = useCallback((provided, snapshot, rubric) => {\r\n const cloneWidth = 400;\r\n provided.draggableProps.style = {\r\n ...provided.draggableProps.style, ...{\r\n backgroundColor: '#FFF',\r\n border: '1px solid #000',\r\n width: cloneWidth,\r\n height: '200px',\r\n color: '#000',\r\n fontSize: '14px',\r\n padding: '10px',\r\n left: getCloneXPosition(cloneWidth)\r\n\r\n }\r\n };\r\n const selectedOrders = getSelectedOrders(rubric);\r\n return (\r\n \r\n
      \r\n
    • \r\n Drop Status: \r\n
    • \r\n
    • \r\n Selected Orders Count: {selectedOrders.length}\r\n
    • \r\n
    • \r\n Selected Order POs: \r\n {selectedOrders.map(so => so.rowState.orderData.poNumber).join(',')}\r\n \r\n
    • \r\n
    \r\n \r\n );\r\n }, [getSelectedOrders]);\r\n\r\n const first = useMemo(() => loadsAssignedOrders &&\r\n \r\n {({ height }) => (\r\n \r\n \r\n {(provided, snapshot) => {\r\n const refHanlder = el => {\r\n provided.innerRef(el);\r\n listFirstReference.current = el;\r\n }\r\n return (\r\n \r\n {selectable ? SelectableAssignedRow : RenderAssignedRow}\r\n \r\n );\r\n }}\r\n \r\n \r\n )}\r\n \r\n , [loadsAssignedOrders, getAsignedItemSize, RenderAssignedRow, renderClone, selectable, SelectableAssignedRow,\r\n handleMouseEndSelectionAssigned\r\n ]);\r\n\r\n const second = useMemo(() => regionsAvailableOrders &&\r\n \r\n {({ height }) => (\r\n \r\n \r\n {(provided) => {\r\n const refHanlder = el => {\r\n provided.innerRef(el);\r\n listSecondReference.current = el;\r\n }\r\n const ordersCount = regionsAvailableOrders.length;\r\n return (\r\n \r\n {selectable ? SelectableAvailableRow : RenderAvailableRow}\r\n \r\n );\r\n }}\r\n \r\n \r\n )}\r\n \r\n , [regionsAvailableOrders,\r\n getAvailableItemSize,\r\n RenderAvailableRow,\r\n renderClone,\r\n selectable,\r\n SelectableAvailableRow,\r\n handleMouseEndSelectionAvailable\r\n ]);\r\n\r\n\r\n const draggedOrdersCondition = result => {\r\n if (result.destination) {\r\n const isUnAssign = result.destination.droppableId === 'availableOrders';\r\n if (isUnAssign) {\r\n return ['unassign', null, result.destination.index];\r\n }\r\n else {\r\n //going to find load\r\n const destinationIndexDelta = 1;\r\n let resultDestinationIndex = result.destination.index\r\n if (result.source.droppableId === 'assignedOrders' && result.destination.index > result.source.index) {\r\n ++resultDestinationIndex;\r\n }\r\n let loadId = null;\r\n const destinationObject = loadsAssignedOrders[resultDestinationIndex - destinationIndexDelta];\r\n if (resultDestinationIndex !== 0) {\r\n if (!destinationObject.rowState) {\r\n return ['no_destination', null, null];\r\n }\r\n if (destinationObject.rowState.isSub) {\r\n return ['no_destination', null, null];\r\n }\r\n if (destinationObject.rowState.type === 'load') {\r\n loadId = destinationObject.rowState.id;\r\n }\r\n else if (destinationObject.rowState.type === 'order') {\r\n loadId = destinationObject.rowState.loadId;\r\n }\r\n else if (destinationObject.rowState.type === 'separator') {\r\n loadId = null;\r\n }\r\n }\r\n const load = loadsAssignedOrders.find(l => l.rowState.type === 'load' && l.rowState.id === loadId);\r\n if (loadId && destinationObject.rowState.loadData.message) {\r\n return ['assign', load, resultDestinationIndex, 'newLoad'];\r\n } else \r\n if (loadId) {\r\n return ['assign', load, resultDestinationIndex];\r\n } else {\r\n return ['new_assign', null, resultDestinationIndex];\r\n }\r\n }\r\n }\r\n return ['no_destination', null, null];\r\n };\r\n\r\n const onDragUpdate = result => {\r\n const draggedCondition = draggedOrdersCondition(result);\r\n switch (draggedCondition[0]) {\r\n case 'unassign':\r\n overIndex.current.innerHTML = 'Orders will be unassigned';\r\n break;\r\n case 'assign':\r\n overIndex.current.innerHTML = `Orders will be assigned to load ${draggedCondition[1].rowState.loadData.loadNumber}`;\r\n break;\r\n case 'new_assign':\r\n overIndex.current.innerHTML = 'Orders will be assigned to NEW load';\r\n break;\r\n case 'no_destination':\r\n default:\r\n overIndex.current.innerHTML = '';\r\n break;\r\n }\r\n };\r\n\r\n const onDragEnd = result => {\r\n const draggedCondition = draggedOrdersCondition(result);\r\n const selectedOrders = getSelectedOrders(result);\r\n let loadHasSubOrder = false;\r\n let steps = 0;\r\n if (resource === 'outboundload') {\r\n selectedOrders.forEach(order => {\r\n const draggableLoadId = draggedCondition[1]?.rowState?.loadId;\r\n const selectedOrderLoadId = order?.rowState?.loadObjectId;\r\n const ordersInDraggableLoad = state.outboundload.loadsAssignedOrders.filter(order => order.rowState.loadObjectId === draggableLoadId)\r\n const ordersInSelectedLoad = state.outboundload.loadsAssignedOrders.filter(order => order.rowState.loadObjectId === selectedOrderLoadId)\r\n const allOrders = [...ordersInDraggableLoad, ...ordersInSelectedLoad]\r\n allOrders.forEach(order => {\r\n if (order.rowState.subId && steps < 1) {\r\n loadHasSubOrder = true;\r\n steps = steps + 1;\r\n message.error(\"It's impossible to assign/unassign orders because the load has a subLoad\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n // can not assign the order to anywhere when the order has PickIn\r\n const orderHasOutboundPickIn = resource === 'load' ? \r\n selectedOrders?.filter(order => order.rowState.orderData.inboundPickIn).length > 0 :\r\n selectedOrders?.filter(order => order.rowState.orderData.outboundPickIn).length > 0;\r\n if (orderHasOutboundPickIn) {\r\n message.error('The order is impossible to unassign as it has a Pick In date');\r\n };\r\n\r\n switch (draggedCondition[0]) {\r\n case 'unassign':\r\n if (result.destination.droppableId === 'availableOrders' && \r\n result.source.droppableId === 'assignedOrders' &&\r\n !orderHasOutboundPickIn &&\r\n !loadHasSubOrder) {\r\n props.unAssignOrders(resource, selectedOrders, allAvailableOrders);\r\n }\r\n break;\r\n case 'assign':\r\n // can not assign the order if we try to assign to the same load\r\n const isOtherLoad = draggedCondition[1].ordersData.find(order => order.rowState?.id === result.draggableId) === undefined;\r\n if (isOtherLoad && !orderHasOutboundPickIn && !loadHasSubOrder) {\r\n setDraggableLoad(draggedCondition[1]);\r\n setAssignedOrders(selectedOrders);\r\n props.assignOrdersToLoad(resource, draggedCondition[1], selectedOrders, allAvailableOrders, draggedCondition[3]);\r\n }\r\n break;\r\n case 'new_assign':\r\n props.assignOrdersToNewLoad(resource, selectedOrders, draggedCondition[2], allAvailableOrders);\r\n break;\r\n case 'no_destination':\r\n default:\r\n //nothing for now\r\n break;\r\n }\r\n //setIsStartDrag(false);\r\n };\r\n\r\n const swapContainers = () => {\r\n return swap ? [second, first] : [first, second];\r\n } \r\n\r\n const content = (<>\r\n
    \r\n {header}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {swapContainers()}\r\n \r\n \r\n
    \r\n
    onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n {assignOrdersModalIsOpen && \r\n \r\n }\r\n );\r\n\r\n return <>\r\n {loading || loadingLocations ? : content}\r\n ;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n load: (resource, loadingType) => dispatch(load(resource, loadingType)),\r\n reactOnAvailableItems: (resource, ids, type) => dispatch(reactOnAvailableItems(resource, ids, type)),\r\n reactOnAssignedItems: (resource, ids, type) => dispatch(reactOnAssignedItems(resource, ids, type)),\r\n unAssignOrders: (resource, orders, allAvailableOrders) => dispatch(unAssignOrders(resource, orders, allAvailableOrders)),\r\n assignOrdersToLoad: (resource, load, orders, allAvailableOrders, newLoad) => dispatch(assignOrdersToLoad(resource, load, orders, allAvailableOrders, newLoad)),\r\n assignOrdersToNewLoad: (resource, orders, index, allAvailableOrders) => dispatch(assignOrdersToNewLoad(resource, orders, index, allAvailableOrders)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n filterInOutOrders: (resource, filterType, option) => dispatch(filterInOutOrders(resource, filterType, option)),\r\n getLocations: (resource, param) => dispatch(getLocations(resource, param)),\r\n}))(Spreadsheet);","import React from 'react';\r\nimport Spreadsheet from '../../../custom/spreadsheet/spreadsheet';\r\n\r\nconst InboundLoadBuld = () =>\r\n(
    \r\n \r\n
    );\r\n\r\n\r\nexport default InboundLoadBuld;","import React from 'react';\r\nimport Spreadsheet from '../../../custom/spreadsheet/spreadsheet';\r\n\r\nconst OutboundLoadBuld = () =>\r\n(
    \r\n \r\n
    );\r\n\r\n\r\nexport default OutboundLoadBuld;","import React from 'react';\r\nimport moment from 'moment';\r\nimport { CSVLink } from \"react-csv\";\r\nimport { Select, Tabs, Tooltip, Button } from 'antd';\r\nimport { DownloadOutlined } from '@ant-design/icons';\r\nimport Scroll from \"../../scroll/scroll\";\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\n\r\nconst ManifestToolBar = ({ \r\n selectedWeek,\r\n setSelectedWeek,\r\n setTabsKey,\r\n handleExportWithMethod,\r\n isHiddenSwitch,\r\n columns,\r\n dataManifest\r\n }) => {\r\n\r\n const weekArray = Array.from(Array(moment().weeksInYear()), (_, x) => x);\r\n const weekList = weekArray.map(item => ({ \"value\": `${item + 1}`, \"text\": `${item + 1}` }))\r\n const handleSelectChange = (value) => {\r\n setSelectedWeek(value);\r\n };\r\n\r\n function callback(key) {\r\n setTabsKey(`${key}`)\r\n };\r\n\r\n const CSVHeaders = columns.map(column => ({\r\n label: column.title,\r\n key: column.title,\r\n }));\r\n\r\n let CSVData = [];\r\n for (let j = 0; j < dataManifest?.length; j++) { \r\n CSVData.push({ Cust: dataManifest[j].loadNumber});\r\n for (let i = 0; i < dataManifest[j].orders.length; i++) {\r\n let tempObject = {\r\n Cust: dataManifest[j].orders[i].customerName,\r\n Pick: dataManifest[j].orders[i].pickLocation,\r\n Delivery: dataManifest[j].orders[i].dropLocation,\r\n 'PO#': dataManifest[j].orders[i].poNumber,\r\n 'SO#': dataManifest[j].orders[i].soNumber,\r\n SPA: dataManifest[j].orders[i].space,\r\n PAL: dataManifest[j].orders[i].palletCount,\r\n CASE: dataManifest[j].orders[i].cases,\r\n LBS: dataManifest[j].orders[i].weight,\r\n WK: dataManifest[j].orders[i].pickWeek,\r\n IN: dataManifest[j].orders[i].loadNum,\r\n OUT: dataManifest[j].orders[i].outRefNum,\r\n }\r\n CSVData.push(tempObject);\r\n };\r\n CSVData.push({\r\n SPA: dataManifest[j].orders?.map(item => item.space).reduce((a, b) => a + b, 0), \r\n CASE: dataManifest[j].orders?.map(item => item.cases).reduce((a, b) => a + b, 0), \r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {weekList.map((item, index) => (\r\n \r\n {item.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Download as PDF\r\n
    \r\n {dataManifest?.length ?\r\n \r\n \r\n Download as CSV\r\n \r\n : null}\r\n
    \r\n
    \r\n {!isHiddenSwitch && }\r\n
    );\r\n};\r\n\r\nexport default ManifestToolBar;\r\n","import React, { useEffect, useRef, useState} from 'react';\r\nimport { savePDF } from '@progress/kendo-react-pdf';\r\nimport { Spin, Table } from 'antd';\r\nimport axios from '../../../../axios/axios';\r\nimport ManifestToolBar from '../../../custom/spreadsheet/manifestToolBar';\r\nimport { DefaultTable } from '../../../../config';\r\nimport './index.css';\r\n\r\nconst ManifestList = () => {\r\n const resource = 'Load/manifestlist';\r\n const [dataManifest, setDataManifest] = useState([])\r\n const [backEndData, setBackEndData] = useState([])\r\n const [tabsKey, setTabsKey] = useState('1')\r\n const [loading, setLoading]=useState(false)\r\n const [selectedWeek, setSelectedWeek] = useState(new Date().getWeek())\r\n const filterJson = { 'PickWeek': selectedWeek }\r\n const filterData = JSON.stringify(filterJson)\r\n const contentArea = useRef(null);\r\n\r\n const color_list = [\r\n \"tomato\",\r\n \"blueviolet\",\r\n \"cornflowerblue\",\r\n \"indianred\",\r\n \"MediumAquaMarine\",\r\n \"MediumPurple\",\r\n \"Rebeccapurple\",\r\n \"sandybrown\",\r\n \"seagreen\",\r\n \"palevioletred\",\r\n \"lightsteelblue\",\r\n \"Gold\",\r\n \"teal\",\r\n ];\r\n\r\n const random_color = color_list[Math.floor(Math.random() * color_list.length)];\r\n\r\n useEffect(() => {\r\n setLoading(true)\r\n axios.get(resource, {\r\n params: {\r\n filterData: filterData\r\n }\r\n }).then(response => {\r\n setBackEndData(response.data)\r\n setLoading(false)\r\n }).catch(() => { setLoading(false) } )\r\n }, [filterData, selectedWeek]);\r\n\r\n useEffect(() => {\r\n if (tabsKey === '1' && backEndData.inManifest) {\r\n setDataManifest(backEndData.inManifest)\r\n } else {\r\n setDataManifest(backEndData.outManifest)\r\n }\r\n }, [tabsKey, backEndData]);\r\n\r\n const columns = [\r\n { \r\n title: 'Cust',\r\n dataIndex: 'customerName',\r\n key: 'customerName',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 1,\r\n },\r\n {\r\n title: 'Pick',\r\n dataIndex: 'pickLocation',\r\n key: 'pickLocation',\r\n width: 100,\r\n id: 2,\r\n },\r\n {\r\n title: 'Delivery',\r\n dataIndex: 'dropLocation',\r\n key: 'dropLocation',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 3,\r\n },\r\n {\r\n title: 'PO#',\r\n dataIndex: 'poNumber',\r\n key: 'poNumber',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 4,\r\n },\r\n {\r\n title: 'SO#',\r\n dataIndex: 'soNumber',\r\n key: 'soNumber',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 5,\r\n },\r\n {\r\n title: 'SPA',\r\n dataIndex: 'space',\r\n key: 'space',\r\n id: 6,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n render(text, record) {\r\n return {\r\n props: {\r\n style: { background: random_color }\r\n },\r\n children:
    {text}
    \r\n };\r\n }\r\n },\r\n {\r\n title: 'PAL',\r\n dataIndex: 'palletCount',\r\n key: 'palletCount',\r\n width: 100,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n id: 7,\r\n },\r\n {\r\n title: 'CASE',\r\n dataIndex: 'cases',\r\n key: 'cases',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 8,\r\n },\r\n {\r\n title: 'LBS',\r\n dataIndex: 'weight',\r\n key: 'weight',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 9,\r\n },\r\n {\r\n title: 'WK',\r\n dataIndex: 'pickWeek',\r\n key: 'pickWeek',\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: 100,\r\n id: 10,\r\n },\r\n {\r\n title: 'IN',\r\n dataIndex: 'loadNum',\r\n key: 'loadNum',\r\n width: 100,\r\n id: 11,\r\n },\r\n {\r\n title: 'OUT',\r\n dataIndex: 'outRefNum',\r\n key: 'outRefNum',\r\n id: 12,\r\n width: 100,\r\n },\r\n\r\n ];\r\n\r\n const handleExportWithMethod = () => {\r\n savePDF(contentArea.current, { paperSize: 'auto', fileName: 'Manifest' });\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n {dataManifest?.length ?\r\n \r\n {columns.map((item, index) => ())}\r\n {dataManifest?.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.orders.map((item1, index1) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n
    {item.title}
    {item.loadNumber}{item.loadArchiveDate ? 'Deleted' : ''}
    {item1.customerName}{item1.pickLocation}{item1.dropLocation}{item1.poNumber}{item1.soNumber} {item1.space}{item1.palletCount}{item1.cases}{item1.weight}{item1.pickWeek}{item1.loadNum}{item1.outRefNum}
    {item.orders.map(item => item.space).reduce((a, b) => a + b, 0)}{item.orders.map(item => item.cases).reduce((a, b) => a + b, 0)}
    :\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ManifestList","import axios from 'axios';\r\nimport store from '../..';\r\nimport * as actionTypes from './trafficControlUpcomingActionTypes';\r\n\r\nconst buildUrl = (resource = 'traffic', endPoint) => `/api/traffic/${endPoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n Authorization: 'Bearer ' + store.getState().auth.userToken,\r\n },\r\n});\r\n\r\nexport const trafficControlUpcoming = (resource, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.TRAFFIC_UPCOMING_LOADING) });\r\n }\r\n axios\r\n .get(buildUrl(resource, 'getupcomingtraffic'), axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_TRAFFIC_CONTROL_UPCOMING), data: responce }))\r\n .catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n};\r\n\r\nexport const filterByDateUpcoming = (resource, filteredOrdersList) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_BY_DATE_UPCOMING), data: { filteredOrdersList }\r\n });\r\n};\r\n\r\nconst updateDataUpcoming = (dispatch, resource, url, value) => {\r\n axios.put(buildUrl(resource, url), value,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const setItemDataUpcoming = (resource, value, rowState, header, subType) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DATA_UPCOMING), data: {\r\n value,\r\n rowState,\r\n header,\r\n subType,\r\n }\r\n });\r\n\r\n const createQueryParam = (param, query) => query ? `${param}?loadId=${rowState.loadId}&${query}=${value}` : `${param}?loadId=${rowState.loadId}`;\r\n\r\n switch (header.key) {\r\n case 'status':\r\n if (subType === 'priority') {\r\n updateDataUpcoming(dispatch, resource, createQueryParam('priority'));\r\n }\r\n break;\r\n case 'trafficNote':\r\n updateDataUpcoming(dispatch, resource, createQueryParam('addtrafficnote', 'note'));\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const setHeaderWidthUpcomingTraffic = (resource, ind, width) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_TRAFFIC_UPCOMING),\r\n data: { ind, width },\r\n});\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE),\r\n data: {\r\n rowState,\r\n header,\r\n enable,\r\n },\r\n});\r\n\r\nexport const resetError = resource => ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, 'getTraffic'),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ERROR) });\r\n });\r\n }\r\n};","import React from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nconst WarningModal = ({ warningModalIsOpen, setWarningModalIsOpen }) => {\r\n const closeModal = () => {\r\n setWarningModalIsOpen(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '400px',\r\n minHeight: '200px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    The Load isn’t in the current week
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default WarningModal;","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputNumber, Select, Tooltip } from 'antd';\r\nimport { CaretDownFilled } from '@ant-design/icons';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { setItemData, setItemDisplayState, updateLoadStatus, setLoadNeedId } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport { setItemDataUpcoming } from '../../../../store/actions/trafficControlUpcoming/trafficControlUpcoming';\r\nimport WarningModal from './warningModal'; \r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n startOnScroll,\r\n setItemData,\r\n setItemDataUpcoming,\r\n setItemDisplayState,\r\n updateLoadStatus,\r\n setLoadNeedId,\r\n doneTrafficList,\r\n currentAndNextTraffic,\r\n}) => {\r\n const traffic = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = traffic.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = traffic.headers.findIndex(h => h.key === cellData.key);\r\n\r\n const selectDoorsNameOptions = [ \r\n { name: 'DOOR 1', id: 1 },\r\n { name: 'DOOR 2', id: 2 },\r\n { name: 'DOOR 3', id: 3 },\r\n { name: 'DOOR 4', id: 4 },\r\n { name: 'DOOR 5', id: 5 }\r\n ];\r\n const selectDoorsOptions = { 1: 'DOOR 1', 2: 'DOOR 2', 3: 'DOOR 3', 4: 'DOOR 4', 5: 'DOOR 5' };\r\n \r\n const selectVerifiedNameOptions = [\r\n { name: '-', id: 1 },\r\n { name: 'YES', id: 2 },\r\n { name: 'NO', id: 3 },\r\n ];\r\n const selectVerifiedOptions = { 1: '-', 2: 'YES', 3: 'NO' };\r\n \r\n const statusListSmallOptions = { 6: 'REOPEN', 7: 'REOPEN', 5: 'CURRENTLY IN DOOR' };\r\n const statusListSmallNameOptions = [\r\n { name: 'REOPEN', id: 7 },\r\n { name: 'CURRENTLY IN DOOR', id: 5 },\r\n ];\r\n\r\n const statusTextList = {\r\n 'NEXT_UP': 'NEXT UP',\r\n 'CURRENTLY_IN_DOOR': 'CURRENTLY IN DOOR',\r\n 'DONE': 'DONE',\r\n 'REOPEN': 'REOPEN',\r\n // 'COMPLETED': 'COMPLETED',\r\n 'SEND_DONE': 'SEND DONE',\r\n };\r\n\r\n const width = header.width;\r\n// const offsetWidth = traffic.headers.reduce((r, h, index) => {\r\n// if (h.visible && index < (headerIndex - 3)) {\r\n// r += h.width;\r\n// }\r\n// return r;\r\n// }, 0);\r\n\r\nconst lastSelectId = traffic.lastSelected?.id;\r\nconst lastSelectHeaderKey = traffic.lastSelected?.headerKey;\r\nconst lastSelectenable = traffic.lastSelected?.enable;\r\nconst rowStateId = rowState.loadId;\r\nconst headerKey = header.key;\r\nconst [displayState, setDisplayState] = useState(redonly);\r\nconst [tempData, setTempData] = useState(null);\r\nconst [tempDataPriority, setTempDataPriority] = useState(null);\r\nconst [tempDataDelayed, setTempDataDelayed] = useState(null);\r\nconst [warningModalIsOpen, setWarningModalIsOpen] = useState(null);\r\n\r\nuseEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n}, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\nuseEffect(() => {\r\n if (cellData.key === 'status' && resource === 'trafficUpcoming') {\r\n setDisplayState(editable);\r\n } \r\n}, [cellData.key, resource]);\r\n\r\nuseEffect(() => {\r\n if (cellData.key === 'status' && resource === 'traffic' && (cellData.statusValue !== 6 || cellData.statusValue !== 7)) {\r\n setDisplayState(editable);\r\n } \r\n}, [cellData.key, cellData.statusValue, resource]);\r\n\r\nconst cellStyle = cellData.cellStyle;\r\nlet data = (cellData.valueText && cellData.fieldType === 'text') ? cellData.valueText : cellData.value;\r\n useEffect(() => {\r\n setTempData(data);\r\n setTempDataPriority(cellData.priorityValue);\r\n setTempDataDelayed(cellData.delayedValue);\r\n }, [data, cellData.priorityValue, cellData.delayedValue, rowState.loadStatus]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n };\r\n\r\n const setData = (value, subType) => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'textInput':\r\n newValue = value;\r\n break;\r\n case 'select':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n const valueForCompare = subType === 'priority' ? cellData.priorityValue : subType === 'delayed' ? cellData.delayedValue : tempData;\r\n if (!dataCompare(newValue, valueForCompare)) {\r\n setTimeout(() => {\r\n if (resource === 'traffic') {\r\n setItemData(resource, newValue, rowState, header, subType);\r\n }\r\n if (resource === 'trafficUpcoming') {\r\n setItemDataUpcoming(resource, newValue, rowState, header, subType);\r\n }\r\n }, 100);\r\n setTimeout(() => {\r\n setTempData(newValue);\r\n }, 100);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (inputReference && inputReference.current) {\r\n inputReference.current.focus();\r\n }\r\n }, [displayState]);\r\n\r\n const updateStatus = value => {\r\n let loadStatus = rowState.loadStatus;\r\n let dontSend = null;\r\n if (cellData.key === 'status') {\r\n dontSend = true;\r\n } else if (cellData.key === 'status2' && loadStatus === 1) {\r\n loadStatus = 5; // CURRENTLY IN DONE\r\n } else if (cellData.key === 'status2' && loadStatus === 5) {\r\n loadStatus = 6; // SEND DONE\r\n } else if (cellData.key === 'status2' && loadStatus === 6 && value === 5) {\r\n loadStatus = 5; // CURRENTLY IN DOOR\r\n } else if (cellData.key === 'status2' && loadStatus === 6) {\r\n loadStatus = 7; // REOPEN\r\n } else if (cellData.key === 'status2' && loadStatus === 7) {\r\n loadStatus = 6; // DONE\r\n } else if (cellData.key === 'status3' && loadStatus === 6) {\r\n loadStatus = 8; // COMPLETED FOR DONE\r\n } else if (cellData.key === 'status3' && loadStatus === 7) {\r\n dontSend = true; // COMPLETED FOR REOPEN\r\n } else if (cellData.key === 'status3' && loadStatus === 5) {\r\n loadStatus = 1; // NEXT_UP\r\n };\r\n \r\n if (!dontSend) updateLoadStatus(resource, loadStatus, rowState, header, rowStateId);\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n setLoadNeedId(resource, '');\r\n };\r\n }, [setLoadNeedId, resource]);\r\n\r\n const handleOnclickInLoadNeeds = (elem) => {\r\n const isLoadInDone = doneTrafficList?.filter(load => load?.rowState?.loadId === elem.inId).length > 0;\r\n const isLoadInCurrentAndNext = currentAndNextTraffic?.filter(load => load?.rowState?.loadId === elem.inId).length > 0;\r\n\r\n if (isLoadInDone || isLoadInCurrentAndNext) {\r\n setLoadNeedId(resource, elem.inId);\r\n } else {\r\n setWarningModalIsOpen(true);\r\n }\r\n };\r\n\r\n const getData = () => {\r\n if (tempData !== '' && tempData !== null) {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n let localTime\r\n if (cellData.key === 'day' || cellData.key === 'whDay') {\r\n localTime = moment.utc(tempData).toDate();\r\n localTime = moment(localTime).format('MM/DD');\r\n }\r\n if (cellData.key === 'time' || cellData.key === 'in' || cellData.key === 'out' || cellData.key === 'whTime' || cellData.key === 'checkOut' || cellData.key === 'checkIn') {\r\n localTime = moment.utc(tempData).toDate();\r\n localTime = moment(localTime).format('HH:mm');\r\n }\r\n return localTime;\r\n case 'dateTime':\r\n return tempData ? moment(tempData).format(Defines.Format.PrintDateTime) : '';\r\n case 'text':\r\n if (cellData.key === 'inboundsNeeded') {\r\n if (!tempData.length) {\r\n return
    handleOnclickInLoadNeeds('')} style={{ cursor: \"pointer\"}}> 
    \r\n } else {\r\n return tempData.map(elem => {\r\n const color = elem.status === 1 ? '#008000' : elem.status === 5 ? '#080E0E' : elem.status === 6 ? '#FF0000' : '';\r\n return handleOnclickInLoadNeeds(elem)} key={elem.inLoadNum} style={{ color: color, cursor: \"pointer\"}}>In{elem.inLoadNum} \r\n });\r\n }\r\n } \r\n if (cellData.key === 'status') {\r\n let className = '';\r\n let style = {};\r\n if (tempData === 'DONE') {\r\n className = 'btnDone';\r\n style = {\r\n ...style,\r\n color: rowState.loadStatus === 6 ? 'black' : 'white',\r\n fontWeight: rowState.loadStatus === 6 ? '600' : '400',\r\n }\r\n };\r\n if (tempData === \"REOPEN\") {\r\n className = 'btnReopen';\r\n style = {\r\n ...style,\r\n backgroundColor: rowState.loadStatus === 7 ? '#FFF8EF' : '#FF0000',\r\n fontWeight: rowState.loadStatus === 7 ? '600' : '400',\r\n color: cellData.color,\r\n }\r\n }\r\n \r\n return cellData.isBold ? {statusTextList[`${tempData}`]} : ;\r\n };\r\n if (cellData.key === 'status2') {\r\n let className = '';\r\n let style = {};\r\n if (tempData === 'CURRENTLY_IN_DOOR') {\r\n style = {\r\n position: 'absolute',\r\n display: 'flex',\r\n padding: '0 16px',\r\n backgroundColor: '#D2D2D2',\r\n borderRadius: '4px',\r\n fontSize: '9px',\r\n color: '#ffffff',\r\n lineHeight: '12px',\r\n top: '4px',\r\n right: '24px',\r\n } \r\n };\r\n if (tempData === 'DONE') {\r\n className = 'btnDone';\r\n style = {\r\n ...style,\r\n color: '#FFF8EF',\r\n backgroundColor: '#29CABA',\r\n }\r\n };\r\n if (tempData === \"REOPEN\") {\r\n className = 'btnReopen';\r\n }\r\n if (tempData === 'SEND_DONE') {\r\n className = 'btnCompleted';\r\n };\r\n return cellData.isBold ? {statusTextList[`${tempData}`]} : ;\r\n };\r\n if (cellData.key === 'status3') {\r\n let className = '';\r\n let style = {};\r\n if (tempData === 'NEXT_UP') {\r\n className = 'btnCompleted';\r\n style = {\r\n ...style,\r\n backgroundColor: '#FF0000',\r\n };\r\n };\r\n if (tempData === 'COMPLETED') {\r\n className = 'btnCompleted';\r\n style = {\r\n ...style,\r\n backgroundColor: cellData.color,\r\n }\r\n };\r\n return cellData.isBold ? {statusTextList[`${tempData}`]} : ;\r\n };\r\n return cellData.isBold ? {tempData} : tempData;\r\n case 'textInput':\r\n function getTextLength(text) {\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n return context.measureText(text).width;\r\n }\r\n if (cellData.key === 'trafficNote' && getTextLength(tempData) > 70 ) {\r\n\r\n return \r\n {tempData}\r\n \r\n }\r\n return tempData;\r\n case 'select':\r\n if (cellData.key === 'eta') {\r\n return (\r\n }\r\n ref={inputReference}\r\n value={selectDoorsOptions[`${tempData}`]}\r\n className={'rowSelect-door'}\r\n onChange={handleSelectChange}\r\n defaultValue={selectDoorsOptions[`${tempData}`]}>\r\n {selectDoorsNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n )\r\n } else if (cellData.key === 'truckVerified') { \r\n return (\r\n }\r\n ref={inputReference}\r\n value={selectVerifiedOptions[`${tempData}`]}\r\n className={`rowSelect-verified ${cellData.color === '#FF0000' && 'red'} ${cellData.color === '#008000' && 'green'}`}\r\n onChange={handleSelectChange}\r\n defaultValue={selectVerifiedOptions[`${tempData}`]}>\r\n {selectVerifiedNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n )\r\n } else if (cellData.key === 'status2' && rowState.loadStatus === 6) {\r\n return (\r\n }\r\n ref={inputReference}\r\n value={statusListSmallOptions[`${tempData}`]}\r\n className={'rowSelect-status2'}\r\n onChange={updateStatus}\r\n defaultValue={statusListSmallOptions[`${tempData}`]}>\r\n {statusListSmallNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n )\r\n } else {\r\n return <>\r\n };\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData;\r\n };\r\n\r\n const handleSelectChange = value => {\r\n setData(value);\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return (\r\n {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value);\r\n }}\r\n onChange={value => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d);\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />\r\n );\r\n case 'integer':\r\n return (\r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(e.target.value);\r\n }}\r\n className='spreadsheet-number-input'\r\n />\r\n );\r\n case 'text': \r\n return ;\r\n case 'textInput':\r\n return (\r\n {\r\n setData(value.currentTarget.value);\r\n if (inputReference.current) {\r\n setTimeout(() => {\r\n setDisplayState(redonly);\r\n }, 100);\r\n }\r\n }}\r\n format={Defines.Format.PrintDate}\r\n style={{ paddingLeft: '4px' }}\r\n />\r\n );\r\n case 'checkbox':\r\n if (cellData.key === 'status' && resource === 'trafficUpcoming') {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n if (cellData.key === 'status' && resource === 'traffic') {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return <>;\r\n };\r\n case 'select':\r\n if (cellData.key === 'eta') {\r\n return (\r\n }\r\n ref={inputReference}\r\n value={selectDoorsOptions[`${tempData}`]}\r\n className={'rowSelect-door'}\r\n onChange={handleSelectChange}\r\n defaultValue={selectDoorsOptions[`${tempData}`]}>\r\n {selectDoorsNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n )} else if (cellData.key === 'truckVerified') {\r\n return (\r\n }\r\n ref={inputReference}\r\n value={selectVerifiedOptions[`${tempData}`]}\r\n className={`rowSelect-verified ${cellData.color === '#008000' && 'green'} ${cellData.color === '#FF0000' && 'red'} `}\r\n onChange={handleSelectChange}\r\n defaultValue={selectVerifiedOptions[`${tempData}`]}>\r\n {selectVerifiedNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n )} else if (cellData.key === 'status2' && (rowState.loadStatus === 6)) {\r\n return (\r\n }\r\n ref={inputReference}\r\n value={statusListSmallOptions[`${tempData}`]}\r\n className={'rowSelect-status2'}\r\n onChange={updateStatus}\r\n defaultValue={statusListSmallOptions[`${tempData}`]}>\r\n {statusListSmallNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n )} else {\r\n return <>\r\n };\r\n default:\r\n return (\r\n setData(event.target.value)}\r\n onBlur={() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const dataDisplay = () => displayState === redonly ? getData() : getInput();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n color: cellData.color,\r\n borderRight: (cellData.key === 'status2' || cellData.key === 'status3') && (rowState.loadStatus === 1 || rowState.loadStatus === 5) ? 'none' : '',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => cellData.editable ? setDisplayState(editable) : null;\r\n\r\n return (\r\n <>\r\n <>\r\n {warningModalIsOpen &&\r\n \r\n }\r\n \r\n
    onSetFocus()}\r\n onClick={() => { editableFunction(cellData)} }\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle }}\r\n tabIndex={displayState === redonly ? 0 : -1}>\r\n {dataDisplay()}\r\n
    \r\n \r\n);\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n }), dispatch => ({\r\n setItemData: (resource, value, rowState, header, subType) => dispatch(setItemData(resource, value, rowState, header, subType)),\r\n setItemDataUpcoming: (resource, value, rowState, header, subType) => dispatch(setItemDataUpcoming(resource, value, rowState, header, subType)),\r\n updateLoadStatus: (resource, newStatus, rowState, header, loadId) => dispatch(updateLoadStatus(resource, newStatus, rowState, header, loadId)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n setLoadNeedId: (resource, id) => dispatch(setLoadNeedId(resource, id)),\r\n}))(Cell);\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst CurrentAndNextContentCell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n onClickRow,\r\n resource\r\n }) => {\r\n const traffic = state[resource];\r\n const width = traffic.currentAndNextHeaders.find(h => h.key === cellData.key).width(traffic.headers);\r\n\r\n const dataDisplay = () => {\r\n return {cellData.value};\r\n };\r\n\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n // position: 'sticky',\r\n left: '20px',\r\n backgroundColor: '#65A7A5',\r\n color: '#FFFFFF'\r\n };\r\n\r\n return (\r\n
    onClickRow()}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {dataDisplay()}\r\n
    \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(CurrentAndNextContentCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst CurrentAndNextCell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n resource\r\n }) => {\r\n const traffic = state[resource];\r\n const width = traffic.currentAndNextHeaders.find(h => h.key === cellData.key).width(traffic.headers);\r\n\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n backgroundColor: '#ffffff'\r\n };\r\n\r\n return (\r\n \r\n
    \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(CurrentAndNextCell);","import React, { useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport { Draggable } from \"react-beautiful-dnd\";\r\nimport CurrentAndNextContentCell from './CurrentAndNextContentCell';\r\nimport CurrentAndNextCell from './CurrentAndNextCell';\r\nimport { getContentWidth } from '../../../../store/reducers/loadArea/helper/general';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n state,\r\n dndRowIndex,\r\n startOnScroll,\r\n resource,\r\n onDrugStartMouseX,\r\n doneTrafficList,\r\n currentAndNextTraffic,\r\n }) => {\r\n const rowRef = useRef({});\r\n const traffic = state[resource];\r\n\r\n const color = data.rowState.loadId === traffic.inLoadNeedId ? 'lightgray' :\r\n data.rowState.loadStatus === 5 ?'#BFF4D5' :\r\n data.rowState.loadStatus === 1 ? '#F9FFFF' :\r\n data.rowState.type === 'separator' ? '#325353' :\r\n '#FFF8EF';\r\n\r\n useEffect(() => {\r\n if (rowRef.current && data.rowState.loadStatus !== 6) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef, data.rowState.loadStatus]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n\r\n const contentWidth = getContentWidth(traffic.headers);\r\n if (data.rowState.type === 'separator') {\r\n return
    \r\n }\r\n \r\n if (data.rowState.type === 'subHeader') {\r\n if (i.value) {\r\n return ();\r\n }\r\n return ();\r\n }\r\n \r\n return ();\r\n };\r\n\r\n const myOnMouseDown = e => {\r\n onDrugStartMouseX.current = e.screenX;\r\n };\r\n\r\n const content = (data.rowState.loadStatus === 6 || data.rowState.loadStatus === 7 || data.rowState.type === 'subHeader') ? (\r\n
    \r\n {data.row.map(cellContent)}\r\n
    \r\n ) : data.rowState.loadStatus === 1 && resource === \"trafficUpcoming\"? (\r\n
    \r\n {data.row.map(cellContent)}\r\n
    \r\n ) : \r\n {provided => {\r\n return (\r\n myOnMouseDown(e)}\r\n className='resp-table-row'\r\n ref={provided.innerRef}\r\n {...provided.draggableProps}\r\n {...provided.dragHandleProps}\r\n style={{ ...rowStyle, ...provided.draggableProps.style, display:'flex' }}\r\n >\r\n {data.row.map(cellContent)}\r\n
    \r\n );\r\n }}\r\n \r\n ;\r\n return data ? content : null;\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n}))(Row);","import React, { useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport { setHeaderWidthTraffic } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport { setHeaderWidthUpcomingTraffic } from '../../../../store/actions/trafficControlUpcoming/trafficControlUpcoming';\r\nimport { trafficControlUpcoming, resetError, filterByDateUpcoming } from '../../../../store/actions/trafficControlUpcoming/trafficControlUpcoming';\r\nimport { DatePicker, Space } from 'antd';\r\nimport { CaretDownOutlined} from '@ant-design/icons';\r\nconst { RangePicker } = DatePicker;\r\n\r\nconst HeaderCell = (\r\n {\r\n state,\r\n ind,\r\n setHeaderWidthTraffic,\r\n setHeaderWidthUpcomingTraffic,\r\n resource,\r\n trafficSubHeader,\r\n filterByDateUpcoming,\r\n trafficUpcoming,\r\n }) => {\r\n\r\n const traffic = state[resource];\r\n const upcomingTrafficList = state[resource]?.upcomingTrafficList;\r\n const data = trafficSubHeader ? traffic.subHeaders[ind] : traffic.headers[ind]\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n backgroundColor: trafficSubHeader ? '#F3F3F3' : '#29CABA',\r\n color: trafficSubHeader ? '#204D49' : '#FFFFFF',\r\n };\r\n\r\n const firstSubHeaderWidth = trafficUpcoming.subHeaders[0].width;\r\n const [showCalendar, setShowCalendar] = useState(false);\r\n\r\n const onResizeStart = (e, s) => {\r\n // console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n !trafficSubHeader && resource === 'traffic' && ind !== 14 && ind !== 18 && ind < 21 && setHeaderWidthTraffic(resource, ind, s.size.width);\r\n !trafficSubHeader && resource === 'trafficUpcoming' && ind > 6 && ind !== 11 && setHeaderWidthUpcomingTraffic(resource, ind, s.size.width);\r\n //console.log('onResize', e, s);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n // console.log('onResizeStop', e, s);\r\n };\r\n\r\n const onChange = ( value ) => {\r\n value[0].set(\"hour\", 0).set(\"minute\", 0).set(\"second\", 0);\r\n value[1].set(\"hour\", 23).set(\"minute\", 59).set(\"second\", 59);\r\n\r\n const currentListDates = [{\r\n order: '',\r\n date: '',\r\n }];\r\n for (let i = 0; i < upcomingTrafficList.length; i++) {\r\n for (let j = 0; j < upcomingTrafficList[i].row.length; j++) {\r\n if (upcomingTrafficList[i].row[j].key === 'day') {\r\n currentListDates.push({\r\n order: upcomingTrafficList[i], \r\n date: new Date(upcomingTrafficList[i].row[j].date)\r\n })\r\n }\r\n }\r\n }\r\n const getNewListObject = (currentListDates, value) => {\r\n return currentListDates.filter(date => date.date > value[0] && date.date < value[1]);\r\n };\r\n const filteredListObjects = getNewListObject(currentListDates, value);\r\n const filteredOrdersList = filteredListObjects.map(object => object.order);\r\n\r\n setShowCalendar(false);\r\n filterByDateUpcoming(resource, filteredOrdersList)\r\n };\r\n\r\n let headerCall = (ind === 0 && resource === 'trafficUpcoming' && trafficSubHeader && !showCalendar) ? \r\n
    setShowCalendar(true)}>FILTER BY DATE
    :\r\n (ind === 0 && resource === 'trafficUpcoming' && trafficSubHeader && showCalendar) ? \r\n
    \r\n
    setShowCalendar(false)}>X
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    :\r\n \r\n {data.title}\r\n ;\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n \r\n );\r\n\r\n return resizableHeaderCall;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n trafficUpcoming: state.trafficUpcoming,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n trafficControlUpcoming: (resource) => dispatch(trafficControlUpcoming(resource)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n setHeaderWidthTraffic: (resource, ind, width) => dispatch(setHeaderWidthTraffic(resource, ind, width)),\r\n setHeaderWidthUpcomingTraffic: (resource, ind, width) => dispatch(setHeaderWidthUpcomingTraffic(resource, ind, width)),\r\n filterByDateUpcoming: (resource, filteredOrdersList) => dispatch(filterByDateUpcoming(resource, filteredOrdersList)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = (\r\n {\r\n state,\r\n resource,\r\n trafficSubHeader,\r\n }) => {\r\n const headers = trafficSubHeader ? state[resource].subHeaders: state[resource].headers;\r\n return (\r\n
    \r\n {headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState, useMemo, useRef, useEffect, useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport { VariableSizeList } from 'react-window';\r\nimport Split from \"react-split-it\";\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { DragDropContext, Droppable } from \"react-beautiful-dnd\";\r\nimport { trafficControl, resetError, reOrderLoadsByDragAndDrop } from '../../../../store/actions/trafficControl/trafficControl';\r\nimport { getContentWidth, getContentWidthSomePartOnly } from '../../../../store/reducers/trafficControl/helper/general';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport { SelectableGroup } from '../reactSelectable';\r\nimport { message } from 'antd';\r\nimport Loading from \"../../screen/loading\";\r\nimport { useClientHub } from \"../../../hook/hub/useClientHubTrafficControl\";\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\n\r\nconst Spreadsheet = props => {\r\n const scrollSize = 15;\r\n const defRowHeight = 40;\r\n const doneTrafficRef = useRef({});\r\n const currentTrafficRef = useRef({});\r\n const { userId, trafficControl, loading, resource, haseError, resetError, actionMessage, state, reOrderLoadsByDragAndDrop, upcomingUrl } = props;\r\n const overIndex = useRef(null);\r\n const statusList = {\r\n currentlyInDoor: 5,\r\n nextUp: 1,\r\n };\r\n const onDrugStartMouseX = useRef(0);\r\n\r\n const [trafficUpdateFromSocket, setTrafficUpdatedFromSocket] = useState(0);\r\n useClientHub((message) => setTrafficUpdatedFromSocket(trafficUpdateFromSocket + 1), 'notification');\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n trafficControl(resource, 'withoutLoading');\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n trafficControl(resource);\r\n }, [resource, trafficControl, trafficUpdateFromSocket]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n const listFirstReference = useRef(null);\r\n const listSecondReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const listTrafficHeaderReference = useRef(null);\r\n const pallInSummaryReference = useRef(null);\r\n\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n const onScrollX = e => { \r\n if (listHeaderReference.current && listFirstReference.current && listSecondReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listFirstReference.current.scrollLeft =\r\n listSecondReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (listTrafficHeaderReference.current && listFirstReference.current && e.target) {\r\n listTrafficHeaderReference.current.scrollLeft =\r\n listFirstReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (pallInSummaryReference.current && listFirstReference.current && e.target) {\r\n pallInSummaryReference.current.scrollLeft =\r\n listFirstReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n };\r\n \r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft) {\r\n listFirstReference.current.scrollLeft = listHeaderReference?.current?.scrollLeft\r\n };\r\n\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const palletSummaryWidthBefore = getContentWidthSomePartOnly(headers, 5);\r\n const palletSummaryWidth = headers[5].width;\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const headerTraffic = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n \r\n const doneTrafficList = state[resource]?.doneTrafficList;\r\n const currentAndNextTraffic = state[resource]?.currentAndNextTrafficList;\r\n\r\n const palletCountSummary = state[resource].palletCountSummary;\r\n const titleWidth = state[resource].subHeaders.reduce((acc, item) => acc + item.width, 0);\r\n\r\n const getDoneTrafficItemSize = useCallback(\r\n index => doneTrafficList[index] ? doneTrafficList[index].rowState.height : defRowHeight,\r\n [doneTrafficList]);\r\n\r\n const getCurrentAndNextTrafficItemSize = useCallback(\r\n index => currentAndNextTraffic[index] ? currentAndNextTraffic[index].rowState.height : defRowHeight,\r\n [currentAndNextTraffic]);\r\n\r\n const RenderDoneTrafficRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [currentAndNextTraffic, doneTrafficList, getDoneTrafficItemSize, resource]);\r\n\r\n const RenderCurrentTrafficRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [currentAndNextTraffic, doneTrafficList, getCurrentAndNextTrafficItemSize, resource]);\r\n\r\n const getCloneXPosition = cloneWidth => {\r\n let left = 0;\r\n const cloneHalfeWidth = cloneWidth / 2;\r\n if (onDrugStartMouseX.current) {\r\n left = onDrugStartMouseX.current - cloneHalfeWidth;\r\n }\r\n if (left < 0) {\r\n return 0;\r\n }\r\n return left;\r\n };\r\n\r\n const renderClone = useCallback((provided, snapshot, rubric) => {\r\n const cloneWidth = 400;\r\n provided.draggableProps.style = {\r\n ...provided.draggableProps.style, ...{\r\n backgroundColor: '#FFF',\r\n border: '1px solid #000',\r\n width: cloneWidth,\r\n height: '50px',\r\n fontSize: '14px',\r\n padding: '10px',\r\n left: getCloneXPosition(cloneWidth)\r\n }\r\n };\r\n return (\r\n \r\n
    Drop Status:
    \r\n \r\n );\r\n }, []);\r\n\r\n const first = useMemo(() => doneTrafficList &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listFirstReference.current = el }}\r\n style={{ overflowX: 'hidden', overflowY: 'auto', height: doneTrafficList.length * 20 }}\r\n itemData={doneTrafficList}\r\n itemCount={doneTrafficList.length}\r\n height={height}\r\n itemSize={getDoneTrafficItemSize}>\r\n {RenderDoneTrafficRow}\r\n \r\n
    \r\n \r\n {palletCountSummary}\r\n \r\n
    \r\n )}\r\n
    \r\n , [doneTrafficList, getDoneTrafficItemSize, RenderDoneTrafficRow, palletCountSummary, palletSummaryWidthBefore, palletSummaryWidth]);\r\n\r\n const second = useMemo(() => currentAndNextTraffic &&\r\n \r\n {({ height }) => (\r\n \r\n \r\n {(provided, snapshot) => {\r\n const refHanlder = el => {\r\n provided.innerRef(el);\r\n listSecondReference.current = el;\r\n }\r\n return (\r\n \r\n {RenderCurrentTrafficRow}\r\n \r\n );\r\n }}\r\n \r\n \r\n )}\r\n \r\n , [currentAndNextTraffic, renderClone, getCurrentAndNextTrafficItemSize, RenderCurrentTrafficRow]);\r\n\r\n const getSelectedLoad = useCallback(result => {\r\n const druggedOrder = currentAndNextTraffic[result.source.index];\r\n return [...currentAndNextTraffic.filter(o => o.rowState.id === druggedOrder.rowState.id)];\r\n }, [currentAndNextTraffic]);\r\n\r\n const onDragEnd = result => {\r\n const selectedLoad = getSelectedLoad(result);\r\n const selectedLoadId = selectedLoad[0].rowState.loadId;\r\n\r\n const currentTrafficOrderedLoadsIDs = currentAndNextTraffic\r\n .filter(load => load.rowState.loadStatus === statusList.currentlyInDoor)\r\n .map(load => load.rowState.loadId);\r\n\r\n const nextTrafficOrderedLoadsIDs = currentAndNextTraffic\r\n .filter(load => load.rowState.loadStatus === statusList.nextUp)\r\n .map(load => load.rowState.loadId);\r\n\r\n const dragOnCurrentlyInDoor = currentTrafficOrderedLoadsIDs.filter(loadId => loadId === selectedLoadId);\r\n const draggableList = dragOnCurrentlyInDoor.length ? currentTrafficOrderedLoadsIDs : nextTrafficOrderedLoadsIDs\r\n\r\n const selectedLoadPreviousIndexForCurrentlyList = dragOnCurrentlyInDoor.length ?\r\n result.source?.index -1 :\r\n result.source?.index - (currentTrafficOrderedLoadsIDs.length +3);\r\n const selectedLoadDestinationIndexForCurrentlyList = result.destination?.index -1;\r\n\r\n const selectedLoadPreviousIndexForNextList = result.source?.index - (currentTrafficOrderedLoadsIDs.length + 3);\r\n const selectedLoadDestinationIndexForNextLoads = result.destination?.index - (currentTrafficOrderedLoadsIDs.length + 3);\r\n\r\n const selectedLoadPreviousIndex = dragOnCurrentlyInDoor.length ? selectedLoadPreviousIndexForCurrentlyList : selectedLoadPreviousIndexForNextList;\r\n const selectedLoadDestinationIndex = dragOnCurrentlyInDoor.length ? selectedLoadDestinationIndexForCurrentlyList : selectedLoadDestinationIndexForNextLoads;\r\n\r\n let newList = [];\r\n if (result.source?.index < result.destination?.index) {\r\n for (let i = 0; i < draggableList.length; i++) {\r\n if (draggableList[i] !== draggableList[selectedLoadPreviousIndex]) {\r\n newList.push(draggableList[i]);\r\n if (draggableList[i] === draggableList[selectedLoadDestinationIndex]) {\r\n newList.push(selectedLoadId)\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < draggableList.length; i++) {\r\n if (draggableList[i] !== draggableList[selectedLoadPreviousIndex] && draggableList[i] !== draggableList[selectedLoadDestinationIndex]) {\r\n newList.push(draggableList[i]);\r\n }\r\n if (draggableList[i] === draggableList[selectedLoadDestinationIndex]) {\r\n newList.push(selectedLoadId)\r\n if (draggableList[i] !== draggableList[selectedLoadPreviousIndex]) {\r\n newList.push(draggableList[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n let sendRequest = true;\r\n const currentlyInDoorSize = currentTrafficOrderedLoadsIDs.length;\r\n const subHeadersSize = 2;\r\n\r\n if (dragOnCurrentlyInDoor.length && (result.destination?.index === 0 || result.destination?.index > currentlyInDoorSize || result.destination?.index === undefined)) {\r\n sendRequest = false;\r\n };\r\n if (!dragOnCurrentlyInDoor.length && (result.destination?.index <= currentlyInDoorSize + subHeadersSize || result.destination?.index === undefined)) {\r\n sendRequest = false;\r\n };\r\n sendRequest && reOrderLoadsByDragAndDrop(resource, newList);\r\n };\r\n\r\n const splitterWidth = width < window.innerWidth - scrollSize ? width - scrollSize : '';\r\n\r\n const content = (<>\r\n
    \r\n
    \r\n
    DONE
    \r\n UPCOMING\r\n
    \r\n
    \r\n
    {headerTraffic}
    \r\n
    {header}
    \r\n
    \r\n \r\n \r\n {[first, second]}\r\n \r\n \r\n
    \r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\n return <>{loading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n traffic: state.traffic,\r\n haseError: state.traffic.hasError,\r\n loading: state.traffic.loading,\r\n actionMessage: state.traffic.message,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n trafficControl: (resource, loadingType) => dispatch(trafficControl(resource, loadingType)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n reOrderLoadsByDragAndDrop: (resource, newList) => dispatch(reOrderLoadsByDragAndDrop(resource, newList)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Spreadsheet);\r\n","import { useEffect, useState } from 'react';\r\nimport { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';\r\n\r\nimport store from '../../../store';\r\n\r\nexport const useClientHub = (onNotificationReceive, event) => {\r\n const [connection, setConnection] = useState(null);\r\n \r\n useEffect(() => {\r\n const token = store.getState().auth.userToken;\r\n if (!connection) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`/TrafficNotificationHub`, {\r\n accessTokenFactory: () => token\r\n })\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build();\r\n setConnection(newConnection);\r\n }\r\n }, [connection]);\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n const fetchConnection = async () => {\r\n if (isMounted && connection) {\r\n if (connection.connectionStarted) {\r\n connection.off(event);\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n } else if (connection.connectionState === 'Disconnected') {\r\n connection.start()\r\n .then(() => {\r\n console.log('Client HUB for TrafficControl Connected!');\r\n connection.on(event, message => {\r\n if (isMounted) {\r\n onNotificationReceive(message);\r\n }\r\n });\r\n })\r\n .catch(e => console.error('Client HUB Connection failed: ', e));\r\n }\r\n }\r\n }\r\n fetchConnection();\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [connection, onNotificationReceive, event]);\r\n\r\n return null;\r\n};\r\n","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport TrafficControlSpreadsheet from '../../../custom/spreadsheetTrafficControl/spreadsheet';\r\nimport { getContentWidth } from '../../../../../store/reducers/trafficControl/helper/general';\r\n\r\nconst TrafficControlLoadBuld = props => {\r\n const { state, upcomingUrl } = props;\r\n const scrollSize = 30;\r\n const resource= 'traffic';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const innerWidth = window.innerWidth;\r\n\r\n return (\r\n
    innerWidth ? 'stretch': 'center'}`,\r\n margin: '0 12px',\r\n alignSelf: `${width < innerWidth ? \"center\" : \"normal\"}`,\r\n width: `${width > innerWidth ? `calc(100% - 35px)` : 'auto'}`,\r\n }}>\r\n \r\n
    \r\n );\r\n}\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nexport default connect(mapStateToProps)(TrafficControlLoadBuld);","import React, { useEffect, useRef, useCallback, useMemo } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from 'react-router-dom';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { VariableSizeList } from 'react-window';\r\nimport { message } from 'antd';\r\nimport './index.css'\r\nimport HeaderRow from './headerRow';\r\nimport Row from './row';\r\nimport Loading from \"../../screen/loading\";\r\nimport { trafficControlUpcoming, resetError, } from '../../../../store/actions/trafficControlUpcoming/trafficControlUpcoming';\r\nimport { getContentWidth, getContentWidthSomePartOnly } from '../../../../store/reducers/trafficControl/helper/general';\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\n\r\nconst SpreadsheetUpcoming = props => {\r\n const { userId, trafficControlUpcoming, loading, resource, haseError, resetError, actionMessage, state, trafficUrl } = props;\r\n const defRowHeight = 40;\r\n const scrollSize = 0;\r\n const upcomingTrafficRef = useRef(null);\r\n const listReference = useRef(null);\r\n const pallInSummaryReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const listTrafficHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (listTrafficHeaderReference.current && listReference.current && e.target) {\r\n listTrafficHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n if (pallInSummaryReference.current && listReference.current && e.target) {\r\n pallInSummaryReference.current.scrollLeft =\r\n listReference.current.scrollLeft =\r\n e.target.scrollLeft;\r\n }\r\n }\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n trafficControlUpcoming(resource, 'withoutLoading')\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n trafficControlUpcoming(resource);\r\n }, [resource, trafficControlUpcoming]);\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n }, [haseError, actionMessage, resetError, resource]);\r\n\r\n const upcomingTrafficList = state[resource]?.filteredUpcomingTrafficList ? state[resource]?.filteredUpcomingTrafficList : state[resource]?.upcomingTrafficList;\r\n\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const palletSummaryWidthBefore = getContentWidthSomePartOnly(headers, 5);\r\n const palletSummaryWidth = headers[5].width;\r\n\r\n const header = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const subHeader = useMemo(() =>
    \r\n \r\n
    , [resource]);\r\n\r\n const getUpcomingTrafficItemSize = useCallback(\r\n index => upcomingTrafficList?.[index] ? upcomingTrafficList[index].rowState.height : defRowHeight,\r\n [upcomingTrafficList]);\r\n\r\n const RenderUpcomingTrafficRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getUpcomingTrafficItemSize, resource]);\r\n\r\n const getPallInSummary = useMemo(() => {\r\n let summary = 0;\r\n for (let i = 0; i < upcomingTrafficList?.length; i++) {\r\n for (let j = 0; j < upcomingTrafficList[i].row.length; j++) {\r\n if (upcomingTrafficList[i]?.row[j].key === 'palIn') {\r\n summary = Number(summary) + Number(upcomingTrafficList[i]?.row[j].value);\r\n }\r\n }\r\n }\r\n return Number(summary);\r\n }, [upcomingTrafficList]);\r\n\r\n const allUpcomingTrafficList = useMemo(() => upcomingTrafficList &&\r\n \r\n {({ height }) => (\r\n <>\r\n { listReference.current = el }}\r\n style={{ overflowX: 'hidden', overflowY: 'auto', height: upcomingTrafficList.length * 20 }}\r\n itemData={upcomingTrafficList}\r\n itemCount={upcomingTrafficList.length}\r\n height={height}\r\n itemSize={getUpcomingTrafficItemSize}>\r\n {RenderUpcomingTrafficRow}\r\n \r\n
    \r\n \r\n {getPallInSummary}\r\n \r\n
    \r\n )}\r\n
    \r\n , [upcomingTrafficList, getUpcomingTrafficItemSize, RenderUpcomingTrafficRow, getPallInSummary, palletSummaryWidthBefore, palletSummaryWidth]);\r\n\r\n const content = (<>\r\n
    \r\n
    UPCOMING
    \r\n DONE\r\n
    \r\n
    {subHeader}
    \r\n
    {header}
    \r\n
    {allUpcomingTrafficList}
    \r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\n return <>{loading ? : content};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n trafficUpcoming: state.trafficUpcoming,\r\n haseError: state.trafficUpcoming.hasError,\r\n loading: state.trafficUpcoming.loading,\r\n actionMessage: state.trafficUpcoming.message,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n trafficControlUpcoming: (resource, loadingType) => dispatch(trafficControlUpcoming(resource, loadingType)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SpreadsheetUpcoming);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport TrafficControlUpcomingSpreadsheet from '../../../custom/spreadsheetTrafficControl/spreadsheetUpcoming';\r\nimport { getContentWidth } from '../../../../../store/reducers/trafficControlUpcoming/helper/general';\r\n\r\nconst TrafficControlLoadBuld = props => {\r\n const { state, trafficUrl } = props;\r\n const scrollSize = 30;\r\n const resource= 'trafficUpcoming';\r\n const headers = state[resource].headers;\r\n const width = getContentWidth(headers) + scrollSize;\r\n const innerWidth = window.innerWidth;\r\n\r\n return (\r\n
    innerWidth ? `calc(100% - 35px)` : 'auto'}`,\r\n }}>\r\n \r\n
    \r\n );\r\n}\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nexport default connect(mapStateToProps)(TrafficControlLoadBuld);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport CacheBuster from './CacheBuster';\r\n\r\nconst CacheBusterRoute = ({ children, rKey, path, component, exact }) => {\r\n return (\r\n \r\n {({ loadingApp, isLatestVersion, refreshCacheAndReload }) => {\r\n if (loadingApp) return null;\r\n if (!loadingApp && !isLatestVersion) {\r\n refreshCacheAndReload();\r\n //console.log(loadingApp, isLatestVersion);\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CacheBusterRoute;\r\n","import React from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nexport function AuthenticatedLink({ url, filename, children }) {\r\n const link = document.createElement('a');\r\n\r\n const handleAction = async (event) => {\r\n axios.get(url, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).then(response => {\r\n new File([response.data], filename);\r\n const href = window.URL.createObjectURL(response.data);\r\n link.download = filename;\r\n link.href = href;\r\n link.click(); \r\n });\r\n event.preventDefault();\r\n };\r\n return ({children});\r\n};\r\n\r\nexport default errorHandler(AuthenticatedLink, axios);","import React from 'react';\r\nimport AuthenticatedLink from './authenticatedLinkDeliveredTrucks';\r\n\r\nconst Uploader = ({ rowState, setData, setUploadModalIsOpen, onlyDownload, headerWidth }) => {\r\n const orderGuid = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment?.guid : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.guid : '';\r\n\r\n const onChange = result => {\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment.id : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment.id : '';\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: orderGuid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n }\r\n setData(callCheckAttachment);\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Upload\r\n
    \r\n
    \r\n );\r\n\r\n const fileName = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment?.fileName : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.fileName : '';\r\n if(!onlyDownload){\r\n if (fileName) {\r\n return (\r\n <>\r\n \r\n {fileName}\r\n \r\n onChange(null)} className='x-btn'>X\r\n \r\n );\r\n } else {\r\n return
    setUploadModalIsOpen(true)} style={{ display: 'flex', justifyContent: 'center' }}>{uploadButton}
    ;\r\n }\r\n } else {\r\n if(fileName){\r\n return (\r\n \r\n {fileName}\r\n \r\n )\r\n }\r\n }\r\n\r\n};\r\n\r\nexport default Uploader;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport {Link, useLocation} from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { InputNumber, Select, Tooltip, Popover } from 'antd';\r\nimport { setItemData, setItemDisplayState, paidButtonAction } from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport Uploader from './Uploader';\r\nimport './index.css';\r\nimport AuthenticatedLink from './authenticatedLinkDeliveredTrucks';\r\nimport HistoryModal from '../../custom/spreadsheet/HistoryModal';\r\n\r\nconst Cell = (\r\n {\r\n state,\r\n cellData,\r\n itemSize,\r\n paidButtonAction,\r\n rowState,\r\n setItemData,\r\n setItemDisplayState,\r\n resource,\r\n loadsAssignedOrders,\r\n setUploadRowState,\r\n setUploadModalIsOpen,\r\n setCommentsModalIsOpen\r\n }) => {\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const selectNameOptionsPODStatus = [ { name: 'Delivered', id: 'Delivered' }, { name: 'Shortage', id: 'Shortage' }, { name: 'Overage', id: 'Overage' }, { name: 'Reject', id: 'Reject' }];\r\n const selectNameOptionsPOD = [{ name: '-', id: 0 }, { name: 'Received', id: 1 }, { name: 'Requested', id: 2 }, { name: 'Don’t Split', id: 3}];\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested', 3: 'Don’t Split' };\r\n const selectOptionsPODStatus = { 'Delivered': 'Delivered', 'Shortage': 'Shortage', 'Overage': 'Overage', 'Reject': 'Reject' };\r\n const value2= cellData.value2;\r\n\r\n const width = header.width;\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n const [isHistoryModalOpen, setHistoryModalOpen] = useState(false);\r\n const orderGuid = rowState.loadData.loadType === 1 ? rowState?.orderData?.callCheckInAttachment?.guid : rowState.loadData.loadType === 3 ? rowState?.orderData?.callCheckOutAttachment?.guid : '';\r\n\r\n const ordersAssignedToCurrentLoad = loadsAssignedOrders.filter(order => order.rowState.loadData.id === rowState.loadId && order.rowState.type === 'order');\r\n const poNumbers = ordersAssignedToCurrentLoad.map(order => order.rowState.orderData.poNumber).join(', ');\r\n const mailBodyText = `Please send POD for the bellow PO#s: ${poNumbers}`;\r\n const carrierEmail = rowState.loadData.carrierEmail;\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n const {pathname} = useLocation()\r\n\r\n useEffect(() => {\r\n if ((cellData.key === 'orderStatusByCall' ||\r\n cellData.key === 'delayedReason' ||\r\n cellData.key === 'loadCallCheckNote' ||\r\n cellData.key === 'podDoc' ||\r\n cellData.key === 'orderNotesByCall' ||\r\n cellData.key === 'podRequestStatus')\r\n &&\r\n resource === \"AccountPayable\" && pathname === '/ap/deliveredtrucks') {\r\n setDisplayState(editable);\r\n }\r\n }, [cellData.key, pathname, resource]);\r\n\r\n const data = cellData.value;\r\n const podNotesHistory = cellData?.value2;\r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const inputReference = useRef(null);\r\n\r\n const dataCompare = (newData, data) => {\r\n\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n const setData = value => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n if (!dataCompare(newValue, tempData)) {\r\n setTempData(newValue); \r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header);\r\n }, 100);\r\n }\r\n };\r\n\r\n const handleEdit = () => {\r\n setUploadRowState(rowState);\r\n setTimeout(() => { \r\n setCommentsModalIsOpen(true);\r\n }, 100);\r\n };\r\n\r\n const changeImage = (data) => {\r\n setTimeout(() => {\r\n setUploadRowState(rowState);\r\n }, 100);\r\n }\r\n const paidButtonClick = () => {\r\n paidButtonAction(resource, \"pay\", rowState)\r\n }\r\n const getData = () => { \r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return <>{tempData ? moment(tempData).format(Defines.Format.PrintDate) : ''}\r\n case 'button':\r\n return ;\r\n case 'dateTime':\r\n return
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date): ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time): ''}
    \r\n
    ;\r\n case 'link':\r\n return {tempData}\r\n case 'text':\r\n if (header.key === 'carrierName' && rowState.type === 'load') {\r\n return (\r\n \r\n {tempData}\r\n )\r\n } else {\r\n return tempData;\r\n }\r\n case 'textInputPO':\r\n let asterisks = '';\r\n for(let i = 0; i < value2; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n \r\n {value2 &&\r\n setHistoryModalOpen(true)}>\r\n {value2 ? asterisks : ''}\r\n }\r\n
    \r\n case 'download':\r\n const fileName = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment?.fileName : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.fileName : '';\r\n return
    \r\n {fileName?\r\n \r\n {fileName}\r\n \r\n : ''}\r\n
    \r\n case 'popover':\r\n return (\r\n \r\n {tempData}\r\n \r\n );\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData\r\n };\r\n\r\n const handleSelectChange = (value) => {\r\n if (header.key === 'orderNotesByCall') {\r\n setData(value);\r\n } else {\r\n setData(parseInt(value));\r\n }\r\n };\r\n\r\n let splittedData = [];\r\n if (header.key === 'orderNotesByCall' && podNotesHistory && podNotesHistory?.[0]) {\r\n splittedData = podNotesHistory?.split(',');\r\n };\r\n\r\n const content = splittedData.length ? (\r\n
    \r\n \r\n \r\n \r\n \r\n {splittedData?.map(data => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n Created By       Data Time     Status note
    {data}
    \r\n
    \r\n ) :
    You don't have any notes
    ;\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'integer':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(e.target.value)\r\n }}\r\n className='spreadsheet-number-input'\r\n />;\r\n case 'textInput':\r\n return {\r\n setData(value.currentTarget.value)\r\n }}\r\n style={{ cursor: 'pointer', textAlign: 'center', width: 'inherit' }}\r\n className={header.key === 'loadCallCheckNote' ? 'green__BG' : ''}\r\n />;\r\n case 'textInputPO':\r\n let asterisks = '';\r\n for(let i = 0; i < value2; i++) {\r\n asterisks += '*';\r\n }\r\n return
    \r\n {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n }}\r\n />\r\n {value2 &&\r\n setHistoryModalOpen(true)}>\r\n {asterisks}\r\n \r\n }\r\n
    \r\n case 'select':\r\n let selectOption;\r\n let selectNameOptions;\r\n if (header.key === 'podRequestStatus') {\r\n selectOption = selectOptionsPOD;\r\n selectNameOptions = selectNameOptionsPOD;\r\n }\r\n return \r\n {selectNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n ;\r\n case 'select_and_popover':\r\n return (\r\n \r\n \r\n {selectNameOptionsPODStatus.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n );\r\n case 'upload':\r\n return
    \r\n
    changeImage(rowState)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n\r\n default: return <>;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? (\r\n {displayState === redonly ? getData() : getInput()}\r\n ) : displayState === redonly ? getData() : getInput();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n // setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => (\r\n cellData.editable ? setDisplayState(editable) : null\r\n );\r\n\r\n return (\r\n <>\r\n onSetFocus()}\r\n onClick={() => { editableFunction(cellData)}}\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle, color: color}}\r\n tabIndex={displayState === redonly ? 0 : -1}\r\n >\r\n {dataDisplay()}\r\n \r\n {isHistoryModalOpen &&\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.AccountPayable.loadsAssignedOrders,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n paidButtonAction: (resource, method, rowState) => dispatch(paidButtonAction(resource, method, rowState)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);","import { DownOutlined, UpOutlined} from '@ant-design/icons';\r\nimport React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LeftActionCall = (\r\n {\r\n state,\r\n cellData,\r\n reacted,\r\n itemSize,\r\n onClickRow,\r\n bgColor,\r\n innerRef,\r\n type,\r\n resource,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '17px',\r\n left: 0,\r\n backgroundColor: bgColor,\r\n };\r\n\r\n const cellStyleValue = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: bgColor,\r\n left: 0\r\n };\r\n\r\n const arrowColor = type === 'stop' ? '#000000' : '#FFFFFF';\r\n\r\n return (\r\n <>\r\n {\r\n type === 'load' || type === 'stop' ?\r\n
    { onClickRow() }}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {reacted ? : }\r\n
    :\r\n
    { onClickRow() }}>\r\n {cellData.value}\r\n
    \r\n }\r\n \r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(LeftActionCall);","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport LeftActionCall from './leftActionCall';\r\nimport { reactOnAssignedItem } from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\n\r\nconst Row = (\r\n {\r\n data,\r\n style,\r\n itemSize,\r\n reactOnAssignedItem,\r\n state,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n setUploadRowState,\r\n setUploadModalIsOpen,\r\n setCommentsModalIsOpen,\r\n }) => {\r\n const rowRef = useRef({});\r\n const loadArea = state[resource];\r\n const isSubOrder = data.rowState?.loadData?.parentLoadId && data.rowState?.type === 'order';\r\n\r\n const color = data.rowState.type === 'load' ? '#65A7A5' : isSubOrder ? '#b4d5bc' : 'white';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n reactOnAssignedItem(resource, data.rowState.id, data.rowState.type);\r\n }, [reactOnAssignedItem, data, resource]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n const header = loadArea.headers.find(h => h.key === i.key);\r\n\r\n if (header.leftAction) {\r\n return ();\r\n }\r\n\r\n return ();\r\n };\r\n\r\n return data ?\r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n reactOnAssignedItem: (resource, id, type) => dispatch(reactOnAssignedItem(resource, id, type)),\r\n}))(Row);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport {setHeaderWidth, sortBy} from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\nimport { CaretUpOutlined , CaretDownOutlined} from '@ant-design/icons';\r\n\r\nconst HeaderCell = ({state, ind, setHeaderWidth, resource, sortBy}) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0,\r\n maxWidth: `${data.width-1}px`,\r\n width: `${data.width-1}px`,\r\n minWidth: `${data.width-1}px`,\r\n }\r\n };\r\n }\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n const sortableClick = () => {\r\n if(state.AccountPayable.sortType && state.AccountPayable.sortType.sort && state.AccountPayable.sortType.sort[0] === \"ask\"){\r\n sortBy(resource, {type: data.key, ind, sort: ['desc']})\r\n } else if(state.AccountPayable.sortType && state.AccountPayable.sortType.sort === null){\r\n sortBy(resource, {type: data.key, ind, sort: ['ask']})\r\n } else {\r\n sortBy(resource, {type: data.key, ind, sort: null})\r\n }\r\n }\r\n const headerCall = (\r\n data.sortable && sortableClick() }\r\n\r\n >\r\n
    \r\n {data.title}\r\n {data.sortable &&\r\n
    \r\n {state.AccountPayable.sortType && state.AccountPayable.sortType.sort && state.AccountPayable.sortType.sort[0] === \"ask\" &&\r\n \r\n }\r\n {state.AccountPayable.sortType && state.AccountPayable.sortType.sort && state.AccountPayable.sortType.sort[0] === \"desc\" &&\r\n \r\n }\r\n {state.AccountPayable.sortType && !state.AccountPayable.sortType.sort &&\r\n <>\r\n \r\n \r\n \r\n }\r\n\r\n
    \r\n\r\n }\r\n
    \r\n\r\n\r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n\r\n\r\n \r\n );\r\n\r\n return data.leftAction ? headerCall : resizableHeaderCall;\r\n};\r\n\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({state, resource }) => {\r\n const loadArea = state[resource];\r\n return (\r\n
    \r\n {loadArea.headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","export const createSeparator = (itemDefaultSize, headers, type, ind, loadId, regionId) => ({\r\n row: [{\r\n key: headers[0].key,\r\n value: '',\r\n editable: false,\r\n height: itemDefaultSize\r\n }],\r\n rowState: {\r\n type: 'separator',\r\n id: `${type}_separator_${ind}`,\r\n loadId,\r\n regionId,\r\n visible: true,\r\n reacted: false,\r\n available: true,\r\n height: 4\r\n }\r\n});","import React, { useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport moment from 'moment';\r\nimport { Upload, message } from 'antd';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport { setItemData } from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\n\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport './index.css';\r\n\r\nconst UploadModal = ({ state, rowState, setItemData, uploadModalIsOpen, setUploadModalIsOpen, setIsVerified, isVerified }) => {\r\n const closeModal = () => {\r\n setUploadModalIsOpen(false);\r\n };\r\n\r\n const resource = 'AccountPayable';\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === 'podDoc');\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const orderGuid = rowState.loadData?.loadType === 1 ? rowState.orderData.callCheckInAttachment?.guid : rowState.loadData?.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.guid : '';\r\n const [guid, setGuid] = useState(orderGuid);\r\n\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '360px',\r\n minHeight: '140px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n closeModal();\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n setGuid(result.guId);\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment.id : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment.id : '';\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: guid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n } else {\r\n callCheckAttachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n comments: '',\r\n isNew: true,\r\n deleted: false,\r\n external: true,\r\n };\r\n }\r\n setItemData(resource, callCheckAttachment, rowState, header);\r\n };\r\n \r\n return (\r\n \r\n
    \r\n
    Did you verify all case counts on this load? {isVerified}
    \r\n
    \r\n \r\n
    Verified
    \r\n
    \r\n
    Close
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadModal);\r\n","import React, { useState, useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { Input, message, Upload } from 'antd';\r\nimport moment from 'moment';\r\nimport './index.css';\r\nimport { getComments, setComment, resetError } from '../../../../store/actions/comments/comments';\r\nimport Loading from \"../../screen/loading\";\r\nimport axios from '../../../axios/axios';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport Download from '../../../elements/download';\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst CommentsModal = ({ \r\n setCommentsModalIsOpen,\r\n commentsModalIsOpen,\r\n rowState,\r\n hasError,\r\n actionMessage,\r\n getComments,\r\n setComment,\r\n comments,\r\n loading,\r\n resetError,\r\n attachments,\r\n }) => {\r\n\r\nconst resource = \"OrderResources\";\r\nconst orderId = rowState?.orderData?.id;\r\n\r\n const closeModal = () => {\r\n setCommentsModalIsOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n getComments(resource, orderId);\r\n}, [getComments, resource, orderId]);\r\n\r\nuseEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [attachmentsList, setAttachmentsList] = useState([]);\r\n const [newComment, setNewComment] = useState('');\r\n\r\n useEffect(() => {\r\n setCommentsList(comments);\r\n setAttachmentsList(attachments);\r\n}, [setCommentsList, comments, attachments]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '600px',\r\n minHeight: '300px',\r\n maxWidth: '600px',\r\n maxHeight: '400px', \r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n const saveComment = () => {\r\n setComment(resource, orderId, newComment);\r\n setNewComment('');\r\n };\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n const attachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n isNew: true,\r\n };\r\n setComment(resource, orderId, '', [attachment]);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n
    X
    \r\n
    Uploads
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {attachmentsList?.map(attachment => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    DownloadFile nameDate and TimeCreated By
    \r\n \r\n {attachment.fileName}{moment.utc(attachment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{attachment.fullName}
    \r\n
    \r\n \r\n
    Click to Upload
    \r\n
    \r\n
    \r\n
    \r\n
    Comments
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {commentsList?.map(comment => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    Date and TimeCreated ByComment
    {moment.utc(comment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{comment.user}{comment.comment}
    \r\n
    \r\n
    Add new comment
    \r\n setNewComment(e.target.value)}\r\n value={newComment}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n comments: state.comments.comments,\r\n attachments: state.comments.attachments,\r\n loading: state.comments.loading,\r\n hasError: state.comments.hasError,\r\n actionMessage: state.comments.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getComments: (resource, id) => dispatch(getComments(resource, id)),\r\n setComment: (resource, orderId, comment, attachment) => dispatch(setComment(resource, orderId, comment, attachment)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommentsModal);\r\n","import React, { useMemo, useRef, useEffect, useCallback, useState } from 'react';\r\nimport { useLocation} from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport { VariableSizeList } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { CSVLink } from \"react-csv\";\r\nimport { orderBy } from \"lodash\";\r\nimport Select from 'react-select'\r\nimport { load, resetError, filterDeliveredTrucks } from '../../../../store/actions/deliveredTrucksActions/deliveredTrucks';\r\nimport { getContentWidth } from '../../../../store/reducers/deliveredTrucksReducer/helper/general';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport { createSeparator } from '../../../../store/reducers/deliveredTrucksReducer/helper/separator';\r\nimport { Dropdown, Space, message, Menu, Input } from 'antd';\r\nimport Loading from \"../../screen/loading\";\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport UploadModal from './UploadModal'; \r\nimport CommentsModal from './CommentsModal';\r\nimport { useClientHubOrder } from \"../../../hook/hub/useClientHubOrder\";\r\nimport { getCSVData } from './helper'\r\n\r\nconst Spreadsheet = props => {\r\n const { \r\n state,\r\n loadsAssignedOrders,\r\n resetError,\r\n haseError,\r\n actionMessage,\r\n loading,\r\n load,\r\n resource,\r\n filterDeliveredTrucks,\r\n filterType,\r\n sortType,\r\n userId\r\n } = props;\r\n\r\n const scrollSizeSmall = 18;\r\n const scrollSize = 16;\r\n const defRowHeight = 20;\r\n const assignedRef = useRef({});\r\n const [uploadRowState, setUploadRowState] = useState('');\r\n const [searchInput, setSearchInput] = useState('');\r\n const [uploadModalIsOpen, setUploadModalIsOpen] = useState(false);\r\n const [commentsModalIsOpen, setCommentsModalIsOpen] = useState(false);\r\n const { pathname } = useLocation();\r\n const [PONumber, setPONumber] = useState('All');\r\n const [loadNumberData, setLoadNumber] = useState('All');\r\n\r\n let method = pathname === '/ap/deliveredtrucks' ? 'area' : 'readytopay'\r\n if(pathname === '/ap/deliveredtrucks'){\r\n method = 'area';\r\n } else if(pathname === '/ap/readytopay'){\r\n method = 'readytopay'\r\n } else if(pathname === '/ap/paid'){\r\n method = 'payed'\r\n }\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n load(resource, method, 'withoutLoading');\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n load(resource, method);\r\n }, [load, method, resource]);\r\n\r\n useEffect(() => {\r\n filterDeliveredTrucks(resource, filterType)\r\n }, [filterDeliveredTrucks, filterType, resource])\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource, method);\r\n }\r\n }, [haseError, actionMessage, resetError, resource, method]);\r\n\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (listHeaderReference && listHeaderReference?.current && listHeaderReference?.current?.scrollLeft) {\r\n listReference.current.scrollLeft = listHeaderReference?.current?.scrollLeft\r\n }\r\n }, [searchInput, PONumber, loadNumberData]);\r\n\r\n const header = useMemo(() =>\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n ,\r\n [resource]);\r\n \r\n const width = getContentWidth(state[resource].headers) + scrollSize;\r\n const extraScrollVisibility = window.innerWidth > width ? 'none' : 'flex';\r\n\r\n const byPODStatusIN = (loadsAssignedOrders, status) => {\r\n const filteredList = [];\r\n for (let i = 0; i < loadsAssignedOrders?.length; i++) {\r\n if(loadsAssignedOrders[i].ordersData) {\r\n for (let j = 0; j < loadsAssignedOrders[i].ordersData.length; j++) {\r\n if (loadsAssignedOrders[i].ordersData[j].rowState?.orderData?.inPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n break;\r\n }\r\n }\r\n } else {\r\n if (loadsAssignedOrders[i].rowState?.orderData?.inPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n }\r\n }\r\n }\r\n return filteredList.filter(item => item.rowState.loadData.loadType === 1);\r\n };\r\n\r\n const byPODStatusOUT = (loadsAssignedOrders, status) => {\r\n const filteredList = [];\r\n for (let i = 0; i < loadsAssignedOrders?.length; i++) {\r\n if(loadsAssignedOrders[i].ordersData) {\r\n for (let j = 0; j < loadsAssignedOrders[i].ordersData.length; j++) {\r\n if (loadsAssignedOrders[i].ordersData[j].rowState?.orderData?.outPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n break;\r\n }\r\n }\r\n } else {\r\n if (loadsAssignedOrders[i].rowState?.orderData?.outPodRequestStatus === status) {\r\n filteredList.push(loadsAssignedOrders[i]);\r\n }\r\n }\r\n }\r\n return filteredList.filter(item => item.rowState.loadData.loadType === 3);\r\n };\r\n \r\n const byPODStatus = (loadsAssignedOrders, type) => {\r\n return [...byPODStatusIN(loadsAssignedOrders, type), ...byPODStatusOUT(loadsAssignedOrders, type)];\r\n };\r\n\r\n let filteredData = loadsAssignedOrders;\r\n\r\n if (filterType === 'byIn') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 1);\r\n } else if (filterType === 'byOut') {\r\n filteredData = loadsAssignedOrders?.filter(item => item.rowState.loadData.loadType === 3);\r\n } else if (filterType === 'byPODReceived') {\r\n filteredData = byPODStatus(loadsAssignedOrders, 1);\r\n } else if (filterType === 'byPODRequested') {\r\n filteredData = byPODStatus(loadsAssignedOrders, 2);\r\n } else if (filterType === 'all') {\r\n filteredData = loadsAssignedOrders;\r\n }\r\n if(sortType && sortType.sort !== null){\r\n let newList = [];\r\n let newListTwo = [];\r\n const newArr = [...filteredData]\r\n newArr.forEach((item, index)=> {\r\n if(item.rowState.type === \"load\"){\r\n newListTwo = orderBy(newListTwo, [c => c.row[sortType.ind].value], sortType.sort);\r\n newList = [...newList, ...newListTwo, item]\r\n newListTwo.length = 0;\r\n } else if(index === newArr.length - 1){\r\n newListTwo.push(item)\r\n newListTwo = orderBy(newListTwo, [c => c.row[sortType.ind].value], sortType.sort);\r\n newList = [...newList, ...newListTwo]\r\n } else {\r\n newListTwo.push(item)\r\n }\r\n })\r\n filteredData = newList;\r\n }\r\n const displayLoadsAssignedOrders = useMemo(() =>\r\n !filteredData || filteredData.length === 0\r\n ? [createSeparator(defRowHeight, state[resource].headers, 'load', 0)] : filteredData, [filteredData, state, resource]);\r\n \r\n const getLoadNumberData = order => {\r\n if (order?.rowState?.loadData?.loadType === 1) {\r\n return (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.inboundLoadNumber?.includes(loadNumberData) || loadNumberData === 'All').length > 0) ||\r\n order.rowState?.orderData?.inboundLoadNumber?.includes(loadNumberData) || loadNumberData === 'All'\r\n } else {\r\n return (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.outboundLoadNumber?.includes(loadNumberData) || loadNumberData === 'All').length > 0) ||\r\n order.rowState?.orderData?.outboundLoadNumber?.includes(loadNumberData) || loadNumberData === 'All'\r\n }\r\n }\r\n\r\n const myLoadsAssignedOrders = useMemo(() => displayLoadsAssignedOrders\r\n .filter(order => order.rowState.visible) \r\n .filter(order => (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.poNumber?.includes(PONumber) || PONumber === 'All').length > 0) ||\r\n order.rowState?.orderData?.poNumber?.includes(PONumber) || PONumber === 'All') \r\n .filter(getLoadNumberData)\r\n .filter(order => (order?.ordersData?.filter(order => \r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(searchInput)).length > 0) ||\r\n (order.ordersData?.length === 0 && !searchInput) ||\r\n (order.ordersData?.length === 0 && order.rowState?.loadData?.loadNumber?.toLowerCase().includes(searchInput)) ||\r\n order.rowState?.orderData?.poNumber?.toLowerCase().includes(searchInput) ||\r\n order.rowState?.orderData?.soNumber?.toLowerCase().includes(searchInput))\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n , [displayLoadsAssignedOrders, searchInput, PONumber, loadNumberData]\r\n );\r\n\r\n const getAsignedItemSize = useCallback(\r\n index => myLoadsAssignedOrders[index] ? myLoadsAssignedOrders[index].rowState.height : defRowHeight,\r\n [myLoadsAssignedOrders]);\r\n\r\n const RenderAssignedRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [getAsignedItemSize, resource, uploadModalIsOpen]);\r\n\r\n const allOrdersList = useMemo(() => myLoadsAssignedOrders &&\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll' }}\r\n itemData={myLoadsAssignedOrders}\r\n itemCount={myLoadsAssignedOrders.length}\r\n height={height}\r\n itemSize={getAsignedItemSize}>\r\n {RenderAssignedRow}\r\n \r\n \r\n )}\r\n \r\n , [myLoadsAssignedOrders, getAsignedItemSize, RenderAssignedRow]);\r\n\r\n const content = (<>\r\n
    \r\n {header}\r\n
    \r\n
    \r\n
    {allOrdersList}
    \r\n
    onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const handleSelectChange = e => {\r\n filterDeliveredTrucks(resource, e.key);\r\n };\r\n\r\n const menu = (\r\n \r\n All\r\n IN\r\n OUT\r\n \r\n );\r\n const refreshPage = e => {\r\n load(resource, method);\r\n };\r\n\r\n const CSVHeaders = state[resource].headers.map(column => ({\r\n label: column.title,\r\n key: column.title,\r\n }));\r\n const CSVData = getCSVData(myLoadsAssignedOrders);\r\n const styles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '22px',\r\n minWidth: '150px',\r\n paddingLeft: '10px',\r\n height: '24px',\r\n alignContent: 'center',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n boxShadow: '0',\r\n top: 20,\r\n }),\r\n input: (base, state) => ({\r\n ...base,\r\n height: 0,\r\n position: 'absolute',\r\n top: '0',\r\n marginTop: '-2px',\r\n }),\r\n valueContainer: (base, state) => ({\r\n height: '-webkit-fill-available',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '170px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n // menuList: (base, state) => ({\r\n // position: 'fixed',\r\n // }),\r\n menuList: (base) => ({\r\n ...base,\r\n position: 'fixed',\r\n maxHeight: \"-webkit-fill-available\",\r\n padding: 0,\r\n \"::-webkit-scrollbar\": {\r\n width: \"4px\",\r\n height: \"0px\",\r\n },\r\n \"::-webkit-scrollbar-track\": {\r\n background: \"#f1f1f1\"\r\n },\r\n \"::-webkit-scrollbar-thumb\": {\r\n background: \"#888\"\r\n },\r\n \"::-webkit-scrollbar-thumb:hover\": {\r\n background: \"#555\"\r\n }\r\n }),\r\n option: (defaultStyles, state) => ({\r\n ...defaultStyles,\r\n color: state.isSelected ? \"#000\" : \"#000\",\r\n backgroundColor: state.isSelected ? \"lightGrey\" : \"#fff\",\r\n border: '1px solid lightGray'\r\n }),\r\n indicatorsContainer: () => ({\r\n height: 'max-content',\r\n }),\r\n indicatorContainer: () => ({\r\n padding: '0 8px!important',\r\n }),\r\n };\r\n\r\n const PONumbers = loadsAssignedOrders && loadsAssignedOrders.map(order => { \r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.poNumber : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.poNumber : '' }\r\n });\r\n\r\n const loadNumbers = loadsAssignedOrders && loadsAssignedOrders.map(order => {\r\n if (order?.rowState?.loadData?.loadType === 1) {\r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inboundLoadNumber : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.inboundLoadNumber : '' }\r\n } else {\r\n return {value: order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outboundLoadNumber : '', 'label': order?.rowState?.type === 'order' ? order?.rowState?.orderData?.outboundLoadNumber : '' }\r\n }\r\n }); \r\n \r\n const uniquePONumbers = PONumbers?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n \r\n const uniqueLoadNumbers = loadNumbers?.filter((order, index, self) =>\r\n index === self.findIndex((t) => t.label === order.label && t.value === order.value))\r\n .filter(order => order.value !== '')\r\n .concat( { value: 'All', label: 'All' });\r\n \r\n const handleChangePoNumber = option => {\r\n setPONumber(option.value);\r\n };\r\n\r\n const handleChangeLoadNumber = option => {\r\n setLoadNumber(option.value);\r\n };\r\n\r\n const subHeader = (\r\n
    \r\n
    \r\n
    \r\n \r\n e.preventDefault()}>\r\n Filter\r\n \r\n \r\n
    \r\n Refresh\r\n
    \r\n \r\n Download\r\n \r\n
    \r\n
    \r\n
    FILTER
    \r\n null}\r\n onChange={option => handleChangePoNumber(option)}\r\n styles={styles}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n
    \r\n null}\r\n onChange={option => handleChangeLoadNumber(option)}\r\n styles={styles}\r\n components={{\r\n IndicatorSeparator: () => null\r\n }}\r\n />\r\n
    \r\n
    \r\n setSearchInput(e.target.value)}\r\n placeholder=\"Search\"\r\n type=\"text\"\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n {uploadModalIsOpen && \r\n \r\n }\r\n {commentsModalIsOpen && \r\n \r\n }\r\n
    \r\n )\r\n return <>\r\n {subHeader}{loading ? : <>{content}};\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.AccountPayable.loadsAssignedOrders,\r\n loading: state.AccountPayable.loading,\r\n haseError: state.AccountPayable.hasError,\r\n actionMessage: state.AccountPayable.message,\r\n filterType: state.AccountPayable.filterType,\r\n sortType: state.AccountPayable.sortType,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n load: (resource, method, loadingType) => dispatch(load(resource, method, loadingType)),\r\n resetError: (resource, method) => dispatch(resetError(resource, false, method)),\r\n filterDeliveredTrucks: (resource, key) => dispatch(filterDeliveredTrucks(resource, key)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Spreadsheet);","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\n","import moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\n\r\nexport const getCSVData = myLoadsAssignedOrders => {\r\n const toDate = value => moment.utc(value).local().format(Defines.Format.PrintDate);\r\n const toDateTime = value => moment.utc(value).local().format(Defines.Format.PrintDateTime);\r\n const getPODRequestName = number => {\r\n let PODRequestName = '-';\r\n if (number === 1) {\r\n PODRequestName = 'Received'\r\n } else if (number === 2) {\r\n PODRequestName = 'Requested'\r\n }\r\n else if (number === 3) {\r\n PODRequestName = 'Don’t Split'\r\n }\r\n return PODRequestName;\r\n }\r\n\r\n const countSum = (orders, type) => {\r\n const list = orders.map(order => order?.rowState?.orderData[type]);\r\n let sum = 0;\r\n for (let i = 0; i < list.length; i++) {\r\n sum += list[i];\r\n }\r\n return sum;\r\n }\r\n\r\n const countLoadReadyDate = ordersData => {\r\n const filterData = ordersData.filter(o => o.rowState.orderData['readyDate']);\r\n if (filterData && filterData.length > 0) {\r\n const maxDate = Math.max.apply(\r\n null,\r\n filterData.map(order => {\r\n return new Date(order.rowState.orderData['readyDate']);\r\n }),\r\n );\r\n if (maxDate) {\r\n return moment.utc(maxDate).local().format(Defines.Format.PrintDate);\r\n }\r\n }\r\n }\r\n\r\n const countLoadPickAppt = ordersData => {\r\n let value = '';\r\n if (ordersData.length !== 0) {\r\n const order = ordersData[ordersData.length - 1];\r\n if (order) {\r\n value = order.row.find(f => f.key === 'inboundPickAppointment').value;\r\n }\r\n }\r\n return value ? moment.utc(value).local().format(Defines.Format.PrintDateTime) : '';\r\n }\r\n\r\n let CSVData = [];\r\n for (let i = 0; i < myLoadsAssignedOrders?.length; i++) {\r\n const loadType = myLoadsAssignedOrders[i]?.rowState?.loadData?.loadType; // 1 - inbound, 3 - outbound\r\n let tempObject = {};\r\n let object = {\r\n 'Ready date': myLoadsAssignedOrders[i]?.ordersData?.length ? countLoadReadyDate(myLoadsAssignedOrders[i]?.ordersData) : myLoadsAssignedOrders[i]?.rowState?.orderData?.readyDate && toDate(myLoadsAssignedOrders[i]?.rowState?.orderData?.readyDate),\r\n 'Due Date': myLoadsAssignedOrders[i]?.rowState?.orderData?.dueDate && toDate(myLoadsAssignedOrders[i]?.rowState?.orderData?.dueDate),\r\n Cust: myLoadsAssignedOrders[i]?.rowState?.orderData?.customerCodeOrName,\r\n Pick: myLoadsAssignedOrders[i]?.ordersData?.length ? myLoadsAssignedOrders[i]?.ordersData[0]?.rowState?.orderData?.pickLocation : myLoadsAssignedOrders[i]?.rowState?.orderData?.pickLocation,\r\n Delivery: myLoadsAssignedOrders[i]?.ordersData?.length ? myLoadsAssignedOrders[i]?.ordersData[0]?.rowState?.orderData?.dropLocation : myLoadsAssignedOrders[i]?.rowState?.orderData?.dropLocation,\r\n 'PO#': myLoadsAssignedOrders[i]?.ordersData?.length ? '' : ` ${myLoadsAssignedOrders[i]?.rowState?.orderData?.poNumber} `,\r\n 'SO#': myLoadsAssignedOrders[i]?.ordersData?.length ? '' : ` ${myLoadsAssignedOrders[i]?.rowState?.orderData?.soNumber} `,\r\n Pal: myLoadsAssignedOrders[i]?.ordersData?.length ? countSum(myLoadsAssignedOrders[i]?.ordersData, 'palletCount') : myLoadsAssignedOrders[i]?.rowState?.orderData?.palletCount,\r\n SPA: myLoadsAssignedOrders[i]?.ordersData?.length ? countSum(myLoadsAssignedOrders[i]?.ordersData, 'space') : myLoadsAssignedOrders[i]?.rowState?.orderData?.space,\r\n CS: myLoadsAssignedOrders[i]?.ordersData?.length ? countSum(myLoadsAssignedOrders[i]?.ordersData, 'cases') : myLoadsAssignedOrders[i]?.rowState?.orderData?.cases,\r\n LBS: myLoadsAssignedOrders[i]?.ordersData?.length ? countSum(myLoadsAssignedOrders[i]?.ordersData, 'weight') : myLoadsAssignedOrders[i]?.rowState?.orderData?.weight,\r\n WK: myLoadsAssignedOrders[i]?.rowState?.orderData?.puDate ? new Date(myLoadsAssignedOrders[i].rowState.orderData.puDate).getWeek() : '',\r\n 'In Load': myLoadsAssignedOrders[i]?.rowState?.orderData?.inLoad,\r\n 'Out Load': myLoadsAssignedOrders[i]?.rowState?.orderData?.outLoad,\r\n Carrier: myLoadsAssignedOrders[i]?.ordersData ? myLoadsAssignedOrders[i]?.rowState?.loadData?.carrierName : '',\r\n Rate: myLoadsAssignedOrders[i].ordersData?.length && myLoadsAssignedOrders[i]?.rowState?.loadData?.rate ? myLoadsAssignedOrders[i]?.rowState?.loadData?.rate : '',\r\n 'Additional Pay': `${myLoadsAssignedOrders[i].ordersData && myLoadsAssignedOrders[i]?.rowState?.loadData?.amount ? `$${myLoadsAssignedOrders[i]?.rowState?.loadData?.amount} ${myLoadsAssignedOrders[i]?.rowState?.loadData?.additionalPay}` : ''}`,\r\n 'Driver/Truck': `${myLoadsAssignedOrders[i]?.ordersData ? `${myLoadsAssignedOrders[i]?.rowState?.loadData?.driverName} ${myLoadsAssignedOrders[i]?.rowState?.loadData?.truckNumber} ${myLoadsAssignedOrders[i]?.rowState?.loadData?.trailer}` : ''}`,\r\n 'EFS': `${myLoadsAssignedOrders[i].ordersData && myLoadsAssignedOrders[i]?.rowState?.loadData?.efsSum ? `$${myLoadsAssignedOrders[i]?.rowState?.loadData?.efsSum}` : ''}`,\r\n Notes: myLoadsAssignedOrders[i]?.ordersData?.length ? myLoadsAssignedOrders[i]?.rowState?.loadData?.notes : '',\r\n }\r\n\r\n if (loadType === 1) {\r\n tempObject = {\r\n 'Pick IN': myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickIn && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickIn),\r\n 'Pick OUT': myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickOut && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickOut),\r\n 'Pick Appt': myLoadsAssignedOrders[i]?.ordersData?.length ? countLoadPickAppt(myLoadsAssignedOrders[i]?.ordersData) : myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickAppointment ? toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundPickAppointment) : '',\r\n 'Del Appt': myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropAppointment && toDate(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropAppointment),\r\n 'Del In': myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropIn && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropIn),\r\n 'Del Out': myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropOut && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundDropOut),\r\n 'LOAD #': myLoadsAssignedOrders[i]?.ordersData?.length ? myLoadsAssignedOrders[i]?.ordersData[0]?.rowState?.orderData?.inboundLoadNumber : myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundLoadNumber,\r\n Lumper: myLoadsAssignedOrders[i]?.rowState?.orderData?.inboundLumper,\r\n 'POD Request': getPODRequestName(myLoadsAssignedOrders[i]?.rowState?.orderData?.inPodRequestStatus),\r\n 'POD Doc.': myLoadsAssignedOrders[i]?.rowState?.orderData?.callCheckInAttachment?.fileName,\r\n 'POD Status': myLoadsAssignedOrders[i]?.rowState?.orderData?.inNotes,\r\n }\r\n } else {\r\n tempObject = {\r\n 'Pick IN': myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickIn && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickIn),\r\n 'Pick OUT': myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickOut && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickOut),\r\n 'Pick Appt': myLoadsAssignedOrders[i]?.ordersData?.length ? countLoadPickAppt(myLoadsAssignedOrders[i]?.ordersData) : myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickAppointment ? toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundPickAppointment) : '',\r\n 'Del Appt': myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropAppointment && toDate(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropAppointment),\r\n 'Del In': myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropIn && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropIn),\r\n 'Del Out': myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropOut && toDateTime(myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundDropOut),\r\n 'LOAD #': myLoadsAssignedOrders[i]?.ordersData?.length ? myLoadsAssignedOrders[i]?.ordersData[0]?.rowState?.orderData?.outboundLoadNumber : myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundLoadNumber,\r\n Lumper: myLoadsAssignedOrders[i]?.rowState?.orderData?.outboundLumper,\r\n 'POD Request': getPODRequestName(myLoadsAssignedOrders[i]?.rowState?.orderData?.outPodRequestStatus),\r\n 'POD Doc.': myLoadsAssignedOrders[i]?.rowState?.orderData?.callCheckOutAttachment?.fileName,\r\n 'POD Status': myLoadsAssignedOrders[i]?.rowState?.orderData?.outNotes,\r\n }\r\n }\r\n const newObject = { ...object, ...tempObject}\r\n CSVData.push(newObject);\r\n };\r\n\r\n return CSVData;\r\n}","import React from 'react';\r\nimport APDeliveredTrucksSpreadsheet from '../../APDeliveredTrucks/spreadsheet';\r\n\r\nconst APDeliveredTrucksBuild = () => (\r\n \r\n \r\n
    \r\n);\r\n\r\nexport default APDeliveredTrucksBuild;\r\n","import axios from 'axios';\r\nimport moment from 'moment'\r\nimport store from '../..';\r\nimport * as actionTypes from './accountReceivableActionTypes';\r\n\r\nconst buildUrl = (resource, method = '', endpoint) => {\r\n if (endpoint) {\r\n return `/api/${resource}/${endpoint}`\r\n } else {\r\n if(!method){\r\n return `/api/${resource}`\r\n } else {\r\n return `/api/${resource}?filterData=${method}`\r\n }\r\n }\r\n};\r\n\r\nconst buildUrlById = (resource, orderId) => {\r\n return `/api/${resource}/orderchangerequestinfo?orderId=${orderId}`\r\n};\r\n\r\nconst buildUrlAccept = (resource, endpint) => {\r\n return `/api/${resource}/${endpint}`\r\n};\r\n\r\nconst buildPriceUrl = (endpoint, id, price, priceTemplateId, priceTemplateType) => id ? `/api/${endpoint}?orderId=${id}&price=${price}&priceTemplateId=${priceTemplateId}&priceTemplateType=${priceTemplateType}` : `/api/${endpoint}`;\r\n\r\nconst axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n});\r\n\r\nexport const load = (resource, method, endpoint, loadingType) => dispatch => {\r\n if (loadingType !== 'withoutLoading') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ACCOUNT_RECEIVABLE_LOADING), data: endpoint });\r\n }\r\n axios.get(buildUrl(resource, method, endpoint),\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ACCOUNT_RECEIVABLE), data: { responce, endpoint } }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCOUNT_RECEIVABLE_ERROR) });\r\n })\r\n};\r\n\r\nexport const getOrderChangeRequestData = (resource, orderId) => dispatch => {\r\n const data = {\r\n params: {\r\n filterData: { orderId: orderId },\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CHANGE_REQUEST_DATA_LOADING) });\r\n axios.get(buildUrlById(resource, orderId), data,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CHANGE_REQUEST_DATA), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_CHANGE_REQUEST_DATA_ERROR) });\r\n })\r\n};\r\n\r\nexport const reactOnAssignedItem = (resource, id, type) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.REACTED_ASSIGNED), data: { id, type } });\r\n\r\nexport const setHeaderWidth = (resource, ind, width) =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.SET_HEADER_WIDTH_ACCOUNT_RECEIVABLE), data: { ind, width } });\r\n\r\nexport const billButtonAction = (resource, method, rowState) => dispatch =>{\r\n axios.put(buildUrl( `${resource}/${method}?orderId=${rowState?.orderData?.id}`), '',\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n } else {\r\n dispatch(load(resource, '{\"isReadyToBill\": true}'))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true, '{\"isReadyToBill\": true}'));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n}\r\n\r\nexport const setItemData = (resource, value, rowState, header, loadsAssignedOrders) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_ACCOUNT_RECEIVABLE_DATA), data: {\r\n value,\r\n rowState,\r\n header\r\n }\r\n });\r\n\r\n let requestData = {};\r\n let orderDelayedReasonByCall;\r\n let orderStatusByCall;\r\n let orderNotesByCall;\r\n let loadCallCheckNote;\r\n let pickInDate;\r\n let pickOutDate;\r\n let dropInDate;\r\n let dropOutDate;\r\n let podRequestStatus;\r\n let callCheckAttachment;\r\n let browserDateTime = moment.utc(new Date()).local().utc(true).format();\r\n\r\n const order = rowState.orderData;\r\n // if (rowState.loadData.loadType === 3) {\r\n orderDelayedReasonByCall = order.outDelayedReason;\r\n orderStatusByCall = order.outOrderStatusByCall;\r\n orderNotesByCall = order?.outNotes;\r\n podRequestStatus = order?.outPodRequestStatus\r\n pickInDate = order.outboundPickIn;\r\n pickOutDate = order.outboundPickOut;\r\n dropInDate = order.outboundDropIn;\r\n dropOutDate = order.outboundDropOut;\r\n callCheckAttachment = order.callCheckOutAttachment;\r\n // loadCallCheckNote = order.outLoadCallCheckNote;\r\n // }\r\n // else if (rowState.loadData.loadType === 1) {\r\n // orderDelayedReasonByCall = order.inDelayedReason;\r\n // orderStatusByCall = order.inOrderStatusByCall;\r\n // orderNotesByCall = order.inNotes;\r\n // podRequestStatus = order?.inPodRequestStatus;\r\n // pickInDate = order.inboundPickIn;\r\n // pickOutDate = order.inboundPickOut;\r\n // dropInDate = order.inboundDropIn;\r\n // dropOutDate = order.inboundDropOut;\r\n // callCheckAttachment = order.callCheckInAttachment;\r\n // loadCallCheckNote = order.inLoadCallCheckNote;\r\n // }\r\n requestData = {\r\n orderId: order.id,\r\n loadId: order.outboundLoadId,\r\n orderStatusByCall,\r\n orderDelayedReasonByCall,\r\n orderNotesByCall,\r\n podRequestStatus,\r\n loadCallCheckNote,\r\n callCheckAttachment,\r\n pickInDate,\r\n pickOutDate,\r\n dropInDate,\r\n dropOutDate,\r\n // isDelivered,\r\n browserDateTime,\r\n }\r\n\r\n if (header.key === 'orderStatusByCall') {\r\n requestData.orderStatusByCall = value;\r\n requestData.orderDelayedReasonByCall = null;\r\n } else if (header.key === 'delayedReason') {\r\n requestData.orderDelayedReasonByCall = value;\r\n } else if (header.key === 'orderNotesByCall') {\r\n requestData.orderNotesByCall = value;\r\n } else if (header.key === 'podRequestStatus') {\r\n requestData.podRequestStatus = value;\r\n } else if (header.key === 'podDoc') {\r\n requestData.callCheckAttachment = value;\r\n } else if (header.key === 'pickInDate') {\r\n requestData.pickInDate = value;\r\n } else if (header.key === 'pickOutDate') {\r\n requestData.pickOutDate = value;\r\n } else if (header.key === 'dropInDate') {\r\n requestData.dropInDate = value\r\n } else if (header.key === 'dropOutDate') {\r\n requestData.dropOutDate = value;\r\n } else if (header.key === 'loadCallCheckNote') {\r\n requestData.loadCallCheckNote = value;\r\n }\r\n\r\n axios.put(buildUrl('AccountReceivable/loadorderitem'), requestData,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true, response.data.message));\r\n console.error(response.data.message);\r\n } else if ((response.data.callCheckInAttachment || response.data.callCheckOutAttachment) && header.key === 'podDoc') {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.SET_ACCOUNT_RECEIVABLE_DATA), data: {\r\n value: response.data.callCheckOutAttachment,\r\n rowState,\r\n header\r\n }\r\n })\r\n } else if (header.key === 'orderNotesByCall' || header.key === 'podRequestStatus') {\r\n dispatch(reloadAfterUpdate(`${resource}?filterData={\"isReadyToBill\": false, \"isBilled\": false}`))\r\n }\r\n }).catch(err => {\r\n dispatch(errorAction(resource, true));\r\n console.error(err);\r\n console.log(err.response);\r\n });\r\n};\r\n\r\nexport const setItemDisplayState = (resource, rowState, header, enable) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_DISPLAY_STATE), data: {\r\n rowState,\r\n header,\r\n enable\r\n }\r\n});\r\n\r\nexport const filterDeliveredTrucks = (resource, key) => ({\r\n type: actionTypes.getActionType(resource, actionTypes.FILTER_ACCOUNT_RECEIVABLE),\r\n data: key\r\n});\r\n\r\nexport const sortBy = (resource, sortValue) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SORT_ACCOUNT_RECEIVABLE), data: sortValue\r\n });\r\n}\r\n\r\nexport const setChecked = (resource, orderId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_CHECKED), data: orderId\r\n });\r\n}\r\n\r\nexport const setOrderId = (resource, orderId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_ORDER_ID), data: orderId\r\n });\r\n}\r\n\r\nexport const acceptChangeRequest = (resource, endpint, orderId) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ACCOUNT_RECEIVABLE_LOADING) });\r\n let orderIDs = [];\r\n if (!orderId.length) {\r\n orderIDs.push(orderId);\r\n } else {\r\n orderId.map(orderId => orderIDs.push(orderId));\r\n };\r\n\r\n axios.put(buildUrlAccept(resource, endpint), orderIDs,\r\n axiosConfig())\r\n .then(response => {\r\n if (response.data.hasError) {\r\n dispatch(errorAction(resource, true));\r\n console.error(response.data.message);\r\n } else {\r\n dispatch(load(resource, '', 'orderschangerequestslist'))\r\n }\r\n }).catch(err => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCOUNT_RECEIVABLE_ERROR) });\r\n });\r\n};\r\n\r\n\r\nexport const updatePriceByTemplate = ( resource, customerId, pickLockId, dropLockId, palletCount, weight, id ) => dispatch => {\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_PRICE_LOADING) });\r\n const filterData = {\r\n params: {\r\n customerId: customerId,\r\n pickLockId: pickLockId,\r\n dropLockId: dropLockId,\r\n palletCount: palletCount,\r\n weight: weight,\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildPriceUrl(`Order/pricebytemplate`), filterData,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_PRICE), data: { responce, id } }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.UPDATE_PRICE_ERROR) });\r\n })\r\n};\r\n\r\nexport const reCalculatePrice = ( resource, id, values, endpoint ) => dispatch => {\r\n let { price, priceTemplateId, priceTemplateTypeId } = values;\r\n // priceTemplateType = priceTemplateType === 'Spot' ? 1 : priceTemplateType === 'Price Template' ? 2 : '';\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.RECALCULATE_PRICE_LOADING), data: endpoint });\r\n const filterData = {\r\n orderId: id,\r\n price: price,\r\n priceTemplateId: priceTemplateId,\r\n priceTemplateType: priceTemplateTypeId,\r\n };\r\n axios.put(buildPriceUrl(`AccountReceivable/orderprice`, id, price, priceTemplateId, priceTemplateTypeId), filterData,\r\n axiosConfig())\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RECALCULATE_PRICE), data: { price, id, priceTemplateTypeId, responce, endpoint } }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.RECALCULATE_PRICE_ERROR) });\r\n })\r\n};\r\n\r\nexport const setPriceAsCalculated = (resource, orderId) => dispatch => {\r\n dispatch({\r\n type: actionTypes.getActionType(resource, actionTypes.SET_PRICE_AS_CALCULATED), data: orderId\r\n });\r\n}\r\n\r\nexport const resetError = resource =>\r\n ({ type: actionTypes.getActionType(resource, actionTypes.RESET_ERROR) });\r\n\r\nconst errorAction = (resource, reload, method) => dispatch => {\r\n if (reload) {\r\n axios.get(buildUrl(resource, method),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.RELOAD_ON_ERROR_ACCOUNT_RECEIVABLE), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCOUNT_RECEIVABLE_ERROR) });\r\n });\r\n }\r\n};\r\n\r\nconst reloadAfterUpdate = (resource) => dispatch => {\r\n axios.get(buildUrl(resource),\r\n axiosConfig()\r\n )\r\n .then(responce => dispatch({ type: actionTypes.getActionType(resource, actionTypes.GET_ACCOUNT_RECEIVABLE), data: responce }))\r\n .catch((err) => {\r\n console.error(err);\r\n console.log(err.response);\r\n dispatch({ type: actionTypes.getActionType(resource, actionTypes.ACCOUNT_RECEIVABLE_ERROR) });\r\n });\r\n};\r\n","export const getContentWidth = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => a + b.width, 0) :\r\n 0);\r\n};\r\n\r\nexport const getContentWidthExceptLeftAction = headers => {\r\n return ((headers && headers.length > 0) ?\r\n headers.reduce((a, b) => b.leftAction ? a + 0 : a + b.width, 0) :\r\n 0);\r\n};\r\n\r\n","import React from 'react';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport errorHandler from '../../../error/errorHandler';\r\n\r\nexport function AuthenticatedLink({ url, filename, children }) {\r\n const link = document.createElement('a');\r\n\r\n const handleAction = async (event) => {\r\n axios.get(url, {\r\n responseType: 'blob',\r\n timeout: 30000,\r\n }).then(response => {\r\n new File([response.data], filename);\r\n const href = window.URL.createObjectURL(response.data);\r\n link.download = filename;\r\n link.href = href;\r\n link.click(); \r\n });\r\n event.preventDefault();\r\n };\r\n return ({children});\r\n};\r\n\r\nexport default errorHandler(AuthenticatedLink, axios);","import React from 'react';\r\nimport AuthenticatedLink from './authenticatedLinkAcoountReceivable';\r\n\r\nconst Uploader = ({ rowState, setData, setUploadModalIsOpen, headerWidth }) => {\r\n const orderGuid = rowState.orderData.callCheckOutAttachment?.guid;\r\n\r\n const onChange = result => {\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.orderData.callCheckOutAttachment.id;\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: orderGuid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n }\r\n setData(callCheckAttachment);\r\n };\r\n\r\n const uploadButton = (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Upload\r\n
    \r\n
    \r\n );\r\n\r\n const fileName = rowState.orderData.callCheckOutAttachment?.fileName;\r\n\r\n if (fileName) {\r\n return (\r\n <>\r\n \r\n {fileName}\r\n \r\n onChange(null)} className='x-btn'>X\r\n \r\n );\r\n } else {\r\n return
    setUploadModalIsOpen(true)} style={{ display: 'flex', justifyContent: 'center' }}>{uploadButton}
    ;\r\n }\r\n};\r\n\r\nexport default Uploader;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport {Link, useLocation} from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { DatePicker, InputNumber, Select, Tooltip, Popover } from 'antd';\r\nimport { setItemData, setItemDisplayState, billButtonAction, getOrderChangeRequestData, setOrderId, setChecked } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport Uploader from './Uploader';\r\nimport './index.css';\r\nimport AuthenticatedLink from './authenticatedLinkAcoountReceivable';\r\n\r\nconst Cell = ({\r\n state,\r\n cellData,\r\n itemSize,\r\n billButtonAction,\r\n rowState,\r\n setItemData,\r\n setItemDisplayState,\r\n resource,\r\n setUploadRowState,\r\n setUploadModalIsOpen,\r\n setCommentsModalIsOpen,\r\n setChangeRequestModalIsOpen,\r\n getOrderChangeRequestData,\r\n setChangeRequestAcceptModalIsOpen,\r\n setOrderId,\r\n setChecked,\r\n userRole,\r\n setPriceRecalculationModalIsOpen,\r\n priceIsCalculated,\r\n }) => {\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n // const headerIndex = loadArea.headers.findIndex(h => h.key === cellData.key);\r\n const selectNameOptionsStatus = [{ name: '-', id: 0 }, { name: 'On time', id: 1 }, { name: 'Delayed', id: 2 }];\r\n const selectNameOptionsReason = [{ name: '-', id: 0 }, { name: 'Mechanical', id: 1 }, { name: 'Delivery conflict', id: 2 }, { name: 'Internal reason', id: 3 }, { name: 'Weather', id: 4 }, { name: 'Other', id: 5 } ];\r\n const selectNameOptionsPOD = [{ name: '-', id: 0 }, { name: 'Received', id: 1 }, { name: 'Requested', id: 2 }, { name: 'Don’t Split', id: 3}];\r\n const selectNameOptionsPODStatus = [ { name: 'Delivered', id: 'Delivered' }, { name: 'Shortage', id: 'Shortage' }, { name: 'Overage', id: 'Overage' }, { name: 'Reject', id: 'Reject' }];\r\n const selectOptionsStatus = { 0: '-', 1: 'On time', 2: 'Delayed' };\r\n const selectOptionsReason = { null: '-', 0: '-', 1: 'Mechanical', 2: 'Delivery conflict', 3: 'Internal reason', 4: 'Weather', 5: 'Other' };\r\n const selectOptionsPOD = { null: '-', 0: '-', 1: 'Received', 2: 'Requested', 3: 'Don’t Split' };\r\n const selectOptionsPalletTypes = { null: '', 1: 'Straight', 2: 'Chimney', 3: 'Other', 4: 'Sideways' };\r\n const selectOptionsPODStatus = { 'Delivered': 'Delivered', 'Shortage': 'Shortage', 'Overage': 'Overage', 'Reject': 'Reject' };\r\n const orderGuid = rowState?.orderData?.callCheckOutAttachment?.guid;\r\n const isAdmin = userRole === 'Admin';\r\n\r\n const width = header.width;\r\n // const offsetWidth = loadArea.headers.reduce((r, h, index) => {\r\n // if (h.visible && index < (headerIndex - 3)) {\r\n // r += h.width;\r\n // }\r\n // return r;\r\n // }, 0);\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n const {pathname} = useLocation()\r\n\r\n useEffect(() => {\r\n if ((cellData.key === 'orderStatusByCall' ||\r\n cellData.key === 'delayedReason' ||\r\n cellData.key === 'loadCallCheckNote' ||\r\n cellData.key === 'podDoc' ||\r\n cellData.key === 'orderNotesByCall' ||\r\n cellData.key === 'podRequestStatus')\r\n &&\r\n resource === \"AccountReceivable\" && pathname === '/ar/deliverednopod') {\r\n setDisplayState(editable);\r\n }\r\n }, [cellData.key, pathname, resource]);\r\n\r\n const data = cellData.value;\r\n const podNotesHistory = cellData?.value2;\r\n const cellStyle = cellData.cellStyle;\r\n const tooltip = cellData.tooltip;\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n const inputReference = useRef(null);\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n const setData = value => {\r\n onSetBlur();\r\n let newValue = value;\r\n if (value !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n newValue = new Date(value);\r\n break;\r\n case 'dateTime':\r\n newValue = new Date(value);\r\n break;\r\n case 'text':\r\n newValue = value;\r\n break;\r\n case 'checkbox':\r\n newValue = value;\r\n break;\r\n default:\r\n newValue = value;\r\n break;\r\n }\r\n }\r\n if (!dataCompare(newValue, tempData)) {\r\n setTempData(newValue); \r\n setTimeout(() => {\r\n setItemData(resource, newValue, rowState, header);\r\n }, 100);\r\n }\r\n };\r\n const changeImage = (data) => {\r\n setTimeout(() => {\r\n setUploadRowState(rowState);\r\n }, 100);\r\n }\r\n const billButtonClick = () => {\r\n billButtonAction(resource, \"bill\", rowState)\r\n }\r\n\r\n const handleEdit = () => {\r\n setTimeout(() => { \r\n setUploadRowState(rowState);\r\n setCommentsModalIsOpen(true);\r\n }, 100);\r\n };\r\n\r\n const handleChangeRequestModalOpen = () => {\r\n const orderId = rowState.orderObjectId;\r\n setTimeout(() => {\r\n setChangeRequestModalIsOpen(true);\r\n getOrderChangeRequestData(resource, orderId);\r\n }, 100);\r\n };\r\n\r\n const handleChangeRequestAcceptModalOpen = () => {\r\n const orderId = rowState.orderObjectId;\r\n setTimeout(() => {\r\n setChecked(resource, orderId);\r\n setOrderId(resource, orderId);\r\n setChangeRequestAcceptModalIsOpen(true);\r\n }, 100);\r\n };\r\n\r\n const handleRecalculation = () => {\r\n setPriceRecalculationModalIsOpen(true);\r\n };\r\n\r\n const getData = () => { \r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n return tempData ? moment(tempData).format(Defines.Format.PrintDate) : '';\r\n case 'button':\r\n if (header.key === 'changeHistory') {\r\n return ;\r\n } else if (header.key === 'recalculation') {\r\n return ;\r\n } else if (header.key === 'confirm') {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n case 'buttonText':\r\n return ;\r\n case 'dateTime':\r\n return
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Date) : ''}
    \r\n
    {tempData ? moment(tempData).format(Defines.Format.Time) : ''}
    \r\n
    ;\r\n case 'link':\r\n return {tempData}\r\n case 'text':\r\n if (header.key === 'loadPositionType') {\r\n return selectOptionsPalletTypes[tempData];\r\n } else if (header.key === 'price') {\r\n return {tempData}\r\n }\r\n else {\r\n return tempData;\r\n }\r\n case 'actions':\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n case 'download':\r\n const fileName = rowState.orderData.callCheckOutAttachment?.fileName;\r\n return
    \r\n {fileName?\r\n \r\n {fileName}\r\n \r\n : ''}\r\n
    \r\n case 'popover':\r\n return (\r\n \r\n {tempData}\r\n \r\n );\r\n default:\r\n return tempData;\r\n }\r\n }\r\n return tempData\r\n };\r\n\r\n const handleSelectChange = (value) => {\r\n if (header.key === 'orderNotesByCall') {\r\n setData(value);\r\n } else {\r\n setData(parseInt(value));\r\n }\r\n };\r\n\r\n let splittedData = [];\r\n if (header.key === 'orderNotesByCall' && podNotesHistory && podNotesHistory?.[0]) {\r\n splittedData = podNotesHistory?.split(',');\r\n };\r\n\r\n const content = splittedData.length ? (\r\n
    \r\n \r\n \r\n \r\n \r\n {splittedData?.map(data => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n Created By       Data Time     Status note
    {data}
    \r\n
    \r\n ) :
    You don't have any notes
    ;\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'dateTime':\r\n return {\r\n setTimeout(() => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }, 0);\r\n setData(value.currentTarget.value)\r\n }}\r\n onChange={(value) => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d)\r\n }}\r\n suffixIcon={null}\r\n showTime\r\n minuteStep={15}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDateTime) : ''}\r\n format={Defines.Format.PrintDateTime}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false} />;\r\n case 'date':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value.currentTarget.value)\r\n }}\r\n onChange={(value) => {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(value === null ? '' : value._d)\r\n }}\r\n suffixIcon={null}\r\n className='spreadsheet-picker'\r\n value={tempData ? moment(tempData, Defines.Format.PrintDate) : ''}\r\n format={Defines.Format.PrintDate}\r\n onKeyDown={e => {\r\n if (e.key === 'Escape') {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n }\r\n }}\r\n showToday={false}\r\n />;\r\n case 'integer':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(e.target.value)\r\n }}\r\n className='spreadsheet-number-input'\r\n />;\r\n case 'textInput':\r\n return {\r\n setData(value.currentTarget.value)\r\n }}\r\n style={{ cursor: 'pointer', textAlign: 'center', width: 'inherit' }}\r\n className={header.key === 'loadCallCheckNote' ? 'green__BG' : ''}\r\n />;\r\n case 'select':\r\n let selectOption;\r\n let selectNameOptions;\r\n if (header.key === 'orderStatusByCall') {\r\n selectOption = selectOptionsStatus;\r\n selectNameOptions = selectNameOptionsStatus;\r\n } else if (header.key === 'delayedReason') {\r\n selectOption = selectOptionsReason;\r\n selectNameOptions = selectNameOptionsReason;\r\n } else if (header.key === 'podRequestStatus') {\r\n selectOption = selectOptionsPOD;\r\n selectNameOptions = selectNameOptionsPOD;\r\n }\r\n const statusByCell = rowState?.firstOrderData?.outOrderStatusByCall;\r\n return \r\n {selectNameOptions.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n ;\r\n case 'select_and_popover':\r\n return (\r\n \r\n \r\n {selectNameOptionsPODStatus.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n );\r\n case 'upload':\r\n return
    \r\n
    changeImage(rowState)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n default: return <>;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? (\r\n {displayState === redonly ? getData() : getInput()}\r\n ) : displayState === redonly ? getData() : getInput();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n const onSetFocus = () => {\r\n // startOnScroll && startOnScroll(offsetWidth);\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n // setItemDisplayState(resource, rowState, header, cellData.editable);\r\n };\r\n\r\n const onSetBlur = () => {\r\n setItemDisplayState(resource, rowState, header, false);\r\n };\r\n\r\n const editableFunction = (cellData) => (\r\n cellData.editable ? setDisplayState(editable) : null\r\n );\r\n\r\n const backgroundColor = pathname === '/ar/changerequestsar' && \r\n ( (header.key === 'palletCount' && rowState.orderData.isChangedPalletCount) || \r\n (header.key === 'space' && rowState.orderData.isChangedSpace) || \r\n (header.key === 'weight' && rowState.orderData.isChhangedWeight)) \r\n ? 'yellow' : 'inherit';\r\n\r\n return (\r\n onSetFocus()}\r\n onClick={() => { editableFunction(cellData)}}\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle, color: color, backgroundColor, padding: '0 2px' }}\r\n tabIndex={displayState === redonly ? 0 : -1}\r\n >\r\n {dataDisplay()}\r\n \r\n);\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.AccountPayable.loadsAssignedOrders,\r\n checked: state.AccountReceivable.checked,\r\n userRole: state.auth.userRole,\r\n priceIsCalculated: state.AccountReceivable.priceIsCalculated,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setOrderId: (resource, orderId) => dispatch(setOrderId(resource, orderId)),\r\n setChecked: (resource, orderId) => dispatch(setChecked(resource, orderId)),\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n billButtonAction: (resource, method, rowState) => dispatch(billButtonAction(resource, method, rowState)),\r\n getOrderChangeRequestData: (resource, orderId) => dispatch(getOrderChangeRequestData(resource, orderId)),\r\n setItemDisplayState: (resource, rowState, header, enable) => dispatch(setItemDisplayState(resource, rowState, header, enable)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cell);","import { DownOutlined, UpOutlined} from '@ant-design/icons';\r\nimport React from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LeftActionCall = (\r\n {\r\n state,\r\n cellData,\r\n reacted,\r\n itemSize,\r\n onClickRow,\r\n bgColor,\r\n innerRef,\r\n type,\r\n resource,\r\n }) => {\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n let cellStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '17px',\r\n left: 0,\r\n backgroundColor: bgColor,\r\n };\r\n\r\n const cellStyleValue = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n position: 'sticky',\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: bgColor,\r\n left: 0\r\n };\r\n\r\n const arrowColor = type === 'stop' ? '#000000' : '#FFFFFF';\r\n\r\n return (\r\n <>\r\n {\r\n type === 'load' || type === 'stop' ?\r\n
    { onClickRow() }}\r\n className='table-body-cell'\r\n style={cellStyle}>\r\n {reacted ? : }\r\n
    :\r\n
    { onClickRow() }}>\r\n {cellData.value}\r\n
    \r\n }\r\n \r\n \r\n );\r\n};\r\nexport default connect(state => ({\r\n state: state\r\n}))(LeftActionCall);","import React from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport { Formik, Form, Field } from 'formik';\r\nimport Select from 'react-select';\r\nimport * as Yup from 'yup';\r\nimport axios from 'axios';\r\nimport store from '../../../../store';\r\nimport { reCalculatePrice, setPriceAsCalculated } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\n\r\nconst PriceRecalculationModal = ({ \r\n priceRecalculationModalIsOpen,\r\n setPriceRecalculationModalIsOpen,\r\n rowState,\r\n resource,\r\n }) => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const closeModal = () => {\r\n setPriceRecalculationModalIsOpen(false);\r\n };\r\n\r\n const customStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '300px',\r\n maxWidth: '320px',\r\n minHeight: '180px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n textAlign: 'center',\r\n },\r\n };\r\n\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderColor: state.isFocused ? 'lightGray' : 'lightGray',\r\n borderRadius: '8px',\r\n boxShadow: 'none',\r\n minHeight: '37px',\r\n width: '100%',\r\n cursor: 'notAllowed',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n zIndex: '20',\r\n }),\r\n menuList: () => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n borderRadius: 'none!important',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '10px',\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '224px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n margin: '4px 0',\r\n }),\r\n options: (base, state) => ({\r\n padding: '4px 8px',\r\n cursor: 'pointer',\r\n borderRadius: 'unset',\r\n }),\r\n };\r\n\r\n const validationSchema = Yup.object().shape({\r\n priceTemplateType: Yup.string().required('Required'),\r\n priceTemplateTypeId: Yup.number().required('Required'),\r\n price: Yup.number().required('Required'),\r\n priceTemplateId: Yup.number().required('Required'),\r\n });\r\n\r\n const handleSubmitSave = values => {\r\n dispatch(reCalculatePrice(resource, rowState.orderData.id, values, 'orderschangerequestslist'));\r\n dispatch(setPriceAsCalculated(resource, rowState.orderData.id));\r\n };\r\n\r\n const axiosConfig = () => ({\r\n headers: {\r\n 'Authorization': 'Bearer ' + store.getState().auth.userToken\r\n }\r\n });\r\n const buildPriceUrl = endpoint => `/api/${endpoint}`;\r\n\r\n const setResponceData = (responce, setFieldValue) => {\r\n setFieldValue('price', responce.price);\r\n setFieldValue('priceTemplateId', responce.priceTemplateId);\r\n setFieldValue('priceTemplateType', 'Price Template');\r\n setFieldValue('priceTemplateTypeId', responce.priceTemplateType);\r\n };\r\n\r\n const updatePriceByTemplate = (customerId, pickLockId, dropLockId, palletCount, weight, setFieldValue) => {\r\n const filterData = {\r\n params: {\r\n customerId: customerId,\r\n pickLockId: pickLockId,\r\n dropLockId: dropLockId,\r\n palletCount: palletCount,\r\n weight: weight,\r\n },\r\n headers: axiosConfig().headers,\r\n };\r\n axios.get(buildPriceUrl(`Order/pricebytemplate`), filterData, axiosConfig())\r\n .then(responce => setResponceData(responce.data, setFieldValue))\r\n };\r\n\r\n const handleSetFieldValue = (value, setFieldValue) => {\r\n if (value === 'Price Template') {\r\n const { customerId, pickLocationId, dropLocationId, palletCount, weight } = rowState.orderData; \r\n updatePriceByTemplate(customerId, pickLocationId, dropLocationId, palletCount, weight, setFieldValue);\r\n } else {\r\n setFieldValue('priceTemplateType', 'Spot');\r\n setFieldValue('priceTemplateTypeId', 1);\r\n setFieldValue('priceTemplateId', 0);\r\n setFieldValue('price', '');\r\n }\r\n }\r\n\r\n let options = [\r\n {\r\n value: 'Spot', \r\n label: 'Spot',\r\n },\r\n {\r\n value: 'Price Template', \r\n label: 'Price Template',\r\n }\r\n ];\r\n if (rowState.orderData.batch === 1) {\r\n options = [ { value: 'Spot', label: 'Spot' } ];\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    Select Price option
    \r\n \r\n
    \r\n {\r\n setTimeout(() => {\r\n setSubmitting(false);\r\n handleSubmitSave(values);\r\n }, 400);\r\n }}>\r\n {({ isValid, values, setFieldValue, errors, touched, handleSubmit }) => {\r\n return (\r\n \r\n
    \r\n
    \r\n {!values.priceTemplateType &&
    Select Price option
    }\r\n handleSetFieldValue(option.value, setFieldValue)}\r\n styles={customStyles}\r\n placeholder={''}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n $\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PriceRecalculationModal;","import React, { useCallback, useRef, useEffect, useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport LeftActionCall from './leftActionCall';\r\nimport { reactOnAssignedItem } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport PriceRecalculationModal from './PriceRecalculationModal';\r\n\r\nconst Row = ({\r\n data,\r\n style,\r\n itemSize,\r\n reactOnAssignedItem,\r\n state,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n setUploadRowState,\r\n setUploadModalIsOpen,\r\n setCommentsModalIsOpen,\r\n setChangeRequestModalIsOpen,\r\n changeRequestAcceptModalIsOpen,\r\n setChangeRequestAcceptModalIsOpen,\r\n }) => {\r\n const rowRef = useRef({});\r\n const loadArea = state[resource]\r\n const color = data.rowState.type === 'load' ? '#65A7A5' : data.rowState.type === 'stop' ? '#D9EBEB' : 'white';\r\n const [priceRecalculationModalIsOpen, setPriceRecalculationModalIsOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n reactOnAssignedItem(resource, data.rowState.id, data.rowState.type);\r\n }, [reactOnAssignedItem, data, resource]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n const header = loadArea.headers.find(h => h.key === i.key);\r\n\r\n if (header.leftAction) {\r\n return ();\r\n }\r\n\r\n return ();\r\n };\r\n\r\n return data ?\r\n
    \r\n {data.row.map(cellContent)}\r\n {priceRecalculationModalIsOpen ?\r\n : ''\r\n }\r\n
    : null;\r\n };\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n reactOnAssignedItem: (resource, id, type) => dispatch(reactOnAssignedItem(resource, id, type)),\r\n}))(Row);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Resizable } from 'react-resizable';\r\nimport {setHeaderWidth, sortBy} from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport { CaretUpOutlined , CaretDownOutlined} from '@ant-design/icons';\r\n\r\nconst HeaderCell = ({state, ind, setHeaderWidth, resource, sortBy}) => {\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0,\r\n maxWidth: `${data.width-1}px`,\r\n width: `${data.width-1}px`,\r\n minWidth: `${data.width-1}px`,\r\n }\r\n };\r\n }\r\n\r\n const onResizeStart = (e, s) => {\r\n console.log('onResizeStart', e, s);\r\n };\r\n\r\n const onResize = s => {\r\n setHeaderWidth(resource, ind, s.size.width);\r\n };\r\n\r\n const onResizeStop = (e, s) => {\r\n console.log('onResizeStop', e, s);\r\n };\r\n const sortableClick = () => {\r\n if(state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort && state.AccountReceivable.sortType.sort[0] === \"ask\"){\r\n sortBy(resource, {type: data.key, ind, sort: ['desc']})\r\n } else if(state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort === null){\r\n sortBy(resource, {type: data.key, ind, sort: ['ask']})\r\n } else {\r\n sortBy(resource, {type: data.key, ind, sort: null})\r\n }\r\n }\r\n const headerCall = (\r\n data.sortable && sortableClick() }\r\n\r\n >\r\n
    \r\n {data.title}\r\n {data.sortable &&\r\n
    \r\n {state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort && state.AccountReceivable.sortType.sort[0] === \"ask\" &&\r\n \r\n }\r\n {state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort && state.AccountReceivable.sortType.sort[0] === \"desc\" &&\r\n \r\n }\r\n {state.AccountReceivable.sortType && !state.AccountReceivable.sortType.sort &&\r\n <>\r\n \r\n \r\n \r\n }\r\n\r\n
    \r\n\r\n }\r\n
    \r\n\r\n\r\n \r\n );\r\n\r\n const resizableHeaderCall = (\r\n {\r\n e.stopPropagation();\r\n }}\r\n />\r\n }\r\n onResizeStart={(_, s) => onResizeStart(s)}\r\n onResize={(_, s) => onResize(s)}\r\n onResizeStop={(_, s) => onResizeStop(s)}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n {headerCall}\r\n\r\n\r\n \r\n );\r\n\r\n return data.leftAction ? headerCall : resizableHeaderCall;\r\n};\r\n\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}), dispatch => ({\r\n setHeaderWidth: (resource, ind, width) => dispatch(setHeaderWidth(resource, ind, width)),\r\n sortBy: (resource, sortValue) => dispatch(sortBy(resource, sortValue))\r\n}))(HeaderCell);","import React from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport HeaderCell from './headerCell'\r\n\r\nconst HeaderRow = ({state, resource }) => {\r\n const loadArea = state[resource];\r\n return (\r\n
    \r\n {loadArea.headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(state => ({\r\n state: state\r\n}))(HeaderRow);","import React, { useState } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport moment from 'moment';\r\nimport { Upload, message } from 'antd';\r\n\r\nimport axios from '../../../axios/axios';\r\nimport { setItemData } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\n\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport './index.css';\r\n\r\nconst UploadModal = ({ state, rowState, setItemData, uploadModalIsOpen, setUploadModalIsOpen, setIsVerified, isVerified }) => {\r\n const closeModal = () => {\r\n setUploadModalIsOpen(false);\r\n };\r\n\r\n const resource = 'AccountReceivable';\r\n const loadArea = state[resource];\r\n const header = loadArea.headers.find(h => h.key === 'podDoc');\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const orderGuid = rowState.loadData?.loadType === 1 ? rowState.orderData.callCheckInAttachment?.guid : rowState.loadData?.loadType === 3 ? rowState.orderData.callCheckOutAttachment?.guid : '';\r\n const [guid, setGuid] = useState(orderGuid);\r\n\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '360px',\r\n minHeight: '140px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n },\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n closeModal();\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n setGuid(result.guId);\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n let callCheckAttachment;\r\n if (result === null) {\r\n const imageId = rowState.loadData.loadType === 1 ? rowState.orderData.callCheckInAttachment.id : rowState.loadData.loadType === 3 ? rowState.orderData.callCheckOutAttachment.id : '';\r\n callCheckAttachment = {\r\n id: imageId,\r\n guid: guid,\r\n isNew: false,\r\n deleted: true,\r\n }\r\n } else {\r\n callCheckAttachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n comments: '',\r\n isNew: true,\r\n deleted: false,\r\n external: true,\r\n };\r\n }\r\n setItemData(resource, callCheckAttachment, rowState, header);\r\n };\r\n \r\n return (\r\n \r\n
    \r\n
    Did you verify all case counts on this load? {isVerified}
    \r\n
    \r\n \r\n
    Verified
    \r\n
    \r\n
    Close
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setItemData: (resource, value, rowState, header) => dispatch(setItemData(resource, value, rowState, header)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadModal);\r\n","import React, { useState, useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { Input, message, Upload } from 'antd';\r\nimport moment from 'moment';\r\nimport './index.css';\r\nimport { getComments, setComment, resetError } from '../../../../store/actions/comments/comments';\r\nimport Loading from \"../../screen/loading\";\r\nimport axios from '../../../axios/axios';\r\nimport { ApiUrl } from '../../../../project/Pages';\r\nimport store from '../../../../store';\r\nimport Download from '../../../elements/download';\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst CommentsModal = ({ \r\n setCommentsModalIsOpen,\r\n commentsModalIsOpen,\r\n rowState,\r\n hasError,\r\n actionMessage,\r\n getComments,\r\n setComment,\r\n comments,\r\n loading,\r\n resetError,\r\n attachments,\r\n }) => {\r\n\r\nconst resource = \"OrderResources\";\r\nconst orderId = rowState?.orderData?.id;\r\n\r\n const closeModal = () => {\r\n setCommentsModalIsOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n getComments(resource, orderId);\r\n}, [getComments, resource, orderId]);\r\n\r\nuseEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [attachmentsList, setAttachmentsList] = useState([]);\r\n const [newComment, setNewComment] = useState('');\r\n\r\n useEffect(() => {\r\n setCommentsList(comments);\r\n setAttachmentsList(attachments);\r\n}, [setCommentsList, comments, attachments]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '600px',\r\n minHeight: '300px',\r\n maxWidth: '600px',\r\n maxHeight: '400px', \r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n const saveComment = () => {\r\n setComment(resource, orderId, newComment);\r\n setNewComment('');\r\n };\r\n\r\n\r\n const [fileCont, setFileCont] = useState(null);\r\n const max = 5;\r\n const restrictions = file => {\r\n const isLt = file.size / 1024 / 1024 < max;\r\n if (!isLt) {\r\n message.error(`Image must be smaller than ${max}MB!`);\r\n return false;\r\n }\r\n\r\n const extensions = ['jpeg', 'jpg', 'png', 'heif', 'pdf'];\r\n const dot = file.name.lastIndexOf(\".\") + 1;\r\n const fileExtension = file.name.substr(dot, file.name.length).toLowerCase();\r\n if (!extensions.includes(fileExtension)) {\r\n message.error(`Image must be in jpeg, png, pdf or heif format!`);\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const beforeUpload = file => {\r\n if (!restrictions(file)) {\r\n return false;\r\n }\r\n setFileCont(file);\r\n return true;\r\n };\r\n\r\n const handleUpload = () => {\r\n const formData = new FormData();\r\n formData.append('file', fileCont);\r\n axios.post(ApiUrl.Upload, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(response => {\r\n if (response && response.data) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message || 'File not uploaded!');\r\n return;\r\n }\r\n onChange(result);\r\n }\r\n });\r\n };\r\n\r\n const onChange = result => {\r\n const mDate = moment(new Date());\r\n const attachment = {\r\n hasError: result.hasError,\r\n message: result.message,\r\n guid: result.guId,\r\n fileName: result.originalName,\r\n fileType: result.fileType,\r\n size: result.size,\r\n originalFileName: result.originalName,\r\n fullName: `${store.getState().auth.userFirstName} ${store.getState().auth.userLastName}`,\r\n createDate: mDate.format(),\r\n isNew: true,\r\n };\r\n setComment(resource, orderId, '', [attachment]);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n
    X
    \r\n
    Uploads
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {attachmentsList?.map(attachment => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    DownloadFile nameDate and TimeCreated By
    \r\n \r\n {attachment.fileName}{moment.utc(attachment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{attachment.fullName}
    \r\n
    \r\n \r\n
    Click to Upload
    \r\n
    \r\n
    \r\n
    \r\n
    Comments
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {commentsList?.map(comment => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
    Date and TimeCreated ByComment
    {moment.utc(comment.createDate).utcOffset(4).format(\"MM/DD/YY HH:mm\")}{comment.user}{comment.comment}
    \r\n
    \r\n
    Add new comment
    \r\n setNewComment(e.target.value)}\r\n value={newComment}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n comments: state.comments.comments,\r\n attachments: state.comments.attachments,\r\n loading: state.comments.loading,\r\n hasError: state.comments.hasError,\r\n actionMessage: state.comments.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getComments: (resource, id) => dispatch(getComments(resource, id)),\r\n setComment: (resource, orderId, comment, attachment) => dispatch(setComment(resource, orderId, comment, attachment)),\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CommentsModal);\r\n","import React, { useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { message } from 'antd';\r\nimport './index.css';\r\nimport { resetError } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport Loading from \"../../screen/loading\";\r\nimport { Defines } from '../../../../project/Defines';\r\nimport { localDate } from '../../../helper/common';\r\n\r\nconst ChangeRequestModal = ({ \r\n setChangeRequestModalIsOpen,\r\n changeRequestModalIsOpen,\r\n hasError,\r\n actionMessage,\r\n changeRequestData,\r\n loading,\r\n resetError,\r\n resource,\r\n }) => {\r\n\r\n const closeModal = () => {\r\n setChangeRequestModalIsOpen(false);\r\n };\r\n\r\nuseEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '300px',\r\n minHeight: '180px',\r\n maxWidth: '550px',\r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n const headersList = ['Change by', 'Pal Old', 'Pal New', 'S Old', 'S New', 'LBS Old', 'LBS New', 'Price Old', 'Price New', 'Date'];\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n \r\n
    Changes
    \r\n
    \r\n
    \r\n {headersList.map(item =>
    {item}
    )}\r\n
    \r\n {changeRequestData?.map(data => {\r\n return (\r\n
    \r\n
    {data.updated}
    \r\n
    {data.fromData && data.field === 'pallet_count' ? parseFloat(data.fromData) : ''}
    \r\n
    {data.toData && data.field === 'pallet_count' ? parseFloat(data.toData) : ''}
    \r\n
    {data.fromData && data.field === 'space' ? parseFloat(data.fromData) : ''}
    \r\n
    {data.toData && data.field === 'space' ? parseFloat(data.toData) : ''}
    \r\n
    {data.fromData && data.field === 'weight' ? parseFloat(data.fromData) : ''}
    \r\n
    {data.toData && data.field === 'weight' ? parseFloat(data.toData) : ''}
    \r\n
    {data.fromData && data.field === 'price' ? parseFloat(data.fromData) : ''}
    \r\n
    {data.toData && data.field === 'price' ? parseFloat(data.toData) : ''}
    \r\n
    {localDate(data.editDate, Defines.Format.PrintDateTime)}
    \r\n
    \r\n )\r\n })}\r\n
    \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n changeRequestData: state.AccountReceivable.changeRequestData?.data,\r\n loading: state.AccountReceivable.loading,\r\n hasError: state.AccountReceivable.hasError,\r\n actionMessage: state.AccountReceivable.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n resetError: resource => dispatch(resetError(resource)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChangeRequestModal);\r\n","import React, { useEffect } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from \"react-redux\";\r\nimport { message } from 'antd';\r\nimport './index.css';\r\nimport { resetError, acceptChangeRequest, setChecked } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport Loading from \"../../screen/loading\";\r\n\r\nconst ChangeRequestAcceptModal = ({ \r\n changeRequestAcceptModalIsOpen,\r\n setChangeRequestAcceptModalIsOpen,\r\n hasError,\r\n actionMessage,\r\n loading,\r\n resetError,\r\n resource,\r\n acceptChangeRequest,\r\n orderId,\r\n setAllIsChecked,\r\n setChecked,\r\n }) => {\r\n\r\nconst closeModal = () => {\r\n setChangeRequestAcceptModalIsOpen(false);\r\n setAllIsChecked(false);\r\n setChecked(resource, []);\r\n};\r\n\r\nuseEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n resetError(resource);\r\n\r\n }\r\n}, [hasError, actionMessage, resetError, resource]);\r\n\r\nconst handleAccept = () => {\r\n acceptChangeRequest(resource, 'inform', orderId);\r\n setChangeRequestAcceptModalIsOpen(false);\r\n setAllIsChecked(false);\r\n};\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '450px',\r\n minHeight: '150px',\r\n maxWidth: '400px',\r\n borderRadius: '8px',\r\n padding: loading ? '100px 0' : '6px 0',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {loading ? : <>\r\n \r\n
    Change request accepted?
    \r\n
    \r\n \r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n orderId: state.AccountReceivable.orderId,\r\n loading: state.AccountReceivable.loading,\r\n hasError: state.AccountReceivable.hasError,\r\n actionMessage: state.AccountReceivable.message,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n resetError: resource => dispatch(resetError(resource)),\r\n acceptChangeRequest: (resource, endPoint, orderId) => dispatch(acceptChangeRequest(resource, endPoint, orderId)),\r\n setChecked: (resource, orderId) => dispatch(setChecked(resource, orderId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChangeRequestAcceptModal);\r\n","import React, { useMemo, useRef, useEffect, useCallback, useState } from 'react';\r\nimport { useLocation} from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport { VariableSizeList } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { message, Input, Checkbox } from 'antd';\r\nimport { orderBy } from \"lodash\";\r\nimport { load, resetError, filterDeliveredTrucks, setOrderId, setChecked } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\nimport { getContentWidth } from '../../../../store/reducers/accountReceivableReducer/helper/general';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport Loading from \"../../screen/loading\";\r\nimport HideShowMenuSwitch from '../../layout/hideShowMenuSwitch';\r\nimport UploadModal from './UploadModal';\r\nimport CommentsModal from './CommentsModal';\r\nimport ChangeRequestModal from './ChangeRequestModal';\r\nimport ChangeRequestAcceptModal from './ChangeRequestAcceptModal';\r\nimport { useClientHubOrder } from '../../../hook/hub/useClientHubOrder';\r\n\r\nconst Spreadsheet = props => {\r\n const { \r\n state,\r\n loadsAssignedOrders,\r\n resetError,\r\n haseError,\r\n actionMessage,\r\n loading,\r\n load,\r\n resource,\r\n filterDeliveredTrucks,\r\n filterType,\r\n sortType,\r\n setOrderId,\r\n setChecked,\r\n userRole,\r\n openOrdersLoading,\r\n changeRequestListLoading,\r\n userId,\r\n } = props;\r\n\r\n const scrollSizeSmall = 18;\r\n const scrollSize = 16;\r\n const defRowHeight = 20;\r\n const assignedRef = useRef({});\r\n const [uploadRowState, setUploadRowState] = useState('');\r\n const [uploadModalIsOpen, setUploadModalIsOpen] = useState(false);\r\n const [commentsModalIsOpen, setCommentsModalIsOpen] = useState(false);\r\n const [changeRequestModalIsOpen, setChangeRequestModalIsOpen] = useState(false);\r\n const [changeRequestAcceptModalIsOpen, setChangeRequestAcceptModalIsOpen] = useState(false);\r\n const [allIsChecked, setAllIsChecked] = useState(false);\r\n const isAdmin = userRole === 'Admin';\r\n\r\n const { pathname } = useLocation()\r\n let endpoint;\r\n let method;\r\n\r\n if(pathname === '/ar/deliverednopod') {\r\n method = '{\"isReadyToBill\": false, \"isBilled\": false}';\r\n } else if(pathname === '/ar/readytobill') {\r\n method = '{\"isReadyToBill\": true, \"isBilled\": false}';\r\n } else if(pathname === '/ar/alreadybilled') {\r\n method = '{\"isReadyToBill\": false, \"isBilled\": true}';\r\n } else if (pathname === '/ar/openorders'){\r\n endpoint = 'availableorderlist';\r\n } else if (pathname === '/ar/changerequestsar') {\r\n endpoint = 'orderschangerequestslist';\r\n };\r\n\r\n useClientHubOrder((message) => {\r\n if (userId !== message.byId) {\r\n load(resource, method, endpoint, 'withoutLoading');\r\n }\r\n }, 'notification');\r\n\r\n useEffect(() => {\r\n load(resource, method, endpoint);\r\n }, [load, resource, endpoint, method]);\r\n\r\n useEffect(() => {\r\n filterDeliveredTrucks(resource, filterType)\r\n }, [filterDeliveredTrucks, filterType, resource])\r\n\r\n useEffect(() => {\r\n if (haseError) {\r\n message.error(actionMessage);\r\n resetError(resource, method);\r\n }\r\n }, [haseError, actionMessage, resetError, resource, method]);\r\n\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n const header = useMemo(() =>\r\n
    \r\n \r\n \r\n
    \r\n ,\r\n [resource]);\r\n \r\n const width = getContentWidth(state[resource].headers) + scrollSize;\r\n const extraScrollVisibility = window.innerWidth > width ? 'none' : 'flex';\r\n const [filteredData, setFilteredData] = useState([])\r\n\r\n useEffect(()=>{\r\n if(loadsAssignedOrders){\r\n setFilteredData(loadsAssignedOrders)\r\n }\r\n },[loadsAssignedOrders])\r\n\r\n useEffect(()=>{\r\n if(sortType && sortType.sort !== null){\r\n let newList;\r\n newList = [...orderBy(loadsAssignedOrders, [c => c.row[sortType.ind].value], sortType.sort)];\r\n setFilteredData(newList);\r\n } else{\r\n setFilteredData(loadsAssignedOrders)\r\n }\r\n }, [loadsAssignedOrders, sortType])\r\n const search = e => {\r\n let newList = [...loadsAssignedOrders];\r\n if(e.target.value){\r\n newList = newList?.filter(item => {\r\n const searchCell = item.row.filter(item1 => item1.key === \"poNumber\"\r\n || item1.key === \"soNumber\"\r\n || item1.key === \"pickLocationName\"\r\n || item1.key === \"drop2WH\"\r\n || item1.key === \"customerName\"\r\n )\r\n const bool = searchCell.filter(item1 => item1.value.toLowerCase().search(e.target.value.toLowerCase()) !== -1)\r\n return bool.length\r\n })\r\n setFilteredData(newList)\r\n } else {\r\n setFilteredData(newList)\r\n }\r\n };\r\n\r\n const myLoadsAssignedOrders = filteredData?.filter(d => d?.rowState?.visible);\r\n\r\n const getAsignedItemSize = useCallback(\r\n index => myLoadsAssignedOrders[index] ? myLoadsAssignedOrders[index].rowState.height : defRowHeight,\r\n [myLoadsAssignedOrders]);\r\n\r\n const RenderAssignedRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [changeRequestAcceptModalIsOpen, getAsignedItemSize, resource, uploadModalIsOpen]);\r\n\r\n const allOrdersList = useMemo(() => myLoadsAssignedOrders &&\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll' }}\r\n itemData={myLoadsAssignedOrders}\r\n itemCount={myLoadsAssignedOrders.length}\r\n height={height}\r\n itemSize={getAsignedItemSize}>\r\n {RenderAssignedRow}\r\n \r\n \r\n )}\r\n \r\n , [myLoadsAssignedOrders, getAsignedItemSize, RenderAssignedRow]);\r\n\r\n const content = (<>\r\n
    \r\n {header}\r\n
    \r\n
    \r\n
    {allOrdersList}
    \r\n
    onScrollX(e)}>\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const refreshPage = e => {\r\n if (pathname === '/ar/openorders') {\r\n load(resource, method, 'availableorderlist');\r\n } else if (pathname === '/ar/changerequestsar') {\r\n load(resource, method, 'orderschangerequestslist');\r\n } else {\r\n load(resource, method);\r\n };\r\n };\r\n\r\n const markAllAsChecked = () => {\r\n const orderIds = myLoadsAssignedOrders?.map(order => order.rowState.orderObjectId);\r\n if (orderIds.length) {\r\n setAllIsChecked(true);\r\n setChecked(resource, orderIds);\r\n setOrderId(resource, orderIds);\r\n setChangeRequestAcceptModalIsOpen(true);\r\n }\r\n };\r\n\r\n const subHeader = (\r\n
    \r\n
    \r\n
    \r\n
    Refresh
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {uploadModalIsOpen && \r\n \r\n }\r\n {commentsModalIsOpen && \r\n \r\n }\r\n {changeRequestModalIsOpen && \r\n \r\n }\r\n {changeRequestAcceptModalIsOpen && \r\n \r\n } \r\n
    \r\n {pathname === '/ar/changerequestsar' && isAdmin ?\r\n
    \r\n \r\n Mark all as read\r\n
    : null\r\n }\r\n
    \r\n )\r\n\r\n const pageLoading = (pathname === '/ar/changerequestsar' && changeRequestListLoading) || \r\n (pathname === '/ar/openorders' && openOrdersLoading) || \r\n loading;\r\n\r\n return <>\r\n {subHeader}\r\n {pageLoading ? : <>{content}}\r\n ;\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n loadsAssignedOrders: state.AccountReceivable.loadsAssignedOrders,\r\n loading: state.AccountReceivable.loading,\r\n haseError: state.AccountReceivable.hasError,\r\n actionMessage: state.AccountReceivable.message,\r\n filterType: state.AccountReceivable.filterType,\r\n sortType: state.AccountReceivable.sortType,\r\n userRole: state.auth.userRole,\r\n changeRequestListLoading: state.AccountReceivable.changeRequestListLoading,\r\n openOrdersLoading: state.AccountReceivable.openOrdersLoading,\r\n userId: state.auth.userId,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n load: (resource, method, endpoint, loadingType) => dispatch(load(resource, method, endpoint, loadingType)),\r\n resetError: (resource, method) => dispatch(resetError(resource, false, method)),\r\n filterDeliveredTrucks: (resource, key) => dispatch(filterDeliveredTrucks(resource, key)),\r\n setOrderId: (resource, orderId) => dispatch(setOrderId(resource, orderId)),\r\n setChecked: (resource, orderId) => dispatch(setChecked(resource, orderId)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Spreadsheet);","import React from 'react';\r\nimport AccountReceivableSpreadsheet from '../../AccountReceivable/spreadsheet';\r\n\r\nconst AccountReceivableBuild = () => (\r\n \r\n \r\n
    \r\n);\r\n\r\nexport default AccountReceivableBuild;\r\n","import { useSelector } from \"react-redux\";\r\n\r\nexport const CustomerPriceSelectors = () => {\r\n const state = useSelector((state) => state);\r\n const customersPriceList = useSelector((state) => state.customers.customersPriceList);\r\n const loading = useSelector((state) => state.customers.loading);\r\n const hasError = useSelector((state) => state.customers.hasError);\r\n const actionMessage = useSelector((state) => state.customers.message);\r\n const customersList = useSelector((state) => state.customers.customersList);\r\n const favoriteDoorsLocationsLoading = useSelector((state) => state.customerOrderLocations.favoriteDoorsLocationsLoading);\r\n const allDoorsLocationsLoading = useSelector((state) => state.customerOrderLocations.allDoorsLocationsLoading);\r\n const allLocationsDoorsList = useSelector((state) => state.customerOrderLocations.allLocationsDoorsList);\r\n const favoriteLocationsDoorsList = useSelector((state) => state.customerOrderLocations.favoriteLocationsDoorsList);\r\n const perPalletType = useSelector((state) => state.customers.perPalletType);\r\n return { state, \r\n customersPriceList, \r\n loading, \r\n hasError, \r\n actionMessage, \r\n customersList, \r\n perPalletType,\r\n favoriteDoorsLocationsLoading, \r\n allDoorsLocationsLoading, \r\n allLocationsDoorsList, \r\n favoriteLocationsDoorsList\r\n };\r\n};","import React from 'react';\r\nimport Modal from 'react-modal';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { deleteCustomerPrice } from '../../../../store/actions/customers/customers';\r\n\r\nconst DeletePriceTemplateModal = ({ \r\n deletePriceTemplateModalIsOpen,\r\n setDeletePriceTemplateModalIsOpen,\r\n customerPriceId,\r\n customerId,\r\n priceTemplateType,\r\n resource,\r\n }) => {\r\n const dispatch = useDispatch();\r\n\r\n const closeModal = () => {\r\n setDeletePriceTemplateModalIsOpen(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '250px',\r\n maxWidth: '320px',\r\n minHeight: '180px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n textAlign: 'center',\r\n },\r\n };\r\n\r\n const confirm = () => { \r\n dispatch(deleteCustomerPrice(resource, priceTemplateType, customerPriceId, customerId));\r\n setDeletePriceTemplateModalIsOpen(false);\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    This action can't be undone. Do you want to continue?
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default DeletePriceTemplateModal;","export const SelectPriceStyles = (isDuplicate) => ({\r\n control: (base, state) => ({\r\n ...base,\r\n borderStyle: 'none',\r\n minWidth: 'unset',\r\n minHeight: '22px',\r\n paddingLeft: '4px',\r\n height: '16px',\r\n boxShadow: '0 0 0 0 #ffffff',\r\n alignContent: 'center',\r\n }),\r\n menu: (base, state) => ({\r\n ...base,\r\n }),\r\n menuList: () => ({\r\n position: 'fixed',\r\n height: '350px!important',\r\n overflowY: 'auto',\r\n }),\r\n input: (base, state) => ({\r\n ...base,\r\n height: 0,\r\n position: 'absolute',\r\n top: '0',\r\n marginTop: '-2px',\r\n }),\r\n valueContainer: (base, state) => ({\r\n display: 'flex',\r\n alignItems: 'self-end',\r\n paddingLeft: '0',\r\n maxWidth: '144px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n color: isDuplicate ? 'red' : 'inherit'\r\n }),\r\n container: (base, state) => ({\r\n ...base,\r\n pointerEvents: 'auto',\r\n }),\r\n singleValue: (base, state) => ({\r\n maxWidth: '144px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n margin: '4px 0',\r\n fontWeight: 'bold',\r\n }),\r\n option: (defaultStyles, state) => ({\r\n ...defaultStyles,\r\n backgroundColor: state.isSelected ? \"lightGrey\" : \"#fff\",\r\n border: '1px solid lightGray',\r\n borderRadius: '3px',\r\n padding: '4px',\r\n minHeight: '24px',\r\n }),\r\n indicatorsContainer: () => ({\r\n height: 'max-content',\r\n }),\r\n dropdownIndicator: (defaultStyles) => ({\r\n ...defaultStyles,\r\n padding: '0 2px 0 0!important',\r\n }),\r\n});","import React, { useState, useRef, useEffect, useCallback } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { InputNumber, Tooltip } from 'antd';\r\nimport { SearchOutlined, CaretDownOutlined } from '@ant-design/icons';\r\nimport Select, { components } from 'react-select';\r\nimport { setItemData, setItemDisplayState } from '../../../../store/actions/customers/customers';\r\nimport { CustomerPriceSelectors } from '../../../../store/selectors/customerPriceSelectors';\r\nimport { enabled } from 'store/dist/store.legacy';\r\nimport { GenerateMessages } from '../../../helper/element';\r\nimport DeletePriceTemplateModal from './DeletePriceTemplateModal';\r\nimport { SelectPriceStyles } from './SelectPriceStyle'\r\nimport './index.css';\r\n\r\nconst Cell = ({\r\n cellData,\r\n itemSize,\r\n rowState,\r\n resource,\r\n priceTemplateType,\r\n customerId,\r\n mainScroll,\r\n }) => {\r\n const dispatch = useDispatch();\r\n const { state, customersPriceList, allLocationsDoorsList, favoriteLocationsDoorsList, perPalletType } = CustomerPriceSelectors();\r\n const loadArea = state[resource];\r\n const redonly = 1;\r\n const editable = 2;\r\n const header = loadArea.headers.find(h => h.key === cellData.key);\r\n const width = header.width;\r\n const lastSelectId = loadArea.lastSelected.id;\r\n const lastSelectHeaderKey = loadArea.lastSelected.headerKey;\r\n const lastSelectenable = loadArea.lastSelected.enable;\r\n const rowStateId = rowState.id;\r\n const headerKey = header.key;\r\n const [displayState, setDisplayState] = useState(redonly);\r\n const [tempData, setTempData] = useState(null);\r\n const [deletePriceTemplateModalIsOpen, setDeletePriceTemplateModalIsOpen] = useState(false);\r\n const [pickLocation, setPickLocation] = useState('');\r\n const [dropLocation, setDropLocation] = useState('');\r\n\r\n useEffect(() => {\r\n if (lastSelectId === rowStateId && lastSelectHeaderKey === headerKey && lastSelectenable) {\r\n setDisplayState(enabled);\r\n }\r\n }, [lastSelectId, lastSelectHeaderKey, lastSelectenable, rowStateId, headerKey]);\r\n\r\n const data = cellData.value;\r\n const cellStyle = cellData.cellStyle;\r\n const color = rowState.type === 'load' ? 'white' : '#101C1C';\r\n\r\n const priceRange = {\r\n '1': 1,\r\n '2-4': 4,\r\n '5-8': 8,\r\n '9-12': 12,\r\n '13-16': 16,\r\n '17-21': 21,\r\n };\r\n\r\n const pricePall = {\r\n '1': 0,\r\n '2': 1,\r\n '3': 2,\r\n '4': 3,\r\n '5': 4,\r\n '6': 5,\r\n '7': 6,\r\n '8': 7,\r\n '9': 8,\r\n '10': 9,\r\n '11': 10,\r\n '12': 11,\r\n '13': 12,\r\n '14': 13,\r\n '15': 14,\r\n '16': 15,\r\n '17': 16,\r\n '18': 17,\r\n '19': 18,\r\n '20': 19,\r\n '21': 20,\r\n };\r\n\r\n const isPricePerPall = Object.keys(pricePall).includes(header.key);\r\n const priceHeader = isPricePerPall ? pricePall[headerKey] + 1 : priceRange[headerKey]\r\n\r\n const priceOverToMax = Number(tempData) * priceHeader > Number(rowState.data?.maxPrice) && \r\n headerKey !== 'pickLocation' && headerKey !== 'dropLocation';\r\n\r\n const backgroundColor = priceOverToMax ? '#DDC1C1' : headerKey === 'delete' ? '#449996' : 'inherit';\r\n\r\n let tooltip = '';\r\n if (priceTemplateType === 'PricePerPall' && !perPalletType) {\r\n tooltip = `Total $${Math.round(Number(tempData) * Number(header.key))}`;\r\n } else if (priceTemplateType === 'PricePerPall' && !!perPalletType) {\r\n tooltip = `$${Math.round(Number(tempData))}/pallet`;\r\n }\r\n if (priceTemplateType === 'PricePerPall' && (header.key === 'tl' || header.key === 'delete')) {\r\n tooltip = tempData && Math.round(Number(tempData));\r\n }\r\n if (priceTemplateType !== 'PricePerPall') {\r\n tooltip = tempData && Math.round(Number(tempData));\r\n }\r\n if (priceTemplateType === 'PricePerRange' && header.key !== 'tl' && header.key !== 'delete' && tempData) {\r\n tooltip = tempData && `$ ${Math.round(Number(tempData))}/pallet`;\r\n }\r\n if (priceTemplateType === 'PricePerPound' && header.key === 'perWeight') {\r\n tooltip = tempData && `$ ${tempData}/pound`;\r\n }\r\n if (priceTemplateType === 'PricePerPound' && (header.key === 'tl' || header.key === 'minPrice')) {\r\n tooltip = tempData && `$ ${tempData}`;\r\n }\r\n if (header.key === 'tl' && priceTemplateType !== 'PricePerPound') {\r\n tooltip = tempData && `$ ${Math.round(Number(tempData))}`;\r\n }\r\n if (priceOverToMax) {\r\n tooltip = 'LTL price exceeds TL price';\r\n }\r\n if (header.key === 'pickLocation' || header.key === 'dropLocation') {\r\n tooltip = '';\r\n }\r\n\r\n useEffect(() => {\r\n setTempData(data);\r\n }, [data]);\r\n\r\n useEffect(() => {\r\n if (rowState.id === 0) {\r\n setDisplayState(editable);\r\n }\r\n }, [cellData.key, resource, rowState.id]);\r\n\r\n const allLocationsDoorsListOptions = allLocationsDoorsList?.map(item => {\r\n return { ...item, 'label': item.text };\r\n });\r\n const favoriteLocationsDoorsListOptions = favoriteLocationsDoorsList?.map(item => {\r\n return { ...item, 'label': item.text };\r\n });\r\n \r\n const getTextFromValueAllLocations = useCallback(value => {\r\n return allLocationsDoorsListOptions?.length ? allLocationsDoorsListOptions?.filter(item => item.value === value)[0]?.text : [];\r\n }, [allLocationsDoorsListOptions]);\r\n\r\n const getTextFromValueFavoriteLocations = useCallback(value => {\r\n return favoriteLocationsDoorsListOptions?.length ? favoriteLocationsDoorsListOptions?.filter(item => item.value === value)[0]?.text : [];\r\n }, [favoriteLocationsDoorsListOptions]);\r\n\r\n const inputReference = useRef(null);\r\n const dataCompare = (newData, data) => {\r\n switch (cellData.fieldType) {\r\n case 'date':\r\n case 'dateTime':\r\n if (newData instanceof Date && data instanceof Date) {\r\n return newData.getTime() === data.getTime();\r\n }\r\n return newData === data;\r\n default:\r\n return newData === data;\r\n }\r\n }\r\n\r\n const tlIsEmpty = cellData.key === 'tl' && !cellData.value;\r\n\r\n const bothSameLocation = customersPriceList && (customersPriceList[0].rowState.data.pickLocationId === customersPriceList[0].rowState.data.dropLocationId) &&\r\n (customersPriceList[0].rowState.data.pickLocationId !== '' ||\r\n customersPriceList[0].rowState.data.dropLocationId !== '');\r\n\r\n const firstPickId = customersPriceList && customersPriceList[0].rowState.data.pickLocationId\r\n const pickLocationsIndexes = customersPriceList.map((item, index) => item.rowState.data.pickLocationId === firstPickId && index).filter(item => item !== false);\r\n const correspondingDropLocations = customersPriceList.filter((item, index) => pickLocationsIndexes.includes(index));\r\n const correspondingDropLocationsIds = correspondingDropLocations.map(item => item.rowState.data.dropLocationId);\r\n const isDuplicate = new Set(correspondingDropLocationsIds).size !== correspondingDropLocationsIds.length;\r\n\r\n const setData = value => {\r\n onSetBlur();\r\n if (!dataCompare(value, tempData)) {\r\n setTempData(value);\r\n setTimeout(() => {\r\n dispatch(setItemData(resource, Number(value), rowState, header, priceTemplateType));\r\n }, 100);\r\n }\r\n };\r\n\r\n const handleChangePick = (option) => {\r\n setPickLocation(option.label);\r\n setData(option.value);\r\n };\r\n\r\n const handleChangeDrop = (option) => {\r\n setDropLocation(option.label);\r\n setData(option.value);\r\n };\r\n\r\n const handleDelete = () => {\r\n setDeletePriceTemplateModalIsOpen(true);\r\n };\r\n\r\n const getData = () => {\r\n if (tempData !== '') {\r\n switch (cellData.fieldType) {\r\n case 'integer':\r\n if (priceTemplateType === 'PricePerPall' && perPalletType === true && header.key !== 'tl') {\r\n return tempData ? `$ ${Math.round(Number(tempData) * Number(header.key))}` : '$';\r\n } else if (priceTemplateType === 'PricePerPound') {\r\n return tempData ? `$ ${Number(tempData)}` : '$';\r\n } else {\r\n return tempData ? `$ ${Math.round(Number(tempData))}` : '$';\r\n }\r\n case 'selectPickLocation':\r\n return typeof tempData === 'number' ? getTextFromValueFavoriteLocations(tempData) : tempData;\r\n case 'selectDropLocation':\r\n return typeof tempData === 'number' ? getTextFromValueAllLocations(tempData) : tempData;\r\n case 'delete':\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n default:\r\n return tempData;\r\n }\r\n } else if (tempData === '' && headerKey !== 'pickLocation' && headerKey !== 'dropLocation') {\r\n return '$';\r\n }\r\n return tempData\r\n };\r\n\r\n const DropdownIndicator = props => {\r\n return (\r\n components.DropdownIndicator && (\r\n \r\n {props.selectProps.menuIsOpen ? : }\r\n \r\n )\r\n );\r\n };\r\n\r\n const getInput = () => {\r\n switch (cellData.fieldType) {\r\n case 'integer':\r\n return {\r\n if (inputReference.current) {\r\n setDisplayState(redonly);\r\n }\r\n setData(perPalletType === true && priceTemplateType === 'PricePerPall' ? e.target.value / (header.key === 'tl' ? 1 : Number(header.key)) : e.target.value)\r\n }}\r\n />\r\n case 'selectPickLocation':\r\n return handleChangePick(option)}\r\n onFocus={() => mainScroll.current.scrollLeft = 0}\r\n styles={SelectPriceStyles(isDuplicate || bothSameLocation)}\r\n components={{ DropdownIndicator }}\r\n />\r\n case 'selectDropLocation':\r\n return handleChangeDrop(option)}\r\n onFocus={() => mainScroll.current.scrollLeft = 0}\r\n styles={SelectPriceStyles(isDuplicate || bothSameLocation)}\r\n components={{ DropdownIndicator }}\r\n />\r\n default: return <>;\r\n }\r\n };\r\n\r\n const getDataWithTooltip = () => tooltip ? (\r\n {displayState === redonly ? getData() : getInput()}\r\n ) : displayState === redonly ? getData() : getInput();\r\n\r\n const dataDisplay = () => getDataWithTooltip();\r\n\r\n const cellDefaultStyle = {\r\n maxWidth: `${width}px`,\r\n width: `${width}px`,\r\n minWidth: `${width}px`,\r\n height: `${itemSize}px`,\r\n lineHeight: 'inherit',\r\n };\r\n\r\n const onSetBlur = () => {\r\n dispatch(setItemDisplayState(resource, rowState, header, false));\r\n };\r\n\r\n const onSetFocus = () => {\r\n if (cellData.editable) {\r\n setDisplayState(editable);\r\n }\r\n };\r\n\r\n const editableFunction = (cellData) => (\r\n cellData.editable ? setDisplayState(editable) : null\r\n );\r\n\r\n return (<>\r\n onSetFocus()}\r\n onClick={() => { editableFunction(cellData)}}\r\n className='table-body-cell'\r\n style={{ ...cellDefaultStyle, ...cellStyle, color: color, backgroundColor, padding: '0 2px' }}\r\n tabIndex={displayState === redonly ? 0 : -1}\r\n >\r\n {dataDisplay()}\r\n \r\n {deletePriceTemplateModalIsOpen && \r\n \r\n }\r\n );\r\n};\r\n\r\nexport default Cell;","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport Cell from './cell';\r\nimport { reactOnAssignedItem } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\n\r\nconst Row = ({\r\n data,\r\n style,\r\n itemSize,\r\n listRef,\r\n startOnScroll,\r\n resource,\r\n priceTemplateType,\r\n customerId,\r\n mainScroll,\r\n }) => {\r\n const dispatch = useDispatch();\r\n const rowRef = useRef({});\r\n const color = data.rowState.type === 'load' ? '#65A7A5' : data.rowState.type === 'stop' ? '#D9EBEB' : 'white';\r\n\r\n useEffect(() => {\r\n if (rowRef.current) {\r\n listRef.current.resetAfterIndex(0);\r\n }\r\n }, [rowRef, listRef]);\r\n\r\n const onClickRow = useCallback(() => {\r\n dispatch(reactOnAssignedItem(resource, data.rowState.id, data.rowState.type));\r\n }, [dispatch, resource, data.rowState.id, data.rowState.type]);\r\n\r\n style.width = 'max-content';\r\n const rowStyle = { ...style, ...{ height: `${itemSize}px`, backgroundColor: color } };\r\n \r\n const cellContent = (i, ind) => {\r\n return ();\r\n };\r\n\r\n return data ?\r\n
    \r\n {data.row.map(cellContent)}\r\n
    : null;\r\n };\r\n\r\nexport default Row;","import React from 'react';\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { sortBy } from '../../../../store/actions/accountReceivableActions/accountReceivableActions';\r\n\r\nconst HeaderCell = ({ ind, resource }) => {\r\n const dispatch = useDispatch();\r\n const state = useSelector((state) => state);\r\n\r\n const loadArea = state[resource];\r\n const data = loadArea.headers[ind];\r\n\r\n let cellStyle = {\r\n maxWidth: `${data.width}px`,\r\n width: `${data.width}px`,\r\n minWidth: `${data.width}px`,\r\n };\r\n\r\n if (data.leftAction) {\r\n cellStyle = {\r\n ...cellStyle, ...{\r\n position: 'sticky',\r\n left: 0,\r\n maxWidth: `${data.width-1}px`,\r\n width: `${data.width-1}px`,\r\n minWidth: `${data.width-1}px`,\r\n }\r\n };\r\n }\r\n\r\n const sortableClick = () => {\r\n if(state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort && state.AccountReceivable.sortType.sort[0] === \"ask\"){\r\n dispatch(sortBy(resource, {type: data.key, ind, sort: ['desc']}))\r\n } else if(state.AccountReceivable.sortType && state.AccountReceivable.sortType.sort === null){\r\n dispatch(sortBy(resource, {type: data.key, ind, sort: ['ask']}))\r\n } else {\r\n dispatch(sortBy(resource, {type: data.key, ind, sort: null}))\r\n }\r\n }\r\n const headerCall = (\r\n data.sortable && sortableClick() }\r\n >\r\n
    \r\n {data.title}\r\n
    \r\n \r\n );\r\n\r\n return headerCall;\r\n};\r\n\r\nexport default HeaderCell;","import React from 'react';\r\nimport HeaderCell from './headerCell';\r\nimport { CustomerPriceSelectors } from '../../../../store/selectors/customerPriceSelectors';\r\n\r\nconst HeaderRow = ({ resource }) => {\r\n const { state } = CustomerPriceSelectors();\r\n const loadArea = state[resource];\r\n \r\n return (\r\n
    \r\n {loadArea.headers.map((_, ind) => {\r\n return \r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default HeaderRow;","import React from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport Modal from 'react-modal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { setCustomerPriceType } from '../../../../store/actions/customers/customers';\r\n\r\nconst ChangePriceTemplateModal = ({ \r\n changePriceTemplateModalIsOpen,\r\n setChangePriceTemplateModalIsOpen,\r\n customerId,\r\n priceTemplateType,\r\n setPriceTemplateType,\r\n prevPrice,\r\n }) => {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const priceType = {\r\n SPOT: 1,\r\n PricePerPall: 2,\r\n PricePerRange: 3,\r\n PricePerPound: 4,\r\n spot: 1,\r\n priceperpall: 2,\r\n priceperrange: 3,\r\n priceperpound: 4,\r\n };\r\n\r\n const closeModal = () => {\r\n setChangePriceTemplateModalIsOpen(false);\r\n setPriceTemplateType(prevPrice);\r\n dispatch(setCustomerPriceType('customer', 'customerpricetype', customerId, priceType[prevPrice]));\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '250px',\r\n maxWidth: '320px',\r\n minHeight: '180px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n textAlign: 'center',\r\n },\r\n };\r\n\r\n const confirm = () => { \r\n dispatch(setCustomerPriceType('customer', 'customerpricetype', customerId, priceType[priceTemplateType]));\r\n history.replace(`/loadplanning/customer_price/${priceTemplateType.toLowerCase()}?id=${customerId}`);\r\n setPriceTemplateType(priceTemplateType);\r\n setChangePriceTemplateModalIsOpen(false);\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    Are you sure you want to activate selected template?
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ChangePriceTemplateModal;","import React from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nconst DuplicateLocationsModal = ({ \r\n duplicateLocationsModalIsOpen,\r\n setDuplicateLocationsModalIsOpen,\r\n }) => {\r\n\r\n const closeModal = () => {\r\n setDuplicateLocationsModalIsOpen(false);\r\n };\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '250px',\r\n maxWidth: '320px',\r\n minHeight: '180px', \r\n borderRadius: '8px',\r\n padding: '6px 12px',\r\n textAlign: 'center',\r\n },\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    The Pick Location and The Drop Locations can't be the same
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default DuplicateLocationsModal;","import React, { useMemo, useRef, useEffect, useCallback, useState } from 'react';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { VariableSizeList } from 'react-window';\r\nimport AutoSizer from 'react-virtualized-auto-sizer';\r\nimport { Radio, Switch, message } from 'antd';\r\nimport { getCustomerPrice, addEmptyLineOnPriceList, addCustomerPrice, removeEmptyLinesOnPriceList, resetError, setPerPalletType } from '../../../../store/actions/customers/customers';\r\nimport { getAllLocationDoorList, getFavoriteLocationDoorList } from '../../../../store/actions/customerOrderLocations/customerOrderLocations';\r\nimport { getContentWidth } from '../../../../store/reducers/accountReceivableReducer/helper/general';\r\nimport { CustomerPriceSelectors } from '../../../../store/selectors/customerPriceSelectors';\r\nimport Row from './row';\r\nimport HeaderRow from './headerRow';\r\nimport Loading from \"../../screen/loading\";\r\nimport ChangePriceTemplateModal from './ChangePriceTemplateModal';\r\nimport DuplicateLocationsModal from './DuplicateLocationsModal';\r\n\r\nconst CustomerPriceSpreadsheet = ( { customerId } ) => {\r\n const dispatch = useDispatch();\r\n const { state, customersPriceList, hasError, loading, actionMessage, customersList, favoriteDoorsLocationsLoading, allDoorsLocationsLoading } = CustomerPriceSelectors();\r\n\r\n const customerPriceTemplateType = customersList?.data?.filter(customer => Number(customer.id) === Number(customerId))[0]?.priceTemplateType;\r\n const priceType = customerPriceTemplateType ? customerPriceTemplateType : customersList?.priceTemplateType;\r\n const [priceTemplateType, setPriceTemplateType] = useState(null);\r\n const [prevPrice, setPrevPrice] = useState(null);\r\n const [duplicateLocationsModalIsOpen, setDuplicateLocationsModalIsOpen] = useState(false);\r\n const [changePriceTemplateModalIsOpen, setChangePriceTemplateModalIsOpen] = useState(false);\r\n const assignedRef = useRef({});\r\n const history = useHistory();\r\n const resource = 'customers';\r\n const scrollSize = 16;\r\n const defRowHeight = 20;\r\n\r\n let customerPriceTemplateTypeText = '';\r\n if (priceType === 1 || !priceType) {\r\n customerPriceTemplateTypeText = 'SPOT'\r\n } else if (priceType === 2) {\r\n customerPriceTemplateTypeText = 'PricePerPall'\r\n } else if (priceType === 3) {\r\n customerPriceTemplateTypeText = 'PricePerRange'\r\n } else if (priceType === 4) {\r\n customerPriceTemplateTypeText = 'PricePerPound'\r\n }\r\n\r\n let noTemplateSelected = null;\r\n if ((priceType === 1 || !priceType) && !loading) {\r\n noTemplateSelected =
    No template selected
    ;\r\n };\r\n\r\n useEffect(() => {\r\n priceTemplateType && history.replace(`/loadplanning/customer_price/${priceTemplateType?.toLowerCase()}?id=${customerId}`);\r\n }, [customerId, history, priceTemplateType]);\r\n\r\n useEffect(() => {\r\n setPriceTemplateType(customerPriceTemplateTypeText)\r\n }, [customerPriceTemplateType, customerPriceTemplateTypeText, customersList]);\r\n\r\n useEffect(() => {\r\n if (customerPriceTemplateTypeText && customerPriceTemplateTypeText !== 'SPOT') {\r\n dispatch(getCustomerPrice(customerPriceTemplateTypeText, customerId));\r\n }\r\n }, [resource, customersList, hasError, customerPriceTemplateTypeText, dispatch, customerId]);\r\n\r\n useEffect(() => {\r\n if (hasError) {\r\n message.error(actionMessage);\r\n dispatch(resetError(resource));\r\n }\r\n }, [hasError, actionMessage, resource, dispatch]);\r\n\r\n useEffect(() => {\r\n dispatch(getAllLocationDoorList('location', 'locationdoorlist'));\r\n dispatch(getFavoriteLocationDoorList('location', 'locationdoorlistbyparentid', customerId));\r\n }, [customerId, dispatch]);\r\n\r\n const addEmptyRow = () => {\r\n dispatch(addEmptyLineOnPriceList(resource, customerId));\r\n };\r\n\r\n const listReference = useRef(null);\r\n const listHeaderReference = useRef(null);\r\n const mainScroll = useRef(null);\r\n const startOnScroll = width => mainScroll.current.scrollLeft = width;\r\n\r\n const onScrollX = e => {\r\n if (listHeaderReference.current && listReference.current && e.target) {\r\n listHeaderReference.current.scrollLeft =\r\n listReference.current.scrollLeft = e.target.scrollLeft;\r\n }\r\n };\r\n\r\n const width = getContentWidth(state[resource].headers) + scrollSize;\r\n \r\n const header = useMemo(() =>\r\n
    \r\n \r\n \r\n
    \r\n ,\r\n [resource]);\r\n \r\n const getAsignedItemSize = useCallback(\r\n index => customersPriceList[index] ? customersPriceList[index].rowState?.height : defRowHeight,\r\n [customersPriceList]);\r\n\r\n const RenderAssignedRow = useCallback(({ data, index, style }) => (\r\n (index !== undefined && data[index])\r\n ? \r\n : null\r\n ), [customerId, getAsignedItemSize, priceTemplateType]);\r\n\r\n const allOrdersList = useMemo(() => customersPriceList &&\r\n \r\n {({ height }) => (\r\n <>\r\n {\r\n listReference.current = el;\r\n }}\r\n style={{ overflowX: 'hidden', overflowY: 'scroll' }}\r\n itemData={customersPriceList}\r\n itemCount={customersPriceList.length}\r\n height={height}\r\n itemSize={getAsignedItemSize}>\r\n {RenderAssignedRow}\r\n \r\n \r\n )}\r\n \r\n , [customersPriceList, getAsignedItemSize, RenderAssignedRow]);\r\n\r\n const addBtnDisabled = !customersPriceList?.filter(item => !item?.rowState?.id).length;\r\n const cancelBtnDisabled = !customersPriceList?.filter(item => !item?.rowState?.id).length;\r\n const bothSameLocation = customersPriceList && (customersPriceList[0]?.rowState.data.pickLocationId === customersPriceList[0]?.rowState.data.dropLocationId) &&\r\n ((customersPriceList?.length && customersPriceList[0]?.rowState.data.pickLocationId !== '') ||\r\n (customersPriceList?.length && customersPriceList[0]?.rowState.data.dropLocationId !== ''));\r\n\r\n const firstPickId = customersPriceList && customersPriceList[0]?.rowState.data.pickLocationId\r\n const pickLocationsIndexes = customersPriceList?.map((item, index) => item?.rowState.data.pickLocationId === firstPickId && index).filter(item => item !== false);\r\n const correspondingDropLocations = customersPriceList?.filter((item, index) => pickLocationsIndexes.includes(index));\r\n const correspondingDropLocationsIds = correspondingDropLocations?.map(item => item?.rowState.data.dropLocationId);\r\n const isDuplicate = new Set(correspondingDropLocationsIds).size !== correspondingDropLocationsIds?.length;\r\n\r\n useEffect(() => {\r\n setDuplicateLocationsModalIsOpen(bothSameLocation);\r\n }, [bothSameLocation]);\r\n\r\n const btnDisabled = !customersPriceList?.filter(item => !item?.rowState?.id).length ||\r\n !customersPriceList[0]?.rowState.data.pickLocationId ||\r\n !customersPriceList[0]?.rowState.data.dropLocationId ||\r\n !customersPriceList[0]?.rowState.data.maxPrice ||\r\n isDuplicate || bothSameLocation;\r\n\r\n const handleCancel = () => {\r\n dispatch(removeEmptyLinesOnPriceList(resource));\r\n }\r\n\r\n const handleSave = () => {\r\n dispatch(addCustomerPrice(resource, customersPriceList, priceTemplateType, customerId));\r\n }\r\n\r\n const handleSaveAndBack = () => {\r\n dispatch(addCustomerPrice(resource, customersPriceList, priceTemplateType, customerId));\r\n history.replace(`/loadplanning/customerdetails/${customerId}`);\r\n }\r\n\r\n const buttonsContainer = (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n\r\n const content = (<>\r\n
    {header}
    \r\n
    {allOrdersList}
    \r\n {buttonsContainer}\r\n
    onScrollX(e)}>\r\n \r\n
    \r\n );\r\n\r\n const onChange = (e) => {\r\n const pathArray = window.location.pathname.split('/');\r\n const secondLevelLocation = pathArray[3];\r\n setPrevPrice(secondLevelLocation);\r\n setChangePriceTemplateModalIsOpen(true);\r\n setPriceTemplateType(e.target.value);\r\n };\r\n\r\n const radioGroup = \r\n (\r\n Spot\r\n Price by Pallet\r\n Price by Range\r\n Price by Pound\r\n );\r\n\r\n const addPriceButton = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n const handleSwitchChange = e => {\r\n if (e) {\r\n dispatch(setPerPalletType(resource, false));\r\n } else {\r\n dispatch(setPerPalletType(resource, true));\r\n }\r\n };\r\n\r\n const switchTypeContainer = (
    \r\n GROSS\r\n \r\n PER PALLET\r\n
    \r\n );\r\n\r\n return <>\r\n {(loading || allDoorsLocationsLoading || favoriteDoorsLocationsLoading) && !noTemplateSelected ? : \r\n <>\r\n {radioGroup}\r\n
    \r\n {priceTemplateType !== 'SPOT' ? addPriceButton : ''}\r\n {priceType === 2 ? switchTypeContainer : ''}\r\n
    \r\n {changePriceTemplateModalIsOpen ? \r\n : ''\r\n }\r\n {duplicateLocationsModalIsOpen ?\r\n : ''\r\n }\r\n {noTemplateSelected ? noTemplateSelected : content}\r\n }\r\n ;\r\n};\r\n\r\nexport default CustomerPriceSpreadsheet;","import React, { useEffect } from 'react';\r\nimport { Link, withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport CustomerPriceSpreadsheet from '../../CustomerPrice/spreadsheet';\r\nimport { getCustomersList } from '../../../../../store/actions/customers/customers';\r\nimport './index.css';\r\n\r\nconst CustomerOrderAdminBuild = props => {\r\n const { getCustomersList, customersList } = props;\r\n const resource = 'customer';\r\n const query = props.location.search;\r\n const customerId = query.substring(4);\r\n const customerName = customersList?.data?.filter(customer => Number(customer.id) === Number(customerId))[0]?.name || customersList?.name;\r\n\r\n useEffect(() => {\r\n getCustomersList(resource, '');\r\n }, [getCustomersList]);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n left\r\n \r\n
    \r\n {customerName ? Customer {customerName} : ''}\r\n
    \r\n
    \r\n Customer Details\r\n Price\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n state: state,\r\n customersList: state.customers.customersList,\r\n loading: state.customers.loading,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getCustomersList: (resource, endPoint) => dispatch(getCustomersList(resource, endPoint)),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(CustomerOrderAdminBuild));\r\n","import React, { lazy, useState, useEffect } from 'react';\r\nimport { Switch, Redirect } from 'react-router-dom';\r\n\r\nimport NotFound from '../../pages/notFound';\r\nimport { AppPages } from '../../../project/Pages';\r\nimport Grid from '../../pages/grid';\r\nimport Details from '../../pages/details';\r\nimport Loading from '../screen/loading';\r\nimport Development from '../../samples/development';\r\n//import Load from '../project/load';\r\nimport Load from '../project/loadArea/inboundLoad';\r\nimport ExperimentalLoad from '../project/loadArea/experimentalLoad';\r\n//import InboundBooking from '../project/inboundBooking';\r\nimport InLoadInAppts from '../project/loadArea/inboundLoad/inLoadInAppts';\r\n//import InboundBooking from '../project/loadArea/inboundLoad/booking';\r\n//import InboundAppointment from '../project/inboundAppointment';\r\n//import InboundAppointment from '../project/loadArea/inboundLoad/appointment';\r\n//import InboundInTransit from '../project/inboundInTransit';\r\nimport InboundInTransit from '../project/loadArea/inboundLoad/inTransit';\r\nimport Receiving from '../project/receiving';\r\nimport Outbound from '../project/loadArea/outboundLoad';\r\n//import Outbound from '../project/outbound';\r\n//import OutboundBooking from '../project/outboundBooking';\r\n//import OutboundBooking from '../project/loadArea/outboundLoad/booking';\r\nimport OutLoadOutAppts from '../project/loadArea/outboundLoad/outLoadOutAppts';\r\n//import OutboundAppointment from '../project/outboundAppointment';\r\n//import OutboundAppointment from '../project/loadArea/outboundLoad/appointment';\r\n//import OutboundInTransit from '../project/outboundInTransit';\r\nimport OutboundInTransit from '../project/loadArea/outboundLoad/inTransit';\r\nimport CustomerDashboard from '../project/customerDashboard';\r\nimport CustomerOrder from '../project/loadArea/spreadsheet/customerOrderBuild';\r\nimport CustomerOrderLastAndRejected from '../project/loadArea/spreadsheet/customerOrderLastAndRejectedBuild';\r\nimport CustomerOrderAdmin from '../project/loadArea/spreadsheet/customerOrderAdminBuild';\r\nimport RevisionOrderAdmin from '../project/loadArea/spreadsheet/revisionOrderAdminBuild';\r\nimport AdminCallCheck from '../project/loadArea/spreadsheet/adminCallCheckBuild';\r\nimport FactoringCompany from '../project/loadArea/spreadsheet/factoringCompanyBuild';\r\nimport FactoringCompanyDetails from '../project/FactoringCompany/FactoringCompanyDetails';\r\nimport DeliveredLoads from '../project/loadArea/spreadsheet/deliveredLoadsBuild';\r\nimport AdminOrder from '../project/loadArea/spreadsheet/adminOrderBuild';\r\n\r\nimport InboundLoadBuld from '../project/loadArea/spreadsheet/inboundLoadBuild';\r\nimport OutboundLoadBuld from '../project/loadArea/spreadsheet/outboundLoadBuild';\r\nimport ManifestList from '../project/loadArea/manifest';\r\nimport TrafficControl from '../project/loadArea/spreadsheet/trafficControlLoadBuild';\r\nimport TrafficControlUpcoming from '../project/loadArea/spreadsheet/trafficControlUpcomingLoadBuild';\r\n\r\nimport CacheBusterRoute from '../../../CacheBusterRoute';\r\nimport APDeliveredTrucksBuild from \"../project/loadArea/spreadsheet/APDeliveredTrucksBuild\";\r\nimport AccountReceivableBuild from \"../project/loadArea/spreadsheet/accountReceivableBuild\";\r\nimport CustomersBuild from \"../project/loadArea/spreadsheet/customersBuild\";\r\n\r\nconst importView = component =>\r\n lazy(() => {\r\n return import(`codeless/screens/${component}/config`)\r\n .then(res => res)\r\n .catch(() => '');\r\n\r\n });\r\n\r\nconst Router = props => {\r\n const [state, setState] = useState([]);\r\n\r\n useEffect(() => {\r\n const newRoutsList = [ ...props.routeList(), {\r\n \"path\": \"/LOADPLANNING/locationdetails/:id/:childId\",\r\n \"screen\": \"Location\",\r\n \"has_grid_list\": false\r\n },]\r\n const checkPath = () => {\r\n const promiseArr =\r\n newRoutsList.map(async (route) => {\r\n if ('Development' === route.screen) {\r\n return \r\n }\r\n if (route.screen === 'inboundLoadBuld' || route.screen === 'inboundLoadBuld_booking') {\r\n return } />;\r\n }\r\n if (route.screen.toLowerCase() === 'outboundloadbuld' || route.screen.toLowerCase() === 'outboundloadbuld_booking') {\r\n return } />;\r\n }\r\n if (route.screen === 'Traffic' || route.screen === 'Traffic_TSTcold' || route.screen === 'Traffic_Booking') {\r\n let upcomingUrl = '/otr/trafficcontrolupcoming';\r\n if (route.screen === 'Traffic_Booking') {\r\n upcomingUrl = '/booking/trafficControlUpcoming_Booikng';\r\n }\r\n else if (route.screen === 'Traffic_TSTcold') {\r\n upcomingUrl = '/tstcold/trafficControlUpcoming_TSTCOLD';\r\n }\r\n return } />;\r\n }\r\n if (route.screen === 'trafficControlUpcoming' || route.screen === 'trafficControlUpcoming_Booikng' || route.screen === 'trafficControlUpcoming_TSTCOLD') {\r\n let trafficUrl = '/otr/traffic';\r\n if (route.screen === 'trafficControlUpcoming_Booikng') {\r\n trafficUrl = '/booking/traffic_booking';\r\n }\r\n else if (route.screen === 'trafficControlUpcoming_TSTCOLD') {\r\n trafficUrl = '/tstcold/traffic_tstcold';\r\n }\r\n return } />;\r\n }\r\n if (route.screen === 'ExperimentalLoad') {\r\n return } />;\r\n }\r\n if (route.screen === 'Load') {\r\n return } />;\r\n }\r\n if (route.screen === 'InLoadInAppts') {\r\n return } />;\r\n }\r\n // if (route.screen === 'InboundBooking') {\r\n // return } />;\r\n // }\r\n // if (route.screen === 'InboundAppointment') {\r\n // return } />;\r\n // }\r\n if (route.screen === 'InboundInTransit') {\r\n return } />;\r\n }\r\n if (route.screen === 'OutboundLoad') {\r\n return } />;\r\n }\r\n if (route.screen === 'OutLoadOutAppts') {\r\n return } />;\r\n }\r\n if (route.screen === 'manifest') {\r\n return } />;\r\n }\r\n // if (route.screen === 'OutboundBooking') {\r\n // return } />;\r\n // }\r\n // if (route.screen === 'OutboundAppointment') {\r\n // return } />;\r\n // }\r\n if (route.screen === 'OutboundInTransit') {\r\n return } />;\r\n }\r\n //if (route.screen === 'Carrier_Booking') {\r\n // const otherRout = {\r\n // has_grid_list: true,\r\n // path: \"/test/Carrier_Booking\",\r\n // screen: \"Carrier_Booking\"\r\n // };\r\n // let view = importView(otherRout.screen);\r\n // let promise = view._ctor();\r\n // let res = await promise;\r\n // return (otherRout.has_grid_list ? Grid : Details)({ ...res.default })} />;\r\n //}\r\n let view = importView(route.screen);\r\n let promise = view._ctor();\r\n let res = await promise;\r\n if (route.screen === 'ReceivingLoad') {\r\n return } />;\r\n }\r\n \r\n if (route.screen === 'CustomerDashboard') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'CustomerOrder') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'pastOrder') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'CustomerOrderAdmin' || route.screen === 'CHANGEREQUEST') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'revision' || route.screen === 'revision_OTR') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'DeliverdLoads') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'CallCheck') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'factoringDetails') {\r\n return } />;\r\n }\r\n if (route.screen === 'factoringCompany') {\r\n return } />;\r\n }\r\n if (route.screen.toLowerCase() === 'deliveredtrucks' || route.screen.toLowerCase() === 'readytopay' || route.screen.toLowerCase() === 'paid') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen.toLowerCase() === 'deliverednopod' || route.screen.toLowerCase() === 'readytobill' || route.screen.toLowerCase() ==='alreadybilled' || route.screen.toLowerCase() ==='openorders' || route.screen.toLowerCase() ==='changerequestsar') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'Order') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n if (route.screen === 'CUSTOMER_PRICE') {\r\n return route.has_grid_list ? : Details(res.default)} />;\r\n }\r\n return res ? (route.has_grid_list ? Grid : Details)({ ...res.default })} />\r\n : \r\n });\r\n Promise.all(promiseArr).then(setState);\r\n };\r\n checkPath();\r\n }, [props.routeList, props]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n <>\r\n {\r\n state.length ? state : \r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Router;","import React, { useMemo, useCallback } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport { Project } from '../../../project/Project';\r\n\r\nimport Router from './router';\r\n\r\nconst Content = props => {\r\n const routeList = useCallback(() => Project.createRoute(props.menu), [props.menu]);\r\n\r\n return <>{useMemo(() => , [routeList])};\r\n};\r\n\r\nexport default connect(state => ({ menu: state.auth.userMenu, }))(withRouter(Content));","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport { message } from 'antd';\r\nimport { Project } from '../../../project/Project';\r\nimport axios from '../../axios/axios';\r\nimport Popup from '../custom/popup/popup';\r\nimport { closeAllPopups } from '../../../store/actions/popup/popup';\r\nimport { logout, check, autoLogin } from '../../../store/actions/authentication/authentication';\r\nimport { AppPages } from '../../../project/Pages';\r\nimport Loading from '../screen/loading';\r\nimport MainToolbar from './toolbar/mainToolbar';\r\nimport SubToolbar from './toolbar/subToolbar';\r\nimport ScriptLoader from './scriptLoader';\r\nimport Content from './content';\r\n\r\nconst Main = props => {\r\n const [managedMenu, setManagetMenu] = useState(null);\r\n const location = '/' + window.location.pathname.toLowerCase().split('/')[1];\r\n const redirectUrl = window.location.pathname;\r\n const [autoLoginInProcess, setAutoLoginInProcess] = useState(false);\r\n const { isLoggedIn, exp, refrasheToken, check } = props;\r\n const startCheck = isLoggedIn && exp && exp > new Date().getTime();\r\n\r\n const goLoginPage = useCallback(() => {\r\n props.logout();\r\n const history = props.history;\r\n if (redirectUrl !== '/login' && redirectUrl !== '/') {\r\n history.push(Project.getPageUrl(AppPages.Login) + (redirectUrl ? \"?redirectUrl=\" + redirectUrl : ''));\r\n }\r\n else {\r\n history.push(Project.getPageUrl(AppPages.Login));\r\n }\r\n }, [props, redirectUrl]);\r\n\r\n useEffect(() => {\r\n message.config({\r\n top: 100,\r\n duration: 2\r\n });\r\n setManagetMenu(Project.createMenu(props.menu, props.parentUrl));\r\n }, [props.menu, props.parentUrl]);\r\n\r\n useEffect(() => {\r\n if (startCheck) {\r\n check(exp, refrasheToken);\r\n }\r\n }, [startCheck, check, exp, refrasheToken]);\r\n\r\n useEffect(() => {\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + props.userToken;\r\n }, [props.userToken]);\r\n\r\n useEffect(() => {\r\n const expired = (props.exp && props.exp < new Date().getTime());\r\n if ((!props.isLoggedIn || expired) && !Project.skipHeader(location)) {\r\n const userRememberMeToken = props.userRememberMeToken;\r\n if (userRememberMeToken) {\r\n setAutoLoginInProcess(true);\r\n props.autoLogin(redirectUrl, userRememberMeToken);\r\n }\r\n else {\r\n goLoginPage();\r\n }\r\n }\r\n }, [goLoginPage, location, props, redirectUrl]);\r\n\r\n useEffect(() => {\r\n if (props.error) {\r\n message.error(props.error);\r\n goLoginPage();\r\n }\r\n }, [props.error, goLoginPage]);\r\n\r\n useEffect(() => {\r\n if (isLoggedIn) {\r\n setAutoLoginInProcess(false);\r\n }\r\n }, [isLoggedIn]);\r\n\r\n const currentMenu = managedMenu?.find(m => m.url === location);\r\n\r\n const [parentMenu, setParentMenu] = useState(false);\r\n useEffect(() => {\r\n setParentMenu(currentMenu);\r\n }, [currentMenu]);\r\n\r\n const expired = (props.exp && props.exp < new Date().getTime());\r\n if (autoLoginInProcess || ((!props.isLoggedIn || expired) && !Project.skipHeader(location)) || !managedMenu) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {(props.isLoggedIn && !Project.skipHeader(location) &&\r\n \r\n {!props.isGoogleLoaded && }\r\n {/* {!props.isHiddenMenu && userRole && (userRole !== 'Admin' && userRole !== 'Customer') &&\r\n
    \r\n {userRole}\r\n
    \r\n } */}\r\n { !props.isHiddenMenu && (\r\n \r\n )\r\n }\r\n \r\n \r\n {\r\n currentMenu && currentMenu.sub && !props.isHiddenMenu ? : null\r\n }\r\n \r\n \r\n
    \r\n )\r\n || props.children\r\n }\r\n
    \r\n )\r\n};\r\n\r\nexport default connect(state => ({\r\n isLoggedIn: state.auth.isLoggedIn,\r\n menu: state.auth.userMenu,\r\n exp: state.auth.userTokenExpiration,\r\n refrasheToken: state.auth.userRefreshToken,\r\n userToken: state.auth.userToken,\r\n userFirstName: state.auth.userFirstName,\r\n userLastName: state.auth.userLastName,\r\n userRole: state.auth.userRole,\r\n userRememberMeToken: state.auth.userRememberMeToken,\r\n isGoogleLoaded: state.google.isLoaded,\r\n error: state.auth.error,\r\n isHiddenMenu: state.pageContent.isHiddenMenu\r\n}),\r\n dispatch => ({\r\n closeAllPopups: () => dispatch(closeAllPopups()),\r\n logout: () => dispatch(logout()),\r\n check: (exp, refreshToken) => dispatch(check(exp, refreshToken)),\r\n autoLogin: (returnUrl, refreshToken) => dispatch(autoLogin(returnUrl, refreshToken))\r\n }))(withRouter(Main));","import React from 'react';\r\n\r\nconst CommonFormView = props => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default CommonFormView;","import React from 'react';\r\n\r\nconst ForgotPasswordInfo = props => (\r\n \r\n {props.title}\r\n \r\n {props.text}\r\n \r\n);\r\n\r\nexport default ForgotPasswordInfo;","import React from 'react';\r\n\r\nimport Loading from '../loading';\r\nimport CommonFormView from './commonFormView';\r\nimport ForgotPasswordInfo from '../info/forgotPasswordInfo';\r\n\r\nconst ForgotPasswordFormView = props => (\r\n \r\n \r\n {props.isLoading ? : props.children}\r\n \r\n);\r\n\r\nexport default ForgotPasswordFormView;","import React from 'react';\r\n\r\nimport ForgotPasswordFormView from './view/forgotPasswordFormView';\r\n\r\nconst ForgotPasswordFormScreen = props => (\r\n \r\n {props.children}\r\n \r\n);\r\n\r\nexport default ForgotPasswordFormScreen;","import React from 'react';\r\n\r\nconst ForgotPasswordToolbare = props => (\r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default ForgotPasswordToolbare;","import React, {\r\n useRef,\r\n useState\r\n} from 'react';\r\nimport { message } from 'antd';\r\n\r\nimport ForgotPasswordScreen from '../screen/forgotPasswordScreen';\r\nimport Content from './content';\r\nimport { Mapping } from '../../mapping/mapping';\r\nimport { ValidateScreen } from '../../helper/validation';\r\nimport { useData } from '../../hook/data/useData';\r\nimport { useMessage } from '../../hook/data/useMessage';\r\nimport { DefaultMessageTypes } from '../../hook/actions';\r\nimport { useFormValidation } from '../../hook/data/useFormValidation';\r\nimport ForgotPasswordToolbare from './toolbar/forgetPasswordToolbar';\r\nimport axios from '../../axios/axios';\r\n\r\n\r\nimport { ApiUrl } from '../../../project/Pages';\r\n\r\n\r\n\r\nconst ForgotPasswordForm = props => {\r\n const componentRefs = useRef({});\r\n //state\r\n const [data, dispatch] = useData(props.screen.DefaultState);\r\n const [messages, messageDispatch] = useMessage(props.screen.Form);\r\n const [isLoading, setLoading] = useState(false);\r\n //end state\r\n\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n props.screen.Form,\r\n componentRefs);\r\n\r\n\r\n const formValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const resetPasswordHandler = () => {\r\n resetPassword();\r\n };\r\n\r\n const resetPassword = () => {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n setLoading(true);\r\n axios.post(ApiUrl.Forgot,\r\n {\r\n email: data.email\r\n })\r\n .then(response => {\r\n setLoading(false);\r\n if (response) {\r\n const result = response.data;\r\n if (result) {\r\n message[result.hasError ? 'error' : 'success'](result.message);\r\n }\r\n }\r\n }).catch(error => {\r\n setLoading(false);\r\n message.error(error.response.message);\r\n });\r\n };\r\n\r\n const actionFromElement = event => {\r\n if (event.nativeEvent.key === \"Enter\") {\r\n resetPassword();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ForgotPasswordForm;\r\n\r\n","import React from 'react';\r\n\r\nimport ForgotPasswordForm from '../components/form/forgotPasswordForm';\r\nimport ForgotPasswordConfig from '../screens/ForgotPassword/config';\r\n\r\nconst ForgotPassword = () => ;\r\n\r\nexport default ForgotPassword;","import React, {\r\n useRef,\r\n useState\r\n} from 'react';\r\nimport { message } from 'antd';\r\nimport { useParams, useHistory } from 'react-router-dom';\r\n\r\nimport ForgotPasswordScreen from '../screen/forgotPasswordScreen';\r\nimport Content from './content';\r\nimport { Mapping } from '../../mapping/mapping';\r\nimport { ValidateScreen } from '../../helper/validation';\r\nimport { useData } from '../../hook/data/useData';\r\nimport { useMessage } from '../../hook/data/useMessage';\r\nimport { DefaultMessageTypes } from '../../hook/actions';\r\nimport { useFormValidation } from '../../hook/data/useFormValidation';\r\nimport ForgotPasswordToolbare from './toolbar/forgetPasswordToolbar';\r\nimport axios from '../../axios/axios';\r\n\r\n\r\nimport { ApiUrl, AppPages } from '../../../project/Pages';\r\nimport { Project } from '../../../project/Project';\r\n\r\n\r\nconst ChangePasswordForm = props => {\r\n const componentRefs = useRef({});\r\n //state\r\n const [data, dispatch] = useData(props.screen.DefaultState);\r\n const [messages, messageDispatch] = useMessage(props.screen.Form);\r\n const [isLoading, setLoading] = useState(false);\r\n //end state\r\n const history = useHistory();\r\n\r\n const { replyCode } = useParams();\r\n\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n props.screen.Form,\r\n componentRefs);\r\n\r\n\r\n const formValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const resetPasswordHandler = () => {\r\n resetPassword();\r\n };\r\n\r\n const resetPassword = () => {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n setLoading(true);\r\n axios.post(ApiUrl.ChangePassword,\r\n {\r\n password: data.password,\r\n confirmPassword: data.confirmPassword,\r\n replyCode: replyCode\r\n })\r\n .then(response => {\r\n setLoading(false);\r\n if (response) {\r\n const result = response.data;\r\n if (result.hasError) {\r\n message.error(result.message);\r\n return;\r\n }\r\n message.success(result.message);\r\n history.push(Project.getPageUrl(AppPages.Login));\r\n }\r\n }).catch(error => {\r\n setLoading(false);\r\n message.error(error.response.data.title);\r\n });\r\n };\r\n\r\n const actionFromElement = event => {\r\n if (event.nativeEvent.key === \"Enter\") {\r\n resetPassword();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChangePasswordForm;\r\n\r\n","import React from 'react';\r\n\r\nimport ChangePasswordForm from '../components/form/changePasswordForm';\r\nimport ChangePasswordConfig from '../screens/ChangePassword/config';\r\n\r\nconst ForgotPassword = () => ;\r\n\r\nexport default ForgotPassword;","import React, { useEffect, useCallback } from 'react';\r\nimport $ from 'jquery';\r\nimport { useDispatch } from 'react-redux';\r\nimport { PopupTypes } from './codeless/components/custom/popup/popup';\r\nimport { openPopup } from './store/actions/popup/popup';\r\nimport moment from 'moment';\r\nimport { DatePicker, TimePicker, InputNumber, Select, message } from 'antd';\r\nconst { Option } = Select;\r\n\r\n\r\nexport function TemplateDetails(props) {\r\n const children = [];\r\n for (let i = 10; i < 36; i++) {\r\n children.push();\r\n }\r\n\r\n return
    \r\n
    \r\n
    Secondary Action
    Disable Controls
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    Sample Input
    \r\n\r\n
    Sample Disabled Input
    \r\n\r\n
    Sample Password Icon
    \r\n\r\n
    Sample Password Text
    \r\n\r\n
    Fixed Label
    \r\n\r\n\r\n
    Sample Nice Title Goes Here
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    Radio Switcher
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    Checkbox Switcher
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    Input Container With Action
    \r\n
    \r\n unlock\r\n \r\n
    Action
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Sample Password Icon
    \r\n
    \r\n \r\n
    eye
    \r\n \r\n
    \r\n
    \r\n
    Readonly Container
    Sample Readonly Container
    \r\n
    Text AreaOptional
    \r\n
    Cell PhoneOptional
    \r\n
    CitySmall Help Tip
    \r\n
    Postal Code
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    Notifications
    \r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n
    \r\n
    New Content
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    Sample Nice Title Goes Here
    \r\n
    \r\n
    \r\n
    \r\n
    Drop Down List
    \r\n \r\n
    \r\n\r\n
    \r\n
    Combo Box
    \r\n \r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {children}\r\n \r\n
    \r\n\r\n
    \r\n
    Multi Select
    \r\n \r\n {children}\r\n \r\n
    \r\n\r\n
    \r\n
    Date Picker
    \r\n \r\n
    \r\n\r\n
    \r\n
    Time Picker
    \r\n \r\n
    \r\n\r\n
    \r\n
    Numeric
    \r\n \r\n
    \r\n\r\n
    \r\n
    Date/Time PickerOptional
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    Uploader
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Upload
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n warning\r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    Text AreaOptional
    \r\n \r\n
    \r\n\r\n
    \r\n
    Sample Input Icon
    \r\n
    \r\n \r\n
    eye
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    Drop Down List
    \r\n \r\n
    \r\n\r\n
    \r\n
    Combo Box
    \r\n \r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {children}\r\n \r\n
    \r\n\r\n
    \r\n
    Multi Select
    \r\n \r\n {children}\r\n \r\n
    \r\n\r\n
    \r\n
    Date Picker
    \r\n \r\n
    \r\n\r\n
    \r\n
    Time Picker
    \r\n \r\n
    \r\n\r\n
    \r\n
    Numeric
    \r\n \r\n
    \r\n\r\n
    \r\n
    Date/Time PickerOptional
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n};\r\n\r\nexport const Template = () => {\r\n const dispatch = useDispatch();\r\n\r\n const loadData = useCallback(() => {\r\n $(document).ready(function () {\r\n function counter() {\r\n $(\"[counter]\").each(function () {\r\n var count = $(this).find('count')\r\n var data = $(this).find('wrap').children('item:visible').length,\r\n countTo = data;\r\n if (data < 1) {\r\n $(this).addClass('no_result');\r\n }\r\n else {\r\n $(this).removeClass('no_result');\r\n }\r\n $({ countNum: count.text() }).animate({\r\n countNum: countTo\r\n },\r\n {\r\n duration: 250,\r\n easing: 'linear',\r\n step: function () {\r\n count.text(Math.floor(this.countNum));\r\n },\r\n complete: function () {\r\n count.text(this.countNum);\r\n }\r\n });\r\n });\r\n\r\n }\r\n $(\".tab_strip\").each(function (index) {\r\n var tab = $(this);\r\n $(tab.find(\"li\")[0]).addClass(\"selected\");\r\n $(tab.find(\">div>div\")[0]).addClass(\"selected\");\r\n\r\n tab.find(\"li\").each(function (idx) {\r\n var tab_li = $(this);\r\n tab_li.on(\"click\", function (e) {\r\n tab.find(\"li\").removeClass(\"selected\");\r\n tab.find(\">div>div\").removeClass(\"selected\");\r\n tab_li.addClass(\"selected\");\r\n $(tab.find(\">div>div\")[idx]).addClass(\"selected\");\r\n })\r\n })\r\n });\r\n\r\n var icon_count = $(\"[icons]\").find('item').length;\r\n $(\".icon_search\").attr(\"placeholder\", \"Search \" + icon_count + \" Icons\");\r\n $(\".icon_search\").on(\"keyup\", function () {\r\n counter();\r\n var value = $(this).val().toLowerCase();\r\n $(\"grid wrap item\").filter(function () {\r\n return $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);\r\n });\r\n });\r\n\r\n var item = $(\"view[icons]\").find(\"item\").on(\"click\", function () {\r\n item.not(this).removeClass('selected');\r\n $(this).toggleClass('selected');\r\n message.success(\"Icon Name Copied to Clipboard\");\r\n var $temp = $(\"\");\r\n $(\"body\").append($temp);\r\n $temp.val($(this).find(\"icon\").text()).select();\r\n document.execCommand(\"copy\");\r\n $temp.remove();\r\n });\r\n counter();\r\n $(\"#btnOpenWindow\").click(function () {\r\n dispatch(openPopup({\r\n windowKey: \"key1\",\r\n fullScreen: false,\r\n title: $(this).text(),\r\n type: PopupTypes.TemplateDetails,\r\n }));\r\n });\r\n\r\n $(\"#btnOpenFullscreenWindow\").click(function () {\r\n dispatch(openPopup({\r\n windowKey: \"key2\",\r\n fullScreen: true,\r\n title: $(this).text(),\r\n type: PopupTypes.TemplateDetails,\r\n }));\r\n });\r\n\r\n $(\"#btnOpenNoHeaderWindow\").click(function () {\r\n dispatch(openPopup({\r\n windowKey: \"key3\",\r\n fullScreen: false,\r\n showHeader: false,\r\n title: $(this).text(),\r\n type: PopupTypes.TemplateDetails,\r\n }));\r\n });\r\n\r\n });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, [loadData]);\r\n\r\n const children = [];\r\n for (let i = 10; i < 36; i++) {\r\n children.push();\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n\r\n \r\n
      \r\n
    • Icons & Badges
    • \r\n
    • Buttons & Switchers
    • \r\n
    • Windows & Popups
    • \r\n
    • Inputs & Forms
    • \r\n
    • Overlay Toolbar
    • \r\n
    • List View
    • \r\n
    • Epandable Table
    • \r\n
    • Table view
    • \r\n
    • Dashboard
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n search \r\n \r\n \r\n 0
    Section Title
    \r\n \r\n calcCalculator\r\n transcode convertConvert\r\n tools wrenchWrench\r\n plane chat sendPlane\r\n house homeHome\r\n message social bubble chatChat\r\n device monitor displayDisplay\r\n device monitor tall_displayDisplay\r\n idea info bulbBulb\r\n warning errorError\r\n social save bookmark heartHeart\r\n social save bookmark heart_filledHeart\r\n social twitterTwitter\r\n error warningWarning\r\n questionQuestion Mark\r\n done successSuccess\r\n archive box boxArchive\r\n photo picture photoPhoto\r\n bookBook\r\n pencil editPencil\r\n expandExpand\r\n eyeEye\r\n fileFile\r\n filterFilter\r\n flagFlag\r\n file folderFolder\r\n full_leftEnd\r\n notificaion bellBell\r\n bookmarkBookmark\r\n bookmark_filledBookmark\r\n calendarCalendar\r\n arrow downDown\r\n arrow downloadDownload\r\n drinkDrink\r\n photo picture cameraCamera\r\n cancelCancel\r\n castCast\r\n clockClock\r\n closeClose\r\n collapseCollapse\r\n view columnColumn\r\n view listGrid\r\n cubeCube\r\n configuration control dashboard setting speed system tool dashboardDashboard\r\n remove deleteDelete\r\n success doneDone\r\n wovenWoven\r\n woven_filledWoven\r\n clipboardpastePaste\r\n rssRss\r\n copyCopy\r\n PaintfillFill\r\n codeCode\r\n codeembedEmbed\r\n deleteremoveRemove\r\n \r\n
    \r\n \r\n 0
    Section Title
    \r\n \r\n arrow revertRevert\r\n arrow undoUndo\r\n refresh reload load reloadReload\r\n refresh reload load refreshRefresh\r\n refresh reload load loadLoad\r\n refresh reload load processProcess\r\n full_rightStart\r\n fullscreen_exitExit Fullscreen\r\n fullscreenFullscreen\r\n menu navigation gridGrid\r\n picture photo imageImage\r\n infoInfo\r\n arrow leftLeft\r\n linkLink\r\n lockLock\r\n envelope mailMail\r\n navigation menuMenu\r\n delete remove minusMinus\r\n dark weather moonMoon\r\n menu moreMore\r\n menu optionsOption\r\n map pinPin\r\n play_filledPlay\r\n playPlay\r\n PausePause\r\n volume_upSpeaker\r\n volume_offSpeaker\r\n volume muteSpeaker\r\n add add plusPlus\r\n add add createCreate\r\n arrow rightRight\r\n disk saveSave\r\n find searchSearch\r\n gear settingsSetting\r\n shareShare\r\n \r\n
    \r\n \r\n 0
    Section Title
    \r\n \r\n filter sortFilter\r\n star_filledStar\r\n starStar\r\n tableTable\r\n tagTag\r\n tag_filledTag\r\n view thumbnailThumbnail\r\n ticketTicket\r\n lock unlockLock\r\n arrow upUp\r\n arrow uploadUpload\r\n account userUser\r\n \r\n
    \r\n \r\n 0
    Video
    \r\n \r\n 720720\r\n full hd 10801080\r\n hdHigh Definition\r\n fhdFull HD\r\n uhdUltra HD\r\n hdrHigh Dinamic Range\r\n 2k2K\r\n 4k4K\r\n shdSuper HD\r\n \r\n
    \r\n \r\n 0
    Editor
    \r\n \r\n centerCenter\r\n align_leftAlign Left\r\n align_rightAlign Right\r\n align_topAlign Top\r\n align_bottomAlign Bottom\r\n align_middleAlign Middle\r\n boldBold\r\n underlineUnderline\r\n italicItalic\r\n bulletsbullets\r\n strikethroughStrikethrough\r\n t_textText\r\n text_shadowText Effect\r\n text_transformUppercase\r\n textText\r\n left_textText\r\n right_textText\r\n uppercaseText\r\n lowercaseText\r\n \r\n
    \r\n \r\n 0
    Playlist Layout
    \r\n \r\n layout_9Layout\r\n layout_9_1Layout\r\n layout_10_2Layout\r\n layout_10_1Layout\r\n layout_11Layout\r\n layout_1_1Layout\r\n layout_1_2Layout\r\n layout_1Layout\r\n layout_2_1Layout\r\n layout_2_2Layout\r\n layout_2Layout\r\n layout_3_1Layout\r\n layout_3_2Layout\r\n layout_3_3Layout\r\n layout_3Layout\r\n layout_4_1Layout\r\n layout_4_2Layout\r\n layout_4_3Layout\r\n layout_4Layout\r\n layout_5_1Layout\r\n layout_5_2Layout\r\n layout_5_3Layout\r\n layout_5Layout\r\n layout_6_1Layout\r\n layout_6_2Layout\r\n layout_6_3Layout\r\n layout_6Layout\r\n layout_7_1Layout\r\n layout_7_2Layout\r\n layout_7_3Layout\r\n layout_7Layout\r\n layout_8_1Layout\r\n layout_8_2Layout\r\n layout_8_3Layout\r\n layout_8Layout\r\n layout_portraitLayout\r\n layoutLayout\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    Button & Toggles
    \r\n\r\n \r\n \r\n
    Primary Buttonstar
    \r\n
    searchAccent Button
    \r\n
    Simple Button
    \r\n heartAnchor Button\r\n
    pinResponsive button
    \r\n
    \r\n \r\n
    Reconfiguring ...Cancel
    \r\n
    \r\n \r\n
    bulb
    \r\n
    photo
    \r\n
    share
    \r\n
    \r\n \r\n
    playLarge Button
    \r\n
    mailLarge Button
    \r\n
    editLarge Button
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    Badges
    \r\n \r\n\r\n \r\n \r\n Simple Outline Badge\r\n \r\n Accent Color Badge\r\n \r\n \r\n\r\n \r\n \r\n\r\n Error\r\n New Item\r\n Private Item\r\n Yellow Item\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n Error\r\n New Item\r\n Private Item\r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n \r\n
    options
    \r\n \r\n
    sort
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    Open Window
    \r\n This Will Open Regular Window\r\n\r\n
    \r\n
    Open Fullscreen Window
    Some Description
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n info\r\n Your email address is not verified. Verify it to receive emails from us.\r\n \r\n
    Verify
    \r\n \r\n
    close
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n grid\r\n \r\n Collapse·Orders Filters\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Created\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {children}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Region\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n Checkbox\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n Radio buttonsec\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n Switcher\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    saveSave Changes
    \r\n\r\n \r\n\r\n
    Delete Overlay
    \r\n\r\n \r\n\r\n
    plus
    \r\n \r\n
    copy
    \r\n \r\n \r\n
    delete
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    Feed URL
    \r\n \r\n
    \r\n \r\n
    \r\n
    Durationssec
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    Drop Down List
    \r\n \r\n
    \r\n\r\n
    \r\n
    Combo Box
    \r\n \r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {children}\r\n \r\n
    \r\n\r\n
    \r\n
    Numeric
    \r\n \r\n
    \r\n\r\n
    \r\n
    Multi Select
    \r\n \r\n {children}\r\n \r\n
    \r\n
    \r\n
    Time Picker
    \r\n \r\n
    \r\n\r\n
    \r\n
    Date Picker
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n warning\r\n
    Configure settings when and how You'll get notified for content changes
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    plus
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n pin\r\n \r\n \r\n \r\n \r\n \r\n John Smith\r\n \r\n \r\n \r\n \r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n \r\n \r\n \r\n \r\n \r\n Manager\r\n \r\n \r\n
    options
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n pin\r\n \r\n \r\n \r\n \r\n \r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n \r\n \r\n \r\n \r\n \r\n Private\r\n \r\n \r\n
    edit
    \r\n
    delete
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n link\r\n \r\n \r\n \r\n
    \r\n star\r\n
    \r\n
    \r\n play\r\n
    \r\n
    \r\n \r\n 16:40\r\n \r\n \r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n \r\n \r\n \r\n \r\n \r\n Private\r\n \r\n \r\n
    options
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Group Title Goes Here\r\n \r\n \r\n 5 Items\r\n \r\n
    \r\n \r\n \r\n \r\n Private\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    star
    \r\n
    play
    \r\n
    \r\n \r\n
    options
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Group Title Goes Here\r\n \r\n \r\n 5 Items\r\n \r\n
    \r\n \r\n \r\n \r\n Private\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    star
    \r\n
    play
    \r\n
    \r\n \r\n
    options
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Group Title Goes Here\r\n \r\n \r\n 5 Items\r\n \r\n
    \r\n \r\n \r\n \r\n Private\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    star
    \r\n
    play
    \r\n
    \r\n \r\n
    options
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n Simple Table Markup (Fixed)\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Sample TitleAnother TitleTitleSample TitleAnother TitleTitle
    delete
    delete
    delete
    \r\n
    \r\n
    plus
    \r\n
    \r\n
    \r\n \r\n \r\n Simple Table Markup (Adaptive)\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Sample TitleAnother TitleTitle
    delete
    delete
    delete
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Simple Table Markup (with Colgroup)\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Sample TitleAnother TitleTitle
    delete
    delete
    delete
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Advanced Table Markup (Adaptive)\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Lorem Ipsum is simply dummy text of the printing and typesetting industry.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {children}\r\n \r\n \r\n
    delete
    delete
    delete
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n Most Played TSTManager \r\n \r\n
    options
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n dashboard\r\n \r\n No Data to Display\r\n Most Played Content Within TST\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n Daily Onlines\r\n \r\n
    edit
    \r\n
    \r\n
    \r\n \r\n Daily online devices from December 19 - 29\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n Daily Onlines\r\n \r\n
    options
    \r\n
    \r\n
    \r\n \r\n Daily online devices from December 19 - 29\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n \r\n};\r\n","import React from 'react';\r\n\r\nconst LoginInfo = props => (\r\n \r\n {props.title}\r\n \r\n);\r\n\r\nexport default LoginInfo;","import React from 'react';\r\n\r\nimport Loading from '../loading';\r\nimport CommonFormView from './commonFormView';\r\nimport LoginInfo from '../info/loginInfo';\r\n\r\nconst LoginFormView = props => (\r\n \r\n \r\n {props.isLoading ? : props.children}\r\n \r\n);\r\n\r\nexport default LoginFormView;","import React from 'react';\r\n\r\nimport LoginFormView from './view/loginFormView';\r\n\r\nconst LoginFormScreen = props => (\r\n \r\n {props.children}\r\n \r\n);\r\n\r\nexport default LoginFormScreen;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst LoginToolBar = props => (\r\n \r\n \r\n \r\n \r\n \r\n Forgot Password?\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default LoginToolBar;","import React, {\r\n useRef\r\n} from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport { auth } from '../../../store/actions/authentication/authentication';\r\nimport LoginFormScreen from '../screen/loginFormScreen';\r\nimport Content from './content';\r\nimport { Mapping } from '../../mapping/mapping';\r\nimport { ValidateScreen } from '../../helper/validation';\r\nimport { useData } from '../../hook/data/useData';\r\nimport { useMessage } from '../../hook/data/useMessage';\r\nimport { DefaultMessageTypes } from '../../hook/actions';\r\nimport { useFormValidation } from '../../hook/data/useFormValidation';\r\nimport LoginToolBar from './toolbar/loginToolbar';\r\nimport axios from '../../axios/axios';\r\n\r\n\r\nimport { AppPages, UpdateAppPages } from '../../../project/Pages';\r\n\r\nconst getParams = () => {\r\n return new URLSearchParams(window.location.search);\r\n};\r\n\r\nconst LoginForm = props => {\r\n const componentRefs = useRef({});\r\n //state\r\n const [data, dispatch] = useData(props.screen.DefaultState);\r\n const [messages, messageDispatch] = useMessage(props.screen.Form);\r\n //end state\r\n\r\n const validate = useFormValidation(messageDispatch,\r\n data,\r\n Mapping,\r\n ValidateScreen,\r\n props.screen.Form,\r\n componentRefs);\r\n\r\n\r\n const formValidation = () => {\r\n messageDispatch({ type: DefaultMessageTypes.START_FOCUSE, messages: true });\r\n const [passValidation] = validate();\r\n return passValidation;\r\n };\r\n\r\n const doLoginHandler = () => {\r\n doLogin();\r\n };\r\n\r\n const doLogin = () => {\r\n if (!formValidation()) {\r\n return;\r\n }\r\n const query = getParams();\r\n const redirectUrl = query.get(\"redirectUrl\") || \"\";\r\n props.onAuth(data.userName, data.password, data.remember, redirectUrl);\r\n };\r\n\r\n const setRememberHandler = event => {\r\n dispatch({ type: 'remember', value: event.target.checked });\r\n };\r\n\r\n if (props.isLoggedIn) {\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + props.userToken;\r\n UpdateAppPages();\r\n let redirectUrl = AppPages.DefaultPage;\r\n if (props.redirectUrl) {\r\n redirectUrl = props.redirectUrl;\r\n }\r\n return ;\r\n };\r\n\r\n const actionFromElement = event => {\r\n if (event.nativeEvent.key === \"Enter\") {\r\n doLogin();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n isLoading: state.auth.loading,\r\n isLoggedIn: state.auth.isLoggedIn,\r\n userToken: state.auth.userToken,\r\n redirectUrl: state.auth.redirectUrl\r\n }\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n onAuth: (login, password, remember, returnUrl) => dispatch(auth(login, password, remember, returnUrl))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginForm);\r\n\r\n","import React from 'react';\r\n\r\nimport LoginForm from '../components/form/loginForm';\r\nimport LoginConfig from '../screens/Login/config';\r\n\r\nconst Login = () => ;\r\n\r\nexport default Login;","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { logout } from '../../store/actions/authentication/authentication';\r\nimport { AppPages } from '../../project/Pages';\r\n\r\nconst Logout = props => {\r\n useEffect(() => {\r\n props.doLogout();\r\n });\r\n return ;\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n doLogout: () => dispatch(logout())\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Logout);","import React, { Suspense } from 'react';\r\nimport { Switch, Redirect } from 'react-router-dom';\r\nimport { Spin } from 'antd';\r\nimport Main from './codeless/components/layout/main';\r\nimport ForgotPassword from './codeless/pages/forgotPassword'; //'./pages/ForgotPassword';\r\nimport ChangePassword from './codeless/pages/changePassword';//'./pages/ChangePassword';\r\nimport NotFound from './codeless/pages/notFound';\r\nimport { Template } from './Template';\r\nimport Login from './codeless/pages/login';\r\nimport Logout from './codeless/pages/logout';\r\n/*import CacheBuster from './CacheBuster';*/\r\n\r\nimport CacheBusterRoute from './CacheBusterRoute';\r\n\r\n//FOR DEVELOPMENT, GENERATE ELEMENT_CONFIQ ARGS\r\n//import { Development_GenerateFunctionArguments } from './codeless/config/element.config';\r\n//Development_GenerateFunctionArguments();\r\n/**\r\n* the Base component that also manages routing\r\n * @module App\r\n */\r\nexport default function App() {\r\n const loading =
    ;\r\n //return (\r\n // \r\n // {({ loadingApp, isLatestVersion, refreshCacheAndReload }) => {\r\n // if (loadingApp) return null;\r\n // if (!loadingApp && !isLatestVersion) {\r\n // refreshCacheAndReload();\r\n // console.log(loadingApp, isLatestVersion);\r\n // }\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n // }}\r\n //
    \r\n //);\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js?v=${process.env.REACT_APP_VERSION}`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import './theme.less';\r\nimport './ant_reset.css'; // variables to override above\r\nimport './picker_reset.css'; // variables to override above\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from \"react-redux\";\r\nimport store from './store';\r\nimport { BrowserRouter } from 'react-router-dom';\r\n\r\n\r\n\r\n\r\nimport App from './App';\r\nimport registerServiceWorker, { unregister } from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\n/*eslint no-extend-native: [\"error\", { \"exceptions\": [\"Object\"] }]*/\r\nvar _toString = Object.prototype.toString;\r\n// toString override added to prototype of Foo class\r\nObject.prototype.toString = function () {\r\n try {\r\n switch (this.tagName) {\r\n case \"LOGIN\":\r\n case \"CONT\":\r\n case \"MESSAGE\":\r\n case \"VIEW\":\r\n case \"ICON\":\r\n case \"SEPARATOR\":\r\n case \"LOGO\":\r\n case \"INFO\":\r\n case \"CONTAINER\":\r\n case \"HORIZONAL_WRAP\":\r\n case \"CONTENT_WRAP\":\r\n case \"TEXT\":\r\n case \"CHECK\":\r\n case \"BOX\":\r\n case \"WRAP\":\r\n case \"LIST\":\r\n case \"ITEM\":\r\n case \"OVERLAY\":\r\n case \"GRID\":\r\n case \"SCROLLER\":\r\n case \"BLOCK\":\r\n case \"SPACE\":\r\n case \"PICTURE\":\r\n case \"DEMOSPACE\":\r\n case \"NAME\":\r\n case \"BADGE\":\r\n case \"GROUP\":\r\n case \"DASHBOARD\":\r\n case \"SWITCH\":\r\n case \"SWITCHABLE\":\r\n case \"PLAYER\":\r\n case \"PLAYLIST\":\r\n case \"MEDIA\":\r\n case \"CIRCLE\":\r\n case \"LINE\":\r\n case \"ROW\":\r\n case \"INFOBAR\":\r\n case \"THUMB\":\r\n case \"DETAIL\":\r\n case \"COVER\":\r\n case \"CONTROLS\":\r\n case \"DECOR\":\r\n case \"DOT\":\r\n case \"GAP\":\r\n case \"PIE\":\r\n case \"TIP\":\r\n case \"COL\":\r\n case \"COUNT\":\r\n case \"TEST\":\r\n case \"ZONE\":\r\n case \"LAYOUT\":\r\n case \"TAG\":\r\n case \"ACTION\":\r\n case \"ELASTIC\":\r\n case \"TOOLBAR\":\r\n case \"PANEL\":\r\n case \"WRAPPER\":\r\n case \"DEMO_WRAP\":\r\n case \"APPLICATION\":\r\n case \"THUMBS\":\r\n case \"POINT\":\r\n case \"HOLDER\":\r\n case \"COLORPICKER\":\r\n case \"ALERT\":\r\n return \"[object div]\";\r\n default:\r\n break;\r\n }\r\n } catch{ }\r\n return _toString.call(this);\r\n}\r\nunregister();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n , rootElement);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nregisterServiceWorker();\r\n\r\n","export const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_TRAFFIC_UPCOMING = 'SET_HEADER_WIDTH_TRAFFIC_UPCOMING';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const UPDATE_LOAD_STATUS = 'UPDATE_LOAD_STATUS';\r\nexport const GET_TRAFFIC_CONTROL_UPCOMING = 'GET_TRAFFIC_CONTROL_UPCOMING';\r\nexport const TRAFFIC_UPCOMING_LOADING = 'TRAFFIC_UPCOMING_LOADING';\r\nexport const SET_DATA_UPCOMING = 'SET_DATA_UPCOMING';\r\nexport const FILTER_BY_DATE_UPCOMING = 'FILTER_BY_DATE_UPCOMING';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return TRAFFIC_CONTROL_BUILD[key]\r\n};\r\n\r\nexport const TRAFFIC_CONTROL_BUILD = {\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n ERROR: 'ERROR',\r\n GET_TRAFFIC_CONTROL_UPCOMING: 'GET_TRAFFIC_CONTROL_UPCOMING',\r\n TRAFFIC_UPCOMING_LOADING: 'TRAFFIC_UPCOMING_LOADING',\r\n SET_DATA_UPCOMING: 'SET_DATA_UPCOMING',\r\n FILTER_BY_DATE_UPCOMING: 'FILTER_BY_DATE_UPCOMING',\r\n SET_HEADER_WIDTH_TRAFFIC_UPCOMING: 'SET_HEADER_WIDTH_TRAFFIC_UPCOMING',\r\n RESET_ERROR: 'RESET_ERROR',\r\n};\r\n","export const ERROR = 'ERROR';\r\nexport const SET_HEADER_WIDTH_ORDER_IN_PROGRESS = 'SET_HEADER_WIDTH_ORDER_IN_PROGRESS';\r\nexport const SET_IN_LOADING = 'SET_IN_LOADING';\r\nexport const RELOAD_ON_ERROR = 'RELOAD_ON_ERROR';\r\nexport const RESET_ERROR = 'RESET_ERROR';\r\nexport const SET_DISPLAY_STATE = 'SET_DISPLAY_STATE';\r\nexport const GET_CUSTOMER_ORDERS_IN_PROGRESS = 'GET_CUSTOMER_ORDERS_IN_PROGRESS';\r\nexport const CUSTOMER_ORDERS_LOADING = 'CUSTOMER_ORDERS_LOADING'; \r\nexport const SORT_ORDERS_IN_PROGRESS = 'SORT_ORDERS_IN_PROGRESS';\r\nexport const REVISION_CUSTOMER_ORDER_LOADING = 'REVISION_CUSTOMER_ORDER_LOADING';\r\nexport const REVISION_CUSTOMER_ORDER = 'REVISION_CUSTOMER_ORDER';\r\n\r\nexport const getActionType = (recource, key) => {\r\n return CUSTOMER_ORDERS_BUILD[key]\r\n};\r\n\r\nexport const CUSTOMER_ORDERS_BUILD = {\r\n RELOAD_ON_ERROR: 'RELOAD_ON_ERROR',\r\n ERROR: 'ERROR',\r\n SET_HEADER_WIDTH_ORDER_IN_PROGRESS: 'SET_HEADER_WIDTH_ORDER_IN_PROGRESS',\r\n RESET_ERROR: 'RESET_ERROR',\r\n GET_CUSTOMER_ORDERS_IN_PROGRESS: 'GET_CUSTOMER_ORDERS_IN_PROGRESS',\r\n CUSTOMER_ORDERS_LOADING: 'CUSTOMER_ORDERS_LOADING',\r\n SORT_ORDERS_IN_PROGRESS: 'SORT_ORDERS_IN_PROGRESS',\r\n REVISION_CUSTOMER_ORDER_LOADING: 'REVISION_CUSTOMER_ORDER_LOADING',\r\n REVISION_CUSTOMER_ORDER: 'REVISION_CUSTOMER_ORDER',\r\n};\r\n"],"sourceRoot":""}