| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725 |
- /**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- import { __extends } from 'tslib';
- import { CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodePadding, CdkTreeNodeOutlet, CdkTreeNodeToggle, CdkTreeModule } from '@angular/cdk/tree';
- import { Attribute, Directive, ElementRef, Input, IterableDiffers, Inject, Optional, ViewContainerRef, ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
- import { mixinDisabled, mixinTabIndex, MatCommonModule } from '@angular/material/core';
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
- import { CommonModule } from '@angular/common';
- import { DataSource } from '@angular/cdk/collections';
- import { BehaviorSubject, merge } from 'rxjs';
- import { map, take } from 'rxjs/operators';
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /** @type {?} */
- var _MatTreeNodeMixinBase = mixinTabIndex(mixinDisabled(CdkTreeNode));
- /**
- * Wrapper for the CdkTree node with Material design styles.
- * @template T
- */
- var MatTreeNode = /** @class */ (function (_super) {
- __extends(MatTreeNode, _super);
- function MatTreeNode(_elementRef, _tree, tabIndex) {
- var _this = _super.call(this, _elementRef, _tree) || this;
- _this._elementRef = _elementRef;
- _this._tree = _tree;
- _this.role = 'treeitem';
- _this.tabIndex = Number(tabIndex) || 0;
- return _this;
- }
- MatTreeNode.decorators = [
- { type: Directive, args: [{
- selector: 'mat-tree-node',
- exportAs: 'matTreeNode',
- inputs: ['disabled', 'tabIndex'],
- host: {
- '[attr.aria-expanded]': 'isExpanded',
- '[attr.aria-level]': 'role === "treeitem" ? level : null',
- '[attr.role]': 'role',
- 'class': 'mat-tree-node'
- },
- providers: [{ provide: CdkTreeNode, useExisting: MatTreeNode }]
- },] },
- ];
- /** @nocollapse */
- MatTreeNode.ctorParameters = function () { return [
- { type: ElementRef },
- { type: CdkTree },
- { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] }
- ]; };
- MatTreeNode.propDecorators = {
- role: [{ type: Input }]
- };
- return MatTreeNode;
- }(_MatTreeNodeMixinBase));
- /**
- * Wrapper for the CdkTree node definition with Material design styles.
- * @template T
- */
- var MatTreeNodeDef = /** @class */ (function (_super) {
- __extends(MatTreeNodeDef, _super);
- function MatTreeNodeDef() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- MatTreeNodeDef.decorators = [
- { type: Directive, args: [{
- selector: '[matTreeNodeDef]',
- inputs: [
- 'when: matTreeNodeDefWhen'
- ],
- providers: [{ provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef }]
- },] },
- ];
- MatTreeNodeDef.propDecorators = {
- data: [{ type: Input, args: ['matTreeNode',] }]
- };
- return MatTreeNodeDef;
- }(CdkTreeNodeDef));
- /**
- * Wrapper for the CdkTree nested node with Material design styles.
- * @template T
- */
- var MatNestedTreeNode = /** @class */ (function (_super) {
- __extends(MatNestedTreeNode, _super);
- function MatNestedTreeNode(_elementRef, _tree, _differs, tabIndex) {
- var _this = _super.call(this, _elementRef, _tree, _differs) || this;
- _this._elementRef = _elementRef;
- _this._tree = _tree;
- _this._differs = _differs;
- _this._disabled = false;
- _this.tabIndex = Number(tabIndex) || 0;
- return _this;
- }
- Object.defineProperty(MatNestedTreeNode.prototype, "disabled", {
- /** Whether the node is disabled. */
- get: /**
- * Whether the node is disabled.
- * @return {?}
- */
- function () { return this._disabled; },
- set: /**
- * @param {?} value
- * @return {?}
- */
- function (value) { this._disabled = coerceBooleanProperty(value); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(MatNestedTreeNode.prototype, "tabIndex", {
- /** Tabindex for the node. */
- get: /**
- * Tabindex for the node.
- * @return {?}
- */
- function () { return this.disabled ? -1 : this._tabIndex; },
- set: /**
- * @param {?} value
- * @return {?}
- */
- function (value) {
- // If the specified tabIndex value is null or undefined, fall back to the default value.
- this._tabIndex = value != null ? value : 0;
- },
- enumerable: true,
- configurable: true
- });
- // This is a workaround for https://github.com/angular/angular/issues/23091
- // In aot mode, the lifecycle hooks from parent class are not called.
- // TODO(tinayuangao): Remove when the angular issue #23091 is fixed
- // This is a workaround for https://github.com/angular/angular/issues/23091
- // In aot mode, the lifecycle hooks from parent class are not called.
- // TODO(tinayuangao): Remove when the angular issue #23091 is fixed
- /**
- * @return {?}
- */
- MatNestedTreeNode.prototype.ngAfterContentInit =
- // This is a workaround for https://github.com/angular/angular/issues/23091
- // In aot mode, the lifecycle hooks from parent class are not called.
- // TODO(tinayuangao): Remove when the angular issue #23091 is fixed
- /**
- * @return {?}
- */
- function () {
- _super.prototype.ngAfterContentInit.call(this);
- };
- /**
- * @return {?}
- */
- MatNestedTreeNode.prototype.ngOnDestroy = /**
- * @return {?}
- */
- function () {
- _super.prototype.ngOnDestroy.call(this);
- };
- MatNestedTreeNode.decorators = [
- { type: Directive, args: [{
- selector: 'mat-nested-tree-node',
- exportAs: 'matNestedTreeNode',
- host: {
- '[attr.aria-expanded]': 'isExpanded',
- '[attr.role]': 'role',
- 'class': 'mat-nested-tree-node',
- },
- providers: [
- { provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode },
- { provide: CdkTreeNode, useExisting: MatNestedTreeNode },
- { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode }
- ]
- },] },
- ];
- /** @nocollapse */
- MatNestedTreeNode.ctorParameters = function () { return [
- { type: ElementRef },
- { type: CdkTree },
- { type: IterableDiffers },
- { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] }
- ]; };
- MatNestedTreeNode.propDecorators = {
- node: [{ type: Input, args: ['matNestedTreeNode',] }],
- disabled: [{ type: Input }],
- tabIndex: [{ type: Input }]
- };
- return MatNestedTreeNode;
- }(CdkNestedTreeNode));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Wrapper for the CdkTree padding with Material design styles.
- * @template T
- */
- var MatTreeNodePadding = /** @class */ (function (_super) {
- __extends(MatTreeNodePadding, _super);
- function MatTreeNodePadding() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- MatTreeNodePadding.decorators = [
- { type: Directive, args: [{
- selector: '[matTreeNodePadding]',
- providers: [{ provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding }]
- },] },
- ];
- MatTreeNodePadding.propDecorators = {
- level: [{ type: Input, args: ['matTreeNodePadding',] }],
- indent: [{ type: Input, args: ['matTreeNodePaddingIndent',] }]
- };
- return MatTreeNodePadding;
- }(CdkTreeNodePadding));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes
- * inside the outlet.
- */
- var MatTreeNodeOutlet = /** @class */ (function () {
- function MatTreeNodeOutlet(viewContainer, _node) {
- this.viewContainer = viewContainer;
- this._node = _node;
- }
- MatTreeNodeOutlet.decorators = [
- { type: Directive, args: [{
- selector: '[matTreeNodeOutlet]',
- providers: [{
- provide: CdkTreeNodeOutlet,
- useExisting: MatTreeNodeOutlet
- }]
- },] },
- ];
- /** @nocollapse */
- MatTreeNodeOutlet.ctorParameters = function () { return [
- { type: ViewContainerRef },
- { type: undefined, decorators: [{ type: Inject, args: [CDK_TREE_NODE_OUTLET_NODE,] }, { type: Optional }] }
- ]; };
- return MatTreeNodeOutlet;
- }());
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Wrapper for the CdkTable with Material design styles.
- * @template T
- */
- var MatTree = /** @class */ (function (_super) {
- __extends(MatTree, _super);
- function MatTree() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- MatTree.decorators = [
- { type: Component, args: [{selector: 'mat-tree',
- exportAs: 'matTree',
- template: "<ng-container matTreeNodeOutlet></ng-container>",
- host: {
- 'class': 'mat-tree',
- 'role': 'tree',
- },
- styles: [".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;min-height:48px;flex:1;overflow:hidden;word-wrap:break-word}.mat-nested-tree-ndoe{border-bottom-width:0}"],
- encapsulation: ViewEncapsulation.None,
- // See note on CdkTree for explanation on why this uses the default change detection strategy.
- // tslint:disable-next-line:validate-decorators
- changeDetection: ChangeDetectionStrategy.Default,
- providers: [{ provide: CdkTree, useExisting: MatTree }]
- },] },
- ];
- MatTree.propDecorators = {
- _nodeOutlet: [{ type: ViewChild, args: [MatTreeNodeOutlet, { static: true },] }]
- };
- return MatTree;
- }(CdkTree));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Wrapper for the CdkTree's toggle with Material design styles.
- * @template T
- */
- var MatTreeNodeToggle = /** @class */ (function (_super) {
- __extends(MatTreeNodeToggle, _super);
- function MatTreeNodeToggle() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.recursive = false;
- return _this;
- }
- MatTreeNodeToggle.decorators = [
- { type: Directive, args: [{
- selector: '[matTreeNodeToggle]',
- providers: [{ provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle }]
- },] },
- ];
- MatTreeNodeToggle.propDecorators = {
- recursive: [{ type: Input, args: ['matTreeNodeToggleRecursive',] }]
- };
- return MatTreeNodeToggle;
- }(CdkTreeNodeToggle));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /** @type {?} */
- var MAT_TREE_DIRECTIVES = [
- MatNestedTreeNode,
- MatTreeNodeDef,
- MatTreeNodePadding,
- MatTreeNodeToggle,
- MatTree,
- MatTreeNode,
- MatTreeNodeOutlet
- ];
- var MatTreeModule = /** @class */ (function () {
- function MatTreeModule() {
- }
- MatTreeModule.decorators = [
- { type: NgModule, args: [{
- imports: [CdkTreeModule, CommonModule, MatCommonModule],
- exports: MAT_TREE_DIRECTIVES,
- declarations: MAT_TREE_DIRECTIVES,
- },] },
- ];
- return MatTreeModule;
- }());
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Tree flattener to convert a normal type of node to node with children & level information.
- * Transform nested nodes of type `T` to flattened nodes of type `F`.
- *
- * For example, the input data of type `T` is nested, and contains its children data:
- * SomeNode: {
- * key: 'Fruits',
- * children: [
- * NodeOne: {
- * key: 'Apple',
- * },
- * NodeTwo: {
- * key: 'Pear',
- * }
- * ]
- * }
- * After flattener flatten the tree, the structure will become
- * SomeNode: {
- * key: 'Fruits',
- * expandable: true,
- * level: 1
- * },
- * NodeOne: {
- * key: 'Apple',
- * expandable: false,
- * level: 2
- * },
- * NodeTwo: {
- * key: 'Pear',
- * expandable: false,
- * level: 2
- * }
- * and the output flattened type is `F` with additional information.
- * @template T, F
- */
- var /**
- * Tree flattener to convert a normal type of node to node with children & level information.
- * Transform nested nodes of type `T` to flattened nodes of type `F`.
- *
- * For example, the input data of type `T` is nested, and contains its children data:
- * SomeNode: {
- * key: 'Fruits',
- * children: [
- * NodeOne: {
- * key: 'Apple',
- * },
- * NodeTwo: {
- * key: 'Pear',
- * }
- * ]
- * }
- * After flattener flatten the tree, the structure will become
- * SomeNode: {
- * key: 'Fruits',
- * expandable: true,
- * level: 1
- * },
- * NodeOne: {
- * key: 'Apple',
- * expandable: false,
- * level: 2
- * },
- * NodeTwo: {
- * key: 'Pear',
- * expandable: false,
- * level: 2
- * }
- * and the output flattened type is `F` with additional information.
- * @template T, F
- */
- MatTreeFlattener = /** @class */ (function () {
- function MatTreeFlattener(transformFunction, getLevel, isExpandable, getChildren) {
- this.transformFunction = transformFunction;
- this.getLevel = getLevel;
- this.isExpandable = isExpandable;
- this.getChildren = getChildren;
- }
- /**
- * @param {?} node
- * @param {?} level
- * @param {?} resultNodes
- * @param {?} parentMap
- * @return {?}
- */
- MatTreeFlattener.prototype._flattenNode = /**
- * @param {?} node
- * @param {?} level
- * @param {?} resultNodes
- * @param {?} parentMap
- * @return {?}
- */
- function (node, level, resultNodes, parentMap) {
- var _this = this;
- /** @type {?} */
- var flatNode = this.transformFunction(node, level);
- resultNodes.push(flatNode);
- if (this.isExpandable(flatNode)) {
- /** @type {?} */
- var childrenNodes = this.getChildren(node);
- if (childrenNodes) {
- if (Array.isArray(childrenNodes)) {
- this._flattenChildren(childrenNodes, level, resultNodes, parentMap);
- }
- else {
- childrenNodes.pipe(take(1)).subscribe((/**
- * @param {?} children
- * @return {?}
- */
- function (children) {
- _this._flattenChildren(children, level, resultNodes, parentMap);
- }));
- }
- }
- }
- return resultNodes;
- };
- /**
- * @param {?} children
- * @param {?} level
- * @param {?} resultNodes
- * @param {?} parentMap
- * @return {?}
- */
- MatTreeFlattener.prototype._flattenChildren = /**
- * @param {?} children
- * @param {?} level
- * @param {?} resultNodes
- * @param {?} parentMap
- * @return {?}
- */
- function (children, level, resultNodes, parentMap) {
- var _this = this;
- children.forEach((/**
- * @param {?} child
- * @param {?} index
- * @return {?}
- */
- function (child, index) {
- /** @type {?} */
- var childParentMap = parentMap.slice();
- childParentMap.push(index != children.length - 1);
- _this._flattenNode(child, level + 1, resultNodes, childParentMap);
- }));
- };
- /**
- * Flatten a list of node type T to flattened version of node F.
- * Please note that type T may be nested, and the length of `structuredData` may be different
- * from that of returned list `F[]`.
- */
- /**
- * Flatten a list of node type T to flattened version of node F.
- * Please note that type T may be nested, and the length of `structuredData` may be different
- * from that of returned list `F[]`.
- * @param {?} structuredData
- * @return {?}
- */
- MatTreeFlattener.prototype.flattenNodes = /**
- * Flatten a list of node type T to flattened version of node F.
- * Please note that type T may be nested, and the length of `structuredData` may be different
- * from that of returned list `F[]`.
- * @param {?} structuredData
- * @return {?}
- */
- function (structuredData) {
- var _this = this;
- /** @type {?} */
- var resultNodes = [];
- structuredData.forEach((/**
- * @param {?} node
- * @return {?}
- */
- function (node) { return _this._flattenNode(node, 0, resultNodes, []); }));
- return resultNodes;
- };
- /**
- * Expand flattened node with current expansion status.
- * The returned list may have different length.
- */
- /**
- * Expand flattened node with current expansion status.
- * The returned list may have different length.
- * @param {?} nodes
- * @param {?} treeControl
- * @return {?}
- */
- MatTreeFlattener.prototype.expandFlattenedNodes = /**
- * Expand flattened node with current expansion status.
- * The returned list may have different length.
- * @param {?} nodes
- * @param {?} treeControl
- * @return {?}
- */
- function (nodes, treeControl) {
- var _this = this;
- /** @type {?} */
- var results = [];
- /** @type {?} */
- var currentExpand = [];
- currentExpand[0] = true;
- nodes.forEach((/**
- * @param {?} node
- * @return {?}
- */
- function (node) {
- /** @type {?} */
- var expand = true;
- for (var i = 0; i <= _this.getLevel(node); i++) {
- expand = expand && currentExpand[i];
- }
- if (expand) {
- results.push(node);
- }
- if (_this.isExpandable(node)) {
- currentExpand[_this.getLevel(node) + 1] = treeControl.isExpanded(node);
- }
- }));
- return results;
- };
- return MatTreeFlattener;
- }());
- /**
- * Data source for flat tree.
- * The data source need to handle expansion/collapsion of the tree node and change the data feed
- * to `MatTree`.
- * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted
- * to type `F` for `MatTree` to consume.
- * @template T, F
- */
- var /**
- * Data source for flat tree.
- * The data source need to handle expansion/collapsion of the tree node and change the data feed
- * to `MatTree`.
- * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted
- * to type `F` for `MatTree` to consume.
- * @template T, F
- */
- MatTreeFlatDataSource = /** @class */ (function (_super) {
- __extends(MatTreeFlatDataSource, _super);
- function MatTreeFlatDataSource(_treeControl, _treeFlattener, initialData) {
- if (initialData === void 0) { initialData = []; }
- var _this = _super.call(this) || this;
- _this._treeControl = _treeControl;
- _this._treeFlattener = _treeFlattener;
- _this._flattenedData = new BehaviorSubject([]);
- _this._expandedData = new BehaviorSubject([]);
- _this._data = new BehaviorSubject(initialData);
- return _this;
- }
- Object.defineProperty(MatTreeFlatDataSource.prototype, "data", {
- get: /**
- * @return {?}
- */
- function () { return this._data.value; },
- set: /**
- * @param {?} value
- * @return {?}
- */
- function (value) {
- this._data.next(value);
- this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));
- this._treeControl.dataNodes = this._flattenedData.value;
- },
- enumerable: true,
- configurable: true
- });
- /**
- * @param {?} collectionViewer
- * @return {?}
- */
- MatTreeFlatDataSource.prototype.connect = /**
- * @param {?} collectionViewer
- * @return {?}
- */
- function (collectionViewer) {
- var _this = this;
- /** @type {?} */
- var changes = [
- collectionViewer.viewChange,
- this._treeControl.expansionModel.onChange,
- this._flattenedData
- ];
- return merge.apply(void 0, changes).pipe(map((/**
- * @return {?}
- */
- function () {
- _this._expandedData.next(_this._treeFlattener.expandFlattenedNodes(_this._flattenedData.value, _this._treeControl));
- return _this._expandedData.value;
- })));
- };
- /**
- * @return {?}
- */
- MatTreeFlatDataSource.prototype.disconnect = /**
- * @return {?}
- */
- function () {
- // no op
- };
- return MatTreeFlatDataSource;
- }(DataSource));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * Data source for nested tree.
- *
- * The data source for nested tree doesn't have to consider node flattener, or the way to expand
- * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
- * @template T
- */
- var /**
- * Data source for nested tree.
- *
- * The data source for nested tree doesn't have to consider node flattener, or the way to expand
- * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
- * @template T
- */
- MatTreeNestedDataSource = /** @class */ (function (_super) {
- __extends(MatTreeNestedDataSource, _super);
- function MatTreeNestedDataSource() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this._data = new BehaviorSubject([]);
- return _this;
- }
- Object.defineProperty(MatTreeNestedDataSource.prototype, "data", {
- /**
- * Data for the nested tree
- */
- get: /**
- * Data for the nested tree
- * @return {?}
- */
- function () { return this._data.value; },
- set: /**
- * @param {?} value
- * @return {?}
- */
- function (value) { this._data.next(value); },
- enumerable: true,
- configurable: true
- });
- /**
- * @param {?} collectionViewer
- * @return {?}
- */
- MatTreeNestedDataSource.prototype.connect = /**
- * @param {?} collectionViewer
- * @return {?}
- */
- function (collectionViewer) {
- var _this = this;
- return merge.apply(void 0, [collectionViewer.viewChange, this._data]).pipe(map((/**
- * @return {?}
- */
- function () {
- return _this.data;
- })));
- };
- /**
- * @return {?}
- */
- MatTreeNestedDataSource.prototype.disconnect = /**
- * @return {?}
- */
- function () {
- // no op
- };
- return MatTreeNestedDataSource;
- }(DataSource));
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
- export { MatTreeNode, MatTreeNodeDef, MatNestedTreeNode, MatTreeNodePadding, MatTree, MatTreeModule, MatTreeNodeToggle, MatTreeNodeOutlet, MatTreeFlattener, MatTreeFlatDataSource, MatTreeNestedDataSource };
- //# sourceMappingURL=tree.es5.js.map
|