UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

1,202 lines (1,112 loc) • 106 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/platform-browser'), require('@angular/core'), require('devextreme/ui/data_grid'), require('devextreme-angular/core'), require('devextreme-angular/ui/nested')) : typeof define === 'function' && define.amd ? define('devextreme-angular/ui/data-grid', ['exports', '@angular/platform-browser', '@angular/core', 'devextreme/ui/data_grid', 'devextreme-angular/core', 'devextreme-angular/ui/nested'], factory) : (global = global || self, factory((global['devextreme-angular'] = global['devextreme-angular'] || {}, global['devextreme-angular'].ui = global['devextreme-angular'].ui || {}, global['devextreme-angular'].ui['data-grid'] = {}), global.ng.platformBrowser, global.ng.core, global.DxDataGrid, global['devextreme-angular'].core, global['devextreme-angular'].ui.nested)); }(this, (function (exports, platformBrowser, core, DxDataGrid, core$1, nested) { 'use strict'; DxDataGrid = DxDataGrid && Object.prototype.hasOwnProperty.call(DxDataGrid, 'default') ? DxDataGrid['default'] : DxDataGrid; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } function __createBinding(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; } function __exportStar(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p]; } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result.default = mod; return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; } /*! * devextreme-angular * Version: 20.2.5 * Build date: Fri Jan 15 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ /** * The DataGrid is a UI component that represents data from a local or remote source in the form of a grid. This UI component offers such basic features as sorting, grouping, filtering, as well as more advanced capabilities, like state storing, client-side exporting, master-detail interface, and many others. */ var DxDataGridComponent = /** @class */ (function (_super) { __extends(DxDataGridComponent, _super); function DxDataGridComponent(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) { var _this = _super.call(this, elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId) || this; _this._watcherHelper = _watcherHelper; _this._idh = _idh; _this._createEventEmitters([ { subscribe: 'adaptiveDetailRowPreparing', emit: 'onAdaptiveDetailRowPreparing' }, { subscribe: 'cellClick', emit: 'onCellClick' }, { subscribe: 'cellDblClick', emit: 'onCellDblClick' }, { subscribe: 'cellHoverChanged', emit: 'onCellHoverChanged' }, { subscribe: 'cellPrepared', emit: 'onCellPrepared' }, { subscribe: 'contentReady', emit: 'onContentReady' }, { subscribe: 'contextMenuPreparing', emit: 'onContextMenuPreparing' }, { subscribe: 'dataErrorOccurred', emit: 'onDataErrorOccurred' }, { subscribe: 'disposing', emit: 'onDisposing' }, { subscribe: 'editCanceled', emit: 'onEditCanceled' }, { subscribe: 'editCanceling', emit: 'onEditCanceling' }, { subscribe: 'editingStart', emit: 'onEditingStart' }, { subscribe: 'editorPrepared', emit: 'onEditorPrepared' }, { subscribe: 'editorPreparing', emit: 'onEditorPreparing' }, { subscribe: 'exported', emit: 'onExported' }, { subscribe: 'exporting', emit: 'onExporting' }, { subscribe: 'fileSaving', emit: 'onFileSaving' }, { subscribe: 'focusedCellChanged', emit: 'onFocusedCellChanged' }, { subscribe: 'focusedCellChanging', emit: 'onFocusedCellChanging' }, { subscribe: 'focusedRowChanged', emit: 'onFocusedRowChanged' }, { subscribe: 'focusedRowChanging', emit: 'onFocusedRowChanging' }, { subscribe: 'initialized', emit: 'onInitialized' }, { subscribe: 'initNewRow', emit: 'onInitNewRow' }, { subscribe: 'keyDown', emit: 'onKeyDown' }, { subscribe: 'optionChanged', emit: 'onOptionChanged' }, { subscribe: 'rowClick', emit: 'onRowClick' }, { subscribe: 'rowCollapsed', emit: 'onRowCollapsed' }, { subscribe: 'rowCollapsing', emit: 'onRowCollapsing' }, { subscribe: 'rowDblClick', emit: 'onRowDblClick' }, { subscribe: 'rowExpanded', emit: 'onRowExpanded' }, { subscribe: 'rowExpanding', emit: 'onRowExpanding' }, { subscribe: 'rowInserted', emit: 'onRowInserted' }, { subscribe: 'rowInserting', emit: 'onRowInserting' }, { subscribe: 'rowPrepared', emit: 'onRowPrepared' }, { subscribe: 'rowRemoved', emit: 'onRowRemoved' }, { subscribe: 'rowRemoving', emit: 'onRowRemoving' }, { subscribe: 'rowUpdated', emit: 'onRowUpdated' }, { subscribe: 'rowUpdating', emit: 'onRowUpdating' }, { subscribe: 'rowValidating', emit: 'onRowValidating' }, { subscribe: 'saved', emit: 'onSaved' }, { subscribe: 'saving', emit: 'onSaving' }, { subscribe: 'selectionChanged', emit: 'onSelectionChanged' }, { subscribe: 'toolbarPreparing', emit: 'onToolbarPreparing' }, { emit: 'accessKeyChange' }, { emit: 'activeStateEnabledChange' }, { emit: 'allowColumnReorderingChange' }, { emit: 'allowColumnResizingChange' }, { emit: 'autoNavigateToFocusedRowChange' }, { emit: 'cacheEnabledChange' }, { emit: 'cellHintEnabledChange' }, { emit: 'columnAutoWidthChange' }, { emit: 'columnChooserChange' }, { emit: 'columnFixingChange' }, { emit: 'columnHidingEnabledChange' }, { emit: 'columnMinWidthChange' }, { emit: 'columnResizingModeChange' }, { emit: 'columnsChange' }, { emit: 'columnWidthChange' }, { emit: 'customizeColumnsChange' }, { emit: 'customizeExportDataChange' }, { emit: 'dataSourceChange' }, { emit: 'dateSerializationFormatChange' }, { emit: 'disabledChange' }, { emit: 'editingChange' }, { emit: 'elementAttrChange' }, { emit: 'errorRowEnabledChange' }, { emit: 'exportChange' }, { emit: 'filterBuilderChange' }, { emit: 'filterBuilderPopupChange' }, { emit: 'filterPanelChange' }, { emit: 'filterRowChange' }, { emit: 'filterSyncEnabledChange' }, { emit: 'filterValueChange' }, { emit: 'focusedColumnIndexChange' }, { emit: 'focusedRowEnabledChange' }, { emit: 'focusedRowIndexChange' }, { emit: 'focusedRowKeyChange' }, { emit: 'focusStateEnabledChange' }, { emit: 'groupingChange' }, { emit: 'groupPanelChange' }, { emit: 'headerFilterChange' }, { emit: 'heightChange' }, { emit: 'highlightChangesChange' }, { emit: 'hintChange' }, { emit: 'hoverStateEnabledChange' }, { emit: 'keyboardNavigationChange' }, { emit: 'keyExprChange' }, { emit: 'loadPanelChange' }, { emit: 'masterDetailChange' }, { emit: 'noDataTextChange' }, { emit: 'pagerChange' }, { emit: 'pagingChange' }, { emit: 'remoteOperationsChange' }, { emit: 'renderAsyncChange' }, { emit: 'repaintChangesOnlyChange' }, { emit: 'rowAlternationEnabledChange' }, { emit: 'rowDraggingChange' }, { emit: 'rowTemplateChange' }, { emit: 'rtlEnabledChange' }, { emit: 'scrollingChange' }, { emit: 'searchPanelChange' }, { emit: 'selectedRowKeysChange' }, { emit: 'selectionChange' }, { emit: 'selectionFilterChange' }, { emit: 'showBordersChange' }, { emit: 'showColumnHeadersChange' }, { emit: 'showColumnLinesChange' }, { emit: 'showRowLinesChange' }, { emit: 'sortByGroupSummaryInfoChange' }, { emit: 'sortingChange' }, { emit: 'stateStoringChange' }, { emit: 'summaryChange' }, { emit: 'tabIndexChange' }, { emit: 'twoWayBindingEnabledChange' }, { emit: 'visibleChange' }, { emit: 'widthChange' }, { emit: 'wordWrapEnabledChange' } ]); _this._idh.setHost(_this); optionHost.setHost(_this); return _this; } Object.defineProperty(DxDataGridComponent.prototype, "accessKey", { /** * Specifies the shortcut key that sets focus on the UI component. */ get: function () { return this._getOption('accessKey'); }, set: function (value) { this._setOption('accessKey', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "activeStateEnabled", { /** * Specifies whether or not the UI component changes its state when interacting with a user. */ get: function () { return this._getOption('activeStateEnabled'); }, set: function (value) { this._setOption('activeStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "allowColumnReordering", { /** * Specifies whether a user can reorder columns. */ get: function () { return this._getOption('allowColumnReordering'); }, set: function (value) { this._setOption('allowColumnReordering', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "allowColumnResizing", { /** * Specifies whether a user can resize columns. */ get: function () { return this._getOption('allowColumnResizing'); }, set: function (value) { this._setOption('allowColumnResizing', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "autoNavigateToFocusedRow", { /** * Automatically scrolls to the focused row when the focusedRowKey is changed. */ get: function () { return this._getOption('autoNavigateToFocusedRow'); }, set: function (value) { this._setOption('autoNavigateToFocusedRow', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "cacheEnabled", { /** * Specifies whether data should be cached. */ get: function () { return this._getOption('cacheEnabled'); }, set: function (value) { this._setOption('cacheEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "cellHintEnabled", { /** * Enables a hint that appears when a user hovers the mouse pointer over a cell with truncated content. */ get: function () { return this._getOption('cellHintEnabled'); }, set: function (value) { this._setOption('cellHintEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnAutoWidth", { /** * Specifies whether columns should adjust their widths to the content. */ get: function () { return this._getOption('columnAutoWidth'); }, set: function (value) { this._setOption('columnAutoWidth', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnChooser", { /** * Configures the column chooser. */ get: function () { return this._getOption('columnChooser'); }, set: function (value) { this._setOption('columnChooser', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnFixing", { /** * Configures column fixing. */ get: function () { return this._getOption('columnFixing'); }, set: function (value) { this._setOption('columnFixing', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnHidingEnabled", { /** * Specifies whether the UI component should hide columns to adapt to the screen or container size. Ignored if allowColumnResizing is true and columnResizingMode is 'widget'. */ get: function () { return this._getOption('columnHidingEnabled'); }, set: function (value) { this._setOption('columnHidingEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnMinWidth", { /** * Specifies the minimum width of columns. */ get: function () { return this._getOption('columnMinWidth'); }, set: function (value) { this._setOption('columnMinWidth', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnResizingMode", { /** * Specifies how the UI component resizes columns. Applies only if allowColumnResizing is true. */ get: function () { return this._getOption('columnResizingMode'); }, set: function (value) { this._setOption('columnResizingMode', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columns", { /** * An array of grid columns. */ get: function () { return this._getOption('columns'); }, set: function (value) { this._setOption('columns', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "columnWidth", { /** * Specifies the width for all data columns. Has a lower priority than the column.width property. */ get: function () { return this._getOption('columnWidth'); }, set: function (value) { this._setOption('columnWidth', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "customizeColumns", { /** * Customizes columns after they are created. */ get: function () { return this._getOption('customizeColumns'); }, set: function (value) { this._setOption('customizeColumns', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "customizeExportData", { /** * Customizes data before export. * @deprecated Since v20.1, we recommend ExcelJS-based export which does not use this property. */ get: function () { return this._getOption('customizeExportData'); }, set: function (value) { this._setOption('customizeExportData', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "dataSource", { /** * Binds the UI component to data. */ get: function () { return this._getOption('dataSource'); }, set: function (value) { this._setOption('dataSource', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "dateSerializationFormat", { /** * Specifies the format in which date-time values should be sent to the server. Use it only if you do not specify the dataSource at design time. */ get: function () { return this._getOption('dateSerializationFormat'); }, set: function (value) { this._setOption('dateSerializationFormat', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "disabled", { /** * Specifies whether the UI component responds to user interaction. */ get: function () { return this._getOption('disabled'); }, set: function (value) { this._setOption('disabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "editing", { /** * Configures editing. */ get: function () { return this._getOption('editing'); }, set: function (value) { this._setOption('editing', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "elementAttr", { /** * Specifies the global attributes to be attached to the UI component's container element. */ get: function () { return this._getOption('elementAttr'); }, set: function (value) { this._setOption('elementAttr', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "errorRowEnabled", { /** * Indicates whether to show the error row. */ get: function () { return this._getOption('errorRowEnabled'); }, set: function (value) { this._setOption('errorRowEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "export", { /** * Configures client-side exporting. */ get: function () { return this._getOption('export'); }, set: function (value) { this._setOption('export', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterBuilder", { /** * Configures the integrated filter builder. */ get: function () { return this._getOption('filterBuilder'); }, set: function (value) { this._setOption('filterBuilder', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterBuilderPopup", { /** * Configures the popup in which the integrated filter builder is shown. */ get: function () { return this._getOption('filterBuilderPopup'); }, set: function (value) { this._setOption('filterBuilderPopup', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterPanel", { /** * Configures the filter panel. */ get: function () { return this._getOption('filterPanel'); }, set: function (value) { this._setOption('filterPanel', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterRow", { /** * Configures the filter row. */ get: function () { return this._getOption('filterRow'); }, set: function (value) { this._setOption('filterRow', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterSyncEnabled", { /** * Specifies whether to synchronize the filter row, header filter, and filter builder. The synchronized filter expression is stored in the filterValue property. */ get: function () { return this._getOption('filterSyncEnabled'); }, set: function (value) { this._setOption('filterSyncEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "filterValue", { /** * Specifies a filter expression. */ get: function () { return this._getOption('filterValue'); }, set: function (value) { this._setOption('filterValue', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "focusedColumnIndex", { /** * The index of the column that contains the focused data cell. This index is taken from the columns array. */ get: function () { return this._getOption('focusedColumnIndex'); }, set: function (value) { this._setOption('focusedColumnIndex', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "focusedRowEnabled", { /** * Specifies whether the focused row feature is enabled. */ get: function () { return this._getOption('focusedRowEnabled'); }, set: function (value) { this._setOption('focusedRowEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "focusedRowIndex", { /** * Specifies or indicates the focused data row's index. Use this property when focusedRowEnabled is true. */ get: function () { return this._getOption('focusedRowIndex'); }, set: function (value) { this._setOption('focusedRowIndex', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "focusedRowKey", { /** * Specifies initially or currently focused grid row's key. Use it when focusedRowEnabled is true. */ get: function () { return this._getOption('focusedRowKey'); }, set: function (value) { this._setOption('focusedRowKey', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "focusStateEnabled", { /** * Specifies whether the UI component can be focused using keyboard navigation. */ get: function () { return this._getOption('focusStateEnabled'); }, set: function (value) { this._setOption('focusStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "grouping", { /** * Configures grouping. */ get: function () { return this._getOption('grouping'); }, set: function (value) { this._setOption('grouping', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "groupPanel", { /** * Configures the group panel. */ get: function () { return this._getOption('groupPanel'); }, set: function (value) { this._setOption('groupPanel', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "headerFilter", { /** * Configures the header filter feature. */ get: function () { return this._getOption('headerFilter'); }, set: function (value) { this._setOption('headerFilter', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "height", { /** * Specifies the UI component's height. */ get: function () { return this._getOption('height'); }, set: function (value) { this._setOption('height', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "highlightChanges", { /** * Specifies whether to highlight rows and cells with edited data. repaintChangesOnly should be true. */ get: function () { return this._getOption('highlightChanges'); }, set: function (value) { this._setOption('highlightChanges', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "hint", { /** * Specifies text for a hint that appears when a user pauses on the UI component. */ get: function () { return this._getOption('hint'); }, set: function (value) { this._setOption('hint', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "hoverStateEnabled", { /** * Specifies whether the UI component changes its state when a user pauses on it. */ get: function () { return this._getOption('hoverStateEnabled'); }, set: function (value) { this._setOption('hoverStateEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "keyboardNavigation", { /** * Configures keyboard navigation. */ get: function () { return this._getOption('keyboardNavigation'); }, set: function (value) { this._setOption('keyboardNavigation', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "keyExpr", { /** * Specifies the key property (or properties) that provide(s) key values to access data items. Each key value must be unique. This property applies only if data is a simple array. */ get: function () { return this._getOption('keyExpr'); }, set: function (value) { this._setOption('keyExpr', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "loadPanel", { /** * Configures the load panel. */ get: function () { return this._getOption('loadPanel'); }, set: function (value) { this._setOption('loadPanel', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "masterDetail", { /** * Allows you to build a master-detail interface in the grid. */ get: function () { return this._getOption('masterDetail'); }, set: function (value) { this._setOption('masterDetail', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "noDataText", { /** * Specifies text shown when the UI component does not display any data. */ get: function () { return this._getOption('noDataText'); }, set: function (value) { this._setOption('noDataText', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "pager", { /** * Configures the pager. */ get: function () { return this._getOption('pager'); }, set: function (value) { this._setOption('pager', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "paging", { /** * Configures paging. */ get: function () { return this._getOption('paging'); }, set: function (value) { this._setOption('paging', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "remoteOperations", { /** * Notifies the DataGrid of the server's data processing operations. */ get: function () { return this._getOption('remoteOperations'); }, set: function (value) { this._setOption('remoteOperations', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "renderAsync", { /** * Specifies whether to render the filter row, command columns, and columns with showEditorAlways set to true after other elements. */ get: function () { return this._getOption('renderAsync'); }, set: function (value) { this._setOption('renderAsync', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "repaintChangesOnly", { /** * Specifies whether to repaint only those cells whose data changed. */ get: function () { return this._getOption('repaintChangesOnly'); }, set: function (value) { this._setOption('repaintChangesOnly', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "rowAlternationEnabled", { /** * Specifies whether rows should be shaded differently. */ get: function () { return this._getOption('rowAlternationEnabled'); }, set: function (value) { this._setOption('rowAlternationEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "rowDragging", { /** * Configures row reordering using drag and drop gestures. */ get: function () { return this._getOption('rowDragging'); }, set: function (value) { this._setOption('rowDragging', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "rowTemplate", { /** * Specifies a custom template for rows. */ get: function () { return this._getOption('rowTemplate'); }, set: function (value) { this._setOption('rowTemplate', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "rtlEnabled", { /** * Switches the UI component to a right-to-left representation. */ get: function () { return this._getOption('rtlEnabled'); }, set: function (value) { this._setOption('rtlEnabled', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "scrolling", { /** * Configures scrolling. */ get: function () { return this._getOption('scrolling'); }, set: function (value) { this._setOption('scrolling', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "searchPanel", { /** * Configures the search panel. */ get: function () { return this._getOption('searchPanel'); }, set: function (value) { this._setOption('searchPanel', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "selectedRowKeys", { /** * Allows you to select rows or determine which rows are selected. */ get: function () { return this._getOption('selectedRowKeys'); }, set: function (value) { this._setOption('selectedRowKeys', value); }, enumerable: true, configurable: true }); Object.defineProperty(DxDataGridComponent.prototype, "selection", { /*