Skip to content

Commit a4049fa

Browse files
committed
front: group all infra object layers in a single component
Signed-off-by: Clara Ni <clara.ni@outlook.fr>
1 parent 747a70f commit a4049fa

File tree

5 files changed

+116
-296
lines changed

5 files changed

+116
-296
lines changed

front/src/applications/referenceMap/Map.tsx

+3-75
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,21 @@ import type { MapRef } from 'react-map-gl/maplibre';
66
import { useSelector } from 'react-redux';
77
import { useParams } from 'react-router-dom';
88

9-
/* Main data & layers */
10-
/* Settings & Buttons */
119
import MapButtons from 'common/Map/Buttons/MapButtons';
1210
import { CUSTOM_ATTRIBUTION } from 'common/Map/const';
1311
import colors from 'common/Map/Consts/colors';
1412
import Background from 'common/Map/Layers/Background';
1513
import { useMapBlankStyle } from 'common/Map/Layers/blankStyle';
16-
import BufferStops from 'common/Map/Layers/BufferStops';
17-
import Detectors from 'common/Map/Layers/Detectors';
18-
import Electrifications from 'common/Map/Layers/Electrifications';
19-
import NeutralSections from 'common/Map/Layers/extensions/SNCF/NeutralSections';
20-
import SNCF_PSL from 'common/Map/Layers/extensions/SNCF/PSL';
2114
import Hillshade from 'common/Map/Layers/Hillshade';
2215
import IGN_BD_ORTHO from 'common/Map/Layers/IGN_BD_ORTHO';
2316
import IGN_CADASTRE from 'common/Map/Layers/IGN_CADASTRE';
2417
import IGN_SCAN25 from 'common/Map/Layers/IGN_SCAN25';
18+
import InfraObjectLayers from 'common/Map/Layers/InfraObjectLayers';
2519
import LineSearchLayer from 'common/Map/Layers/LineSearchLayer';
26-
import OperationalPoints from 'common/Map/Layers/OperationalPoints';
2720
import OSM from 'common/Map/Layers/OSM';
28-
/* Objects & various */
2921
import PlatformsLayer from 'common/Map/Layers/Platforms';
30-
import Routes from 'common/Map/Layers/Routes';
3122
import SearchMarker from 'common/Map/Layers/SearchMarker';
32-
import Signals from 'common/Map/Layers/Signals';
33-
import SpeedLimits from 'common/Map/Layers/SpeedLimits';
34-
import Switches from 'common/Map/Layers/Switches';
3523
import Terrain from 'common/Map/Layers/Terrain';
36-
import TracksGeographic from 'common/Map/Layers/TracksGeographic';
3724
import TracksOSM from 'common/Map/Layers/TracksOSM';
3825
import { removeSearchItemMarkersOnMap } from 'common/Map/utils';
3926
import { useInfraID } from 'common/osrdContext';
@@ -153,6 +140,8 @@ function Map() {
153140
<IGN_SCAN25 layerOrder={LAYER_GROUPS_ORDER[LAYERS.BACKGROUND.GROUP]} />
154141
<IGN_CADASTRE layerOrder={LAYER_GROUPS_ORDER[LAYERS.BACKGROUND.GROUP]} />
155142

143+
{infraID && <InfraObjectLayers infraId={infraID} mapStyle={mapStyle} />}
144+
156145
{!showOSM ? null : (
157146
<>
158147
<OSM
@@ -172,72 +161,11 @@ function Map() {
172161
layerOrder={LAYER_GROUPS_ORDER[LAYERS.PLATFORMS.GROUP]}
173162
/>
174163

175-
<TracksGeographic
176-
colors={colors[mapStyle]}
177-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.TRACKS_GEOGRAPHIC.GROUP]}
178-
infraID={infraID}
179-
/>
180-
181164
<TracksOSM
182165
colors={colors[mapStyle]}
183166
layerOrder={LAYER_GROUPS_ORDER[LAYERS.TRACKS_OSM.GROUP]}
184167
/>
185168

186-
<Routes
187-
colors={colors[mapStyle]}
188-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ROUTES.GROUP]}
189-
infraID={infraID}
190-
/>
191-
192-
<OperationalPoints
193-
colors={colors[mapStyle]}
194-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.OPERATIONAL_POINTS.GROUP]}
195-
infraID={infraID}
196-
/>
197-
198-
<Electrifications
199-
colors={colors[mapStyle]}
200-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ELECTRIFICATIONS.GROUP]}
201-
infraID={infraID}
202-
/>
203-
<NeutralSections
204-
colors={colors[mapStyle]}
205-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DEAD_SECTIONS.GROUP]}
206-
infraID={infraID}
207-
/>
208-
<BufferStops
209-
colors={colors[mapStyle]}
210-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.BUFFER_STOPS.GROUP]}
211-
infraID={infraID}
212-
/>
213-
<Detectors
214-
colors={colors[mapStyle]}
215-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DETECTORS.GROUP]}
216-
infraID={infraID}
217-
/>
218-
<Switches
219-
colors={colors[mapStyle]}
220-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SWITCHES.GROUP]}
221-
infraID={infraID}
222-
/>
223-
224-
<SpeedLimits
225-
colors={colors[mapStyle]}
226-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
227-
infraID={infraID}
228-
/>
229-
<SNCF_PSL
230-
colors={colors[mapStyle]}
231-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
232-
infraID={infraID}
233-
/>
234-
235-
<Signals
236-
sourceTable="signals"
237-
colors={colors[mapStyle]}
238-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SIGNALS.GROUP]}
239-
infraID={infraID}
240-
/>
241169
<LineSearchLayer
242170
layerOrder={LAYER_GROUPS_ORDER[LAYERS.LINE_SEARCH.GROUP]}
243171
infraID={infraID}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import colors from 'common/Map/Consts/colors';
2+
import { LAYER_GROUPS_ORDER, LAYERS } from 'config/layerOrder';
3+
4+
import BufferStops from './BufferStops';
5+
import Detectors from './Detectors';
6+
import Electrifications from './Electrifications';
7+
import NeutralSections from './extensions/SNCF/NeutralSections';
8+
import SNCF_PSL from './extensions/SNCF/PSL';
9+
import OperationalPoints from './OperationalPoints';
10+
import Routes from './Routes';
11+
import Signals from './Signals';
12+
import SpeedLimits from './SpeedLimits';
13+
import Switches from './Switches';
14+
import TracksGeographic from './TracksGeographic';
15+
16+
type InfraObjectLayersProps = {
17+
infraId: number;
18+
mapStyle: 'normal' | 'dark' | 'blueprint' | 'minimal';
19+
hoveredOperationalPointId?: string;
20+
};
21+
22+
const InfraObjectLayers = ({
23+
infraId,
24+
mapStyle,
25+
hoveredOperationalPointId,
26+
}: InfraObjectLayersProps) => (
27+
<>
28+
<TracksGeographic
29+
colors={colors[mapStyle]}
30+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.TRACKS_GEOGRAPHIC.GROUP]}
31+
infraID={infraId}
32+
/>
33+
34+
<Routes
35+
colors={colors[mapStyle]}
36+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ROUTES.GROUP]}
37+
infraID={infraId}
38+
/>
39+
40+
<OperationalPoints
41+
colors={colors[mapStyle]}
42+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.OPERATIONAL_POINTS.GROUP]}
43+
operationnalPointId={hoveredOperationalPointId}
44+
infraID={infraId}
45+
/>
46+
47+
<Electrifications
48+
colors={colors[mapStyle]}
49+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ELECTRIFICATIONS.GROUP]}
50+
infraID={infraId}
51+
/>
52+
53+
<NeutralSections
54+
colors={colors[mapStyle]}
55+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DEAD_SECTIONS.GROUP]}
56+
infraID={infraId}
57+
/>
58+
59+
<BufferStops
60+
colors={colors[mapStyle]}
61+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.BUFFER_STOPS.GROUP]}
62+
infraID={infraId}
63+
/>
64+
65+
<Detectors
66+
colors={colors[mapStyle]}
67+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DETECTORS.GROUP]}
68+
infraID={infraId}
69+
/>
70+
71+
<Switches
72+
colors={colors[mapStyle]}
73+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SWITCHES.GROUP]}
74+
infraID={infraId}
75+
/>
76+
77+
<SpeedLimits
78+
colors={colors[mapStyle]}
79+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
80+
infraID={infraId}
81+
/>
82+
83+
<SNCF_PSL
84+
colors={colors[mapStyle]}
85+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
86+
infraID={infraId}
87+
/>
88+
89+
<Signals
90+
sourceTable="signals"
91+
colors={colors[mapStyle]}
92+
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SIGNALS.GROUP]}
93+
infraID={infraId}
94+
/>
95+
</>
96+
);
97+
98+
export default InfraObjectLayers;

