Skip to content

Commit adee9dc

Browse files
committed
front: refacto infras list component in tsx
1 parent 9a17660 commit adee9dc

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

front/src/common/InfraSelector/InfraSelectorModalBodyStandard.jsx front/src/common/InfraSelector/InfraSelectorModalBodyStandard.tsx

+26-21
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React, { useContext } from 'react';
2-
import PropTypes from 'prop-types';
32
import nextId from 'react-id-generator';
43
import { FaLock } from 'react-icons/fa';
54
import InputSNCF from 'common/BootstrapSNCF/InputSNCF';
@@ -8,21 +7,41 @@ import { getInfraID } from 'reducers/osrdconf/selectors';
87
import { updateInfraID, deleteItinerary } from 'reducers/osrdconf';
98
import { useTranslation } from 'react-i18next';
109
import { ModalContext } from 'common/BootstrapSNCF/ModalSNCF/ModalProvider';
10+
import { Infra } from 'common/api/osrdEditoastApi';
11+
12+
type InfraSelectorModalBodyStandardProps = {
13+
filter: string;
14+
setFilter: (filterInput: string) => void;
15+
infrasList: Infra[];
16+
onlySelectionMode: boolean;
17+
onInfraChange?: (infraId: number) => void;
18+
};
1119

1220
// Test coherence between actual & generated version, eg. if editoast is up to date with data
13-
export function editoastUpToDateIndicator(v, genv) {
14-
return <span className={`ml-1 text-${v === genv ? 'success' : 'danger'}`}></span>;
21+
export function editoastUpToDateIndicator(
22+
infraVersion: string,
23+
infraGeneratedVersion: string | null
24+
) {
25+
return (
26+
<span className={`ml-1 text-${infraVersion === infraGeneratedVersion ? 'success' : 'danger'}`}>
27+
28+
</span>
29+
);
1530
}
1631

17-
export default function InfraSelectorModalBodyStandard(props) {
18-
const { infrasList, filter, setFilter, onlySelectionMode, onInfraChange } = props;
19-
32+
export default function InfraSelectorModalBodyStandard({
33+
filter = '',
34+
setFilter,
35+
infrasList,
36+
onlySelectionMode = false,
37+
onInfraChange,
38+
}: InfraSelectorModalBodyStandardProps) {
2039
const { t } = useTranslation(['translation', 'infraManagement']);
2140
const dispatch = useDispatch();
2241
const infraID = useSelector(getInfraID);
2342
const { closeModal } = useContext(ModalContext);
2443

25-
function setInfraID(id) {
44+
function setInfraID(id: number) {
2645
dispatch(updateInfraID(id));
2746
if (onInfraChange) onInfraChange(id);
2847
dispatch(deleteItinerary());
@@ -83,17 +102,3 @@ export default function InfraSelectorModalBodyStandard(props) {
83102
</>
84103
);
85104
}
86-
87-
InfraSelectorModalBodyStandard.defaultProps = {
88-
filter: '',
89-
onlySelectionMode: false,
90-
onInfraChange: undefined,
91-
};
92-
93-
InfraSelectorModalBodyStandard.propTypes = {
94-
filter: PropTypes.string,
95-
infrasList: PropTypes.array.isRequired,
96-
setFilter: PropTypes.func.isRequired,
97-
onlySelectionMode: PropTypes.bool,
98-
onInfraChange: PropTypes.func,
99-
};

0 commit comments

Comments
 (0)