devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
55 lines (54 loc) • 1.82 kB
JavaScript
/**
* DevExtreme (esm/exporter/common/export_load_panel.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import $ from "../../core/renderer";
import {
extend
} from "../../core/utils/extend";
import messageLocalization from "../../common/core/localization/message";
import {
isDefined
} from "../../core/utils/type";
import LoadPanel from "../../ui/load_panel";
import gridUtils from "../../__internal/grids/grid_core/m_utils";
const EXPORT_LOAD_PANEL_CLASS = "dx-export-loadpanel";
class ExportLoadPanel {
constructor(component, $targetElement, $container, options) {
this._$targetElement = $targetElement;
this._$container = $container;
this._loadPanel = component._createComponent($("<div>").addClass("dx-export-loadpanel").appendTo(this._$container), LoadPanel, this.getOptions(options))
}
getDefaultOptions() {
return {
animation: null,
shading: false,
height: 90,
width: 200,
container: this._$container
}
}
getOptions(options) {
if (isDefined(options.text)) {
options.message = options.text
} else {
options.message = messageLocalization.format("dxDataGrid-exporting")
}
return extend(this.getDefaultOptions(), options)
}
show() {
this._loadPanel.option("position", gridUtils.calculateLoadPanelPosition(this._$targetElement));
this._loadPanel.show()
}
dispose() {
$(this._loadPanel.element()).remove();
delete this._loadPanel
}
}
export {
ExportLoadPanel
};