Improved dropdown behaviour

This commit is contained in:
Grzegorz Leoniec 2019-01-08 14:37:07 +01:00
parent bf73b7ca84
commit 0c336279b4
No known key found for this signature in database
GPG Key ID: 3AA43686D4EB1377
2 changed files with 42 additions and 0 deletions

View File

@ -36,6 +36,27 @@ export default {
isPopoverOpen: false
}
},
watch: {
isPopoverOpen: {
immediate: true,
handler(isOpen) {
console.log('isOpen', isOpen)
try {
if (isOpen) {
setTimeout(() => {
document
.getElementsByTagName('body')[0]
.classList.add('dropdown-open')
}, 10)
} else {
document
.getElementsByTagName('body')[0]
.classList.remove('dropdown-open')
}
} catch (err) {}
}
}
},
beforeDestroy() {
clearTimeout(mouseEnterTimer)
clearTimeout(mouseLeaveTimer)

View File

@ -81,6 +81,7 @@
<nuxt />
</div>
</ds-container>
<div id="overlay" />
</div>
</template>
@ -162,4 +163,24 @@ export default {
padding-bottom: 1rem;
}
}
#overlay {
display: block;
opacity: 0;
width: 100%;
height: 100%;
top: 0;
left: 0;
position: fixed;
background: rgba(0, 0, 0, 0.15);
z-index: 99;
pointer-events: none;
transition: opacity 150ms ease-out;
transition-delay: 50ms;
.dropdown-open & {
opacity: 1;
transition-delay: 0;
}
}
</style>