devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
55 lines (51 loc) • 1.49 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/loading.js)
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.hide = hide;
exports.show = show;
var _renderer = _interopRequireDefault(require("../../core/renderer"));
var _view_port = require("../../core/utils/view_port");
var _load_panel = _interopRequireDefault(require("../../ui/load_panel"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
let loading = null;
const createLoadPanel = options => {
const $container = (0, _renderer.default)("<div>").appendTo((null === options || void 0 === options ? void 0 : options.container) ?? (0, _view_port.value)());
return new _load_panel.default($container.get(0), options)
};
const removeLoadPanel = () => {
if (!loading) {
return
}
loading.$element().remove();
loading = null
};
function show(options) {
removeLoadPanel();
loading = createLoadPanel(options);
return loading.show()
}
function hide() {
if (!loading) {
return Promise.resolve(void 0)
}
const instance = loading;
return instance.hide().then(result => {
if (loading === instance) {
removeLoadPanel()
}
return result
})
}