Skip to content

Commit 762a378

Browse files
committed
to fixup for Paul
1 parent d40c402 commit 762a378

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

front/src/common/Pathfinding/TypeAndPath.tsx

+6-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
SearchResultItemOperationalPoint,
66
osrdEditoastApi,
77
} from 'common/api/osrdEditoastApi';
8-
import React, { useEffect, useState } from 'react';
8+
import React, { useEffect, useMemo, useState } from 'react';
99
import { useTranslation } from 'react-i18next';
1010
import { useDispatch, useSelector } from 'react-redux';
1111
import { getInfraID, getRollingStockID } from 'reducers/osrdconf/selectors';
@@ -52,24 +52,23 @@ function OpTooltips({ opList }: { opList: SearchResultItemOperationalPoint[] })
5252

5353
export default function TypeAndPath({ zoomToFeature }: PathfindingProps) {
5454
const dispatch = useDispatch();
55-
const [inputText, setInputText] = useState<string>('');
55+
const [inputText, setInputText] = useState('');
5656
const [opList, setOpList] = useState<SearchResultItemOperationalPoint[]>([]);
5757
const infraId = useSelector(getInfraID);
5858
const rollingStockId = useSelector(getRollingStockID);
59-
const [postSearch] = osrdEditoastApi.usePostSearchMutation();
59+
const [postSearch] = osrdEditoastApi.endpoints.postSearch.useMutation();
6060
const [postPathfinding] = osrdEditoastApi.usePostPathfindingMutation();
6161
const { t } = useTranslation('operationalStudies/manageTrainSchedule');
6262

6363
const debouncedInputText = useDebounce(inputText.trimEnd(), 500);
6464

6565
const handleInput = (text: string) => {
66-
// setInputText(text.trimStart().toUpperCase());
6766
setInputText(text.trimStart());
6867
};
6968

7069
function getOpNames() {
7170
if (infraId !== undefined) {
72-
const opTrigrams = inputText.toUpperCase().split(' ');
71+
const opTrigrams = inputText.toUpperCase().trimEnd().split(' ');
7372
const constraint = opTrigrams.reduce(
7473
(res, trigram) => [...res, ['=', ['trigram'], trigram]],
7574
['or'] as (string | SearchConstraintType)[]
@@ -100,7 +99,7 @@ export default function TypeAndPath({ zoomToFeature }: PathfindingProps) {
10099
}
101100
}
102101

103-
const isInvalid = !opList.every((op) => op.name || op.trigram === '');
102+
const isInvalid = useMemo(() => opList.some((op) => !op.name && op.trigram !== ''), [opList]);
104103

105104
function launchPathFinding() {
106105
if (infraId && rollingStockId && opList.length > 0) {
@@ -169,7 +168,7 @@ export default function TypeAndPath({ zoomToFeature }: PathfindingProps) {
169168
className="btn btn-sm btn-success"
170169
type="button"
171170
onClick={launchPathFinding}
172-
disabled={isInvalid}
171+
disabled={isInvalid || opList.length < 2}
173172
>
174173
<GoTriangleRight />
175174
</button>

0 commit comments

Comments
 (0)