i-rubik
Version:
A Vue.js 2.0+ UI Components Framework
46 lines (37 loc) • 882 B
JavaScript
export function createSimpleFunctional (c, el = 'div') {
return {
functional: true,
render: (h, { data, children }) => {
data.staticClass = data.staticClass ? `${c} ${data.staticClass}` : c
return h(el, data, children)
}
}
}
export function directiveConfig (binding, defaults = {}) {
return Object.assign(
defaults,
binding.modifiers,
{ value: binding.arg },
binding.value || {}
)
}
export function closest (className) {
let parent = this.$parent
while(parent) {
if (!parent.$el) {
return null
}
if (parent.$el.classList.contains(className)) {
return parent
}
parent = parent.$parent
}
return null
}
export function addOnceEventListener (el, event, cb) {
var once = () => {
cb()
el.removeEventListener(event, once, false)
}
el.addEventListener(event, once, false)
}