aboutsummaryrefslogtreecommitdiff
path: root/src/directives
diff options
context:
space:
mode:
authortaehoon <th.dev91@gmail.com>2019-10-21 20:57:36 -0400
committertaehoon <th.dev91@gmail.com>2019-10-21 20:57:36 -0400
commiteb695fd61d97a8b4ce9de9c65b0133515d087a2c (patch)
treec99e52945d37725975b9b48dd0c07052078a9a8b /src/directives
parentd3a6c030f8a156cbb5a6b758c7a06c64fefe3d80 (diff)
refactor using Set
Diffstat (limited to 'src/directives')
-rw-r--r--src/directives/body_scroll_lock.js14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/directives/body_scroll_lock.js b/src/directives/body_scroll_lock.js
index d7f114b5..13a6de1c 100644
--- a/src/directives/body_scroll_lock.js
+++ b/src/directives/body_scroll_lock.js
@@ -2,18 +2,16 @@ import * as bodyScrollLock from 'body-scroll-lock'
let previousNavPaddingRight
let previousAppBgWrapperRight
-let lockerEls = []
+const lockerEls = new Set([])
const disableBodyScroll = (el) => {
const scrollBarGap = window.innerWidth - document.documentElement.clientWidth
bodyScrollLock.disableBodyScroll(el, {
reserveScrollBarGap: true
})
- if (!lockerEls.includes(el)) {
- lockerEls.push(el)
- }
+ lockerEls.add(el)
setTimeout(() => {
- if (lockerEls.length <= 1) {
+ if (lockerEls.size <= 1) {
// If previousNavPaddingRight is already set, don't set it again.
if (previousNavPaddingRight === undefined) {
const navEl = document.getElementById('nav')
@@ -32,11 +30,9 @@ const disableBodyScroll = (el) => {
}
const enableBodyScroll = (el) => {
- if (lockerEls.includes(el)) {
- lockerEls = lockerEls.filter(e => e !== el)
- }
+ lockerEls.delete(el)
setTimeout(() => {
- if (lockerEls.length === 0) {
+ if (lockerEls.size === 0) {
if (previousNavPaddingRight !== undefined) {
document.getElementById('nav').style.paddingRight = previousNavPaddingRight
// Restore previousNavPaddingRight to undefined so disableBodyScroll knows it can be set again.