diff --git a/src/components/Fleets/Status/Vehicles/Table/__snapshots__/index.test.jsx.snap b/src/components/Fleets/Status/Vehicles/Table/__snapshots__/index.test.jsx.snap
index 5b065c6..4511aac 100644
--- a/src/components/Fleets/Status/Vehicles/Table/__snapshots__/index.test.jsx.snap
+++ b/src/components/Fleets/Status/Vehicles/Table/__snapshots__/index.test.jsx.snap
@@ -21,10 +21,9 @@ exports[`FleetVehiclesTable Render 1`] = `
class="MuiGrid-root makeStyles-root-0 MuiGrid-container MuiGrid-spacing-xs-2"
>
+
+
+
+
+
+
+
+
+
+ |
{
const [order, setOrder] = useState("desc");
const [search, setSearch] = useState("");
const [showDeleteModal, setShowDeleteModal] = useState(false);
+ const [selected, setSelected] = useState([]);
const classes = useStyles();
const { setMessage } = useStatusContext();
const {
@@ -135,6 +138,19 @@ const MainForm = ({ name }) => {
}
};
+ const handleSelect = (vin, setState) => {
+ setSelected(selected => setState
+ ? [...selected, vin]
+ : selected.filter(select => select !== vin));
+ };
+
+ const handleSelectAll = (event) => {
+ const allSelected = !event.target.checked;
+ setSelected(() => allSelected
+ ? []
+ : fleetVehicles.map((vehicle) => vehicle.vin));
+ }
+
const onDelete = async (vin) => {
try {
await deleteFleetVehicle(name, { vin: vin }, token);
@@ -188,14 +204,14 @@ const MainForm = ({ name }) => {
return (
-
-
+
+
+
+
+
@@ -207,10 +223,21 @@ const MainForm = ({ name }) => {
order={order}
columnData={tableColumns}
onSortRequest={handleSort}
+ multiSelect={true}
+ onSelectAll={handleSelectAll}
+ selectCount={selected.length}
+ rowCount={fleetVehicles.length}
/>
- {fleetVehicles && fleetVehicles.map((car) => (
- (car.vin &&
+ {fleetVehicles && fleetVehicles.map((car) => {
+ const isSelected = selected.includes(car.vin);
+ return (car.vin &&
+
+ handleSelect(car.vin, !isSelected)}
+ />
+
{(car.connected || car.connectedHMI) &&
{
{Actions(car.vin)}
)
- ))}
+ })}
diff --git a/src/components/Fleets/Status/__snapshots__/VehiclesTab.test.jsx.snap b/src/components/Fleets/Status/__snapshots__/VehiclesTab.test.jsx.snap
index c45ef81..54bf98f 100644
--- a/src/components/Fleets/Status/__snapshots__/VehiclesTab.test.jsx.snap
+++ b/src/components/Fleets/Status/__snapshots__/VehiclesTab.test.jsx.snap
@@ -20,10 +20,9 @@ exports[`VehiclesTab Render 1`] = `
class="MuiGrid-root makeStyles-root-0 MuiGrid-container MuiGrid-spacing-xs-2"
>
+
|