feat: filter route by city_id
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { DataGrid, GridColDef, GridRenderCellParams } from "@mui/x-data-grid";
|
import { DataGrid, GridColDef, GridRenderCellParams } from "@mui/x-data-grid";
|
||||||
import { ruRU } from "@mui/x-data-grid/locales";
|
import { ruRU } from "@mui/x-data-grid/locales";
|
||||||
import { authStore, carrierStore, languageStore, routeStore } from "@shared";
|
import { authStore, carrierStore, languageStore, routeStore, selectedCityStore } from "@shared";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { observer } from "mobx-react-lite";
|
import { observer } from "mobx-react-lite";
|
||||||
import { Map, Pencil, Trash2, Minus } from "lucide-react";
|
import { Map, Pencil, Trash2, Minus } from "lucide-react";
|
||||||
@@ -146,7 +146,20 @@ export const RouteListPage = observer(() => {
|
|||||||
}] : []),
|
}] : []),
|
||||||
];
|
];
|
||||||
|
|
||||||
const rows = routes.data.map((route) => ({
|
const filteredRoutes = () => {
|
||||||
|
const { selectedCityId } = selectedCityStore;
|
||||||
|
if (!selectedCityId) {
|
||||||
|
return routes.data;
|
||||||
|
}
|
||||||
|
const cityCarrierIds = new Set(
|
||||||
|
carriers["ru"].data
|
||||||
|
.filter((c) => c.city_id === selectedCityId)
|
||||||
|
.map((c) => c.id)
|
||||||
|
);
|
||||||
|
return routes.data.filter((route) => cityCarrierIds.has(route.carrier_id));
|
||||||
|
};
|
||||||
|
|
||||||
|
const rows = filteredRoutes().map((route) => ({
|
||||||
id: route.id,
|
id: route.id,
|
||||||
carrier_id: route.carrier_id,
|
carrier_id: route.carrier_id,
|
||||||
route_number: route.route_number,
|
route_number: route.route_number,
|
||||||
|
|||||||
Reference in New Issue
Block a user