diff --git a/src/components/SettingsManager.js b/src/components/SettingsManager.js
index d37f480..3b0b7ae 100644
--- a/src/components/SettingsManager.js
+++ b/src/components/SettingsManager.js
@@ -7,6 +7,7 @@ export default function SettingsManager(props) {
const [ trackColorMode, setTrackColorMode ] = useState(Constants.trackColorModeDefault);
const [ showTrackHoverInfo, setShowTrackHoverInfo ] = useState(true);
const [ extendedSignals, setExtendedSignals ] = useState(true);
+ const [ originalSignalNames, setOriginalSignalNames ] = useState(false);
const [ settingsLoaded, setSettingsLoaded ] = useState(false);
const loadLayersSettings = useCallback(() => {
@@ -29,6 +30,7 @@ export default function SettingsManager(props) {
showTrackHoverInfo, setShowTrackHoverInfo,
trackColorMode, setTrackColorMode,
extendedSignals, setExtendedSignals,
+ originalSignalNames, setOriginalSignalNames
}}>
{ props.children }
diff --git a/src/components/map/object-renderers/SignalExtendedRenderer.js b/src/components/map/object-renderers/SignalExtendedRenderer.js
index 59372ca..ec34f6d 100644
--- a/src/components/map/object-renderers/SignalExtendedRenderer.js
+++ b/src/components/map/object-renderers/SignalExtendedRenderer.js
@@ -7,7 +7,7 @@ import AlwaysUpText from '../text/AlwaysUpText';
import C from '../../../helpers/extendedSignalsConstants';
export default function SignalExtendedRenderer(props) {
- const { object } = props;
+ const { object, showOriginalName } = props;
const [x, y] = object.pos.toSVGCoords();
const baseRot = object.rot.y;
@@ -18,23 +18,24 @@ export default function SignalExtendedRenderer(props) {
return (
-
+
);
}
function SignalNameText(props) {
- const {object, rot, pointsData} = props;
+ const {object, rot, pointsData, showOriginalName} = props;
const isOverhead = object.signal_elements.isOverhead();
const baseY = isOverhead ? pointsData.headOffsetY + pointsData.polePoints.end : 0;
+ const name = showOriginalName ? object.name : object.getPrintableSignalName();
return (
);
diff --git a/src/components/map/object-renderers/SignalRenderer.js b/src/components/map/object-renderers/SignalRenderer.js
index e5a2267..5bfde22 100644
--- a/src/components/map/object-renderers/SignalRenderer.js
+++ b/src/components/map/object-renderers/SignalRenderer.js
@@ -5,12 +5,12 @@ import SettingsContext from '../../../contexts/SettingsContext';
export default function SignalRenderer(props) {
const { object } = props;
- const { extendedSignals } = useContext(SettingsContext);
-
+ const { extendedSignals, originalSignalNames: showOriginalName } = useContext(SettingsContext);
+
if (extendedSignals && object.signal_elements) {
- return ;
+ return ;
} else {
- return ;
+ return ;
}
}
diff --git a/src/components/map/object-renderers/SignalStandardRenderer.js b/src/components/map/object-renderers/SignalStandardRenderer.js
index 4535e57..79dff7f 100644
--- a/src/components/map/object-renderers/SignalStandardRenderer.js
+++ b/src/components/map/object-renderers/SignalStandardRenderer.js
@@ -2,8 +2,9 @@ import { ReactSVG } from "react-svg";
import AlwaysUpText from "../text/AlwaysUpText";
export default function SignalStandardRenderer(props) {
- const { object } = props;
+ const { object, showOriginalName } = props;
const [x, y] = object.pos.toSVGCoords();
+ const name = showOriginalName ? object.name : object.getPrintableSignalName();
return (
@@ -22,7 +23,7 @@ export default function SignalStandardRenderer(props) {
baseRot={object.rot.y}
additionalRot={-90}
offsetY={-2}
- text={object.getPrintableSignalName()}
+ text={name}
/>
);
diff --git a/src/components/sidemenu/LayerOptionsMenu.js b/src/components/sidemenu/LayerOptionsMenu.js
index 7103abe..58c4165 100644
--- a/src/components/sidemenu/LayerOptionsMenu.js
+++ b/src/components/sidemenu/LayerOptionsMenu.js
@@ -1,4 +1,5 @@
import ExtendedSignalsCheckbox from "./ExtendedSignalsCheckbox";
+import OriginalSignalNamesCheckbox from "./OriginalSignalNamesCheckbox";
import ShowTrackHoverInfoCheckbox from "./ShowTrackHoverInfoCheckbox";
import TrackColorMode from "./track-color-mode/TrackColorMode";
@@ -9,6 +10,7 @@ export default function LayerOptionsMenu() {
+
diff --git a/src/components/sidemenu/OriginalSignalNamesCheckbox.js b/src/components/sidemenu/OriginalSignalNamesCheckbox.js
new file mode 100644
index 0000000..f25e505
--- /dev/null
+++ b/src/components/sidemenu/OriginalSignalNamesCheckbox.js
@@ -0,0 +1,26 @@
+import { useContext } from "react";
+import SettingsContext from "../../contexts/SettingsContext";
+
+export default function OriginalSignalNamesCheckbox(props) {
+ const { originalSignalNames, setOriginalSignalNames, layers } = useContext(SettingsContext);
+
+ const handleChange = (event) => {
+ setOriginalSignalNames(event.target.checked);
+ };
+
+ let divClass = 'original-signal-names-checkbox';
+ if (!layers['signals']) divClass += ' hidden';
+
+ return (
+
+
+
+ );
+}
diff --git a/src/components/sidemenu/SideMenu.css b/src/components/sidemenu/SideMenu.css
index 74d39ef..831072a 100644
--- a/src/components/sidemenu/SideMenu.css
+++ b/src/components/sidemenu/SideMenu.css
@@ -80,7 +80,8 @@
}
.extended-signals-checkbox input,
-.show-track-hover-info-checkbox input {
+.show-track-hover-info-checkbox input,
+.original-signal-names-checkbox input {
margin-right: 0.5em;
vertical-align: middle;
}