Files
dvcp_v2_webapp/ui/lib/js/directives.js
2024-02-28 15:13:46 +08:00

41 lines
873 B
JavaScript

import {directive as viewer} from '../cdn/v-viewer/1.7.4/v-viewer'
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.style.display = 'none'
}
}
},
viewer: viewer({debug: false})
}
export default {
install(Vue) {
for (const key in map) {
Vue.directive(key, map[key])
}
}
}