Files
dvcp_v2_webapp/ui/lib/js/directives.js
2023-03-22 15:56:10 +08:00

38 lines
775 B
JavaScript

const map = {
throttle: {
bind: function (el, obj) {
let timerId = null
let flag = true
el.addEventListener('input', function () {
if (!flag) return
flag = false
timerId && clearTimeout(timerId)
timerId = setTimeout(function () {
flag = true
obj.value()
}, 800)
})
}
},
permit: {
bind(el, binding) {
const code = binding.value
const permits = JSON.parse(localStorage.getItem('vuex') || null)?.user?.info?.buttons || []
if (!permits.find(e => e.id == code || e.permission == code)) {
el.parentNode.removeChild(el)
}
}
}
}
export default {
install(Vue) {
for (const key in map) {
Vue.directive(key, map[key])
}
}
}