@djb25/digit-ui-module-vendor 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useMemo, useCallback, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { useParams, useLocation, Switch, Link, useHistory, useRouteMatch, Route, Redirect } from 'react-router-dom';
3
+ import { useParams, useLocation, Switch, useHistory, Link, useRouteMatch, Route, Redirect } from 'react-router-dom';
4
4
  import { Header, SearchForm, SearchField, Dropdown as Dropdown$2, MobileNumber, CardLabelError, DatePicker as DatePicker$3, SubmitBar, Card, Table, Loader, Toast, AppContainer, ModuleHeader, ArrowLeft, PrivateRoute, LayoutWrapper, HomeIcon, PropertyHouse, EmployeeModuleCard, VerticalTimeline, FormComposer, FormStep, LabelFieldPair, CardLabel, Tooltip, TextInput, UploadFile, CardSubHeader, CardText, RadioOrSelect, ShippingTruck, CheckBox, RadioButtons, CloseSvg, Localities, RemoveableTag, ActionBar, ApplyFilterBar, AddIcon, Menu, LinkLabel, ToggleSwitch, CardSectionHeader, Row, EditIcon, DeleteIcon, Modal, InfoIcon, CardHeader, StatusTable, LinkButton, Banner } from '@djb25/digit-ui-react-components';
5
5
  import { useForm, Controller } from 'react-hook-form';
6
6
  import { useQueryClient } from 'react-query';
