fix: fix bug with stations in the route

This commit is contained in:
2026-02-04 20:29:09 +03:00
parent 58abe15ec4
commit 8fe6505249
4 changed files with 75 additions and 72 deletions

View File

@@ -162,7 +162,10 @@ const LinkedItemsContentsInner = <
const filteredAvailableItems = availableItems.filter((item) => {
if (!searchQuery.trim()) return true;
return String(item.name).toLowerCase().includes(searchQuery.toLowerCase());
const query = searchQuery.toLowerCase();
const name = String(item.name || "").toLowerCase();
const description = String(item.description || "").toLowerCase();
return name.includes(query) || description.includes(query);
});
useEffect(() => {
@@ -206,12 +209,11 @@ const LinkedItemsContentsInner = <
authInstance
.post(`/${parentResource}/${parentId}/${childResource}`, {
stations: reorderedItems.map((item) => {
const stationData: any = { id: item.id };
const transfers = getStationTransfers(item.id, item.transfers);
if (transfers) {
stationData.transfers = transfers;
}
return stationData;
return {
...item,
transfers: transfers || item.transfers,
};
}),
})
.catch((error) => {
@@ -263,24 +265,23 @@ const LinkedItemsContentsInner = <
const requestData = {
stations: insertAtPosition(
linkedItems.map((item) => {
const stationData: any = { id: item.id };
const transfers = getStationTransfers(item.id, item.transfers);
if (transfers) {
stationData.transfers = transfers;
}
return stationData;
return {
...item,
transfers: transfers || item.transfers,
};
}),
position,
(() => {
const newStationData: any = { id: selectedItemId };
if (!selectedItem) return { id: selectedItemId };
const transfers = getStationTransfers(
selectedItemId,
selectedItem?.transfers
selectedItem.transfers
);
if (transfers) {
newStationData.transfers = transfers;
}
return newStationData;
return {
...selectedItem,
transfers: transfers || selectedItem.transfers,
};
})()
),
};
@@ -365,22 +366,21 @@ const LinkedItemsContentsInner = <
setIsLinkingBulk(true);
const selectedStations = Array.from(selectedItems).map((id) => {
const item = allItems.find((item) => item.id === id);
const stationData: any = { id };
const transfers = getStationTransfers(id, item?.transfers);
if (transfers) {
stationData.transfers = transfers;
}
return stationData;
if (!item) return { id };
const transfers = getStationTransfers(id, item.transfers);
return {
...item,
transfers: transfers || item.transfers,
};
});
const requestData = {
stations: [
...linkedItems.map((item) => {
const stationData: any = { id: item.id };
const transfers = getStationTransfers(item.id, item.transfers);
if (transfers) {
stationData.transfers = transfers;
}
return stationData;
return {
...item,
transfers: transfers || item.transfers,
};
}),
...selectedStations,
],