devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
132 lines (131 loc) • 4.98 kB
JavaScript
/**
* DevExtreme (cjs/__internal/grids/tree_list/module_widget_base.js)
* Version: 22.1.9
* Build date: Tue Apr 18 2023
*
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
"use strict";
var __importDefault = this && this.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : {
default: mod
}
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var component_registrator_1 = __importDefault(require("../../../core/component_registrator"));
var common_1 = require("../../../core/utils/common");
var type_1 = require("../../../core/utils/type");
var iterator_1 = require("../../../core/utils/iterator");
var extend_1 = require("../../../core/utils/extend");
var ui_widget_1 = __importDefault(require("../../../ui/widget/ui.widget"));
var themes_1 = require("../../../ui/themes");
var module_core_1 = __importDefault(require("./module_core"));
require("./module_not_extended/column_headers");
require("./module_columns_controller");
require("./data_controller/module");
require("./module_not_extended/sorting");
require("./rows/module");
require("./module_not_extended/context_menu");
require("./module_not_extended/error_handling");
require("./module_grid_view");
require("./module_not_extended/header_panel");
var callModuleItemsMethod = module_core_1.default.callModuleItemsMethod;
var DATAGRID_ROW_SELECTOR = ".dx-row";
var TREELIST_CLASS = "dx-treelist";
module_core_1.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "editingRowBased", "editingFormBased", "editingCellBased", "editing", "grouping", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]);
var TreeList = ui_widget_1.default.inherit({
_activeStateUnit: DATAGRID_ROW_SELECTOR,
_getDefaultOptions: function() {
var result = this.callBase();
iterator_1.each(module_core_1.default.modules, (function() {
if (type_1.isFunction(this.defaultOptions)) {
extend_1.extend(true, result, this.defaultOptions())
}
}));
return result
},
_defaultOptionsRules: function() {
return this.callBase().concat([{
device: function() {
return themes_1.isMaterial()
},
options: {
showRowLines: true,
showColumnLines: false,
headerFilter: {
height: 315
},
editing: {
useIcons: true
}
}
}])
},
_init: function() {
this.callBase();
module_core_1.default.processModules(this, module_core_1.default);
callModuleItemsMethod(this, "init")
},
_clean: common_1.noop,
_optionChanged: function(args) {
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.$element().addClass(TREELIST_CLASS);
this.getView("gridView").render(this.$element())
},
_renderContentImpl: function() {
this.getView("gridView").update()
},
_renderContent: function() {
var that = this;
common_1.deferRender((function() {
that._renderContentImpl()
}))
},
_dispose: function() {
this.callBase();
callModuleItemsMethod(this, "dispose")
},
isReady: function() {
return this.getController("data").isReady()
},
beginUpdate: function() {
this.callBase();
callModuleItemsMethod(this, "beginUpdate")
},
endUpdate: function() {
callModuleItemsMethod(this, "endUpdate");
this.callBase()
},
getController: function(name) {
return this._controllers[name]
},
getView: function(name) {
return this._views[name]
},
focus: function(element) {
this.callBase();
if (type_1.isDefined(element)) {
this.getController("keyboardNavigation").focus(element)
}
}
});
TreeList.registerModule = module_core_1.default.registerModule.bind(module_core_1.default);
component_registrator_1.default("dxTreeList", TreeList);
exports.default = TreeList;