@@ -52,6 +52,7 @@ var markup = [
5252 '<i class="mdi mdi-magnify mdi-18px"></i>' ,
5353 "<input type='text' placeholder='Search Layers (# for tags)' />" ,
5454 '<div id="clear"><i class="mdi mdi-close mdi-18px"></i></div>' ,
55+ '<div id="restore"><i class="mdi mdi-restore mdi-18px"></i></div>' ,
5556 '<div id="expand"><i class="mdi mdi-arrow-expand-vertical mdi-18px"></i></div>' ,
5657 '<div id="collapse"><i class="mdi mdi-arrow-collapse-vertical mdi-18px"></i></div>' ,
5758 "</div>" ,
@@ -1062,7 +1063,7 @@ function interfaceWithMMGIS(fromInit) {
10621063 // prettier-ignore
10631064 $ ( '#layersToolList' ) . append (
10641065 [
1065- `<li class="layersToolHeader" id="header_${ headerI } " name="${ node [ i ] . name } " type="${ node [ i ] . type } " depth="${ depth } " childrenon="true" style="margin-bottom: 1px;">` ,
1066+ `<li class="layersToolHeader" id="header_${ node [ i ] . name } " name="${ node [ i ] . name } " type="${ node [ i ] . type } " depth="${ depth } " childrenon="true" style="margin-bottom: 1px;">` ,
10661067 `<div class="title" id="headerstart" style="border-left: ${ depth * DEPTH_SIZE } px solid ${ INDENT_COLOR } ;">` ,
10671068 '<div class="layersToolColor ' + node [ i ] . type + '">' ,
10681069 '<i class="mdi mdi-drag-vertical mdi-12px"></i>' ,
@@ -1989,6 +1990,14 @@ function interfaceWithMMGIS(fromInit) {
19891990 }
19901991 } )
19911992
1993+ $ ( '#searchLayers > #restore' ) . on ( 'click' , function ( ) {
1994+ // Collapse all layers
1995+ $ ( '#searchLayers > #collapse' ) . click ( )
1996+
1997+ // Expand individual headers based on its configuration settings
1998+ traverseHeaderLayersExpandedState ( L_ . configData . layers , { } , 0 )
1999+ } )
2000+
19922001 $ ( '#filterLayers .right > div' ) . on ( 'click' , function ( ) {
19932002 $ ( this ) . toggleClass ( 'on' )
19942003 var isOn = $ ( this ) . hasClass ( 'on' )
@@ -2229,8 +2238,26 @@ function interfaceWithMMGIS(fromInit) {
22292238 } )
22302239
22312240 //Start collapsed
2232- if ( LayersTool . vars . expanded !== true )
2241+ if ( LayersTool . vars . expanded !== true ) {
22332242 $ ( '#searchLayers > #collapse' ) . click ( )
2243+ // Expand individual headers based on its configuration settings
2244+ traverseHeaderLayersExpandedState ( L_ . configData . layers , { } , 0 )
2245+ }
2246+
2247+ function traverseHeaderLayersExpandedState ( node , parent , depth ) {
2248+ for ( var i = 0 ; i < node . length ; i ++ ) {
2249+ if ( node [ i ] . type == 'header' ) {
2250+ if ( ( node [ i ] . expanded && node [ i ] . expanded === true )
2251+ || ( node [ i ] . expanded === undefined
2252+ && $ ( `#layersToolList > li#header_${ parent . name } ` ) . attr ( 'childrenon' ) === true ) ) {
2253+ LayersTool . toggleHeader ( `header_${ node [ i ] . name } ` )
2254+ }
2255+ }
2256+
2257+ if ( node [ i ] . sublayers )
2258+ traverseHeaderLayersExpandedState ( node [ i ] . sublayers , node [ i ] , depth + 1 )
2259+ }
2260+ }
22342261
22352262 // Sublayer things
22362263
0 commit comments