UNPKG

@fleetbase/ember-ui

Version:

Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.

39 lines (31 loc) 899 B
import Ember from 'ember'; import { cancel, later } from '@ember/runloop'; import { Promise, reject } from 'rsvp'; let _skipTransition; export function skipTransition(bool) { _skipTransition = bool; } function _isSkipped() { return (_skipTransition === true) | (_skipTransition !== false) && Ember.testing; } export default function waitForTransitionEnd(node, duration = 0) { if (!node) { return reject(); } let backup; if (_isSkipped()) { duration = 0; } return new Promise(function (resolve) { let done = function () { if (backup) { cancel(backup); backup = null; } node.removeEventListener('transitionend', done); resolve(); }; node.addEventListener('transitionend', done, false); backup = later(this, done, duration); }); }