open-vault/ui/app/helpers/-date-base.js
Angel Garbarino 320c04273a
fix (#16040)
2022-06-17 11:22:47 -06:00

40 lines
930 B
JavaScript

import { run } from '@ember/runloop';
import Helper from '@ember/component/helper';
import Ember from 'ember';
export default Helper.extend({
disableInterval: false,
compute(value, { interval }) {
if (Ember.testing) {
// issues with flaky test, suspect it has to the do with the run loop not being cleared as intended farther down.
return;
}
if (this.disableInterval) {
return;
}
this.clearTimer();
if (interval) {
/*
* NOTE: intentionally a setTimeout so tests do not block on it
* as the run loop queue is never clear so tests will stay locked waiting
* for queue to clear.
*/
this.intervalTimer = setTimeout(() => {
run(() => this.recompute());
}, parseInt(interval, 10));
}
},
clearTimer() {
clearTimeout(this.intervalTimer);
},
destroy() {
this.clearTimer();
this._super(...arguments);
},
});