dev-jaanvi #1

Open
jaanvi wants to merge 155 commits from dev-jaanvi into main
Showing only changes of commit 09af9aae10 - Show all commits

View file

@ -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 (
@ -388,7 +407,7 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
color: "white", color: "white",
borderRadius: "8px", borderRadius: "8px",
width: "117px", width: "117px",
"&:hover": { backgroundColor: "#439BC1" }, "&:hover": { backgroundColor: "#439BC1" },
}} }}
> >
Update Station Update Station
@ -399,4 +418,4 @@ const EditStationModal: React.FC<EditStationModalProps> = ({
); );
}; };
export default EditStationModal; export default EditStationModal;