angular-custom-selector
Version:
```bash NOTE*** This library was generated using Angular CLI version 9.0.0. Therefore, it is recommended that you use a compatible version of Angular to ensure proper functionality ```
63 lines • 6.91 kB
JavaScript
import { __decorate } from "tslib";
import { Component, EventEmitter, Input, Output } from '@angular/core';
let SingleSelectorTreeViewComponent = class SingleSelectorTreeViewComponent {
constructor() {
this.enableAllNodes = false;
this.searchKey = "name";
this.closeEvent = new EventEmitter();
}
ngOnInit() {
if (this.enableAllNodes) {
this.enableAll(this.data);
}
}
ngAfterContentInit() {
this.addExpandListItem(this.data);
}
showClick(dataItem) {
this.closeEvent.emit(dataItem);
}
addExpandListItem(treeItem) {
treeItem.forEach(item => {
if (item.hasChild) {
this.addExpandListItem(item.items);
}
});
}
enableAll(data) {
data.map(item => {
item.isSelectable = true;
this.enableAll(item.items);
});
}
};
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "expandedKeys", void 0);
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "selectedId", void 0);
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "displayName", void 0);
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "enableAllNodes", void 0);
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "searchKey", void 0);
__decorate([
Input()
], SingleSelectorTreeViewComponent.prototype, "data", void 0);
__decorate([
Output()
], SingleSelectorTreeViewComponent.prototype, "closeEvent", void 0);
SingleSelectorTreeViewComponent = __decorate([
Component({
selector: 'single-selector-tree-view',
template: "<kendo-treeview [nodes]=\"data\" [textField]=\"searchKey\" childrenField=\"items\" [(expandedKeys)]=\"expandedKeys\"\r\n expandBy=\"id\" [filterable]=\"true\" filterInputPlaceholder=\"Search\" kendoTreeViewExpandable\r\n kendoTreeViewHierarchyBinding>\r\n <ng-template kendoTreeViewNodeTemplate let-dataItem>\r\n <span class=\"selectoritem\" (click)=\"showClick(dataItem)\"\r\n [ngClass]=\"{'disableNode': dataItem.isSelectable === false,'itemactive' : selectedId == dataItem.id}\">\r\n {{ dataItem[displayName] }}\r\n </span>\r\n </ng-template>\r\n</kendo-treeview>",
styles: [":host ::ng-deep .k-checkbox{border-color:#000}:host ::ng-deep .k-textbox{width:100%;margin-bottom:8px}:host ::ng-deep .k-in.k-state-focused{box-shadow:none!important}:host ::ng-deep .selectoritem:hover{background-color:#005151;border-radius:3px;color:#fff;font-weight:500;cursor:default}:host ::ng-deep .k-treeview .k-icon{font-size:20px}:host ::ng-deep .k-treeview .k-in{padding:0;width:100%}:host ::ng-deep .selectoritem{padding:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}:host ::ng-deep .disableNode{opacity:.6;pointer-events:none}:host ::ng-deep .itemactive{color:#005151;font-weight:500}"]
})
], SingleSelectorTreeViewComponent);
export { SingleSelectorTreeViewComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdG9yLXRyZWUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWN1c3RvbS1zZWxlY3Rvci8iLCJzb3VyY2VzIjpbImxpYi9zaW5nbGUtc2VsZWN0b3Ivc2luZ2xlLXNlbGVjdG9yLXRyZWUtdmlldy9zaW5nbGUtc2VsZWN0b3ItdHJlZS12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxJQUFhLCtCQUErQixHQUE1QyxNQUFhLCtCQUErQjtJQVV4QztRQUxTLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFFMUIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWxELENBQUM7SUFFVixRQUFRO1FBQ1gsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxRQUFhO1FBQ25DLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDckM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKLENBQUE7QUF0Q1k7SUFBUixLQUFLLEVBQUU7cUVBQXFCO0FBQ3BCO0lBQVIsS0FBSyxFQUFFO21FQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTtvRUFBcUI7QUFDcEI7SUFBUixLQUFLLEVBQUU7dUVBQWlDO0FBQ2hDO0lBQVIsS0FBSyxFQUFFO2tFQUE0QjtBQUMzQjtJQUFSLEtBQUssRUFBRTs2REFBVztBQUNUO0lBQVQsTUFBTSxFQUFFO21FQUF5RDtBQVJ6RCwrQkFBK0I7SUFMM0MsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxzbEJBQXlEOztLQUU1RCxDQUFDO0dBQ1csK0JBQStCLENBd0MzQztTQXhDWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2luZ2xlLXNlbGVjdG9yLXRyZWUtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2luZ2xlLXNlbGVjdG9yLXRyZWUtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zaW5nbGUtc2VsZWN0b3ItdHJlZS12aWV3LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdG9yVHJlZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIGV4cGFuZGVkS2V5czogYW55W107XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZElkOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZW5hYmxlQWxsTm9kZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNlYXJjaEtleTogc3RyaW5nID0gXCJuYW1lXCI7XHJcbiAgICBASW5wdXQoKSBkYXRhOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZih0aGlzLmVuYWJsZUFsbE5vZGVzKXtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVBbGwodGhpcy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuYWRkRXhwYW5kTGlzdEl0ZW0odGhpcy5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93Q2xpY2soZGF0YUl0ZW06IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KGRhdGFJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZEV4cGFuZExpc3RJdGVtKHRyZWVJdGVtOiBhbnkpIHtcclxuICAgICAgICB0cmVlSXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5oYXNDaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRFeHBhbmRMaXN0SXRlbShpdGVtLml0ZW1zKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVuYWJsZUFsbChkYXRhOiBBcnJheTxhbnk+KSB7XHJcbiAgICAgICAgZGF0YS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RhYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVBbGwoaXRlbS5pdGVtcyk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxufVxyXG4iXX0=