ui.data_grid.base.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. /**
  2. * DevExtreme (ui/data_grid/ui.data_grid.base.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var _renderer = require("../../core/renderer");
  11. var _renderer2 = _interopRequireDefault(_renderer);
  12. var _component_registrator = require("../../core/component_registrator");
  13. var _component_registrator2 = _interopRequireDefault(_component_registrator);
  14. var _common = require("../../core/utils/common");
  15. var _common2 = _interopRequireDefault(_common);
  16. var _type = require("../../core/utils/type");
  17. var _type2 = _interopRequireDefault(_type);
  18. var _iterator = require("../../core/utils/iterator");
  19. var _extend = require("../../core/utils/extend");
  20. var _console = require("../../core/utils/console");
  21. var _browser = require("../../core/utils/browser");
  22. var _browser2 = _interopRequireDefault(_browser);
  23. var _ui = require("../widget/ui.widget");
  24. var _ui2 = _interopRequireDefault(_ui);
  25. var _uiData_grid = require("./ui.data_grid.core");
  26. var _uiData_grid2 = _interopRequireDefault(_uiData_grid);
  27. var _themes = require("../themes");
  28. var _themes2 = _interopRequireDefault(_themes);
  29. require("./ui.data_grid.column_headers");
  30. require("./ui.data_grid.columns_controller");
  31. require("./ui.data_grid.data_controller");
  32. require("./ui.data_grid.sorting");
  33. require("./ui.data_grid.rows");
  34. require("./ui.data_grid.context_menu");
  35. require("./ui.data_grid.error_handling");
  36. require("./ui.data_grid.grid_view");
  37. require("./ui.data_grid.header_panel");
  38. function _interopRequireDefault(obj) {
  39. return obj && obj.__esModule ? obj : {
  40. "default": obj
  41. }
  42. }
  43. var DATAGRID_ROW_SELECTOR = ".dx-row";
  44. 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.";
  45. _uiData_grid2.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "grouping", "editing", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]);
  46. var DataGrid = _ui2.default.inherit({
  47. _activeStateUnit: DATAGRID_ROW_SELECTOR,
  48. _getDefaultOptions: function() {
  49. var that = this;
  50. var result = that.callBase();
  51. (0, _iterator.each)(_uiData_grid2.default.modules, function() {
  52. if (_type2.default.isFunction(this.defaultOptions)) {
  53. (0, _extend.extend)(true, result, this.defaultOptions())
  54. }
  55. });
  56. return result
  57. },
  58. _defaultOptionsRules: function() {
  59. return this.callBase().concat([{
  60. device: {
  61. platform: "ios"
  62. },
  63. options: {
  64. showRowLines: true
  65. }
  66. }, {
  67. device: function() {
  68. return _themes2.default.isMaterial()
  69. },
  70. options: {
  71. showRowLines: true,
  72. showColumnLines: false,
  73. headerFilter: {
  74. height: 315
  75. },
  76. editing: {
  77. useIcons: true
  78. }
  79. }
  80. }, {
  81. device: function() {
  82. return _browser2.default.webkit
  83. },
  84. options: {
  85. loadingTimeout: 30,
  86. loadPanel: {
  87. animation: {
  88. show: {
  89. easing: "cubic-bezier(1, 0, 1, 0)",
  90. duration: 500,
  91. from: {
  92. opacity: 0
  93. },
  94. to: {
  95. opacity: 1
  96. }
  97. }
  98. }
  99. }
  100. }
  101. }, {
  102. device: function(_device) {
  103. return "desktop" !== _device.deviceType
  104. },
  105. options: {
  106. grouping: {
  107. expandMode: "rowClick"
  108. }
  109. }
  110. }])
  111. },
  112. _init: function() {
  113. var that = this;
  114. that.callBase();
  115. _uiData_grid2.default.processModules(that, _uiData_grid2.default);
  116. (0, _uiData_grid.callModuleItemsMethod)(that, "init")
  117. },
  118. _clean: _common2.default.noop,
  119. _optionChanged: function(args) {
  120. var that = this;
  121. (0, _uiData_grid.callModuleItemsMethod)(that, "optionChanged", [args]);
  122. if (!args.handled) {
  123. that.callBase(args)
  124. }
  125. },
  126. _dimensionChanged: function() {
  127. this.updateDimensions(true)
  128. },
  129. _visibilityChanged: function(visible) {
  130. if (visible) {
  131. this.updateDimensions()
  132. }
  133. },
  134. _initMarkup: function() {
  135. this.callBase.apply(this, arguments);
  136. this.getView("gridView").render(this.$element())
  137. },
  138. _renderContentImpl: function() {
  139. this.getView("gridView").update()
  140. },
  141. _renderContent: function() {
  142. var that = this;
  143. _common2.default.deferRender(function() {
  144. that._renderContentImpl()
  145. })
  146. },
  147. _getTemplate: function(templateName) {
  148. var template = templateName;
  149. if (_type2.default.isString(template) && "#" === template[0]) {
  150. template = (0, _renderer2.default)(templateName);
  151. _console.logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING)
  152. }
  153. return this.callBase(template)
  154. },
  155. _dispose: function() {
  156. var that = this;
  157. that.callBase();
  158. (0, _uiData_grid.callModuleItemsMethod)(that, "dispose")
  159. },
  160. isReady: function() {
  161. return this.getController("data").isReady()
  162. },
  163. beginUpdate: function() {
  164. var that = this;
  165. that.callBase();
  166. (0, _uiData_grid.callModuleItemsMethod)(that, "beginUpdate")
  167. },
  168. endUpdate: function() {
  169. var that = this;
  170. (0, _uiData_grid.callModuleItemsMethod)(that, "endUpdate");
  171. that.callBase()
  172. },
  173. getController: function(name) {
  174. return this._controllers[name]
  175. },
  176. getView: function(name) {
  177. return this._views[name]
  178. },
  179. focus: function(element) {
  180. this.getController("keyboardNavigation").focus(element)
  181. }
  182. });
  183. DataGrid.registerModule = _uiData_grid2.default.registerModule.bind(_uiData_grid2.default);
  184. (0, _component_registrator2.default)("dxDataGrid", DataGrid);
  185. module.exports = DataGrid;