@@ -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