mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-26 00:19:28 +00:00
29 lines
659 B
JavaScript
29 lines
659 B
JavaScript
const elementDataMap = new WeakMap();
|
|
|
|
export default {
|
|
mounted(el, binding) {
|
|
let open = false;
|
|
elementDataMap.set(el, evt => {
|
|
if (!open)
|
|
return;
|
|
|
|
if (el.contains(evt.target))
|
|
return;
|
|
|
|
const collapse = bootstrap.Collapse.getInstance(el)
|
|
if (collapse)
|
|
collapse.hide();
|
|
});
|
|
el.addEventListener('shown.bs.collapse', () => {
|
|
open = true;
|
|
});
|
|
el.addEventListener('hide.bs.collapse', () => {
|
|
open = false;
|
|
});
|
|
document.addEventListener('click', elementDataMap.get(el), true);
|
|
},
|
|
beforeUnmount(el, binding) {
|
|
document.removeEventListener('click', elementDataMap.get(el));
|
|
delete el.collapsibleAutoHideFunc;
|
|
}
|
|
} |