Skip to content

Commit 9777b4b

Browse files
committed
front: filter fetched towed rolling stocks to include only allowed values
Signed-off-by: Achraf Mohyeddine <[email protected]>
1 parent 2d1a142 commit 9777b4b

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

front/src/applications/stdcm/consts.ts

+15
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,18 @@ export const COMPOSITION_CODES_MAX_SPEEDS: Record<string, number | undefined> =
3232
HLP: 100,
3333
MVGV: 200,
3434
};
35+
36+
export const ALLOWED_TOWED_ROLLING_STOCKS = [
37+
'AFAMOD',
38+
'AFAMOD2',
39+
'MA',
40+
'MAL100',
41+
'MALOUR',
42+
'MAVIDE',
43+
'ME100',
44+
'ME120',
45+
'ME140',
46+
'ME200SER',
47+
'MEPA',
48+
'TRAINLOC',
49+
];

front/src/modules/towedRollingStock/hooks/useFilterTowedRollingStock.ts

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { useEffect, useState } from 'react';
1+
import { useEffect, useMemo, useState } from 'react';
22

33
import { isEqual } from 'lodash';
44

5+
import { ALLOWED_TOWED_ROLLING_STOCKS } from 'applications/stdcm/consts';
56
import { osrdEditoastApi, type TowedRollingStock } from 'common/api/osrdEditoastApi';
67
import { setFailure } from 'reducers/main';
78
import { useAppDispatch } from 'store';
@@ -40,14 +41,22 @@ const useFilterTowedRollingStock = () => {
4041
>([]);
4142

4243
const {
43-
data: { results: allTowedRollingStocks } = { results: [] },
44+
data: { results: fetchedTowedRollingStocks } = { results: [] },
4445
isSuccess,
4546
isError,
4647
error,
4748
} = osrdEditoastApi.endpoints.getTowedRollingStock.useQuery({
4849
pageSize: 50,
4950
});
5051

52+
const allTowedRollingStocks = useMemo(
53+
() =>
54+
fetchedTowedRollingStocks.filter((stock) =>
55+
ALLOWED_TOWED_ROLLING_STOCKS.includes(stock.name)
56+
),
57+
[fetchedTowedRollingStocks]
58+
);
59+
5160
const searchTowedRollingStock = (value: string) => {
5261
setFilters({ id: undefined, text: value });
5362
};

0 commit comments

Comments
 (0)