dev-jaanvi #1
|
@ -57,7 +57,6 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
setValue,
|
setValue,
|
||||||
reset,
|
reset,
|
||||||
watch,
|
|
||||||
formState: { errors },
|
formState: { errors },
|
||||||
} = useForm<FormData>({
|
} = useForm<FormData>({
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
|
@ -82,22 +81,42 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
dispatch(fetchVehicleBrands());
|
dispatch(fetchVehicleBrands());
|
||||||
dispatch(vehicleList()); // Fetch vehicles when the component mounts
|
dispatch(vehicleList());
|
||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (editRow) {
|
if (editRow) {
|
||||||
|
// Determine the brand based on the first vehicle's company
|
||||||
|
const firstVehicle = vehicles.find(
|
||||||
|
(vehicle) => editRow.allowedCarIds &&
|
||||||
|
editRow.allowedCarIds.includes(vehicle.name)
|
||||||
|
);
|
||||||
|
|
||||||
|
const brandId = firstVehicle ? firstVehicle.company : "";
|
||||||
|
setSelectedBrand(brandId);
|
||||||
|
|
||||||
|
// Populate selected vehicles
|
||||||
|
const vehicleNames = vehicles
|
||||||
|
.filter((vehicle) =>
|
||||||
|
editRow.allowedCarIds &&
|
||||||
|
editRow.allowedCarIds.includes(vehicle.name)
|
||||||
|
)
|
||||||
|
.map((vehicle) => vehicle.name);
|
||||||
|
|
||||||
|
setSelectedVehicles(vehicleNames);
|
||||||
|
|
||||||
|
// Set form values
|
||||||
setValue("name", editRow.name);
|
setValue("name", editRow.name);
|
||||||
setValue("registeredAddress", editRow.registeredAddress);
|
setValue("registeredAddress", editRow.registeredAddress);
|
||||||
setValue("totalSlots", editRow.totalSlots);
|
setValue("totalSlots", editRow.totalSlots);
|
||||||
setValue("status", editRow.status);
|
setValue("status", editRow.status);
|
||||||
setValue("allowedCarIds", editRow.allowedCarIds || []);
|
setValue("allowedCarIds", vehicleNames);
|
||||||
setSelectedVehicles(editRow.allowedCarIds || []);
|
|
||||||
} else {
|
} else {
|
||||||
reset();
|
reset();
|
||||||
|
setSelectedBrand("");
|
||||||
|
setSelectedVehicles([]);
|
||||||
}
|
}
|
||||||
}, [editRow, setValue, reset]);
|
}, [editRow, vehicles, setValue, reset]);
|
||||||
|
|
||||||
|
|
||||||
const filteredVehicles = vehicles.filter(
|
const filteredVehicles = vehicles.filter(
|
||||||
(vehicle) => vehicle.company === selectedBrand
|
(vehicle) => vehicle.company === selectedBrand
|
||||||
|
@ -108,7 +127,7 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
|
||||||
) => {
|
) => {
|
||||||
const value = event.target.value as string[];
|
const value = event.target.value as string[];
|
||||||
setSelectedVehicles(value);
|
setSelectedVehicles(value);
|
||||||
setValue("allowedCarIds", value); // Update allowedCarIds in form state
|
setValue("allowedCarIds", value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onSubmit = (data: FormData) => {
|
const onSubmit = (data: FormData) => {
|
||||||
|
@ -125,8 +144,8 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
|
||||||
);
|
);
|
||||||
handleClose();
|
handleClose();
|
||||||
reset();
|
reset();
|
||||||
setSelectedBrand(""); // Reset brand after submit
|
setSelectedBrand("");
|
||||||
setSelectedVehicles([]); // Reset selected vehicles
|
setSelectedVehicles([]);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
Loading…
Reference in a new issue