open-consul/ui-v2/app/services/timeout.js
John Cowen e455648f96
ui: Adds tick whilst editing the link template in the Settings area (#5820)
1. Amends our `base` animation placeholder to always reset
transition-duration. This has no effect on other components that are
already using this animation.
2. Adds a confirming class whenever a key is pressed, to show the green
tick. Uses CSS via `transition-delay` for debouncing.
2019-05-17 12:33:12 +01:00

20 lines
657 B
JavaScript

import Service from '@ember/service';
import promisedTimeoutFactory from 'consul-ui/utils/promisedTimeout';
import { Promise } from 'rsvp';
import { next } from '@ember/runloop';
const promisedTimeout = promisedTimeoutFactory(Promise);
export default Service.extend({
// TODO: milliseconds should default to 0 or potentially just null
// if it is 0/null use tick/next instead
// if Octane eliminates the runloop things, look to use raf here instead
execute: function(milliseconds, cb) {
return promisedTimeout(milliseconds, cb);
},
tick: function() {
return new Promise(function(resolve, reject) {
next(resolve);
});
},
});