|
5 | 5 | return; |
6 | 6 | } |
7 | 7 | elem.classList.add(animation); |
8 | | - elem.addEventListener("animationend", function endAnimation() { |
9 | | - elem.classList.remove(animation); |
10 | | - if (hide) { |
11 | | - elem.classList.remove(hide); |
12 | | - } |
13 | | - elem.removeEventListener("animationend", endAnimation, false); |
14 | | - }, false); |
| 8 | + elem.addEventListener( |
| 9 | + "animationend", |
| 10 | + function endAnimation() { |
| 11 | + elem.classList.remove(animation); |
| 12 | + if (hide) { |
| 13 | + elem.classList.remove(hide); |
| 14 | + } |
| 15 | + elem.removeEventListener("animationend", endAnimation, false); |
| 16 | + }, |
| 17 | + false |
| 18 | + ); |
15 | 19 | } |
16 | 20 | function updateAria(el, aria) { |
17 | | - if (typeof el === "undefined" || 0 >= aria.length) { |
| 21 | + if ("undefined" === typeof el || 0 >= aria.length) { |
18 | 22 | return; |
19 | 23 | } |
20 | | - const hiddenEl = el.getAttribute(`aria-${aria}`) === "true" ? "false" : "true"; |
| 24 | + const hiddenEl = "true" === el.getAttribute(`aria-${aria}`) ? "false" : "true"; |
21 | 25 | el.setAttribute(`aria-${aria}`, hiddenEl); |
22 | 26 | } |
23 | 27 | var TAB_KEY = 9; |
|
63 | 67 | this.settings = settings; |
64 | 68 | this.navOpened = false; |
65 | 69 | this.$subNavs = this.$element.querySelectorAll(this.settings.subNavAnchors); |
66 | | - this.$subSubNavs = this.$element.querySelectorAll(this.settings.subSubNavAnchors); |
| 70 | + this.$subSubNavs = this.$element.querySelectorAll( |
| 71 | + this.settings.subSubNavAnchors |
| 72 | + ); |
67 | 73 | this.create(); |
68 | 74 | } |
69 | 75 | Navigation.prototype.create = function() { |
|
140 | 146 | Navigation.prototype.handleSubNav = function(event) { |
141 | 147 | const target = event.target; |
142 | 148 | const closestSubButton = target.closest('[data-meom-nav="sub-toggle"]'); |
143 | | - const closestSubSubButton = target.closest('[data-meom-nav="sub-sub-toggle"]'); |
| 149 | + const closestSubSubButton = target.closest( |
| 150 | + '[data-meom-nav="sub-sub-toggle"]' |
| 151 | + ); |
144 | 152 | if (!closestSubButton && !closestSubSubButton) { |
145 | 153 | return this; |
146 | 154 | } |
147 | | - if (!target.nextElementSibling.classList.contains(this.settings.toggleSubNavClassValue) && !target.matches('[data-meom-nav="sub-sub-toggle"]')) { |
| 155 | + if (!target.nextElementSibling.classList.contains( |
| 156 | + this.settings.toggleSubNavClassValue |
| 157 | + ) && !target.matches('[data-meom-nav="sub-sub-toggle"]')) { |
148 | 158 | this._closeAllSubMenus(); |
149 | 159 | this._closeAllSubMenuToggles(); |
150 | 160 | } |
151 | | - if (!target.nextElementSibling.classList.contains(this.settings.toggleSubNavClassValue) && target.matches('[data-meom-nav="sub-sub-toggle"]')) { |
| 161 | + if (!target.nextElementSibling.classList.contains( |
| 162 | + this.settings.toggleSubNavClassValue |
| 163 | + ) && target.matches('[data-meom-nav="sub-sub-toggle"]')) { |
152 | 164 | this._closeAllSubSubMenus(); |
153 | 165 | this._closeAllSubSubMenuToggles(); |
154 | 166 | } |
|
165 | 177 | return this; |
166 | 178 | }; |
167 | 179 | Navigation.prototype.handleCloseSubNav = function(event) { |
168 | | - const openSubMenu = document.querySelector(`${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}`); |
| 180 | + const openSubMenu = document.querySelector( |
| 181 | + `${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}` |
| 182 | + ); |
169 | 183 | if (openSubMenu) { |
170 | 184 | const focusableElements = openSubMenu.querySelectorAll([ |
171 | 185 | "a[href]", |
|
187 | 201 | } |
188 | 202 | } |
189 | 203 | if (ESCAPE_KEY === event.keyCode) { |
190 | | - if (event.target.matches('[data-meom-nav="sub-toggle"][aria-expanded="true"]')) { |
| 204 | + if (event.target.matches( |
| 205 | + '[data-meom-nav="sub-toggle"][aria-expanded="true"]' |
| 206 | + )) { |
191 | 207 | this._handleSubNav(event); |
192 | 208 | this._closeAllSubMenus(); |
193 | 209 | this._closeAllSubMenuToggles(); |
194 | 210 | return this; |
195 | 211 | } |
196 | | - const parentSubMenu = event.target.closest(`${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}`); |
| 212 | + const parentSubMenu = event.target.closest( |
| 213 | + `${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}` |
| 214 | + ); |
197 | 215 | if (parentSubMenu) { |
198 | 216 | const subMenuToggle = parentSubMenu.previousElementSibling; |
199 | 217 | if (subMenuToggle) { |
|
236 | 254 | return this; |
237 | 255 | }; |
238 | 256 | Navigation.prototype.closeAllSubMenus = function() { |
239 | | - const openSubMenus = document.querySelectorAll(`${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}`); |
| 257 | + const openSubMenus = document.querySelectorAll( |
| 258 | + `${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}` |
| 259 | + ); |
240 | 260 | openSubMenus.forEach(function(openSubMenu) { |
241 | 261 | this._setSubMenu(openSubMenu); |
242 | 262 | }, this); |
243 | 263 | return this; |
244 | 264 | }; |
245 | 265 | Navigation.prototype.closeAllSubSubMenus = function() { |
246 | | - const openSubSubMenus = document.querySelectorAll(`${this.settings.subNavClass} ${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}`); |
| 266 | + const openSubSubMenus = document.querySelectorAll( |
| 267 | + `${this.settings.subNavClass} ${this.settings.subNavClass}.${this.settings.toggleSubNavClassValue}` |
| 268 | + ); |
247 | 269 | openSubSubMenus.forEach(function(openSubSubMenu) { |
248 | 270 | this._setSubMenu(openSubSubMenu); |
249 | 271 | }, this); |
|
259 | 281 | animate(submenu, this.settings.animateSubNavClass); |
260 | 282 | } |
261 | 283 | if (this.settings.onOpenSubNav && typeof this.settings.onOpenSubNav === "function") { |
262 | | - this.settings.onOpenSubNav(this.$element, this.$toggle, submenu, event); |
| 284 | + this.settings.onOpenSubNav( |
| 285 | + this.$element, |
| 286 | + this.$toggle, |
| 287 | + submenu, |
| 288 | + event |
| 289 | + ); |
263 | 290 | } |
264 | 291 | } else { |
265 | 292 | submenu.classList.remove(this.settings.toggleSubNavClassValue); |
266 | 293 | if (this.settings.onCloseSubNav && typeof this.settings.onCloseSubNav === "function") { |
267 | | - this.settings.onCloseSubNav(this.$element, this.$toggle, submenu, event); |
| 294 | + this.settings.onCloseSubNav( |
| 295 | + this.$element, |
| 296 | + this.$toggle, |
| 297 | + submenu, |
| 298 | + event |
| 299 | + ); |
268 | 300 | } |
269 | 301 | } |
270 | 302 | return this; |
271 | 303 | }; |
272 | 304 | Navigation.prototype.closeAllSubMenuToggles = function() { |
273 | | - const openSubMenuToggles = document.querySelectorAll('[data-meom-nav="sub-toggle"][aria-expanded="true"]'); |
| 305 | + const openSubMenuToggles = document.querySelectorAll( |
| 306 | + '[data-meom-nav="sub-toggle"][aria-expanded="true"]' |
| 307 | + ); |
274 | 308 | openSubMenuToggles.forEach(function(openSubMenuToggle) { |
275 | 309 | updateAria(openSubMenuToggle, "expanded"); |
276 | 310 | }); |
277 | | - const openSubSubMenuToggles = document.querySelectorAll('[data-meom-nav="sub-sub-toggle"][aria-expanded="true"]'); |
| 311 | + const openSubSubMenuToggles = document.querySelectorAll( |
| 312 | + '[data-meom-nav="sub-sub-toggle"][aria-expanded="true"]' |
| 313 | + ); |
278 | 314 | openSubSubMenuToggles.forEach(function(openSubSubMenuToggle) { |
279 | 315 | updateAria(openSubSubMenuToggle, "expanded"); |
280 | 316 | }); |
281 | 317 | return this; |
282 | 318 | }; |
283 | 319 | Navigation.prototype.closeAllSubSubMenuToggles = function() { |
284 | | - const openSubSubMenuToggles = document.querySelectorAll('[data-meom-nav="sub-sub-toggle"][aria-expanded="true"]'); |
| 320 | + const openSubSubMenuToggles = document.querySelectorAll( |
| 321 | + '[data-meom-nav="sub-sub-toggle"][aria-expanded="true"]' |
| 322 | + ); |
285 | 323 | openSubSubMenuToggles.forEach(function(openSubSubMenuToggle) { |
286 | 324 | updateAria(openSubSubMenuToggle, "expanded"); |
287 | 325 | }); |
|
0 commit comments