Skip to content

Commit

Permalink
front: filter fetched towed rolling stocks to include only allowed va…
Browse files Browse the repository at this point in the history
…lues

Signed-off-by: Achraf Mohyeddine <[email protected]>
  • Loading branch information
achrafmohye committed Jan 8, 2025
1 parent 2d1a142 commit d030951
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ const StdcmConfig = ({
/>
<div className="stdcm-simulation-inputs">
<div className="stdcm-consist-container">
<StdcmConsist disabled={disabled} />
<StdcmConsist disabled={disabled} isDebugMode={isDebugMode} />
</div>
<div className="stdcm__separator" />
<div ref={formRef} className="stdcm-simulation-itinerary">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import { useAppDispatch } from 'store';

import StdcmCard from './StdcmCard';
import useStdcmConsist from '../../hooks/useStdcmConsist';
import type { StdcmConfigCardProps } from '../../types';

const ConsistCardTitle = ({
rollingStock,
Expand All @@ -33,7 +32,12 @@ const ConsistCardTitle = ({
);
};

const StdcmConsist = ({ disabled = false }: StdcmConfigCardProps) => {
export type StdcmConsistProps = {
isDebugMode: boolean;
disabled?: boolean;
};

const StdcmConsist = ({ isDebugMode, disabled = false }: StdcmConsistProps) => {
const { t } = useTranslation('stdcm');
const { speedLimitByTag, speedLimitsByTags, dispatchUpdateSpeedLimitByTag } =
useStoreDataForSpeedLimitByTagSelector({ isStdcm: true });
Expand Down Expand Up @@ -63,7 +67,7 @@ const StdcmConsist = ({ disabled = false }: StdcmConfigCardProps) => {
searchTowedRollingStock,
searchTowedRollingStockById,
filters: towedRsFilters,
} = useFilterTowedRollingStock();
} = useFilterTowedRollingStock({ isDebugMode });

useEffect(() => {
if (towedRollingStock) {
Expand Down
18 changes: 16 additions & 2 deletions front/src/assets/rollingStock/freightRollingStocks.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const FREIGHT_ROLLING_STOCKS = [
export const FREIGHT_ROLLING_STOCKS = [
'7200GH',
'15000',
'22200G',
Expand Down Expand Up @@ -110,4 +110,18 @@ const FREIGHT_ROLLING_STOCKS = [
'electric_rolling_stock_test_e2e',
];

export default FREIGHT_ROLLING_STOCKS;
export const ALLOWED_TOWED_ROLLING_STOCKS = [
'AFAMOD',
'AFAMOD2',
'MA',
'MAL100',
'MALOUR',
'MAVIDE',
'ME100',
'ME120',
'ME140',
'ME200SER',
'MEPA',
'TRAINLOC',
'TOWED-TEST-E2E',
];
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useState, useEffect, useMemo } from 'react';

import FREIGHT_ROLLING_STOCKS from 'assets/rollingStock/freightRollingStocks';
import { FREIGHT_ROLLING_STOCKS } from 'assets/rollingStock/freightRollingStocks';
import { osrdEditoastApi } from 'common/api/osrdEditoastApi';
import type { LightRollingStock, LightRollingStockWithLiveries } from 'common/api/osrdEditoastApi';
import { setFailure } from 'reducers/main';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { useEffect, useState } from 'react';
import { useEffect, useMemo, useState } from 'react';

import { isEqual } from 'lodash';

import { ALLOWED_TOWED_ROLLING_STOCKS } from 'assets/rollingStock/freightRollingStocks';
import { osrdEditoastApi, type TowedRollingStock } from 'common/api/osrdEditoastApi';
import { setFailure } from 'reducers/main';
import { useAppDispatch } from 'store';
Expand Down Expand Up @@ -32,22 +33,31 @@ function filterTowedRollingStocks(
});
}

const useFilterTowedRollingStock = () => {
const useFilterTowedRollingStock = ({ isDebugMode }: { isDebugMode: boolean }) => {
const dispatch = useAppDispatch();
const [filters, setFilters] = useState<TowedRollingStockFilters>({ text: '' });
const [filteredTowedRollingStockList, setFilteredTowedRollingStockList] = useState<
TowedRollingStock[]
>([]);

const {
data: { results: allTowedRollingStocks } = { results: [] },
data: { results: fetchedTowedRollingStocks } = { results: [] },
isSuccess,
isError,
error,
} = osrdEditoastApi.endpoints.getTowedRollingStock.useQuery({
pageSize: 50,
});

const allTowedRollingStocks = useMemo(() => {
if (!isDebugMode) {
return fetchedTowedRollingStocks.filter((stock) =>
ALLOWED_TOWED_ROLLING_STOCKS.includes(stock.name)
);
}
return fetchedTowedRollingStocks;
}, [fetchedTowedRollingStocks, isDebugMode]);

const searchTowedRollingStock = (value: string) => {
setFilters({ id: undefined, text: value });
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "Towed-test-e2e",
"name": "TOWED-TEST-E2E",
"label": "",
"railjson_version": "3.2",
"locked": true,
Expand Down

0 comments on commit d030951

Please sign in to comment.