@@ -19,28 +19,28 @@ const attrsToCopy = [
19
19
* @returns {SavedPageState }
20
20
*/
21
21
function savePageState ( doc ) {
22
- const attrs = { }
22
+ const attrs = { } ;
23
23
for ( const attr of attrsToCopy ) {
24
- attrs [ attr ] = doc . documentElement . getAttribute ( attr )
24
+ attrs [ attr ] = doc . documentElement . getAttribute ( attr ) ;
25
25
}
26
26
return {
27
- mainDiv : doc . querySelector ( "#main" ) . innerHTML ,
27
+ mainDiv : doc . querySelector ( "#main" ) ? .innerHTML ,
28
28
leftColumn : doc . querySelector ( "#leftColumn" ) . innerHTML ,
29
29
title : doc . title ,
30
30
attrs,
31
- }
31
+ } ;
32
32
}
33
33
34
34
/**
35
35
* @param {Document } doc
36
36
* @param {SavedPageState } saved
37
37
*/
38
38
function loadPageState ( doc , saved ) {
39
- doc . title = saved . title
40
- doc . querySelector ( "#main" ) . innerHTML = saved . mainDiv
41
- doc . querySelector ( "#leftColumn" ) . innerHTML = saved . leftColumn
39
+ doc . title = saved . title ;
40
+ doc . querySelector ( "#main" ) . innerHTML = saved . mainDiv ;
41
+ doc . querySelector ( "#leftColumn" ) . innerHTML = saved . leftColumn ;
42
42
for ( const attr of attrsToCopy ) {
43
- doc . documentElement . setAttribute ( attr , saved . attrs [ attr ] )
43
+ doc . documentElement . setAttribute ( attr , saved . attrs [ attr ] ) ;
44
44
}
45
45
}
46
46
@@ -328,15 +328,23 @@ window.addEventListener(DYNAMIC_PAGE_LOAD, () => {
328
328
} ) ;
329
329
330
330
window . addEventListener ( "dynamicPageLoad" , ( ) => {
331
- const leftColumn = document . querySelector ( ".show" ) ;
332
- if ( leftColumn ) leftColumn . classList . remove ( "show" ) ;
331
+ const sideMenuOpen = sessionStorage . getItem ( "sideMenuOpen" ) ;
332
+ if ( sideMenuOpen ) {
333
+ if ( document . querySelector ( "#leftColumn" ) . classList . contains ( "show" ) ) {
334
+ document . querySelector ( "#content" ) . classList . add ( "sidebar-shown" ) ;
335
+ }
336
+ sessionStorage . removeItem ( "sideMenuOpen" ) ;
337
+ } else {
338
+ const leftColumn = document . querySelector ( ".show" ) ;
339
+ if ( leftColumn ) leftColumn . classList . remove ( "show" ) ;
333
340
334
- const mobileSidebarToggleButton = document . querySelector ( ".menu-shown" ) ;
335
- if ( mobileSidebarToggleButton )
336
- mobileSidebarToggleButton . classList . remove ( "menu-shown" ) ;
341
+ const mobileSidebarToggleButton = document . querySelector ( ".menu-shown" ) ;
342
+ if ( mobileSidebarToggleButton )
343
+ mobileSidebarToggleButton . classList . remove ( "menu-shown" ) ;
337
344
338
- const content = document . querySelector ( ".sidebar-shown" ) ;
339
- if ( content ) content . classList . remove ( "sidebar-shown" ) ;
345
+ const content = document . querySelector ( ".sidebar-shown" ) ;
346
+ if ( content ) content . classList . remove ( "sidebar-shown" ) ;
347
+ }
340
348
} ) ;
341
349
342
350
window . addEventListener ( "DOMContentLoaded" , ( ) => {
@@ -514,7 +522,7 @@ members.forEach((member) => {
514
522
const navbarHeight = document . querySelector ( "#header" ) . clientHeight ;
515
523
const filtersHeight = document . querySelector (
516
524
".documentableFilter" ,
517
- ) . clientHeight ;
525
+ ) ? .clientHeight ;
518
526
if ( navbarHeight && filtersHeight ) {
519
527
member . style . scrollMarginTop = `${ navbarHeight + filtersHeight } px` ;
520
528
}
@@ -526,9 +534,22 @@ members.forEach((member) => {
526
534
const navbarHeight = document . querySelector ( "#header" ) . clientHeight ;
527
535
const filtersHeight = document . querySelector (
528
536
".documentableFilter" ,
529
- ) . clientHeight ;
537
+ ) ? .clientHeight ;
530
538
if ( navbarHeight && filtersHeight ) {
531
539
member . style . scrollMarginTop = `${ navbarHeight + filtersHeight } px` ;
532
540
}
533
541
} ) ;
542
+ } ) ;
543
+
544
+ window . addEventListener ( DYNAMIC_PAGE_LOAD , ( ) => {
545
+ const docsLink = document . querySelector ( "#docs-nav-button" ) ;
546
+ const apiLink = document . querySelector ( "#api-nav-button" ) ;
547
+
548
+ docsLink &&
549
+ apiLink &&
550
+ [ docsLink , apiLink ] . forEach ( ( button ) => {
551
+ button . addEventListener ( "click" , ( ) => {
552
+ sessionStorage . setItem ( "sideMenuOpen" , true ) ;
553
+ } ) ;
554
+ } ) ;
534
555
} ) ;
0 commit comments