blob: 591bd0ff0d11c6d2483d6fbd7fc45282b7e1b1e2 [file] [log] [blame]
/* eslint-disable */
export default {
bind(el, binding) {
function documentHandler(e) {
if (binding.arg) {
const nodes = document.getElementsByClassName(binding.arg);
for (let i = 0; i < nodes.length; i += 1) {
if (nodes[i].contains(e.target)) {
return false;
}
}
}
if (el.contains(e.target)) {
return false;
}
if (binding.expression) {
binding.value(e);
}
}
el.__vueClickOutside__ = documentHandler;
document.addEventListener('click', documentHandler);
},
unbind(el) {
document.removeEventListener('click', el.__vueClickOutside__);
delete el.__vueClickOutside__;
},
};