forked from github/dataease
19 lines
637 B
JavaScript
19 lines
637 B
JavaScript
export default async function runAnimation($el, animations = []) {
|
|
const play = (animation) => new Promise(resolve => {
|
|
$el.classList.add(animation.value, 'animated')
|
|
const removeAnimation = () => {
|
|
$el.removeEventListener('animationend', removeAnimation)
|
|
$el.removeEventListener('animationcancel', removeAnimation)
|
|
$el.classList.remove(animation.value, 'animated')
|
|
resolve()
|
|
}
|
|
|
|
$el.addEventListener('animationend', removeAnimation)
|
|
$el.addEventListener('animationcancel', removeAnimation)
|
|
})
|
|
|
|
for (let i = 0, len = animations.length; i < len; i++) {
|
|
await play(animations[i])
|
|
}
|
|
}
|