UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

851 lines 66.2 kB
/** * @fileoverview added by tsickle * Generated from: tree-select.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, Renderer2, ViewChild, TemplateRef } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { OperableTreeComponent } from '@duoduo-oba/ng-devui/tree'; import DefaultIcons from './tree-default-icons'; import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; import { I18nService } from '@duoduo-oba/ng-devui/i18n'; var TreeSelectComponent = /** @class */ (function () { function TreeSelectComponent(renderer, changeDetectorRef, i18n) { this.renderer = renderer; this.changeDetectorRef = changeDetectorRef; this.i18n = i18n; this.placeholder = ''; this.disabled = false; this.expandTree = false; this.multiple = false; this.treeNodeIdKey = 'id'; this.treeNodeChildrenKey = 'children'; this.disabledKey = 'disabled'; this.leafOnly = false; this.delimiter = ', '; this.iconParentOpen = DefaultIcons.iconParentOpen; this.iconParentClose = DefaultIcons.iconParentClose; this.iconLeaf = DefaultIcons.iconLeaf; this.closeOnNodeSelected = true; this.width = null; this.searchable = false; this.appendTo = 'body'; this.treeNodeTitleKey = 'title'; this.allowUnselect = true; this.valueChanged = new EventEmitter(); this._treeData = []; this.searchString = null; this.noRecord = false; this._isOpen = false; this._sourceTree = []; this.readyEvent = (/** * @param {?} treeSelect * @return {?} */ function (treeSelect) { }); this.onChange = (/** * @param {?} _ * @return {?} */ function (_) { return null; }); this.onTouch = (/** * @return {?} */ function () { return null; }); } Object.defineProperty(TreeSelectComponent.prototype, "allowClear", { get: /** * @return {?} */ function () { return !this.disabled && !this.multiple && this.allowUnselect && this._allowClear && !!this.selectedValue; }, set: /** * @param {?} allowClear * @return {?} */ function (allowClear) { this._allowClear = allowClear; }, enumerable: true, configurable: true }); Object.defineProperty(TreeSelectComponent.prototype, "treeData", { get: /** * @return {?} */ function () { return this._treeData; }, set: /** * @param {?} treeData * @return {?} */ function (treeData) { this._sourceTree = treeData; this.refreshTree(treeData); }, enumerable: true, configurable: true }); Object.defineProperty(TreeSelectComponent.prototype, "isOpen", { get: /** * @return {?} */ function () { return this._isOpen; }, set: /** * @param {?} value * @return {?} */ function (value) { if (this._isOpen !== value) { this._isOpen = value; this.changeDetectorRef.detectChanges(); } }, enumerable: true, configurable: true }); /** * @return {?} */ TreeSelectComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.changeDetectorRef.detectChanges(); this.readyEvent(this); if (this.searchable) { this.registerSearchListener(); } }; /** * @param {?} changes * @return {?} */ TreeSelectComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { }; /** * @return {?} */ TreeSelectComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { if (this.i18nSubscription) { this.i18nSubscription.unsubscribe(); } }; /** * @return {?} */ TreeSelectComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.setI18nText(); }; /** * @param {?} fn * @return {?} */ TreeSelectComponent.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this.onChange = fn; }; /** * @param {?} fn * @return {?} */ TreeSelectComponent.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this.onTouch = fn; }; /** * @param {?} isDisabled * @return {?} */ TreeSelectComponent.prototype.setDisabledState = /** * @param {?} isDisabled * @return {?} */ function (isDisabled) { this.disabled = isDisabled; }; /** * @param {?} value * @return {?} */ TreeSelectComponent.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { this.value = this.multiple ? Object.assign([], value) : value; this.refreshTree(this.treeData); // Trigger visualization after tree data is fulfilled. this.changeDetectorRef.detectChanges(); this.visualizeSelectedItems(); }; /** * @return {?} */ TreeSelectComponent.prototype.toggle = /** * @return {?} */ function () { var _this = this; if (this.timer) { clearTimeout(this.timer); } /** @type {?} */ var applyNow = !this.timer; this.timer = setTimeout((/** * @return {?} */ function () { _this.timer = null; }), 200); if (applyNow) { this.isOpen = !this.isOpen; } }; /** * @private * @return {?} */ TreeSelectComponent.prototype.setI18nText = /** * @private * @return {?} */ function () { var _this = this; this.i18nCommonText = this.i18n.getI18nText().common; this.i18nSubscription = this.i18n.langChange().subscribe((/** * @param {?} data * @return {?} */ function (data) { _this.i18nCommonText = data.common; })); }; /** * @private * @param {?} treeNode * @return {?} */ TreeSelectComponent.prototype.expandAllNodes = /** * @private * @param {?} treeNode * @return {?} */ function (treeNode) { var _this = this; if (Array.isArray(treeNode)) { return treeNode.map((/** * @param {?} node * @return {?} */ function (node) { return _this.expandAllNodes(node); })); } else if (treeNode instanceof Object) { if (treeNode.hasOwnProperty(this.treeNodeChildrenKey)) { treeNode.open = true; treeNode[this.treeNodeChildrenKey] = this.expandAllNodes(treeNode[this.treeNodeChildrenKey]); } return treeNode; } }; /** * @private * @param {?} treeNode * @param {?=} expandTree * @return {?} */ TreeSelectComponent.prototype.prepareTree = /** * @private * @param {?} treeNode * @param {?=} expandTree * @return {?} */ function (treeNode, expandTree) { var _a; var _this = this; if (expandTree === void 0) { expandTree = false; } if (Array.isArray(treeNode)) { return treeNode.map((/** * @param {?} node * @return {?} */ function (node) { return _this.prepareTree(node, expandTree); })); } else if (treeNode) { /** @type {?} */ var parentCheckedByChildren = false; if (treeNode.hasOwnProperty(this.treeNodeChildrenKey)) { treeNode.open = expandTree ? true : treeNode.open; treeNode[this.treeNodeChildrenKey] = this.prepareTree(treeNode[this.treeNodeChildrenKey], expandTree); if (this.multiple) { _a = tslib_1.__read(this.resolveParentNode(treeNode[this.treeNodeChildrenKey]), 2), parentCheckedByChildren = _a[0], treeNode.halfChecked = _a[1]; } } if (treeNode.hasOwnProperty(this.treeNodeIdKey)) { /** @type {?} */ var nodeId = treeNode[this.treeNodeIdKey]; if (this.multiple) { /** @type {?} */ var selectedByValue = this.nodeSelected(nodeId); treeNode.isActive = false; treeNode.isChecked = selectedByValue || parentCheckedByChildren; if (!this.leafOnly && !selectedByValue && parentCheckedByChildren) { /** @type {?} */ var insertObject = {}; insertObject[this.treeNodeIdKey] = treeNode[this.treeNodeIdKey]; insertObject[this.treeNodeTitleKey] = treeNode[this.treeNodeTitleKey]; ((/** @type {?} */ (this.value))).push(insertObject); } } else { treeNode.isChecked = false; treeNode.isActive = this.nodeSelected(nodeId); if (treeNode.isActive) { this.currentActiveNode = treeNode; } } } return treeNode; } }; /** * @private * @param {?} treeNodeId * @return {?} */ TreeSelectComponent.prototype.nodeSelected = /** * @private * @param {?} treeNodeId * @return {?} */ function (treeNodeId) { var _this = this; if (!this.value) { return false; } if (this.multiple && Array.isArray(this.value)) { // polyfill Array.prototype.includes() return this.value.map((/** * @param {?} _ * @return {?} */ function (_) { return _[_this.treeNodeIdKey]; })).indexOf(treeNodeId) > -1; } else { return this.value[this.treeNodeIdKey] && treeNodeId === this.value[this.treeNodeIdKey]; } }; /** * @private * @param {?} treeNodes * @return {?} */ TreeSelectComponent.prototype.resolveParentNode = /** * @private * @param {?} treeNodes * @return {?} */ function (treeNodes) { /** @type {?} */ var childrenFullCheckedCount = treeNodes.filter((/** * @param {?} _ * @return {?} */ function (_) { return _.isChecked; })).length; /** @type {?} */ var childrenCheckedCount = treeNodes.filter((/** * @param {?} _ * @return {?} */ function (_) { return _.isChecked || _.halfChecked; })).length; return [ childrenFullCheckedCount > 0 && treeNodes.length === childrenFullCheckedCount, childrenCheckedCount > 0 && treeNodes.length > childrenFullCheckedCount ]; }; /** * @private * @param {?} treeData * @return {?} */ TreeSelectComponent.prototype.refreshTree = /** * @private * @param {?} treeData * @return {?} */ function (treeData) { this._treeData = Object.assign([], this.prepareTree(treeData, this.expandTree)); }; /** * @param {?} selectedNodes * @return {?} */ TreeSelectComponent.prototype.onOperableNodeChecked = /** * @param {?} selectedNodes * @return {?} */ function (selectedNodes) { var _this = this; /** @type {?} */ var selectedValueExtractor = (/** * @param {?} _selectedNodes * @return {?} */ function (_selectedNodes) { return _this.leafOnly ? _selectedNodes.filter((/** * @param {?} _ * @return {?} */ function (_) { return !_.data.isParent; })).map((/** * @param {?} _ * @return {?} */ function (_) { return _.data.originItem; })) : _selectedNodes.map((/** * @param {?} _ * @return {?} */ function (_) { return _.data.originItem; })); }); if (this.multiple) { this.value = selectedValueExtractor(selectedNodes); this.emitEvents(); } }; /** * @param {?} selectedNode * @return {?} */ TreeSelectComponent.prototype.onOperableNodeSelected = /** * @param {?} selectedNode * @return {?} */ function (selectedNode) { if (!this.multiple) { if (this.leafOnly && selectedNode.data.isParent) { return; } if (selectedNode.data.isActive) { this.currentActiveNode = selectedNode.data.originItem; this.value = selectedNode.data.originItem; // Configurable close on node selected if (this.closeOnNodeSelected) { this.isOpen = false; } } else { if (this.allowUnselect) { this.currentActiveNode = null; this.value = null; } else { selectedNode.data.isActive = true; if (this.closeOnNodeSelected) { this.isOpen = false; } } } this.emitEvents(); } }; /** * @return {?} */ TreeSelectComponent.prototype.emitEvents = /** * @return {?} */ function () { this.visualizeSelectedItems(); this.onChange(this.value); this.valueChanged.emit(this.selectedValue()); this.onTouch(); }; /** * @return {?} */ TreeSelectComponent.prototype.visualizeSelectedItems = /** * @return {?} */ function () { if (this.multiple) { this.visualizeMultipleValue(); } else { this.visualizeSingleValue(); } }; /** * @return {?} */ TreeSelectComponent.prototype.visualizeMultipleValue = /** * @return {?} */ function () { var _this = this; if (this.tree && this.tree.treeFactory) { /** @type {?} */ var selectedNodes = (/** @type {?} */ (this.selectedValue())); /** @type {?} */ var valueText = selectedNodes.map((/** * @param {?} _ * @return {?} */ function (_) { return _[_this.treeNodeTitleKey]; })).join(this.delimiter); this.renderer.setAttribute(this.selectHost.nativeElement, 'value', valueText); } else { this.emptyInput(); } }; /** * @return {?} */ TreeSelectComponent.prototype.visualizeSingleValue = /** * @return {?} */ function () { if (this.value && this.value[this.treeNodeTitleKey]) { /** @type {?} */ var valueText = this.value[this.treeNodeTitleKey]; this.renderer.setAttribute(this.selectHost.nativeElement, 'value', valueText); } else { this.emptyInput(); } }; /** * @return {?} */ TreeSelectComponent.prototype.emptyInput = /** * @return {?} */ function () { this.renderer.setAttribute(this.selectHost.nativeElement, 'value', ''); }; /** * @return {?} */ TreeSelectComponent.prototype.selectedValue = /** * @return {?} */ function () { return this.value; }; /** * @param {?} popperState * @return {?} */ TreeSelectComponent.prototype.responsePopperChange = /** * @param {?} popperState * @return {?} */ function (popperState) { if (popperState && this.searchable) { this.focusSearchInput(); } }; /** * @private * @return {?} */ TreeSelectComponent.prototype.focusSearchInput = /** * @private * @return {?} */ function () { if (this.searchInput.nativeElement) { this.searchInput.nativeElement.focus(); } }; /** * @param {?} searchString * @return {?} */ TreeSelectComponent.prototype.search = /** * @param {?} searchString * @return {?} */ function (searchString) { /** @type {?} */ var searchRes = this.tree.treeFactory.searchTree(searchString, true); if (typeof searchRes === 'boolean') { this.noRecord = searchRes; } else if (Array.isArray(searchRes)) { this.noRecord = searchRes.every((/** * @param {?} res * @return {?} */ function (res) { return !res; })); } this.popper.update(); }; /** * @private * @return {?} */ TreeSelectComponent.prototype.registerSearchListener = /** * @private * @return {?} */ function () { var _this = this; this.searchInputModel.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe((/** * @param {?} searchString * @return {?} */ function (searchString) { _this.search(searchString); })); }; /** * @private * @return {?} */ TreeSelectComponent.prototype.scrollToSelected = /** * @private * @return {?} */ function () { if (this.multiple) { return; } /** @type {?} */ var selectedNode = this.optionsContainer.nativeElement.querySelector('.tree-node.operable-tree-node.selected'); /** @type {?} */ var scrollableContainer = this.optionsContainer.nativeElement.parentNode; if (!selectedNode || !scrollableContainer) { return; } /** @type {?} */ var scrollOffset = selectedNode.offsetTop; scrollableContainer.scrollTo({ top: (scrollOffset - scrollableContainer.scrollTop) }); }; /** * @return {?} */ TreeSelectComponent.prototype.clearValue = /** * @return {?} */ function () { if (this.treeData && this.treeData.length > 0 && !this.disabled && !this.multiple && !!this.selectedValue) { this.tree.treeFactory.deactivateAllNodes(); this.currentActiveNode = null; this.value = null; this.emitEvents(); } }; /** * @return {?} */ TreeSelectComponent.prototype.onNodeToggled = /** * @return {?} */ function () { if (this.popper) { this.popper.update(); } }; TreeSelectComponent.decorators = [ { type: Component, args: [{ selector: 'd-tree-select', template: "<div class=\"devui-tree-select\">\r\n <popper-component [(open)]=\"isOpen\" [fluidPopper]=\"!width\" (openChange)=\"responsePopperChange($event)\" [appendTo]=\"appendTo\" #popper>\r\n <input\r\n #selectHost\r\n class=\"devui-select-input devui-input devui-form-control devui-tree-select-input\"\r\n (click)=\"toggle()\"\r\n [placeholder]=\"placeholder\"\r\n autocomplete=\"off\"\r\n [disabled]=\"disabled\"\r\n readonly\r\n popper-activator\r\n />\r\n <div popper-prepend class=\"devui-tree-select devui-search-container\" *ngIf=\"searchable\">\r\n <input class=\"devui-input\" [(ngModel)]=\"searchString\" #searchInputModel=\"ngModel\" #searchInput />\r\n </div>\r\n <div class=\"devui-tree-select devui-options-container\" #optionsContainer popper-container [ngStyle]=\"{ width: width }\">\r\n <d-operable-tree\r\n #tree\r\n [style.display]=\"treeData && treeData.length > 0 && !noRecord ? 'block' : 'none'\"\r\n [tree]=\"treeData\"\r\n [treeNodeIdKey]=\"treeNodeIdKey\"\r\n [treeNodeChildrenKey]=\"treeNodeChildrenKey\"\r\n [checkboxDisabledKey]=\"disabledKey\"\r\n [checkboxInput]=\"checkboxInput\"\r\n [checkable]=\"multiple\"\r\n [canActivateNode]=\"!multiple\"\r\n [canActivateParentNode]=\"!leafOnly\"\r\n (nodeChecked)=\"onOperableNodeChecked($event)\"\r\n (nodeSelected)=\"onOperableNodeSelected($event)\"\r\n (nodeToggled)=\"onNodeToggled()\"\r\n [iconParentOpen]=\"iconParentOpen\"\r\n [iconParentClose]=\"iconParentClose\"\r\n [iconLeaf]=\"iconLeaf\"\r\n [treeNodeTitleKey]=\"treeNodeTitleKey\"\r\n [iconTemplatePosition]=\"iconTemplatePosition\"\r\n class=\"devui-tree\"\r\n >\r\n <ng-template *ngIf=\"iconTemplateInput || iconTemplatePassThrough\" #iconTemplate let-node=\"node\">\r\n <ng-template [ngTemplateOutlet]=\"iconTemplateInput || iconTemplatePassThrough\" [ngTemplateOutletContext]=\"{ node: node }\">\r\n </ng-template>\r\n </ng-template>\r\n </d-operable-tree>\r\n <div *ngIf=\"!treeData || treeData.length <= 0\" class=\"devui-no-data-tip\">\r\n {{ i18nCommonText?.noData }}\r\n </div>\r\n <div *ngIf=\"noRecord\" class=\"devui-no-data-tip\">\r\n {{ i18nCommonText?.noRecordsFound }}\r\n </div>\r\n </div>\r\n </popper-component>\r\n <div\r\n [ngClass]=\"{ disabled: disabled, clear: allowClear }\"\r\n (click)=\"$event.stopPropagation(); $event.preventDefault(); clearValue()\"\r\n ></div>\r\n <span class=\"devui-select-chevron-icon\" [class.open]=\"isOpen\" [ngClass]=\"{ disabled: disabled, clear: allowClear }\">\r\n <svg width=\"14px\" height=\"14px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"chevron_down\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon id=\"chevron_down\" points=\"4.5 5 8 8.76923077 11.5 5 13 6.61538462 8 12 3 6.61538462\"></polygon>\r\n </g>\r\n </svg>\r\n </span>\r\n</div>\r\n", exportAs: 'select', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return TreeSelectComponent; })), multi: true } ], styles: [".devui-tree-select{position:relative;width:100%}.devui-tree-select input.devui-select-input{cursor:pointer;display:inline-block;width:100%;color:#252b3a;text-overflow:ellipsis}.devui-tree-select input.devui-select-input.devui-tree-select-input{padding:5px 2em 5px 10px}.devui-tree-select:hover .clear{position:absolute;height:14px;width:14px;right:12px;top:calc((100% - 14px)/ 2);cursor:pointer}.devui-tree-select:hover .clear::after,.devui-tree-select:hover .clear::before{position:absolute;content:'';height:14px;width:1px;background-color:#252b3a;left:50%}.devui-tree-select:hover .clear::before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.devui-tree-select:hover .clear::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.devui-tree-select:hover .clear:hover::after,.devui-tree-select:hover .clear:hover::before{background-color:#252b3a}.devui-tree-select .devui-select-chevron-icon{right:12px;top:calc((100% - 14px)/ 2);position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.devui-tree-select .devui-select-chevron-icon svg{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.devui-tree-select .devui-select-chevron-icon.open svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.devui-tree-select .devui-select-chevron-icon.clear{opacity:0}.devui-tree-select .devui-select-chevron-icon.disabled{opacity:.3}.devui-tree-select .devui-select-chevron-icon ::ng-deep g{fill:#252b3a}.devui-tree-select:not(:hover) .devui-select-chevron-icon:not(.disabled){opacity:1;-webkit-transition:opacity .1s linear;transition:opacity .1s linear}.devui-tree-select.devui-options-container{width:100%;color:#252b3a;padding:5px 0}.devui-tree-select.devui-options-container .devui-tree ::ng-deep .devui-tree-node.devui-operable-tree-node .devui-tree-node__content{margin-left:10px}.devui-tree-select.devui-options-container .devui-tree ::ng-deep .devui-tree-node.devui-operable-tree-node .active{background-color:transparent}.devui-tree-select.devui-options-container .devui-tree ::ng-deep .devui-tree-node.devui-operable-tree-node.selected{position:relative;-webkit-width:-webkit-fit-content;-moz-width:-moz-fit-content;width:fit-content;min-width:calc(100% - 1.2em)}.devui-tree-select.devui-options-container .devui-tree ::ng-deep .devui-tree-node.devui-operable-tree-node.selected::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f2f5fc;z-index:-1}.devui-tree-select.devui-options-container .devui-no-data-tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:not-allowed;padding:5px 12px;opacity:.3}.devui-tree-select.devui-search-container{padding:5px}:host{display:inline-block;width:100%}"] }] } ]; /** @nocollapse */ TreeSelectComponent.ctorParameters = function () { return [ { type: Renderer2 }, { type: ChangeDetectorRef }, { type: I18nService } ]; }; TreeSelectComponent.propDecorators = { allowClear: [{ type: Input }], treeData: [{ type: Input }], placeholder: [{ type: Input }], disabled: [{ type: Input }], expandTree: [{ type: Input }], multiple: [{ type: Input }], treeNodeIdKey: [{ type: Input }], treeNodeChildrenKey: [{ type: Input }], disabledKey: [{ type: Input }], leafOnly: [{ type: Input }], delimiter: [{ type: Input }], iconParentOpen: [{ type: Input }], iconParentClose: [{ type: Input }], iconLeaf: [{ type: Input }], closeOnNodeSelected: [{ type: Input }], width: [{ type: Input }], searchable: [{ type: Input }], appendTo: [{ type: Input }], treeNodeTitleKey: [{ type: Input }], allowUnselect: [{ type: Input }], iconTemplatePosition: [{ type: Input }], iconTemplateInput: [{ type: Input }], selectHost: [{ type: ViewChild, args: ['selectHost', { static: true },] }], optionsContainer: [{ type: ViewChild, args: ['optionsContainer', { static: true },] }], tree: [{ type: ViewChild, args: ['tree', { static: true },] }], searchInput: [{ type: ViewChild, args: ['searchInput', { static: false },] }], searchInputModel: [{ type: ViewChild, args: ['searchInputModel', { static: false },] }], popper: [{ type: ViewChild, args: ['popper', { static: true },] }], iconTemplatePassThrough: [{ type: ContentChild, args: ['iconTemplate', { static: false },] }], valueChanged: [{ type: Output }], readyEvent: [{ type: Input }] }; return TreeSelectComponent; }()); export { TreeSelectComponent }; if (false) { /** @type {?} */ TreeSelectComponent.prototype.placeholder; /** @type {?} */ TreeSelectComponent.prototype.disabled; /** @type {?} */ TreeSelectComponent.prototype.expandTree; /** @type {?} */ TreeSelectComponent.prototype.multiple; /** @type {?} */ TreeSelectComponent.prototype.treeNodeIdKey; /** @type {?} */ TreeSelectComponent.prototype.treeNodeChildrenKey; /** @type {?} */ TreeSelectComponent.prototype.disabledKey; /** @type {?} */ TreeSelectComponent.prototype.leafOnly; /** @type {?} */ TreeSelectComponent.prototype.delimiter; /** @type {?} */ TreeSelectComponent.prototype.iconParentOpen; /** @type {?} */ TreeSelectComponent.prototype.iconParentClose; /** @type {?} */ TreeSelectComponent.prototype.iconLeaf; /** @type {?} */ TreeSelectComponent.prototype.closeOnNodeSelected; /** @type {?} */ TreeSelectComponent.prototype.width; /** @type {?} */ TreeSelectComponent.prototype.searchable; /** @type {?} */ TreeSelectComponent.prototype.appendTo; /** @type {?} */ TreeSelectComponent.prototype.treeNodeTitleKey; /** @type {?} */ TreeSelectComponent.prototype.allowUnselect; /** @type {?} */ TreeSelectComponent.prototype.iconTemplatePosition; /** @type {?} */ TreeSelectComponent.prototype.iconTemplateInput; /** @type {?} */ TreeSelectComponent.prototype.selectHost; /** @type {?} */ TreeSelectComponent.prototype.optionsContainer; /** @type {?} */ TreeSelectComponent.prototype.tree; /** @type {?} */ TreeSelectComponent.prototype.searchInput; /** @type {?} */ TreeSelectComponent.prototype.searchInputModel; /** @type {?} */ TreeSelectComponent.prototype.popper; /** @type {?} */ TreeSelectComponent.prototype.iconTemplatePassThrough; /** @type {?} */ TreeSelectComponent.prototype.valueChanged; /** @type {?} */ TreeSelectComponent.prototype.checkboxInput; /** @type {?} */ TreeSelectComponent.prototype._treeData; /** @type {?} */ TreeSelectComponent.prototype.value; /** @type {?} */ TreeSelectComponent.prototype.currentActiveNode; /** @type {?} */ TreeSelectComponent.prototype.searchString; /** @type {?} */ TreeSelectComponent.prototype.i18nCommonText; /** @type {?} */ TreeSelectComponent.prototype.i18nSubscription; /** @type {?} */ TreeSelectComponent.prototype.noRecord; /** * @type {?} * @private */ TreeSelectComponent.prototype._isOpen; /** * @type {?} * @private */ TreeSelectComponent.prototype._sourceTree; /** * @type {?} * @private */ TreeSelectComponent.prototype._allowClear; /** * @type {?} * @private */ TreeSelectComponent.prototype.timer; /** @type {?} */ TreeSelectComponent.prototype.readyEvent; /** * @type {?} * @private */ TreeSelectComponent.prototype.onChange; /** * @type {?} * @private */ TreeSelectComponent.prototype.onTouch; /** * @type {?} * @protected */ TreeSelectComponent.prototype.renderer; /** * @type {?} * @protected */ TreeSelectComponent.prototype.changeDetectorRef; /** * @type {?} * @private */ TreeSelectComponent.prototype.i18n; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdHJlZS1zZWxlY3QvIiwic291cmNlcyI6WyJ0cmVlLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUVULFNBQVMsRUFDVCxXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBNkIscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxZQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRzNEO0lBMkNFLDZCQUNZLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUN0QyxJQUFpQjtRQUZmLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBSWxCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHdCQUFtQixHQUFHLFVBQVUsQ0FBQztRQUNqQyxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsbUJB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QzlDLG1DQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElDaGVja2JveElucHV0LCBJVHJlZUl0ZW0sIE9wZXJhYmxlVHJlZUNvbXBvbmVudCB9IGZyb20gJ25nLWRldnVpL3RyZWUnO1xyXG5pbXBvcnQgRGVmYXVsdEljb25zIGZyb20gJy4vdHJlZS1kZWZhdWx0LWljb25zJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSTE4