1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-19 21:29:42 +02:00
documize/gui/tests/helpers/wait-to-disappear.js

35 lines
1 KiB
JavaScript
Raw Normal View History

2016-07-07 18:54:16 -07:00
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { Promise as EmberPromise } from 'rsvp';
import { registerAsyncHelper } from '@ember/test';
import { later } from '@ember/runloop';
2016-07-07 18:54:16 -07:00
function isVisible(selector) {
return $(selector).length > 0;
}
function checkVisibility(selector, interval, resolve, visibility) {
if (isVisible(selector) === visibility) {
resolve($(selector));
} else {
later(null, function () {
2016-07-07 18:54:16 -07:00
checkVisibility(selector, interval, resolve, visibility);
}, interval);
}
}
export default registerAsyncHelper('waitToDisappear', function (app, selector, interval = 200) {
return new EmberPromise(function (resolve) {
2016-07-07 18:54:16 -07:00
checkVisibility(selector, interval, resolve, false);
});
});