UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

186 lines (184 loc) • 6.95 kB
/** * DevExtreme (cjs/ui/data_grid/ui.data_grid.base.js) * Version: 21.1.4 * Build date: Mon Jun 21 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; exports.default = void 0; var _renderer = _interopRequireDefault(require("../../core/renderer")); var _component_registrator = _interopRequireDefault(require("../../core/component_registrator")); var _common = require("../../core/utils/common"); var _type = require("../../core/utils/type"); var _iterator = require("../../core/utils/iterator"); var _extend = require("../../core/utils/extend"); var _console = require("../../core/utils/console"); var _browser = _interopRequireDefault(require("../../core/utils/browser")); var _ui = _interopRequireDefault(require("../widget/ui.widget")); var _uiData_grid = _interopRequireDefault(require("./ui.data_grid.core")); var _themes = require("../themes"); require("./ui.data_grid.column_headers"); require("./ui.data_grid.columns_controller"); require("./ui.data_grid.data_controller"); require("./ui.data_grid.sorting"); require("./ui.data_grid.rows"); require("./ui.data_grid.context_menu"); require("./ui.data_grid.error_handling"); require("./ui.data_grid.grid_view"); require("./ui.data_grid.header_panel"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DATAGRID_ROW_SELECTOR = ".dx-row"; var DATAGRID_DEPRECATED_TEMPLATE_WARNING = "Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead."; _uiData_grid.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "grouping", "editing", "editingRowBased", "editingFormBased", "editingCellBased", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]); var DataGrid = _ui.default.inherit({ _activeStateUnit: DATAGRID_ROW_SELECTOR, _getDefaultOptions: function() { var result = this.callBase(); (0, _iterator.each)(_uiData_grid.default.modules, (function() { if ((0, _type.isFunction)(this.defaultOptions)) { (0, _extend.extend)(true, result, this.defaultOptions()) } })); return result }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { useKeyboard: { since: "19.2", alias: "keyboardNavigation.enabled" } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "ios" }, options: { showRowLines: true } }, { device: function() { return (0, _themes.isMaterial)() }, options: { showRowLines: true, showColumnLines: false, headerFilter: { height: 315 }, editing: { useIcons: true } } }, { device: function() { return _browser.default.webkit }, options: { loadingTimeout: 30, loadPanel: { animation: { show: { easing: "cubic-bezier(1, 0, 1, 0)", duration: 500, from: { opacity: 0 }, to: { opacity: 1 } } } } } }, { device: function(_device) { return "desktop" !== _device.deviceType }, options: { grouping: { expandMode: "rowClick" } } }]) }, _init: function() { this.callBase(); _uiData_grid.default.processModules(this, _uiData_grid.default); _uiData_grid.default.callModuleItemsMethod(this, "init") }, _clean: _common.noop, _optionChanged: function(args) { _uiData_grid.default.callModuleItemsMethod(this, "optionChanged", [args]); if (!args.handled) { this.callBase(args) } }, _dimensionChanged: function() { this.updateDimensions(true) }, _visibilityChanged: function(visible) { if (visible) { this.updateDimensions() } }, _initMarkup: function() { this.callBase.apply(this, arguments); this.getView("gridView").render(this.$element()) }, _renderContentImpl: function() { this.getView("gridView").update() }, _renderContent: function() { var that = this; (0, _common.deferRender)((function() { that._renderContentImpl() })) }, _getTemplate: function(templateName) { var template = templateName; if ((0, _type.isString)(template) && "#" === template[0]) { template = (0, _renderer.default)(templateName); _console.logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING) } return this.callBase(template) }, _dispose: function() { this.callBase(); _uiData_grid.default.callModuleItemsMethod(this, "dispose") }, isReady: function() { return this.getController("data").isReady() }, beginUpdate: function() { this.callBase(); _uiData_grid.default.callModuleItemsMethod(this, "beginUpdate") }, endUpdate: function() { _uiData_grid.default.callModuleItemsMethod(this, "endUpdate"); this.callBase() }, getController: function(name) { return this._controllers[name] }, getView: function(name) { return this._views[name] }, focus: function(element) { this.getController("keyboardNavigation").focus(element) } }); DataGrid.registerModule = _uiData_grid.default.registerModule.bind(_uiData_grid.default); (0, _component_registrator.default)("dxDataGrid", DataGrid); var _default = DataGrid; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default;