@@ -606,7 +606,7 @@ const VendorConfig = (t, disabled = false) => {
606
606
  }, {
607
607
  head: "ES_FSM_REGISTRY_NEW_ADDRESS_DETAILS",
608
608
  body: [{
609
- label: "ES_FSM_REGISTRY_NEW_DOOR",
609
+ label: "HOUSE_NO",
610
610
  isMandatory: false,
611
611
  type: "text",
612
612
  key: "doorNo",
@@ -696,6 +696,7 @@ const AddVendor = ({
696
696
  const {
697
697
  t
698
698
  } = useTranslation();
699
+ const history = useHistory();
699
700
  const [currentStep, setCurrentStep] = useState(1);
700
701
  const [showToast, setShowToast] = useState(null);
701
702
  const [canSubmit, setCanSubmit] = useState(false);
@@ -728,12 +729,43 @@ const AddVendor = ({
728
729
  }
729
730
  };
730
731
  const onFormValueChange = (setValue, formData) => {
731
- var _formData$serviceType;
732
- if (formData !== null && formData !== void 0 && formData.vendorName && formData !== null && formData !== void 0 && formData.phone && formData !== null && formData !== void 0 && (_formData$serviceType = formData.serviceType) !== null && _formData$serviceType !== void 0 && _formData$serviceType.code) {
732
+ var _formData$serviceType, _formData$address, _formData$address2;
733
+ const isVendorDetailsFilled = (formData === null || formData === void 0 ? void 0 : formData.vendorName) && (formData === null || formData === void 0 ? void 0 : formData.phone) && (formData === null || formData === void 0 ? void 0 : (_formData$serviceType = formData.serviceType) === null || _formData$serviceType === void 0 ? void 0 : _formData$serviceType.code);
734
+ const isAddressFilled = (formData === null || formData === void 0 ? void 0 : (_formData$address = formData.address) === null || _formData$address === void 0 ? void 0 : _formData$address.city) && (formData === null || formData === void 0 ? void 0 : (_formData$address2 = formData.address) === null || _formData$address2 === void 0 ? void 0 : _formData$address2.locality);
735
+ if (isVendorDetailsFilled && isAddressFilled) {
733
736
  setCanSubmit(true);
734
737
  } else {
735
738
  setCanSubmit(false);
736
739
  }
740
+ if (isVendorDetailsFilled) {
741
+ if (currentStep === 1) {
742
+ setCurrentStep(2);
743
+ setTimeout(() => {
744
+ const headers = Array.from(document.querySelectorAll(".collapsible-card-title"));
745
+ const addressHeader = headers.find(h => h.textContent.includes(t("ES_FSM_REGISTRY_NEW_ADDRESS_DETAILS")));
746
+ if (addressHeader) {
747
+ addressHeader.scrollIntoView({
748
+ behavior: "smooth",
749
+ block: "start"
750
+ });
751
+ }
752
+ }, 100);
753
+ }
754
+ } else {
755
+ if (currentStep === 2) {
756
+ setCurrentStep(1);
757
+ setTimeout(() => {
758
+ const headers = Array.from(document.querySelectorAll(".collapsible-card-title"));
759
+ const vendorHeader = headers.find(h => h.textContent.includes(t("ES_VRNDOR_NEW_VENDOR_DETAILS")));
760
+ if (vendorHeader) {
761
+ vendorHeader.scrollIntoView({
762
+ behavior: "smooth",
763
+ block: "start"
764
+ });
765
+ }
766
+ }, 100);
767
+ }
768
+ }
737
769
  };
738
770
  const closeToast = () => {
739
771
  setShowToast(null);
@@ -821,7 +853,10 @@ const AddVendor = ({
821
853
  key: "success",
822
854
  action: "ADD_VENDOR"
823
855
  });
824
- setTimeout(closeToast, 5000);
856
+ setTimeout(() => {
857
+ closeToast();
858
+ history.push("/digit-ui/employee/vendor/search-vendor");
859
+ }, 2000);
825
860
  }
826
861
  });
827
862
  };
@@ -858,7 +893,8 @@ const AddVendor = ({
858
893
  defaultValues: defaultValues,
859
894
  onFormValueChange: onFormValueChange,
860
895
  noBreakLine: true,
861
- noCard: true
896
+ noCard: true,
897
+ isDisabled: !canSubmit
862
898
  }), showToast && /*#__PURE__*/React.createElement(Toast, {
863
899
  error: showToast.key === "error",
864
900
  label: t(showToast.key === "success" ? `ES_FSM_REGISTRY_${showToast.action}_SUCCESS` : showToast.action),
@@ -8156,6 +8192,43 @@ const getFillingPointDisplayValue = (row = {}) => {
8156
8192
  var _row$fillingPoint, _row$dsoDetails3, _row$dsoDetails3$fill, _row$dsoDetails4, _row$dsoDetails5, _row$dsoDetails6, _row$dsoDetails7, _row$fillingpointmeta2;
8157
8193
  return (row === null || row === void 0 ? void 0 : (_row$fillingPoint = row.fillingPoint) === null || _row$fillingPoint === void 0 ? void 0 : _row$fillingPoint.fillingPointName) || (row === null || row === void 0 ? void 0 : (_row$dsoDetails3 = row.dsoDetails) === null || _row$dsoDetails3 === void 0 ? void 0 : (_row$dsoDetails3$fill = _row$dsoDetails3.fillingPoint) === null || _row$dsoDetails3$fill === void 0 ? void 0 : _row$dsoDetails3$fill.fillingPointName) || (row === null || row === void 0 ? void 0 : row.fillingPointName) || (row === null || row === void 0 ? void 0 : (_row$dsoDetails4 = row.dsoDetails) === null || _row$dsoDetails4 === void 0 ? void 0 : _row$dsoDetails4.fillingPointName) || (row === null || row === void 0 ? void 0 : row.fillingPointId) || (row === null || row === void 0 ? void 0 : (_row$dsoDetails5 = row.dsoDetails) === null || _row$dsoDetails5 === void 0 ? void 0 : _row$dsoDetails5.fillingPointId) || (typeof (row === null || row === void 0 ? void 0 : row.fillingPoint) === "string" ? row === null || row === void 0 ? void 0 : row.fillingPoint : null) || (typeof (row === null || row === void 0 ? void 0 : (_row$dsoDetails6 = row.dsoDetails) === null || _row$dsoDetails6 === void 0 ? void 0 : _row$dsoDetails6.fillingPoint) === "string" ? row === null || row === void 0 ? void 0 : (_row$dsoDetails7 = row.dsoDetails) === null || _row$dsoDetails7 === void 0 ? void 0 : _row$dsoDetails7.fillingPoint : null) || (row === null || row === void 0 ? void 0 : (_row$fillingpointmeta2 = row.fillingpointmetadata) === null || _row$fillingpointmeta2 === void 0 ? void 0 : _row$fillingpointmeta2.fillingPointId) || (row === null || row === void 0 ? void 0 : row.filling_pt_name) || (row === null || row === void 0 ? void 0 : row.fillingPtName) || "NA";
8158
8194
  };
8195
+ const getSelectedVendorOption = (row = {}, vendors = []) => {
8196
+ var _row$vendor, _row$vendorData;
8197
+ const selectedVendorId = (row === null || row === void 0 ? void 0 : (_row$vendor = row.vendor) === null || _row$vendor === void 0 ? void 0 : _row$vendor.id) || (row === null || row === void 0 ? void 0 : (_row$vendorData = row.vendorData) === null || _row$vendorData === void 0 ? void 0 : _row$vendorData.id) || (row === null || row === void 0 ? void 0 : row.vendorId);
8198
+ if (!selectedVendorId) return null;
8199
+ return vendors.find(vendor => (vendor === null || vendor === void 0 ? void 0 : vendor.id) === selectedVendorId) || (row === null || row === void 0 ? void 0 : row.vendor) || (row === null || row === void 0 ? void 0 : row.vendorData) || null;
8200
+ };
8201
+ const getVendorFillingPoints = (vendor = {}) => {
8202
+ const fillingPointOptions = [vendor === null || vendor === void 0 ? void 0 : vendor.fillingPoint, ...(Array.isArray(vendor === null || vendor === void 0 ? void 0 : vendor.fillingPoints) ? vendor.fillingPoints : [])].filter(Boolean);
8203
+ const uniqueFillingPoints = new Map();
8204
+ fillingPointOptions.forEach(fillingPoint => {
8205
+ const identifier = getFillingPointIdentifiers(fillingPoint)[0] || (fillingPoint === null || fillingPoint === void 0 ? void 0 : fillingPoint.fillingPointName) || (fillingPoint === null || fillingPoint === void 0 ? void 0 : fillingPoint.id);
8206
+ if (identifier && !uniqueFillingPoints.has(identifier)) {
8207
+ uniqueFillingPoints.set(identifier, fillingPoint);
8208
+ }
8209
+ });
8210
+ return Array.from(uniqueFillingPoints.values());
8211
+ };
8212
+ const getDriverFillingPointIdentifiers = (driver = {}) => {
8213
+ var _driver$additionalDet, _driver$additionalDet2, _driver$fillingpointm;
8214
+ return Array.from(new Set([driver === null || driver === void 0 ? void 0 : driver.fillingPointId, driver === null || driver === void 0 ? void 0 : driver.fillingStationId, driver === null || driver === void 0 ? void 0 : (_driver$additionalDet = driver.additionalDetails) === null || _driver$additionalDet === void 0 ? void 0 : _driver$additionalDet.fillingPointId, driver === null || driver === void 0 ? void 0 : (_driver$additionalDet2 = driver.additionalDetails) === null || _driver$additionalDet2 === void 0 ? void 0 : _driver$additionalDet2.fillingStationId, driver === null || driver === void 0 ? void 0 : (_driver$fillingpointm = driver.fillingpointmetadata) === null || _driver$fillingpointm === void 0 ? void 0 : _driver$fillingpointm.fillingPointId].filter(value => value !== undefined && value !== null && value !== "").map(String).concat(getFillingPointIdentifiers(driver === null || driver === void 0 ? void 0 : driver.fillingPoint), getFillingPointIdentifiers(driver === null || driver === void 0 ? void 0 : driver.fillingPointDetail), getFillingPointIdentifiers(driver === null || driver === void 0 ? void 0 : driver.fillingPointDetails))));
8215
+ };
8216
+ const getVendorDriversForFillingPoint = (vendor, fillingPoint) => {
8217
+ const vendorDrivers = Array.isArray(vendor === null || vendor === void 0 ? void 0 : vendor.drivers) ? vendor.drivers.filter(Boolean) : [];
8218
+ if (!fillingPoint) return [];
8219
+ const selectedFillingPointIdentifiers = getFillingPointIdentifiers(fillingPoint);
8220
+ if (!selectedFillingPointIdentifiers.length) return vendorDrivers;
8221
+ return vendorDrivers.filter(driver => {
8222
+ const driverFillingPointIdentifiers = getDriverFillingPointIdentifiers(driver);
8223
+ return !driverFillingPointIdentifiers.length || driverFillingPointIdentifiers.some(identifier => selectedFillingPointIdentifiers.includes(identifier));
8224
+ });
8225
+ };
8226
+ const getSelectedDriverOption = (row = {}, drivers = []) => {
8227
+ var _row$driverData, _row$driver;
8228
+ const selectedDriverId = (row === null || row === void 0 ? void 0 : (_row$driverData = row.driverData) === null || _row$driverData === void 0 ? void 0 : _row$driverData.id) || (row === null || row === void 0 ? void 0 : (_row$driver = row.driver) === null || _row$driver === void 0 ? void 0 : _row$driver.id);
8229
+ if (!selectedDriverId) return null;
8230
+ return drivers.find(driver => (driver === null || driver === void 0 ? void 0 : driver.id) === selectedDriverId) || null;
8231
+ };
8159
8232
  const normalizeFillingPointForVehicleUpdate = fillingPoint => {
8160
8233
  if (!fillingPoint || typeof fillingPoint !== "object") return fillingPoint;
8161
8234
  const {
@@ -8252,6 +8325,12 @@ const VendorInbox = props => {
8252
8325
  const closeToast = () => {
8253
8326
  setShowToast(null);
8254
8327
  };
8328
+ const updateVehicleRowState = (vehicleId, updates) => {
8329
+ setTableData(currentTableData => currentTableData.map(vehicle => (vehicle === null || vehicle === void 0 ? void 0 : vehicle.id) === vehicleId ? {
8330
+ ...vehicle,
8331
+ ...updates
8332
+ } : vehicle));
8333
+ };
8255
8334
  const getVehicleUpdatePayload = (vehicle, overrides = {}) => {
8256
8335
  const normalizedVehicle = {
8257
8336
  ...vehicle,
@@ -8266,6 +8345,19 @@ const VendorInbox = props => {
8266
8345
  vehicle: normalizedVehicle
8267
8346
  };
8268
8347
  };
8348
+ const getVendorPayloadForVehicle = (vendor, vehicles) => {
8349
+ var _vendor$owner;
8350
+ return {
8351
+ vendor: {
8352
+ ...vendor,
8353
+ owner: {
8354
+ ...(vendor === null || vendor === void 0 ? void 0 : vendor.owner),
8355
+ gender: (vendor === null || vendor === void 0 ? void 0 : (_vendor$owner = vendor.owner) === null || _vendor$owner === void 0 ? void 0 : _vendor$owner.gender) || "OTHERS"
8356
+ },
8357
+ vehicles
8358
+ }
8359
+ };
8360
+ };
8269
8361
  const onVendorUpdate = row => {
8270
8362
  var _formDetails$owner, _formDetails$owner2, _formDetails$owner3, _formDetails$owner4;
8271
8363
  let formDetails = row.original.dsoDetails;
@@ -8398,6 +8490,84 @@ const VendorInbox = props => {
8398
8490
  }
8399
8491
  });
8400
8492
  };
8493
+ const onVehicleVendorSelect = (row, selectedVendor) => {
8494
+ const currentVehicle = row.original;
8495
+ const existingVendor = currentVehicle === null || currentVehicle === void 0 ? void 0 : currentVehicle.vendor;
8496
+ if (!(selectedVendor !== null && selectedVendor !== void 0 && selectedVendor.id) || (existingVendor === null || existingVendor === void 0 ? void 0 : existingVendor.id) === (selectedVendor === null || selectedVendor === void 0 ? void 0 : selectedVendor.id)) {
8497
+ return;
8498
+ }
8499
+ const vehicleForVendorMapping = {
8500
+ ...currentVehicle,
8501
+ vendorVehicleStatus: "ACTIVE",
8502
+ fillingPoint: null,
8503
+ driverData: null,
8504
+ driver: null
8505
+ };
8506
+ delete vehicleForVendorMapping.vendor;
8507
+ delete vehicleForVendorMapping.popup;
8508
+ delete vehicleForVendorMapping.driver;
8509
+ const addVehicleToSelectedVendor = () => {
8510
+ const selectedVendorVehicles = Array.isArray(selectedVendor === null || selectedVendor === void 0 ? void 0 : selectedVendor.vehicles) ? [...selectedVendor.vehicles] : [];
8511
+ const existingVehicleIndex = selectedVendorVehicles.findIndex(vehicle => (vehicle === null || vehicle === void 0 ? void 0 : vehicle.id) === (currentVehicle === null || currentVehicle === void 0 ? void 0 : currentVehicle.id));
8512
+ if (existingVehicleIndex > -1) {
8513
+ selectedVendorVehicles[existingVehicleIndex] = {
8514
+ ...selectedVendorVehicles[existingVehicleIndex],
8515
+ ...vehicleForVendorMapping,
8516
+ vendorVehicleStatus: "ACTIVE"
8517
+ };
8518
+ } else {
8519
+ selectedVendorVehicles.push(vehicleForVendorMapping);
8520
+ }
8521
+ const updatedSelectedVendor = {
8522
+ ...selectedVendor,
8523
+ vehicles: selectedVendorVehicles
8524
+ };
8525
+ mutateVendor(getVendorPayloadForVehicle(selectedVendor, selectedVendorVehicles), {
8526
+ onError: error => {
8527
+ setShowToast({
8528
+ key: "error",
8529
+ action: error
8530
+ });
8531
+ setTimeout(closeToast, 5000);
8532
+ },
8533
+ onSuccess: () => {
8534
+ updateVehicleRowState(currentVehicle === null || currentVehicle === void 0 ? void 0 : currentVehicle.id, {
8535
+ vendor: updatedSelectedVendor,
8536
+ fillingPoint: null,
8537
+ driverData: null,
8538
+ driver: null
8539
+ });
8540
+ setShowToast({
8541
+ key: "success",
8542
+ action: "VEHICLE"
8543
+ });
8544
+ queryClient.invalidateQueries("DSO_SEARCH");
8545
+ queryClient.invalidateQueries("FSM_VEICLES_SEARCH");
8546
+ props.refetchData();
8547
+ props.refetchVendor && props.refetchVendor();
8548
+ setTimeout(closeToast, 3000);
8549
+ }
8550
+ });
8551
+ };
8552
+ if (existingVendor !== null && existingVendor !== void 0 && existingVendor.id) {
8553
+ const existingVendorVehicles = Array.isArray(existingVendor === null || existingVendor === void 0 ? void 0 : existingVendor.vehicles) ? existingVendor.vehicles.map(vehicle => (vehicle === null || vehicle === void 0 ? void 0 : vehicle.id) === (currentVehicle === null || currentVehicle === void 0 ? void 0 : currentVehicle.id) ? {
8554
+ ...vehicle,
8555
+ vendorVehicleStatus: "INACTIVE"
8556
+ } : vehicle) : [];
8557
+ mutateVendor(getVendorPayloadForVehicle(existingVendor, existingVendorVehicles), {
8558
+ onError: error => {
8559
+ setShowToast({
8560
+ key: "error",
8561
+ action: error
8562
+ });
8563
+ setTimeout(closeToast, 5000);
8564
+ },
8565
+ onSuccess: addVehicleToSelectedVendor
8566
+ });
8567
+ return;
8568
+ }
8569
+ addVehicleToSelectedVendor();
8570
+ };
8401
8571
  const onDriverSelect = (row, selectedOption) => {
8402
8572
  const formData = getVehicleUpdatePayload(row.original, {
8403
8573
  driverData: selectedOption
@@ -8411,6 +8581,10 @@ const VendorInbox = props => {
8411
8581
  setTimeout(closeToast, 5000);
8412
8582
  },
8413
8583
  onSuccess: (data, variables) => {
8584
+ var _row$original2;
8585
+ updateVehicleRowState((_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.id, {
8586
+ driverData: selectedOption
8587
+ });
8414
8588
  setShowToast({
8415
8589
  key: "success",
8416
8590
  action: "VEHICLE"
@@ -8437,16 +8611,20 @@ const VendorInbox = props => {
8437
8611
  setTimeout(closeToast, 5000);
8438
8612
  },
8439
8613
  onSuccess: () => {
8440
- setTableData(currentTableData => currentTableData.map(vehicle => {
8441
- var _row$original2;
8442
- return (vehicle === null || vehicle === void 0 ? void 0 : vehicle.id) === ((_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.id) ? {
8443
- ...vehicle,
8444
- fillingPoint: {
8445
- ...selectedOption,
8446
- fillingStationId: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.fillingStationId) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.bookingId) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.uuid) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.fillingPointId)
8447
- }
8448
- } : vehicle;
8449
- }));
8614
+ var _row$original3;
8615
+ const mappedVendor = getSelectedVendorOption(row.original, vendors);
8616
+ const vendorDrivers = getVendorDriversForFillingPoint(mappedVendor, selectedOption);
8617
+ const selectedDriver = getSelectedDriverOption(row.original, vendorDrivers);
8618
+ updateVehicleRowState((_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.id, {
8619
+ fillingPoint: {
8620
+ ...selectedOption,
8621
+ fillingStationId: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.fillingStationId) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.bookingId) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.uuid) || (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.fillingPointId)
8622
+ },
8623
+ ...(selectedDriver ? {} : {
8624
+ driverData: null,
8625
+ driver: null
8626
+ })
8627
+ });
8450
8628
  setShowToast({
8451
8629
  key: "success",
8452
8630
  label: "Filling point mapped successfully"
@@ -8553,13 +8731,14 @@ const VendorInbox = props => {
8553
8731
  Cell: ({
8554
8732
  row
8555
8733
  }) => {
8556
- var _row$original3, _row$original3$auditD, _row$original4, _row$original4$auditD;
8557
- return GetCell((_row$original3 = row.original) !== null && _row$original3 !== void 0 && (_row$original3$auditD = _row$original3.auditDetails) !== null && _row$original3$auditD !== void 0 && _row$original3$auditD.createdTime ? Digit.DateUtils.ConvertEpochToDate((_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : (_row$original4$auditD = _row$original4.auditDetails) === null || _row$original4$auditD === void 0 ? void 0 : _row$original4$auditD.createdTime) : "");
8734
+ var _row$original4, _row$original4$auditD, _row$original5, _row$original5$auditD;
8735
+ return GetCell((_row$original4 = row.original) !== null && _row$original4 !== void 0 && (_row$original4$auditD = _row$original4.auditDetails) !== null && _row$original4$auditD !== void 0 && _row$original4$auditD.createdTime ? Digit.DateUtils.ConvertEpochToDate((_row$original5 = row.original) === null || _row$original5 === void 0 ? void 0 : (_row$original5$auditD = _row$original5.auditDetails) === null || _row$original5$auditD === void 0 ? void 0 : _row$original5$auditD.createdTime) : "");
8558
8736
  }
8559
8737
  }, {
8560
8738
  Header: t("WT_FILLING_POINT"),
8561
8739
  accessor: row => getFillingPointDisplayValue(row),
8562
8740
  id: "fillingPoint",
8741
+ minWidth: 250,
8563
8742
  Cell: ({
8564
8743
  row
8565
8744
  }) => {
@@ -8569,7 +8748,9 @@ const VendorInbox = props => {
8569
8748
  option: allFillingPoints,
8570
8749
  select: value => onFillingPointSelect(row, value),
8571
8750
  style: {
8572
- textAlign: "left"
8751
+ textAlign: "left",
8752
+ width: "100%",
8753
+ minWidth: "250px"
8573
8754
  },
8574
8755
  optionKey: "fillingPointName",
8575
8756
  t: t
@@ -8616,13 +8797,13 @@ const VendorInbox = props => {
8616
8797
  Cell: ({
8617
8798
  row
8618
8799
  }) => {
8619
- var _row$original5, _row$original5$dsoDet;
8800
+ var _row$original6, _row$original6$dsoDet;
8620
8801
  return /*#__PURE__*/React.createElement(ToggleSwitch, {
8621
8802
  style: {
8622
8803
  display: "flex",
8623
8804
  justifyContent: "left"
8624
8805
  },
8625
- value: ((_row$original5 = row.original) === null || _row$original5 === void 0 ? void 0 : (_row$original5$dsoDet = _row$original5.dsoDetails) === null || _row$original5$dsoDet === void 0 ? void 0 : _row$original5$dsoDet.status) === "DISABLED" ? false : true,
8806
+ value: ((_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : (_row$original6$dsoDet = _row$original6.dsoDetails) === null || _row$original6$dsoDet === void 0 ? void 0 : _row$original6$dsoDet.status) === "DISABLED" ? false : true,
8626
8807
  onChange: () => onVendorUpdate(row),
8627
8808
  name: `switch-${row.id}`
8628
8809
  });
@@ -8633,8 +8814,8 @@ const VendorInbox = props => {
8633
8814
  Cell: ({
8634
8815
  row
8635
8816
  }) => {
8636
- var _row$original6, _additionalVendorData;
8637
- const vendorId = (_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : _row$original6.id;
8817
+ var _row$original7, _additionalVendorData;
8818
+ const vendorId = (_row$original7 = row.original) === null || _row$original7 === void 0 ? void 0 : _row$original7.id;
8638
8819
  if (!additionalVendorData) {
8639
8820
  return /*#__PURE__*/React.createElement("span", null, "Loading...");
8640
8821
  }
@@ -8672,21 +8853,30 @@ const VendorInbox = props => {
8672
8853
  Cell: ({
8673
8854
  row
8674
8855
  }) => {
8675
- var _row$original7, _row$original7$auditD, _row$original8, _row$original8$auditD;
8676
- return GetCell((_row$original7 = row.original) !== null && _row$original7 !== void 0 && (_row$original7$auditD = _row$original7.auditDetails) !== null && _row$original7$auditD !== void 0 && _row$original7$auditD.createdTime ? Digit.DateUtils.ConvertEpochToDate((_row$original8 = row.original) === null || _row$original8 === void 0 ? void 0 : (_row$original8$auditD = _row$original8.auditDetails) === null || _row$original8$auditD === void 0 ? void 0 : _row$original8$auditD.createdTime) : "");
8856
+ var _row$original8, _row$original8$auditD, _row$original9, _row$original9$auditD;
8857
+ return GetCell((_row$original8 = row.original) !== null && _row$original8 !== void 0 && (_row$original8$auditD = _row$original8.auditDetails) !== null && _row$original8$auditD !== void 0 && _row$original8$auditD.createdTime ? Digit.DateUtils.ConvertEpochToDate((_row$original9 = row.original) === null || _row$original9 === void 0 ? void 0 : (_row$original9$auditD = _row$original9.auditDetails) === null || _row$original9$auditD === void 0 ? void 0 : _row$original9$auditD.createdTime) : "");
8677
8858
  }
8678
8859
  }, {
8679
- Header: t("ES_FSM_REGISTRY_INBOX_VENDOR_NAME"),
8680
- id: "vendorName",
8860
+ Header: "Map Vendor",
8861
+ id: "mapVendor",
8681
8862
  accessor: row => {
8682
- var _row$vendor;
8683
- return ((_row$vendor = row.vendor) === null || _row$vendor === void 0 ? void 0 : _row$vendor.name) || "NA";
8863
+ var _row$vendor2, _row$vendorData2;
8864
+ return ((_row$vendor2 = row.vendor) === null || _row$vendor2 === void 0 ? void 0 : _row$vendor2.name) || ((_row$vendorData2 = row.vendorData) === null || _row$vendorData2 === void 0 ? void 0 : _row$vendorData2.name) || "NA";
8684
8865
  },
8685
8866
  Cell: ({
8686
8867
  row
8687
8868
  }) => {
8688
- var _row$original9, _row$original9$vendor;
8689
- return GetCell(((_row$original9 = row.original) === null || _row$original9 === void 0 ? void 0 : (_row$original9$vendor = _row$original9.vendor) === null || _row$original9$vendor === void 0 ? void 0 : _row$original9$vendor.name) || "NA");
8869
+ return /*#__PURE__*/React.createElement(Dropdown$2, {
8870
+ className: "fsm-registry-dropdown",
8871
+ selected: getSelectedVendorOption(row.original, vendors),
8872
+ option: vendors,
8873
+ select: value => onVehicleVendorSelect(row, value),
8874
+ style: {
8875
+ textAlign: "left"
8876
+ },
8877
+ optionKey: "name",
8878
+ t: t
8879
+ });
8690
8880
  }
8691
8881
  }, {
8692
8882
  Header: t("ES_VENDOR_INBOX_SERVICE_TYPE"),
@@ -8723,44 +8913,54 @@ const VendorInbox = props => {
8723
8913
  Header: t("WT_FILLING_POINT"),
8724
8914
  accessor: row => getFillingPointDisplayValue(row),
8725
8915
  id: "fillingPoint",
8916
+ minWidth: 250,
8726
8917
  Cell: ({
8727
8918
  row
8728
8919
  }) => {
8920
+ const selectedVendor = getSelectedVendorOption(row.original, vendors);
8921
+ const vendorFillingPoints = getVendorFillingPoints(selectedVendor);
8729
8922
  return /*#__PURE__*/React.createElement(Dropdown$2, {
8730
8923
  className: "fsm-registry-dropdown",
8731
- selected: getSelectedFillingPointOption(row.original, allFillingPoints),
8732
- option: allFillingPoints,
8924
+ selected: getSelectedFillingPointOption(row.original, vendorFillingPoints),
8925
+ option: vendorFillingPoints,
8733
8926
  select: value => onVehicleFillingPointSelect(row, value),
8734
8927
  style: {
8735
- textAlign: "left"
8928
+ textAlign: "left",
8929
+ width: "100%",
8930
+ minWidth: "250px"
8736
8931
  },
8737
8932
  optionKey: "fillingPointName",
8738
- t: t
8933
+ t: t,
8934
+ disable: !selectedVendor || !vendorFillingPoints.length
8739
8935
  });
8740
8936
  }
8741
8937
  }, {
8742
8938
  Header: t("ES_FSM_REGISTRY_SELECT_DRIVER"),
8743
8939
  id: "driver",
8744
8940
  accessor: row => {
8745
- var _row$driverData, _row$driver;
8746
- return ((_row$driverData = row.driverData) === null || _row$driverData === void 0 ? void 0 : _row$driverData.name) || ((_row$driver = row.driver) === null || _row$driver === void 0 ? void 0 : _row$driver.name) || "NA";
8941
+ var _row$driverData2, _row$driver2;
8942
+ return ((_row$driverData2 = row.driverData) === null || _row$driverData2 === void 0 ? void 0 : _row$driverData2.name) || ((_row$driver2 = row.driver) === null || _row$driver2 === void 0 ? void 0 : _row$driver2.name) || "NA";
8747
8943
  },
8944
+ minWidth: 250,
8748
8945
  Cell: ({
8749
8946
  row
8750
8947
  }) => {
8948
+ const selectedVendor = getSelectedVendorOption(row.original, vendors);
8949
+ const selectedFillingPoint = getSelectedFillingPointOption(row.original, getVendorFillingPoints(selectedVendor));
8950
+ const availableDrivers = getVendorDriversForFillingPoint(selectedVendor, selectedFillingPoint);
8751
8951
  return /*#__PURE__*/React.createElement(Dropdown$2, {
8752
8952
  className: "fsm-registry-dropdown",
8753
- selected: (drivers === null || drivers === void 0 ? void 0 : drivers.find(driver => {
8754
- var _row$original$driverD, _row$original$driver;
8755
- return (((_row$original$driverD = row.original.driverData) === null || _row$original$driverD === void 0 ? void 0 : _row$original$driverD.id) || ((_row$original$driver = row.original.driver) === null || _row$original$driver === void 0 ? void 0 : _row$original$driver.id)) === driver.id;
8756
- })) || row.original.driverData || row.original.driver,
8757
- option: drivers,
8953
+ selected: getSelectedDriverOption(row.original, availableDrivers),
8954
+ option: availableDrivers,
8758
8955
  select: value => onDriverSelect(row, value),
8759
8956
  optionKey: "name",
8760
8957
  t: t,
8761
8958
  style: {
8762
- textAlign: "left"
8763
- }
8959
+ textAlign: "left",
8960
+ width: "100%",
8961
+ minWidth: "250px"
8962
+ },
8963
+ disable: !selectedFillingPoint || !availableDrivers.length
8764
8964
  });
8765
8965
  }
8766
8966
  }, {
@@ -8825,9 +9025,10 @@ const VendorInbox = props => {
8825
9025
  Header: t("ES_FSM_REGISTRY_INBOX_VENDOR_NAME"),
8826
9026
  id: "vendorName",
8827
9027
  accessor: row => {
8828
- var _row$vendorData, _row$vendor2;
8829
- return ((_row$vendorData = row.vendorData) === null || _row$vendorData === void 0 ? void 0 : _row$vendorData.name) || ((_row$vendor2 = row.vendor) === null || _row$vendor2 === void 0 ? void 0 : _row$vendor2.name) || "NA";
9028
+ var _row$vendorData3, _row$vendor3;
9029
+ return ((_row$vendorData3 = row.vendorData) === null || _row$vendorData3 === void 0 ? void 0 : _row$vendorData3.name) || ((_row$vendor3 = row.vendor) === null || _row$vendor3 === void 0 ? void 0 : _row$vendor3.name) || "NA";
8830
9030
  },
9031
+ minWidth: 250,
8831
9032
  Cell: ({
8832
9033
  row
8833
9034
  }) => {
@@ -8840,7 +9041,9 @@ const VendorInbox = props => {
8840
9041
  option: vendors,
8841
9042
  select: value => onVendorSelect(row, value),
8842
9043
  style: {
8843
- textAlign: "left"
9044
+ textAlign: "left",
9045
+ width: "100%",
9046
+ minWidth: "250px"
8844
9047
  },
8845
9048
  optionKey: "name",
8846
9049
  t: t
@@ -8911,10 +9114,10 @@ const VendorInbox = props => {
8911
9114
  return row !== null && row !== void 0 && (_row$auditDetails3 = row.auditDetails) !== null && _row$auditDetails3 !== void 0 && _row$auditDetails3.createdTime ? Digit.DateUtils.ConvertEpochToDate(row === null || row === void 0 ? void 0 : (_row$auditDetails4 = row.auditDetails) === null || _row$auditDetails4 === void 0 ? void 0 : _row$auditDetails4.createdTime) : "";
8912
9115
  }
8913
9116
  }, {
8914
- Header: t("ES_FSM_REGISTRY_INBOX_VENDOR_NAME"),
9117
+ Header: "Map Vendor",
8915
9118
  exportAccessor: row => {
8916
- var _row$vendor3;
8917
- return (row === null || row === void 0 ? void 0 : (_row$vendor3 = row.vendor) === null || _row$vendor3 === void 0 ? void 0 : _row$vendor3.name) || "NA";
9119
+ var _row$vendor4, _row$vendorData4;
9120
+ return (row === null || row === void 0 ? void 0 : (_row$vendor4 = row.vendor) === null || _row$vendor4 === void 0 ? void 0 : _row$vendor4.name) || (row === null || row === void 0 ? void 0 : (_row$vendorData4 = row.vendorData) === null || _row$vendorData4 === void 0 ? void 0 : _row$vendorData4.name) || "NA";
8918
9121
  }
8919
9122
  }, {
8920
9123
  Header: t("ES_VENDOR_INBOX_SERVICE_TYPE"),
@@ -8928,8 +9131,8 @@ const VendorInbox = props => {
8928
9131
  }, {
8929
9132
  Header: t("ES_FSM_REGISTRY_SELECT_DRIVER"),
8930
9133
  exportAccessor: row => {
8931
- var _row$driverData2, _row$driver2;
8932
- return (row === null || row === void 0 ? void 0 : (_row$driverData2 = row.driverData) === null || _row$driverData2 === void 0 ? void 0 : _row$driverData2.name) || (row === null || row === void 0 ? void 0 : (_row$driver2 = row.driver) === null || _row$driver2 === void 0 ? void 0 : _row$driver2.name) || "NA";
9134
+ var _row$driverData3, _row$driver3;
9135
+ return (row === null || row === void 0 ? void 0 : (_row$driverData3 = row.driverData) === null || _row$driverData3 === void 0 ? void 0 : _row$driverData3.name) || (row === null || row === void 0 ? void 0 : (_row$driver3 = row.driver) === null || _row$driver3 === void 0 ? void 0 : _row$driver3.name) || "NA";
8933
9136
  }
8934
9137
  }, {
8935
9138
  Header: t("ES_FSM_REGISTRY_INBOX_ENABLED"),
@@ -8954,8 +9157,8 @@ const VendorInbox = props => {
8954
9157
  }, {
8955
9158
  Header: t("ES_FSM_REGISTRY_INBOX_VENDOR_NAME"),
8956
9159
  exportAccessor: row => {
8957
- var _row$vendorData2, _row$vendor4;
8958
- return (row === null || row === void 0 ? void 0 : (_row$vendorData2 = row.vendorData) === null || _row$vendorData2 === void 0 ? void 0 : _row$vendorData2.name) || (row === null || row === void 0 ? void 0 : (_row$vendor4 = row.vendor) === null || _row$vendor4 === void 0 ? void 0 : _row$vendor4.name) || "NA";
9160
+ var _row$vendorData5, _row$vendor5;
9161
+ return (row === null || row === void 0 ? void 0 : (_row$vendorData5 = row.vendorData) === null || _row$vendorData5 === void 0 ? void 0 : _row$vendorData5.name) || (row === null || row === void 0 ? void 0 : (_row$vendor5 = row.vendor) === null || _row$vendor5 === void 0 ? void 0 : _row$vendor5.name) || "NA";
8959
9162
  }
8960
9163
  }, {
8961
9164
  Header: t("ES_FSM_REGISTRY_INBOX_ENABLED"),