/** * DevExtreme (ui/load_panel.js) * Version: 19.1.16 * Build date: Tue Oct 18 2022 * * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; var $ = require("../core/renderer"); var noop = require("../core/utils/common").noop; var messageLocalization = require("../localization/message"); var registerComponent = require("../core/component_registrator"); var extend = require("../core/utils/extend").extend; var LoadIndicator = require("./load_indicator"); var Overlay = require("./overlay"); var Deferred = require("../core/utils/deferred").Deferred; var themes = require("./themes"); var LOADPANEL_CLASS = "dx-loadpanel"; var LOADPANEL_WRAPPER_CLASS = "dx-loadpanel-wrapper"; var LOADPANEL_INDICATOR_CLASS = "dx-loadpanel-indicator"; var LOADPANEL_MESSAGE_CLASS = "dx-loadpanel-message"; var LOADPANEL_CONTENT_CLASS = "dx-loadpanel-content"; var LOADPANEL_CONTENT_WRAPPER_CLASS = "dx-loadpanel-content-wrapper"; var LOADPANEL_PANE_HIDDEN_CLASS = "dx-loadpanel-pane-hidden"; var LoadPanel = Overlay.inherit({ _supportedKeys: function() { return extend(this.callBase(), { escape: noop }) }, _getDefaultOptions: function() { return extend(this.callBase(), { message: messageLocalization.format("Loading"), width: 222, height: 90, animation: null, showIndicator: true, indicatorSrc: "", showPane: true, delay: 0, closeOnBackButton: false, resizeEnabled: false, focusStateEnabled: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "generic" }, options: { shadingColor: "transparent" } }, { device: function() { return themes.isMaterial() }, options: { message: "", width: 60, height: 60, maxHeight: 60, maxWidth: 60 } }]) }, _init: function() { this.callBase.apply(this, arguments) }, _initOptions: function() { this.callBase.apply(this, arguments); this.option("templatesRenderAsynchronously", false) }, _render: function() { this.callBase(); this.$element().addClass(LOADPANEL_CLASS); this._wrapper().addClass(LOADPANEL_WRAPPER_CLASS) }, _renderContentImpl: function() { this.callBase(); this.$content().addClass(LOADPANEL_CONTENT_CLASS); this._$contentWrapper = $("