auto-sync: 2026-05-05 14:10:01
This commit is contained in:
75
tasks/enduro-trails/prototype/static/app.js
vendored
75
tasks/enduro-trails/prototype/static/app.js
vendored
@@ -281,7 +281,8 @@ function showSkeleton(containerId, count) {
|
|||||||
// ─── Deactivate All Modes ──────────────────────────────────────────
|
// ─── Deactivate All Modes ──────────────────────────────────────────
|
||||||
|
|
||||||
function deactivateAllModes() {
|
function deactivateAllModes() {
|
||||||
if (routeMode) { routeMode = false; document.getElementById('tb-route').classList.remove('active'); closeSheet('sheet-route'); clearRoute(); }
|
// Deactivate all input modes but preserve route/scenic/link data on map
|
||||||
|
if (routeMode) { routeMode = false; document.getElementById('tb-route').classList.remove('active'); closeSheet('sheet-route'); /* NOT clearRoute — keep line on map */ }
|
||||||
if (rulerMode) toggleRuler();
|
if (rulerMode) toggleRuler();
|
||||||
if (markerMode) toggleMarkerMode();
|
if (markerMode) toggleMarkerMode();
|
||||||
if (typeof reconMode !== 'undefined' && reconMode) toggleReconMode();
|
if (typeof reconMode !== 'undefined' && reconMode) toggleReconMode();
|
||||||
@@ -392,19 +393,22 @@ function toggleRouteMode() {
|
|||||||
const sheet = document.getElementById('sheet-route');
|
const sheet = document.getElementById('sheet-route');
|
||||||
|
|
||||||
if (routeMode) {
|
if (routeMode) {
|
||||||
// Already in route mode
|
// Already in route input mode → exit input mode but keep route on map
|
||||||
if (sheet.classList.contains('open')) {
|
routeMode = false;
|
||||||
// Sheet is open → close sheet but keep route on map
|
btn.classList.remove('active');
|
||||||
minimizeSheet('sheet-route');
|
closeSheet('sheet-route');
|
||||||
} else {
|
window._map.getCanvas().style.cursor = '';
|
||||||
// Sheet already closed → exit route mode entirely (clear route)
|
} else if (routeResults.length > 0) {
|
||||||
routeMode = false;
|
// Not in input mode, but route exists on map → clear it and start fresh
|
||||||
btn.classList.remove('active');
|
clearRoute();
|
||||||
clearRoute();
|
// Now enter input mode
|
||||||
window._map.getCanvas().style.cursor = '';
|
deactivateAllModes();
|
||||||
}
|
routeMode = true;
|
||||||
|
btn.classList.add('active');
|
||||||
|
openSheet('sheet-route');
|
||||||
|
window._map.getCanvas().style.cursor = 'crosshair';
|
||||||
} else {
|
} else {
|
||||||
// Enter route mode
|
// No route, not in mode → enter route input mode
|
||||||
deactivateAllModes();
|
deactivateAllModes();
|
||||||
routeMode = true;
|
routeMode = true;
|
||||||
btn.classList.add('active');
|
btn.classList.add('active');
|
||||||
@@ -1183,16 +1187,13 @@ let reconRadius = 20;
|
|||||||
|
|
||||||
function toggleReconMode() {
|
function toggleReconMode() {
|
||||||
const btn = document.getElementById('tb-recon');
|
const btn = document.getElementById('tb-recon');
|
||||||
const sheet = document.getElementById('sheet-recon');
|
|
||||||
if (reconMode) {
|
if (reconMode) {
|
||||||
if (sheet.classList.contains('open')) {
|
// Exit recon mode
|
||||||
minimizeSheet('sheet-recon');
|
reconMode = false;
|
||||||
} else {
|
btn.classList.remove('active');
|
||||||
reconMode = false;
|
closeSheet('sheet-recon');
|
||||||
btn.classList.remove('active');
|
window._map.getCanvas().style.cursor = '';
|
||||||
window._map.getCanvas().style.cursor = '';
|
clearRecon(); // recon data is transient — safe to clear
|
||||||
clearRecon();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
deactivateAllModes();
|
deactivateAllModes();
|
||||||
reconMode = true;
|
reconMode = true;
|
||||||
@@ -1295,16 +1296,13 @@ let linkMarkers = [];
|
|||||||
|
|
||||||
function toggleLinkMode() {
|
function toggleLinkMode() {
|
||||||
const btn = document.getElementById('tb-link');
|
const btn = document.getElementById('tb-link');
|
||||||
const sheet = document.getElementById('sheet-link');
|
|
||||||
if (linkMode) {
|
if (linkMode) {
|
||||||
if (sheet.classList.contains('open')) {
|
// Exit link mode
|
||||||
minimizeSheet('sheet-link');
|
linkMode = false;
|
||||||
} else {
|
btn.classList.remove('active');
|
||||||
linkMode = false;
|
closeSheet('sheet-link');
|
||||||
btn.classList.remove('active');
|
window._map.getCanvas().style.cursor = '';
|
||||||
window._map.getCanvas().style.cursor = '';
|
clearLink();
|
||||||
clearLink();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
deactivateAllModes();
|
deactivateAllModes();
|
||||||
linkMode = true;
|
linkMode = true;
|
||||||
@@ -1451,16 +1449,13 @@ let activeScenicIdx = 0;
|
|||||||
|
|
||||||
function toggleScenicMode() {
|
function toggleScenicMode() {
|
||||||
const btn = document.getElementById('tb-scenic');
|
const btn = document.getElementById('tb-scenic');
|
||||||
const sheet = document.getElementById('sheet-scenic');
|
|
||||||
if (scenicMode) {
|
if (scenicMode) {
|
||||||
if (sheet.classList.contains('open')) {
|
// Exit scenic mode
|
||||||
minimizeSheet('sheet-scenic');
|
scenicMode = false;
|
||||||
} else {
|
btn.classList.remove('active');
|
||||||
scenicMode = false;
|
closeSheet('sheet-scenic');
|
||||||
btn.classList.remove('active');
|
window._map.getCanvas().style.cursor = '';
|
||||||
window._map.getCanvas().style.cursor = '';
|
clearScenic();
|
||||||
clearScenic();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
deactivateAllModes();
|
deactivateAllModes();
|
||||||
scenicMode = true;
|
scenicMode = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user