@@ -32,12 +32,13 @@ function handleSearchShortcut(event) {
32
32
}
33
33
}
34
34
35
- function scrollSidenavIntoView ( ) {
35
+ function setupSidenav ( ) {
36
36
const sidenav = document . getElementById ( 'sidenav' ) ;
37
37
if ( ! sidenav ) {
38
38
return ;
39
39
}
40
40
41
+ // Scroll active entry in to view.
41
42
const activeEntries = sidenav . querySelectorAll ( 'a.nav-link.active' ) ;
42
43
if ( activeEntries . length > 0 ) {
43
44
const activeEntry = activeEntries [ activeEntries . length - 1 ] ;
@@ -145,15 +146,10 @@ function setupCopyButtons() {
145
146
}
146
147
147
148
$ ( function ( ) {
149
+ setupSidenav ( ) ;
148
150
setupOsTabs ( ) ;
149
151
initCookieNotice ( ) ;
150
152
151
- // Sidenav
152
- $ ( '#sidenav i' ) . on ( 'click' , function ( e ) {
153
- e . stopPropagation ( ) ;
154
- $ ( this ) . parent ( 'li' ) . toggleClass ( 'active' ) ;
155
- } ) ;
156
-
157
153
// open - close mobile navigation
158
154
$ ( '#menu-toggle' ) . on ( 'click' , function ( e ) {
159
155
e . stopPropagation ( ) ;
@@ -170,8 +166,6 @@ $(function() {
170
166
} ) ;
171
167
}
172
168
173
- scrollSidenavIntoView ( ) ;
174
-
175
169
// Collapsible inline TOC expand/collapse
176
170
$ ( ".site-toc--inline__toggle" ) . on ( 'click' , function ( ) {
177
171
var root = $ ( "#site-toc--inline" ) ;
@@ -180,6 +174,18 @@ $(function() {
180
174
181
175
document . addEventListener ( 'keydown' , handleSearchShortcut ) ;
182
176
177
+ const toggles = document . querySelectorAll ( '.nav-link.collapsible' ) ;
178
+ toggles . forEach ( function ( toggle ) {
179
+ toggle . addEventListener ( 'click' , ( e ) => {
180
+ if ( toggle . classList . toggle ( 'collapsed' ) ) {
181
+ toggle . ariaExpanded = 'false' ;
182
+ } else {
183
+ toggle . ariaExpanded = 'true' ;
184
+ }
185
+ e . preventDefault ( ) ;
186
+ } ) ;
187
+ } ) ;
188
+
183
189
createGallery (
184
190
'galleryOne' ,
185
191
'galleryTwo' ,
0 commit comments