Skip to content

Commit 126f662

Browse files
author
Azgaar
committed
markers overview - pin markers
1 parent 83aef34 commit 126f662

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3564,7 +3564,7 @@
35643564
<div id="loadMapData" style="display: none" class="dialog">
35653565
<div>
35663566
<strong>Load map from</strong>
3567-
<button onclick="mapToLoad.click()" data-tip="Load .map file from local disk">local disk</button>
3567+
<button onclick="mapToLoad.click()" data-tip="Load .map file from your local disk">machine</button>
35683568
<button onclick="loadURL()" data-tip="Load .map file from URL (server should allow CORS)">URL</button>
35693569
<button onclick="quickLoad()" data-tip="Load map from browser storage (if saved before)">storage</button>
35703570
</div>

modules/ui/layers.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1535,7 +1535,10 @@ function toggleMarkers(event) {
15351535

15361536
function drawMarkers() {
15371537
const rescale = +markers.attr("rescale");
1538-
const html = pack.markers.map(marker => drawMarker(marker, rescale));
1538+
const pinned = +markers.attr("pinned");
1539+
1540+
const markersData = pinned ? pack.markers.filter(({pinned}) => pinned) : pack.markers;
1541+
const html = markersData.map(marker => drawMarker(marker, rescale));
15391542
markers.html(html.join(""));
15401543
}
15411544

modules/ui/markers-overview.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ function overviewMarkers() {
3838

3939
if (el.classList.contains("icon-pencil")) return openEditor(i);
4040
if (el.classList.contains("icon-dot-circled")) return focusOnMarker(i);
41+
if (el.classList.contains("icon-pin")) return pinMarker(el, i);
4142
if (el.classList.contains("locks")) return toggleLockStatus(el, i);
4243
if (el.classList.contains("icon-trash-empty")) return triggerRemove(i);
4344
// TODO: hidden attribute
@@ -50,6 +51,7 @@ function overviewMarkers() {
5051
<div data-tip="Marker icon and type" style="width:12em">${icon} ${type}</div>
5152
<span style="padding-right:.1em" data-tip="Edit marker" class="icon-pencil"></span>
5253
<span style="padding-right:.1em" data-tip="Focus on marker position" class="icon-dot-circled pointer"></span>
54+
<span style="padding-right:.1em" data-tip="Pin marker (display only pinned markers)" class="icon-pin inactive pointer"></span>
5355
<span style="padding-right:.1em" class="locks pointer ${lock ? "icon-lock" : "icon-lock-open inactive"}" onmouseover="showElementLockTip(event)"></span>
5456
<span data-tip="Remove marker" class="icon-trash-empty"></span>
5557
</div>`;
@@ -75,6 +77,20 @@ function overviewMarkers() {
7577
highlightElement(document.getElementById(`marker${i}`), 2);
7678
}
7779

80+
function pinMarker(el, i) {
81+
const marker = pack.markers.find(marker => marker.i === i);
82+
if (marker.pinned) {
83+
delete marker.pinned;
84+
const anyPinned = pack.markers.some(marker => marker.pinned);
85+
if (!anyPinned) markerGroup.removeAttribute("pinned");
86+
} else {
87+
marker.pinned = true;
88+
markerGroup.setAttribute("pinned", 1);
89+
}
90+
el.classList.toggle("inactive");
91+
drawMarkers();
92+
}
93+
7894
function toggleLockStatus(el, i) {
7995
const marker = pack.markers.find(marker => marker.i === i);
8096
if (marker.lock) {

0 commit comments

Comments
 (0)