57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
export function dataToArray (vars) {
|
|
if (Array.isArray(vars)) {
|
|
return vars
|
|
}
|
|
return [vars]
|
|
}
|
|
const trnasitionEndObject = {
|
|
transition: 'transitionend',
|
|
WebkitTransition: 'webkitTransitionEnd',
|
|
MozTransition: 'transitionend',
|
|
OTransition: 'oTransitionEnd otransitionend',
|
|
}
|
|
export const trnasitionStr = Object.keys(trnasitionEndObject).filter(key => {
|
|
if (typeof document === 'undefined') {
|
|
return false
|
|
}
|
|
const html = document.getElementsByTagName('html')[0]
|
|
return key in (html ? html.style : {})
|
|
})[0]
|
|
export const transitionEnd = trnasitionEndObject[trnasitionStr]
|
|
|
|
export function addEventListener (target, eventType, callback, options) {
|
|
if (target.addEventListener) {
|
|
target.addEventListener(eventType, callback, options)
|
|
} else if (target.attachEvent) {
|
|
target.attachEvent(`on${eventType}`, callback)
|
|
}
|
|
}
|
|
|
|
export function removeEventListener (target, eventType, callback, options) {
|
|
if (target.removeEventListener) {
|
|
target.removeEventListener(eventType, callback, options)
|
|
} else if (target.attachEvent) {
|
|
target.detachEvent(`on${eventType}`, callback)
|
|
}
|
|
}
|
|
|
|
export function transformArguments (arg, cb) {
|
|
let result
|
|
if (typeof arg === 'function') {
|
|
result = arg(cb)
|
|
} else {
|
|
result = arg
|
|
}
|
|
if (Array.isArray(result)) {
|
|
if (result.length === 2) {
|
|
return result
|
|
}
|
|
return [result[0], result[1]]
|
|
}
|
|
return [result]
|
|
}
|
|
|
|
export const isNumeric = (value) => {
|
|
return !isNaN(parseFloat(value)) && isFinite(value);// eslint-disable-line
|
|
}
|