Skip to content

Commit 05a3705

Browse files
committed
front: add KP to PSL SIGNS
1 parent 88f3144 commit 05a3705

File tree

7 files changed

+58
-30
lines changed

7 files changed

+58
-30
lines changed

front/src/common/Map/Consts/colors.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ const colors: Record<string, Theme> = {
2323
electricbox: {
2424
text: '#b42222',
2525
},
26+
kp: {
27+
circle: '#162873',
28+
text: '#4d4f53',
29+
halo: '#ffffff',
30+
},
2631
kvb: {
2732
color: '#ffc700',
2833
},
@@ -95,11 +100,6 @@ const colors: Record<string, Theme> = {
95100
text: '#e05206',
96101
halo: '#ffffff',
97102
},
98-
rk: {
99-
circle: '#162873',
100-
text: '#4d4f53',
101-
halo: '#ffffff',
102-
},
103103
sign: {
104104
text: '#333333',
105105
halo: '#ffffff',
@@ -175,6 +175,11 @@ const colors: Record<string, Theme> = {
175175
electricbox: {
176176
text: '#b42222',
177177
},
178+
kp: {
179+
circle: '#8338ec',
180+
text: '#8338ec',
181+
halo: '#8338ec',
182+
},
178183
kvb: {
179184
color: '#ffc700',
180185
},
@@ -243,11 +248,6 @@ const colors: Record<string, Theme> = {
243248
railyard: {
244249
text: '#8095c3',
245250
},
246-
rk: {
247-
circle: '#8338ec',
248-
text: '#8338ec',
249-
halo: '#8338ec',
250-
},
251251
routes: {
252252
text: '#e05206',
253253
halo: '#ffffff',
@@ -319,6 +319,11 @@ const colors: Record<string, Theme> = {
319319
electricbox: {
320320
text: bpLight,
321321
},
322+
kp: {
323+
circle: bpLight,
324+
text: bpLight,
325+
halo: bpLight,
326+
},
322327
kvb: {
323328
color: bpLight,
324329
},
@@ -387,11 +392,6 @@ const colors: Record<string, Theme> = {
387392
railyard: {
388393
text: bpLight,
389394
},
390-
rk: {
391-
circle: bpLight,
392-
text: bpLight,
393-
halo: bpLight,
394-
},
395395
routes: {
396396
text: bpLight,
397397
halo: bpBg,

front/src/common/Map/Layers/BufferStops.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ const BufferStops: FC<BufferStopsProps> = ({ colors, layerOrder }) => {
6262
colors,
6363
minzoom: 12,
6464
sourceLayer: 'buffer_stops',
65+
fieldName: 'extensions_sncf_kp',
6566
})}
6667
id="chartis/osrd_bufferstop_kp/geo"
6768
layerOrder={layerOrder}

front/src/common/Map/Layers/Detectors.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ const Detectors: FC<DetectorsProps> = ({ colors, layerOrder }) => {
8080
colors,
8181
minzoom: 10,
8282
sourceLayer: 'detectors',
83+
fieldName: 'extensions_sncf_kp',
8384
})}
8485
id="chartis/osrd_detectors_kp/geo"
8586
layerOrder={layerOrder}

front/src/common/Map/Layers/OperationalPoints.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import OrderedLayer from 'common/Map/Layers/OrderedLayer';
1010
import configKPLabelLayer from 'common/Map/Layers/configKPLabelLayer';
1111
import { getInfraID } from 'reducers/osrdconf/selectors';
1212

13-
interface PlatformProps {
13+
interface Props {
1414
colors: Theme;
1515
layerOrder: number;
1616
}
1717

18-
export default function OperationalPoints(props: PlatformProps) {
18+
export default function OperationalPoints(props: Props) {
1919
const { layersSettings } = useSelector((state: RootState) => state.map);
2020
const infraID = useSelector(getInfraID);
2121
const { colors, layerOrder } = props;
@@ -148,6 +148,7 @@ export default function OperationalPoints(props: PlatformProps) {
148148
colors,
149149
minzoom: 9.5,
150150
sourceLayer: 'operational_points',
151+
fieldName: 'extensions_sncf_kp',
151152
})}
152153
id="chartis/osrd_operational_point_kp/geo"
153154
layerOrder={layerOrder}

front/src/common/Map/Layers/configKPLabelLayer.tsx

+23-10
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,54 @@ import { Theme } from 'types';
44

55
interface PlatformProps {
66
colors: Theme;
7+
fieldName?: string;
8+
leftOffset?: number;
79
maxzoom?: number;
810
minzoom?: number;
9-
leftOffset?: number;
11+
rotation?: 'map' | 'viewport' | 'auto';
1012
sourceLayer: string;
1113
}
1214

1315
/*
1416
* signals
15-
detectors: seulement ceux sous un signal, ceux qu'on genere en sur les tiv de jonction connait pas leur pk
16-
buffer stops
17-
les panneaux des psl
18-
les operational point parts
17+
OK detectors: seulement ceux sous un signal, ceux qu'on genere en sur les tiv de jonction connait pas leur pk
18+
OK buffer stops
19+
OK les panneaux des psl
20+
OK les operational point parts
1921
*/
2022

2123
export default function configKPLabelLayer(props: PlatformProps) {
22-
const { colors, leftOffset = -1, maxzoom = 24, minzoom = 7, sourceLayer } = props;
24+
const {
25+
colors,
26+
fieldName = 'kp',
27+
leftOffset = -1,
28+
maxzoom = 24,
29+
minzoom = 7,
30+
rotation = 'viewport',
31+
sourceLayer,
32+
} = props;
2333
const rkValue: LayerProps = {
2434
type: 'symbol',
2535
'source-layer': sourceLayer,
26-
filter: ['!=', '', ['get', 'extensions_sncf_kp']],
36+
filter: ['all', ['!=', ['literal', null], ['get', fieldName]], ['!=', '', ['get', fieldName]]],
2737
maxzoom,
2838
minzoom,
2939
layout: {
30-
'text-field': ['concat', 'PK ', ['get', 'extensions_sncf_kp']],
40+
'text-field': ['concat', 'PK ', ['get', fieldName]],
3141
'text-font': ['Roboto Medium'],
3242
'text-size': 9,
3343
'text-anchor': 'right',
3444
'text-allow-overlap': true,
3545
'text-ignore-placement': true,
3646
'text-offset': [leftOffset, 0.1],
47+
'text-rotation-alignment': rotation,
48+
'text-pitch-alignment': rotation,
49+
'text-rotate': rotation === 'map' ? ['get', 'angle_geo'] : 0,
3750
},
3851
paint: {
39-
'text-color': colors.rk.text,
52+
'text-color': colors.kp.text,
4053
'text-halo-width': 0,
41-
'text-halo-color': colors.rk.halo,
54+
'text-halo-color': colors.kp.halo,
4255
'text-halo-blur': 1,
4356
},
4457
};

front/src/common/Map/Layers/extensions/SNCF/SNCF_PSL.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export default function SNCF_PSL(props: SNCF_PSLProps) {
212212
layerOrder={layerOrder}
213213
/>
214214
</Source>
215-
<SNCF_PSL_Signs layerOrder={layerOrder} />
215+
<SNCF_PSL_Signs colors={colors} layerOrder={layerOrder} />
216216
</>
217217
);
218218
}

front/src/common/Map/Layers/extensions/SNCF/SNCF_PSL_SIGNS.tsx

+14-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import { MAP_URL } from 'common/Map/const';
33
import { LayerProps, Source, SymbolLayer } from 'react-map-gl/maplibre';
44
import { useSelector } from 'react-redux';
55
import { getInfraID } from 'reducers/osrdconf/selectors';
6-
import { OmitLayer } from 'types';
6+
import { Theme, OmitLayer } from 'types';
77
import { isNil } from 'lodash';
88
import { getMap } from 'reducers/map/selectors';
99
import OrderedLayer from '../../OrderedLayer';
1010
import { LayerContext } from '../../types';
11+
import configKPLabelLayer from '../../configKPLabelLayer';
1112

1213
interface SNCF_PSL_SignsProps {
14+
colors: Theme;
1315
layerOrder?: number;
1416
}
1517

@@ -94,7 +96,7 @@ export function getPSLSignsMastLayerProps({
9496

9597
export default function SNCF_PSL_Signs(props: SNCF_PSL_SignsProps) {
9698
const infraID = useSelector(getInfraID);
97-
const { layerOrder } = props;
99+
const { colors, layerOrder } = props;
98100

99101
const { mapStyle } = useSelector(getMap);
100102
const prefix = mapStyle === 'blueprint' ? 'SCHB ' : '';
@@ -116,6 +118,16 @@ export default function SNCF_PSL_Signs(props: SNCF_PSL_SignsProps) {
116118
>
117119
<OrderedLayer {...mastsParams} layerOrder={layerOrder} />
118120
<OrderedLayer {...signsParams} layerOrder={layerOrder} />
121+
<OrderedLayer
122+
{...configKPLabelLayer({
123+
colors,
124+
minzoom: 9.5,
125+
sourceLayer: 'psl_signs',
126+
rotation: 'map',
127+
})}
128+
id="chartis/osrd_psl_signs_kp/geo"
129+
layerOrder={layerOrder}
130+
/>
119131
</Source>
120132
);
121133
}

0 commit comments

Comments
 (0)