devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
1,688 lines (1,338 loc) • 106 kB
JavaScript
import * as i0 from '@angular/core';
import { PLATFORM_ID, Component, Inject, Input, Output, ContentChildren, NgModule } from '@angular/core';
import DxTreeList from 'devextreme/ui/tree_list';
import * as i1 from 'devextreme-angular/core';
import { DxComponent, DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper, DxIntegrationModule, DxTemplateModule } from 'devextreme-angular/core';
import { DxiColumnComponent, DxoColumnChooserModule, DxoPositionModule, DxoAtModule, DxoBoundaryOffsetModule, DxoCollisionModule, DxoMyModule, DxoOffsetModule, DxoSearchModule, DxoSelectionModule, DxoColumnFixingModule, DxoIconsModule, DxoTextsModule, DxiColumnModule, DxiButtonModule, DxoHeaderFilterModule, DxoLookupModule, DxoFormatModule, DxoFormItemModule, DxoLabelModule, DxiValidationRuleModule, DxoEditingModule, DxiChangeModule, DxoFormModule, DxoColCountByScreenModule, DxiItemModule, DxoTabPanelOptionsModule, DxiTabModule, DxoButtonOptionsModule, DxoPopupModule, DxoAnimationModule, DxoHideModule, DxoFromModule, DxoToModule, DxoShowModule, DxoFilterBuilderModule, DxiCustomOperationModule, DxiFieldModule, DxoFilterOperationDescriptionsModule, DxoGroupOperationDescriptionsModule, DxoFilterBuilderPopupModule, DxoFilterPanelModule, DxoFilterRowModule, DxoOperationDescriptionsModule, DxoKeyboardNavigationModule, DxoLoadPanelModule, DxoPagerModule, DxoPagingModule, DxoRemoteOperationsModule, DxoRowDraggingModule, DxoCursorOffsetModule, DxoScrollingModule, DxoSearchPanelModule, DxoSortingModule, DxoStateStoringModule, DxoToolbarModule } from 'devextreme-angular/ui/nested';
import { DxiTreeListColumnComponent, DxoTreeListAnimationModule, DxiTreeListAsyncRuleModule, DxoTreeListAtModule, DxoTreeListBoundaryOffsetModule, DxiTreeListButtonModule, DxiTreeListChangeModule, DxoTreeListColCountByScreenModule, DxoTreeListCollisionModule, DxiTreeListColumnModule, DxoTreeListColumnChooserModule, DxoTreeListColumnChooserSearchModule, DxoTreeListColumnChooserSelectionModule, DxoTreeListColumnFixingModule, DxoTreeListColumnFixingTextsModule, DxoTreeListColumnHeaderFilterModule, DxoTreeListColumnHeaderFilterSearchModule, DxoTreeListColumnLookupModule, DxiTreeListCompareRuleModule, DxoTreeListCursorOffsetModule, DxiTreeListCustomOperationModule, DxiTreeListCustomRuleModule, DxoTreeListEditingModule, DxoTreeListEditingTextsModule, DxiTreeListEmailRuleModule, DxiTreeListFieldModule, DxoTreeListFieldLookupModule, DxoTreeListFilterBuilderModule, DxoTreeListFilterBuilderPopupModule, DxoTreeListFilterOperationDescriptionsModule, DxoTreeListFilterPanelModule, DxoTreeListFilterPanelTextsModule, DxoTreeListFilterRowModule, DxoTreeListFormModule, DxoTreeListFormatModule, DxoTreeListFormItemModule, DxoTreeListFromModule, DxoTreeListGroupOperationDescriptionsModule, DxoTreeListHeaderFilterModule, DxoTreeListHideModule, DxoTreeListIconsModule, DxiTreeListItemModule, DxoTreeListKeyboardNavigationModule, DxoTreeListLabelModule, DxoTreeListLoadPanelModule, DxoTreeListLookupModule, DxoTreeListMyModule, DxiTreeListNumericRuleModule, DxoTreeListOffsetModule, DxoTreeListOperationDescriptionsModule, DxoTreeListPagerModule, DxoTreeListPagingModule, DxiTreeListPatternRuleModule, DxoTreeListPopupModule, DxoTreeListPositionModule, DxiTreeListRangeRuleModule, DxoTreeListRemoteOperationsModule, DxiTreeListRequiredRuleModule, DxoTreeListRowDraggingModule, DxoTreeListScrollingModule, DxoTreeListSearchModule, DxoTreeListSearchPanelModule, DxoTreeListSelectionModule, DxoTreeListShowModule, DxoTreeListSortingModule, DxoTreeListStateStoringModule, DxiTreeListStringLengthRuleModule, DxoTreeListTextsModule, DxoTreeListToModule, DxoTreeListToolbarModule, DxiTreeListToolbarItemModule, DxoTreeListTreeListHeaderFilterModule, DxoTreeListTreeListHeaderFilterSearchModule, DxoTreeListTreeListHeaderFilterTextsModule, DxoTreeListTreeListSelectionModule, DxiTreeListValidationRuleModule } from 'devextreme-angular/ui/tree-list/nested';
/*!
* devextreme-angular
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 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
*/
/* tslint:disable:max-line-length */
/**
* The TreeList is a UI component that represents data from a local or remote source in the form of a multi-column tree view. This UI component offers such features as sorting, filtering, editing, selection, etc.
*/
class DxTreeListComponent extends DxComponent {
_watcherHelper;
_idh;
instance = null;
/**
* Specifies the shortcut key that sets focus on the UI component.
*/
get accessKey() {
return this._getOption('accessKey');
}
set accessKey(value) {
this._setOption('accessKey', value);
}
/**
* Specifies whether the UI component changes its visual state as a result of user interaction.
*/
get activeStateEnabled() {
return this._getOption('activeStateEnabled');
}
set activeStateEnabled(value) {
this._setOption('activeStateEnabled', value);
}
/**
* Specifies whether a user can reorder columns.
*/
get allowColumnReordering() {
return this._getOption('allowColumnReordering');
}
set allowColumnReordering(value) {
this._setOption('allowColumnReordering', value);
}
/**
* Specifies whether a user can resize columns.
*/
get allowColumnResizing() {
return this._getOption('allowColumnResizing');
}
set allowColumnResizing(value) {
this._setOption('allowColumnResizing', value);
}
/**
* Specifies whether all rows are expanded initially.
*/
get autoExpandAll() {
return this._getOption('autoExpandAll');
}
set autoExpandAll(value) {
this._setOption('autoExpandAll', value);
}
/**
* Automatically scrolls the component to the focused row when the focusedRowKey is changed.
*/
get autoNavigateToFocusedRow() {
return this._getOption('autoNavigateToFocusedRow');
}
set autoNavigateToFocusedRow(value) {
this._setOption('autoNavigateToFocusedRow', value);
}
/**
* Specifies whether data should be cached.
*/
get cacheEnabled() {
return this._getOption('cacheEnabled');
}
set cacheEnabled(value) {
this._setOption('cacheEnabled', value);
}
/**
* Enables a hint that appears when a user hovers the mouse pointer over a cell with truncated content.
*/
get cellHintEnabled() {
return this._getOption('cellHintEnabled');
}
set cellHintEnabled(value) {
this._setOption('cellHintEnabled', value);
}
/**
* Specifies whether columns should adjust their widths to the content.
*/
get columnAutoWidth() {
return this._getOption('columnAutoWidth');
}
set columnAutoWidth(value) {
this._setOption('columnAutoWidth', value);
}
/**
* Configures the column chooser.
*/
get columnChooser() {
return this._getOption('columnChooser');
}
set columnChooser(value) {
this._setOption('columnChooser', value);
}
/**
* Configures column fixing.
*/
get columnFixing() {
return this._getOption('columnFixing');
}
set columnFixing(value) {
this._setOption('columnFixing', value);
}
/**
* 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 columnHidingEnabled() {
return this._getOption('columnHidingEnabled');
}
set columnHidingEnabled(value) {
this._setOption('columnHidingEnabled', value);
}
/**
* Specifies the minimum width of columns.
*/
get columnMinWidth() {
return this._getOption('columnMinWidth');
}
set columnMinWidth(value) {
this._setOption('columnMinWidth', value);
}
/**
* Specifies how the UI component resizes columns. Applies only if allowColumnResizing is true.
*/
get columnResizingMode() {
return this._getOption('columnResizingMode');
}
set columnResizingMode(value) {
this._setOption('columnResizingMode', value);
}
/**
* Configures columns.
*/
get columns() {
return this._getOption('columns');
}
set columns(value) {
this._setOption('columns', value);
}
/**
* Specifies the width for all data columns. Has a lower priority than the column.width property.
*/
get columnWidth() {
return this._getOption('columnWidth');
}
set columnWidth(value) {
this._setOption('columnWidth', value);
}
/**
* Customizes columns after they are created.
*/
get customizeColumns() {
return this._getOption('customizeColumns');
}
set customizeColumns(value) {
this._setOption('customizeColumns', value);
}
/**
* Binds the UI component to data.
*/
get dataSource() {
return this._getOption('dataSource');
}
set dataSource(value) {
this._setOption('dataSource', value);
}
/**
* Notifies the UI component of the used data structure.
*/
get dataStructure() {
return this._getOption('dataStructure');
}
set dataStructure(value) {
this._setOption('dataStructure', value);
}
/**
* Specifies the format in which date-time values should be sent to the server.
*/
get dateSerializationFormat() {
return this._getOption('dateSerializationFormat');
}
set dateSerializationFormat(value) {
this._setOption('dateSerializationFormat', value);
}
/**
* Specifies whether the UI component responds to user interaction.
*/
get disabled() {
return this._getOption('disabled');
}
set disabled(value) {
this._setOption('disabled', value);
}
/**
* Configures editing.
*/
get editing() {
return this._getOption('editing');
}
set editing(value) {
this._setOption('editing', value);
}
/**
* Specifies the global attributes to be attached to the UI component's container element.
*/
get elementAttr() {
return this._getOption('elementAttr');
}
set elementAttr(value) {
this._setOption('elementAttr', value);
}
/**
* Indicates whether to show the error row.
*/
get errorRowEnabled() {
return this._getOption('errorRowEnabled');
}
set errorRowEnabled(value) {
this._setOption('errorRowEnabled', value);
}
/**
* Specifies keys of the initially expanded rows.
*/
get expandedRowKeys() {
return this._getOption('expandedRowKeys');
}
set expandedRowKeys(value) {
this._setOption('expandedRowKeys', value);
}
/**
* Specifies whether nodes appear expanded or collapsed after filtering is applied.
*/
get expandNodesOnFiltering() {
return this._getOption('expandNodesOnFiltering');
}
set expandNodesOnFiltering(value) {
this._setOption('expandNodesOnFiltering', value);
}
/**
* Configures the integrated filter builder.
*/
get filterBuilder() {
return this._getOption('filterBuilder');
}
set filterBuilder(value) {
this._setOption('filterBuilder', value);
}
/**
* Configures the popup in which the integrated filter builder is shown.
*/
get filterBuilderPopup() {
return this._getOption('filterBuilderPopup');
}
set filterBuilderPopup(value) {
this._setOption('filterBuilderPopup', value);
}
/**
* Specifies whether filter and search results should include matching rows only, matching rows with ancestors, or matching rows with ancestors and descendants (full branch).
*/
get filterMode() {
return this._getOption('filterMode');
}
set filterMode(value) {
this._setOption('filterMode', value);
}
/**
* Configures the filter panel.
*/
get filterPanel() {
return this._getOption('filterPanel');
}
set filterPanel(value) {
this._setOption('filterPanel', value);
}
/**
* Configures the filter row.
*/
get filterRow() {
return this._getOption('filterRow');
}
set filterRow(value) {
this._setOption('filterRow', value);
}
/**
* Specifies whether to synchronize the filter row, header filter, and filter builder. The synchronized filter expression is stored in the filterValue property.
*/
get filterSyncEnabled() {
return this._getOption('filterSyncEnabled');
}
set filterSyncEnabled(value) {
this._setOption('filterSyncEnabled', value);
}
/**
* Specifies a filter expression.
*/
get filterValue() {
return this._getOption('filterValue');
}
set filterValue(value) {
this._setOption('filterValue', value);
}
/**
* The index of the column that contains the focused data cell. This index is taken from the columns array.
*/
get focusedColumnIndex() {
return this._getOption('focusedColumnIndex');
}
set focusedColumnIndex(value) {
this._setOption('focusedColumnIndex', value);
}
/**
* Specifies whether the focused row feature is enabled.
*/
get focusedRowEnabled() {
return this._getOption('focusedRowEnabled');
}
set focusedRowEnabled(value) {
this._setOption('focusedRowEnabled', value);
}
/**
* Specifies or indicates the focused data row's index.
*/
get focusedRowIndex() {
return this._getOption('focusedRowIndex');
}
set focusedRowIndex(value) {
this._setOption('focusedRowIndex', value);
}
/**
* Specifies initially or currently focused grid row's key.
*/
get focusedRowKey() {
return this._getOption('focusedRowKey');
}
set focusedRowKey(value) {
this._setOption('focusedRowKey', value);
}
/**
* Specifies which data field defines whether the node has children.
*/
get hasItemsExpr() {
return this._getOption('hasItemsExpr');
}
set hasItemsExpr(value) {
this._setOption('hasItemsExpr', value);
}
/**
* Configures the header filter feature.
*/
get headerFilter() {
return this._getOption('headerFilter');
}
set headerFilter(value) {
this._setOption('headerFilter', value);
}
/**
* Specifies the UI component's height.
*/
get height() {
return this._getOption('height');
}
set height(value) {
this._setOption('height', value);
}
/**
* Specifies whether to highlight rows and cells with edited data. repaintChangesOnly should be true.
*/
get highlightChanges() {
return this._getOption('highlightChanges');
}
set highlightChanges(value) {
this._setOption('highlightChanges', value);
}
/**
* Specifies text for a hint that appears when a user pauses on the UI component.
*/
get hint() {
return this._getOption('hint');
}
set hint(value) {
this._setOption('hint', value);
}
/**
* Specifies whether the UI component changes its state when a user pauses on it.
*/
get hoverStateEnabled() {
return this._getOption('hoverStateEnabled');
}
set hoverStateEnabled(value) {
this._setOption('hoverStateEnabled', value);
}
/**
* Specifies which data field contains nested items. Set this property when your data has a hierarchical structure.
*/
get itemsExpr() {
return this._getOption('itemsExpr');
}
set itemsExpr(value) {
this._setOption('itemsExpr', value);
}
/**
* Configures keyboard navigation.
*/
get keyboardNavigation() {
return this._getOption('keyboardNavigation');
}
set keyboardNavigation(value) {
this._setOption('keyboardNavigation', value);
}
/**
* Specifies the key property (or properties) that provide(s) key values to access data items. Each key value must be unique.
*/
get keyExpr() {
return this._getOption('keyExpr');
}
set keyExpr(value) {
this._setOption('keyExpr', value);
}
/**
* Configures the load panel.
*/
get loadPanel() {
return this._getOption('loadPanel');
}
set loadPanel(value) {
this._setOption('loadPanel', value);
}
/**
* Specifies a text string shown when the widget does not display any data.
*/
get noDataText() {
return this._getOption('noDataText');
}
set noDataText(value) {
this._setOption('noDataText', value);
}
/**
* Configures the pager.
*/
get pager() {
return this._getOption('pager');
}
set pager(value) {
this._setOption('pager', value);
}
/**
* Configures paging.
*/
get paging() {
return this._getOption('paging');
}
set paging(value) {
this._setOption('paging', value);
}
/**
* Specifies which data field provides parent keys.
*/
get parentIdExpr() {
return this._getOption('parentIdExpr');
}
set parentIdExpr(value) {
this._setOption('parentIdExpr', value);
}
/**
* Notifies the TreeList of the server's data processing operations. Applies only if data has a plain structure.
*/
get remoteOperations() {
return this._getOption('remoteOperations');
}
set remoteOperations(value) {
this._setOption('remoteOperations', value);
}
/**
* Specifies whether to render the filter row, command columns, and columns with showEditorAlways set to true after other elements.
*/
get renderAsync() {
return this._getOption('renderAsync');
}
set renderAsync(value) {
this._setOption('renderAsync', value);
}
/**
* Specifies whether to repaint only those cells whose data changed.
*/
get repaintChangesOnly() {
return this._getOption('repaintChangesOnly');
}
set repaintChangesOnly(value) {
this._setOption('repaintChangesOnly', value);
}
/**
* Specifies the root node's identifier. Applies if dataStructure is 'plain'.
*/
get rootValue() {
return this._getOption('rootValue');
}
set rootValue(value) {
this._setOption('rootValue', value);
}
/**
* Specifies whether rows should be shaded differently.
*/
get rowAlternationEnabled() {
return this._getOption('rowAlternationEnabled');
}
set rowAlternationEnabled(value) {
this._setOption('rowAlternationEnabled', value);
}
/**
* Configures row reordering using drag and drop gestures.
*/
get rowDragging() {
return this._getOption('rowDragging');
}
set rowDragging(value) {
this._setOption('rowDragging', value);
}
/**
* Switches the UI component to a right-to-left representation.
*/
get rtlEnabled() {
return this._getOption('rtlEnabled');
}
set rtlEnabled(value) {
this._setOption('rtlEnabled', value);
}
/**
* Configures scrolling.
*/
get scrolling() {
return this._getOption('scrolling');
}
set scrolling(value) {
this._setOption('scrolling', value);
}
/**
* Configures the search panel.
*/
get searchPanel() {
return this._getOption('searchPanel');
}
set searchPanel(value) {
this._setOption('searchPanel', value);
}
/**
* Allows you to select rows or determine which rows are selected.
*/
get selectedRowKeys() {
return this._getOption('selectedRowKeys');
}
set selectedRowKeys(value) {
this._setOption('selectedRowKeys', value);
}
/**
* Configures runtime selection.
*/
get selection() {
return this._getOption('selection');
}
set selection(value) {
this._setOption('selection', value);
}
/**
* Specifies whether the outer borders of the UI component are visible.
*/
get showBorders() {
return this._getOption('showBorders');
}
set showBorders(value) {
this._setOption('showBorders', value);
}
/**
* Specifies whether column headers are visible.
*/
get showColumnHeaders() {
return this._getOption('showColumnHeaders');
}
set showColumnHeaders(value) {
this._setOption('showColumnHeaders', value);
}
/**
* Specifies whether vertical lines that separate one column from another are visible.
*/
get showColumnLines() {
return this._getOption('showColumnLines');
}
set showColumnLines(value) {
this._setOption('showColumnLines', value);
}
/**
* Specifies whether horizontal lines that separate one row from another are visible.
*/
get showRowLines() {
return this._getOption('showRowLines');
}
set showRowLines(value) {
this._setOption('showRowLines', value);
}
/**
* Configures runtime sorting.
*/
get sorting() {
return this._getOption('sorting');
}
set sorting(value) {
this._setOption('sorting', value);
}
/**
* Configures state storing.
*/
get stateStoring() {
return this._getOption('stateStoring');
}
set stateStoring(value) {
this._setOption('stateStoring', value);
}
/**
* Specifies whether to show only relevant values in the header filter and filter row.
*/
get syncLookupFilterValues() {
return this._getOption('syncLookupFilterValues');
}
set syncLookupFilterValues(value) {
this._setOption('syncLookupFilterValues', value);
}
/**
* Specifies the number of the element when the Tab key is used for navigating.
*/
get tabIndex() {
return this._getOption('tabIndex');
}
set tabIndex(value) {
this._setOption('tabIndex', value);
}
/**
* Configures the toolbar.
*/
get toolbar() {
return this._getOption('toolbar');
}
set toolbar(value) {
this._setOption('toolbar', value);
}
/**
* Specifies whether to enable two-way data binding.
*/
get twoWayBindingEnabled() {
return this._getOption('twoWayBindingEnabled');
}
set twoWayBindingEnabled(value) {
this._setOption('twoWayBindingEnabled', value);
}
/**
* Specifies whether the UI component is visible.
*/
get visible() {
return this._getOption('visible');
}
set visible(value) {
this._setOption('visible', value);
}
/**
* Specifies the UI component's width.
*/
get width() {
return this._getOption('width');
}
set width(value) {
this._setOption('width', value);
}
/**
* Specifies whether text that does not fit into a column should be wrapped.
*/
get wordWrapEnabled() {
return this._getOption('wordWrapEnabled');
}
set wordWrapEnabled(value) {
this._setOption('wordWrapEnabled', value);
}
/**
* A function that is executed before an adaptive detail row is rendered.
*/
onAdaptiveDetailRowPreparing;
/**
* A function that is executed when a cell is clicked or tapped. Executed before onRowClick.
*/
onCellClick;
/**
* A function that is executed when a cell is double-clicked or double-tapped. Executed before onRowDblClick.
*/
onCellDblClick;
/**
* A function that is executed after the pointer enters or leaves a cell.
*/
onCellHoverChanged;
/**
* A function that is executed after a grid cell is created.
*/
onCellPrepared;
/**
* A function that is executed when the UI component is rendered and each time the component is repainted.
*/
onContentReady;
/**
* A function that is executed before the context menu is rendered.
*/
onContextMenuPreparing;
/**
* A function that is executed when an error occurs in the data source.
*/
onDataErrorOccurred;
/**
* A function that is executed before the UI component is disposed of.
*/
onDisposing;
/**
* A function that is executed after row changes are discarded.
*/
onEditCanceled;
/**
* A function that is executed when the edit operation is canceled, but row changes are not yet discarded.
*/
onEditCanceling;
/**
* A function that is executed before a cell or row switches to the editing state.
*/
onEditingStart;
/**
* A function that is executed after an editor is created. Not executed for cells with an editCellTemplate.
*/
onEditorPrepared;
/**
* A function used to customize cell editors. Not executed for cells with an editCellTemplate.
*/
onEditorPreparing;
/**
* A function that is executed after the focused cell changes. Applies only to cells in data rows.
*/
onFocusedCellChanged;
/**
* A function that is executed before the focused cell changes. Applies only to cells in data rows.
*/
onFocusedCellChanging;
/**
* A function that executed when the focused row changes. Applies only to data rows. focusedRowEnabled should be true.
*/
onFocusedRowChanged;
/**
* A function that is executed before the focused row changes. Applies only to data rows. focusedRowEnabled should be true.
*/
onFocusedRowChanging;
/**
* A function used in JavaScript frameworks to save the UI component instance.
*/
onInitialized;
/**
* A function that is executed before a new row is added to the UI component.
*/
onInitNewRow;
/**
* A function that is executed when the UI component is in focus and a key has been pressed down.
*/
onKeyDown;
/**
* A function that is executed after the loaded nodes are initialized.
*/
onNodesInitialized;
/**
* A function that is executed after a UI component property is changed.
*/
onOptionChanged;
/**
* A function that is executed when a grid row is clicked or tapped.
*/
onRowClick;
/**
* A function that is executed after a row is collapsed.
*/
onRowCollapsed;
/**
* A function that is executed before a row is collapsed.
*/
onRowCollapsing;
/**
* A function that is executed when a row is double-clicked or double-tapped. Executed after onCellDblClick.
*/
onRowDblClick;
/**
* A function that is executed after a row is expanded.
*/
onRowExpanded;
/**
* A function that is executed before a row is expanded.
*/
onRowExpanding;
/**
* A function that is executed after a new row has been inserted into the data source.
*/
onRowInserted;
/**
* A function that is executed before a new row is inserted into the data source.
*/
onRowInserting;
/**
* A function that is executed after a row is created.
*/
onRowPrepared;
/**
* A function that is executed after a row has been removed from the data source.
*/
onRowRemoved;
/**
* A function that is executed before a row is removed from the data source.
*/
onRowRemoving;
/**
* A function that is executed after a row has been updated in the data source.
*/
onRowUpdated;
/**
* A function that is executed before a row is updated in the data source.
*/
onRowUpdating;
/**
* A function that is executed after cells in a row are validated against validation rules.
*/
onRowValidating;
/**
* A function that is executed after row changes are saved.
*/
onSaved;
/**
* A function that is executed before pending row changes are saved.
*/
onSaving;
/**
* A function that is executed after selecting a row or clearing its selection.
*/
onSelectionChanged;
/**
* A function that is executed before the toolbar is created.
*/
onToolbarPreparing;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
accessKeyChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
activeStateEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
allowColumnReorderingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
allowColumnResizingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
autoExpandAllChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
autoNavigateToFocusedRowChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
cacheEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
cellHintEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnAutoWidthChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnChooserChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnFixingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnHidingEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnMinWidthChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnResizingModeChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnsChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
columnWidthChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
customizeColumnsChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
dataSourceChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
dataStructureChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
dateSerializationFormatChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
disabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
editingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
elementAttrChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
errorRowEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
expandedRowKeysChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
expandNodesOnFilteringChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterBuilderChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterBuilderPopupChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterModeChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterPanelChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterRowChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterSyncEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
filterValueChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
focusedColumnIndexChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
focusedRowEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
focusedRowIndexChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
focusedRowKeyChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
hasItemsExprChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
headerFilterChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
heightChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
highlightChangesChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
hintChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
hoverStateEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
itemsExprChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
keyboardNavigationChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
keyExprChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
loadPanelChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
noDataTextChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
pagerChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
pagingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
parentIdExprChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
remoteOperationsChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
renderAsyncChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
repaintChangesOnlyChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
rootValueChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
rowAlternationEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
rowDraggingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
rtlEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
scrollingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
searchPanelChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
selectedRowKeysChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
selectionChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
showBordersChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
showColumnHeadersChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
showColumnLinesChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
showRowLinesChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
sortingChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
stateStoringChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
syncLookupFilterValuesChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
tabIndexChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
toolbarChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
twoWayBindingEnabledChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
visibleChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
widthChange;
/**
* This member supports the internal infrastructure and is not intended to be used directly from your code.
*/
wordWrapEnabledChange;
get columnsChildren() {
return this._getOption('columns');
}
set columnsChildren(value) {
this._setChildren('columns', value, 'DxiTreeListColumnComponent');
}
get columnsLegacyChildren() {
return this._getOption('columns');
}
set columnsLegacyChildren(value) {
this._setChildren('columns', value, 'DxiColumnComponent');
}
constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);
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: '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: 'nodesInitialized', emit: 'onNodesInitialized' },
{ 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: 'autoExpandAllChange' },
{ 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: 'dataSourceChange' },
{ emit: 'dataStructureChange' },
{ emit: 'dateSerializationFormatChange' },
{ emit: 'disabledChange' },
{ emit: 'editingChange' },
{ emit: 'elementAttrChange' },
{ emit: 'errorRowEnabledChange' },
{ emit: 'expandedRowKeysChange' },
{ emit: 'expandNodesOnFilteringChange' },
{ emit: 'filterBuilderChange' },
{ emit: 'filterBuilderPopupChange' },
{ emit: 'filterModeChange' },
{ emit: 'filterPanelChange' },
{ emit: 'filterRowChange' },
{ emit: 'filterSyncEnabledChange' },
{ emit: 'filterValueChange' },
{ emit: 'focusedColumnIndexChange' },
{ emit: 'focusedRowEnabledChange' },
{ emit: 'focusedRowIndexChange' },
{ emit: 'focusedRowKeyChange' },
{ emit: 'hasItemsExprChange' },
{ emit: 'headerFilterChange' },
{ emit: 'heightChange' },
{ emit: 'highlightChangesChange' },
{ emit: 'hintChange' },
{ emit: 'hoverStateEnabledChange' },
{ emit: 'itemsExprChange' },
{ emit: 'keyboardNavigationChange' },
{ emit: 'keyExprChange' },
{ emit: 'loadPanelChange' },
{ emit: 'noDataTextChange' },
{ emit: 'pagerChange' },
{ emit: 'pagingChange' },
{ emit: 'parentIdExprChange' },
{ emit: 'remoteOperationsChange' },
{ emit: 'renderAsyncChange' },
{ emit: 'repaintChangesOnlyChange' },
{ emit: 'rootValueChange' },
{ emit: 'rowAlternationEnabledChange' },
{ emit: 'rowDraggingChange' },
{ emit: 'rtlEnabledChange' },
{ emit: 'scrollingChange' },
{ emit: 'searchPanelChange' },
{ emit: 'selectedRowKeysChange' },
{ emit: 'selectionChange' },
{ emit: 'showBordersChange' },
{ emit: 'showColumnHeadersChange' },
{ emit: 'showColumnLinesChange' },
{ emit: 'showRowLinesChange' },
{ emit: 'sortingChange' },
{ emit: 'stateStoringChange' },
{ emit: 'syncLookupFilterValuesChange' },
{ emit: 'tabIndexChange' },
{ emit: 'toolbarChange' },
{ emit: 'twoWayBindingEnabledChange' },
{ emit: 'visibleChange' },
{ emit: 'widthChange' },
{ emit: 'wordWrapEnabledChange' }
]);
this._idh.setHost(this);
optionHost.setHost(this);
}
_createInstance(element, options) {
return new DxTreeList(element, options);
}
ngOnDestroy() {
this._destroyWidget();
}
ngOnChanges(changes) {
super.ngOnChanges(changes);
this.setupChanges('columns', changes);
this.setupChanges('dataSource', changes);
this.setupChanges('expandedRowKeys', changes);
this.setupChanges('selectedRowKeys', changes);
}
setupChanges(prop, changes) {
if (!(prop in this._optionsToUpdate)) {
this._idh.setup(prop, changes);
}
}
ngDoCheck() {
this._idh.doCheck('columns');
this._idh.doCheck('dataSource');
this._idh.doCheck('expandedRowKeys');
this._idh.doCheck('selectedRowKeys');
this._watcherHelper.checkWatchers();
super.ngDoCheck();
super.clearChangedOptions();
}
_setOption(name, value) {
let isSetup = this._idh.setupSingle(name, value);
let isChanged = this._idh.getChanges(name, value) !== null;
if (isSetup || isChanged) {
super._setOption(name, value);
}
}
/** @nocollapse