front/src/modules/simulationResult/components/SimulationResultsMap/SimulationResultsMap.tsx

+3-72
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,16 @@ import { CUSTOM_ATTRIBUTION } from 'common/Map/const';
2222
import colors from 'common/Map/Consts/colors';
2323
import Background from 'common/Map/Layers/Background';
2424
import { useMapBlankStyle } from 'common/Map/Layers/blankStyle';
25-
import BufferStops from 'common/Map/Layers/BufferStops';
26-
import Detectors from 'common/Map/Layers/Detectors';
27-
import Electrifications from 'common/Map/Layers/Electrifications';
28-
import NeutralSections from 'common/Map/Layers/extensions/SNCF/NeutralSections';
29-
import SNCF_PSL from 'common/Map/Layers/extensions/SNCF/PSL';
3025
import Hillshade from 'common/Map/Layers/Hillshade';
3126
import IGN_BD_ORTHO from 'common/Map/Layers/IGN_BD_ORTHO';
3227
import IGN_CADASTRE from 'common/Map/Layers/IGN_CADASTRE';
3328
import IGN_SCAN25 from 'common/Map/Layers/IGN_SCAN25';
29+
import InfraObjectLayers from 'common/Map/Layers/InfraObjectLayers';
3430
import LineSearchLayer from 'common/Map/Layers/LineSearchLayer';
35-
import OperationalPoints from 'common/Map/Layers/OperationalPoints';
3631
import OSM from 'common/Map/Layers/OSM';
3732
import PlatformsLayer from 'common/Map/Layers/Platforms';
38-
import Routes from 'common/Map/Layers/Routes';
3933
import SearchMarker from 'common/Map/Layers/SearchMarker';
40-
import Signals from 'common/Map/Layers/Signals';
41-
import SpeedLimits from 'common/Map/Layers/SpeedLimits';
42-
import Switches from 'common/Map/Layers/Switches';
4334
import Terrain from 'common/Map/Layers/Terrain';
44-
import TracksGeographic from 'common/Map/Layers/TracksGeographic';
4535
import TracksOSM from 'common/Map/Layers/TracksOSM';
4636
import { removeSearchItemMarkersOnMap } from 'common/Map/utils';
4737
import { computeBBoxViewport } from 'common/Map/WarpedMap/core/helpers';
@@ -242,6 +232,8 @@ const SimulationResultMap = ({
242232
<AttributionControl position="bottom-right" customAttribution={CUSTOM_ATTRIBUTION} />
243233
<ScaleControl maxWidth={100} unit="metric" style={scaleControlStyle} />
244234

235+
{infraID && <InfraObjectLayers infraId={infraID} mapStyle={mapStyle} />}
236+
245237
<Background
246238
colors={colors[mapStyle]}
247239
layerOrder={LAYER_GROUPS_ORDER[LAYERS.BACKGROUND.GROUP]}
@@ -271,72 +263,11 @@ const SimulationResultMap = ({
271263
layerOrder={LAYER_GROUPS_ORDER[LAYERS.PLATFORMS.GROUP]}
272264
/>
273265

274-
<TracksGeographic
275-
colors={colors[mapStyle]}
276-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.TRACKS_GEOGRAPHIC.GROUP]}
277-
infraID={infraID}
278-
/>
279266
<TracksOSM
280267
colors={colors[mapStyle]}
281268
layerOrder={LAYER_GROUPS_ORDER[LAYERS.TRACKS_OSM.GROUP]}
282269
/>
283270

284-
<Routes
285-
colors={colors[mapStyle]}
286-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ROUTES.GROUP]}
287-
infraID={infraID}
288-
/>
289-
290-
<OperationalPoints
291-
colors={colors[mapStyle]}
292-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.OPERATIONAL_POINTS.GROUP]}
293-
infraID={infraID}
294-
/>
295-
296-
<Electrifications
297-
colors={colors[mapStyle]}
298-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.ELECTRIFICATIONS.GROUP]}
299-
infraID={infraID}
300-
/>
301-
<NeutralSections
302-
colors={colors[mapStyle]}
303-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DEAD_SECTIONS.GROUP]}
304-
infraID={infraID}
305-
/>
306-
<BufferStops
307-
colors={colors[mapStyle]}
308-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.BUFFER_STOPS.GROUP]}
309-
infraID={infraID}
310-
/>
311-
<Detectors
312-
colors={colors[mapStyle]}
313-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.DETECTORS.GROUP]}
314-
infraID={infraID}
315-
/>
316-
<Switches
317-
colors={colors[mapStyle]}
318-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SWITCHES.GROUP]}
319-
infraID={infraID}
320-
/>
321-
322-
<SpeedLimits
323-
colors={colors[mapStyle]}
324-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
325-
infraID={infraID}
326-
/>
327-
<SNCF_PSL
328-
colors={colors[mapStyle]}
329-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SPEED_LIMITS.GROUP]}
330-
infraID={infraID}
331-
/>
332-
333-
<Signals
334-
mapRef={mapRef}
335-
sourceTable="signals"
336-
colors={colors[mapStyle]}
337-
layerOrder={LAYER_GROUPS_ORDER[LAYERS.SIGNALS.GROUP]}
338-
infraID={infraID}
339-
/>
340271
<LineSearchLayer
341272
layerOrder={LAYER_GROUPS_ORDER[LAYERS.LINE_SEARCH.GROUP]}
342273
infraID={infraID}

0 commit comments

Comments
 (0)