@seniorsistemas/angular-components 17.27.2 → 17.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +457 -0
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/index.d.ts +1 -0
  6. package/components/tree/Models/tree.models.d.ts +28 -0
  7. package/components/tree/components/tree-node-item/tree-node-item.component.d.ts +35 -0
  8. package/components/tree/index.d.ts +3 -0
  9. package/components/tree/tree.component.d.ts +33 -0
  10. package/components/tree/tree.module.d.ts +2 -0
  11. package/esm2015/components/index.js +2 -1
  12. package/esm2015/components/tree/Models/tree.models.js +1 -0
  13. package/esm2015/components/tree/components/tree-node-item/tree-node-item.component.js +154 -0
  14. package/esm2015/components/tree/index.js +3 -0
  15. package/esm2015/components/tree/tree.component.js +254 -0
  16. package/esm2015/components/tree/tree.module.js +20 -0
  17. package/esm2015/seniorsistemas-angular-components.js +3 -1
  18. package/esm5/components/index.js +2 -1
  19. package/esm5/components/tree/Models/tree.models.js +1 -0
  20. package/esm5/components/tree/components/tree-node-item/tree-node-item.component.js +169 -0
  21. package/esm5/components/tree/index.js +3 -0
  22. package/esm5/components/tree/tree.component.js +280 -0
  23. package/esm5/components/tree/tree.module.js +23 -0
  24. package/esm5/seniorsistemas-angular-components.js +3 -1
  25. package/fesm2015/seniorsistemas-angular-components.js +411 -2
  26. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  27. package/fesm5/seniorsistemas-angular-components.js +455 -2
  28. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  29. package/package.json +1 -1
  30. package/seniorsistemas-angular-components.d.ts +2 -0
  31. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -0,0 +1,169 @@
1
+ import { __decorate } from "tslib";
2
+ import { animate, query, stagger, style, transition, trigger } from '@angular/animations';
3
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ var TreeNodeItemComponent = /** @class */ (function () {
6
+ function TreeNodeItemComponent(cdr, translateService) {
7
+ this.cdr = cdr;
8
+ this.translateService = translateService;
9
+ this.ariaLevel = 0;
10
+ this.showCheckbox = false;
11
+ this.treeNodeItemClicked = new EventEmitter();
12
+ this.treeNodeEdit = new EventEmitter();
13
+ this.nodeExpanded = new EventEmitter();
14
+ this.nodeCollapsed = new EventEmitter();
15
+ }
16
+ Object.defineProperty(TreeNodeItemComponent.prototype, "hasChildren", {
17
+ get: function () {
18
+ return this.treeNodeItem.children && this.treeNodeItem.children.length > 0;
19
+ },
20
+ enumerable: true,
21
+ configurable: true
22
+ });
23
+ Object.defineProperty(TreeNodeItemComponent.prototype, "editable", {
24
+ get: function () {
25
+ var _a;
26
+ return ((_a = this.treeNodeItem) === null || _a === void 0 ? void 0 : _a.editable) || false;
27
+ },
28
+ enumerable: true,
29
+ configurable: true
30
+ });
31
+ Object.defineProperty(TreeNodeItemComponent.prototype, "ariaLabel", {
32
+ get: function () {
33
+ return this.translateService.instant('platform.angular_components.select') + " " + this.treeNodeItem.label;
34
+ },
35
+ enumerable: true,
36
+ configurable: true
37
+ });
38
+ TreeNodeItemComponent.prototype.expandNode = function () {
39
+ if (this.hasChildren && !this.treeNodeItem.isExpanded) {
40
+ this.toggleExpanded(this.treeNodeItem);
41
+ }
42
+ };
43
+ TreeNodeItemComponent.prototype.collapseNode = function () {
44
+ if (this.hasChildren && this.treeNodeItem.isExpanded) {
45
+ this.toggleExpanded(this.treeNodeItem);
46
+ }
47
+ };
48
+ TreeNodeItemComponent.prototype.onCheckboxEnter = function (node) {
49
+ var newState = node.checked === true ? false : true;
50
+ node.checked = newState;
51
+ this.treeNodeItemClicked.emit({ item: node, event: new KeyboardEvent('keydown', { key: 'Enter' }) });
52
+ };
53
+ TreeNodeItemComponent.prototype.handleTreeNodeItemClick = function (event, treeNodeItem) {
54
+ var item = treeNodeItem || this.treeNodeItem;
55
+ this.treeNodeItemClicked.emit({ item: item, event: event });
56
+ };
57
+ TreeNodeItemComponent.prototype.handleTreeNodeItemClicked = function (_a) {
58
+ var event = _a.event, item = _a.item;
59
+ if (item.isEditing) {
60
+ return;
61
+ }
62
+ this.handleTreeNodeItemClick(event, item);
63
+ };
64
+ TreeNodeItemComponent.prototype.toggleExpanded = function (treeNodeItem) {
65
+ treeNodeItem.isExpanded = !treeNodeItem.isExpanded;
66
+ if (treeNodeItem.isExpanded) {
67
+ this.nodeExpanded.emit(treeNodeItem);
68
+ }
69
+ else {
70
+ this.nodeCollapsed.emit(treeNodeItem);
71
+ }
72
+ };
73
+ TreeNodeItemComponent.prototype.toggleEditing = function ($event) {
74
+ var _a;
75
+ $event.stopPropagation();
76
+ this.treeNodeItem.isEditing = !this.treeNodeItem.isEditing;
77
+ this.cdr.detectChanges();
78
+ if (this.treeNodeItem.isEditing) {
79
+ this.treeNodeItem.editNewValue = this.treeNodeItem.label;
80
+ var input = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement;
81
+ input === null || input === void 0 ? void 0 : input.focus();
82
+ }
83
+ };
84
+ TreeNodeItemComponent.prototype.cancelEdit = function ($event) {
85
+ $event.stopPropagation();
86
+ this.treeNodeItem.isEditing = false;
87
+ this.treeNodeItem.editNewValue = '';
88
+ this.treeNodeItem.editPreviousValue = '';
89
+ this.cdr.detectChanges();
90
+ };
91
+ TreeNodeItemComponent.prototype.saveEdit = function ($event) {
92
+ var _this = this;
93
+ $event.stopPropagation();
94
+ this.treeNodeItem.isEditing = false;
95
+ if (!this.treeNodeItem.editNewValue) {
96
+ return;
97
+ }
98
+ this.treeNodeItem.editPreviousValue = this.treeNodeItem.label;
99
+ this.treeNodeItem.label = this.treeNodeItem.editNewValue;
100
+ var revertAction = function () {
101
+ _this.treeNodeItem.label = _this.treeNodeItem.editPreviousValue;
102
+ _this.treeNodeItem.isEditing = false;
103
+ _this.cdr.detectChanges();
104
+ };
105
+ this.treeNodeEdit.emit({ revertAction: revertAction, item: this.treeNodeItem, newValue: this.treeNodeItem.editNewValue, previousValue: this.treeNodeItem.editPreviousValue });
106
+ };
107
+ TreeNodeItemComponent.prototype.treeNodeEditChildEvent = function (payload) {
108
+ this.treeNodeEdit.emit(payload);
109
+ };
110
+ TreeNodeItemComponent.ctorParameters = function () { return [
111
+ { type: ChangeDetectorRef },
112
+ { type: TranslateService }
113
+ ]; };
114
+ __decorate([
115
+ Input()
116
+ ], TreeNodeItemComponent.prototype, "ariaLevel", void 0);
117
+ __decorate([
118
+ Input()
119
+ ], TreeNodeItemComponent.prototype, "showCheckbox", void 0);
120
+ __decorate([
121
+ Input()
122
+ ], TreeNodeItemComponent.prototype, "treeNodeItem", void 0);
123
+ __decorate([
124
+ Output()
125
+ ], TreeNodeItemComponent.prototype, "treeNodeItemClicked", void 0);
126
+ __decorate([
127
+ Output()
128
+ ], TreeNodeItemComponent.prototype, "treeNodeEdit", void 0);
129
+ __decorate([
130
+ Output()
131
+ ], TreeNodeItemComponent.prototype, "nodeExpanded", void 0);
132
+ __decorate([
133
+ Output()
134
+ ], TreeNodeItemComponent.prototype, "nodeCollapsed", void 0);
135
+ __decorate([
136
+ ViewChild('input', { read: ElementRef })
137
+ ], TreeNodeItemComponent.prototype, "input", void 0);
138
+ TreeNodeItemComponent = __decorate([
139
+ Component({
140
+ selector: 's-tree-node-item',
141
+ template: "<div\n *ngIf=\"treeNodeItem\"\n class=\"tree-node-item\"\n role=\"treeitem\"\n [class.tree-node-item-selected]=\"treeNodeItem.checked\"\n [class.selectable]=\"hasChildren\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n tabindex=\"0\"\n (keydown.enter)=\"handleTreeNodeItemClick($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n <div class=\"arrow\" *ngIf=\"hasChildren || treeNodeItem.leaf === true\" (click)=\"toggleExpanded(treeNodeItem)\">\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\" *ngIf=\"!treeNodeItem.isExpanded\"></i>\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\" *ngIf=\"treeNodeItem.isExpanded\"></i>\n </div>\n\n <div class=\"tree-node-item-text\" (click)=\"handleTreeNodeItemClick($event)\">\n <span class=\"tree-node-item-text-icon\" *ngIf=\"treeNodeItem.icon || treeNodeItem.isEditing\">\n <i [class]=\"treeNodeItem.icon\" *ngIf=\"treeNodeItem.icon && !treeNodeItem.isEditing\"></i>\n <i class=\"fas fa-edit edit\" *ngIf=\"treeNodeItem.isEditing\" (click)=\"saveEdit($event)\"></i>\n </span>\n\n <span class=\"tree-node-item-text-checkbox\" *ngIf=\"showCheckbox && !treeNodeItem.isEditing\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-checked]=\"treeNodeItem.checked === null ? 'mixed' : treeNodeItem.checked\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"checkbox\"\n tabindex=\"0\"\n (keydown.enter)=\"onCheckboxEnter(treeNodeItem)\"\n />\n </span>\n\n <span class=\"tree-node-item-text-label\">\n <ng-container *ngIf=\"treeNodeItem.isEditing\">\n <input\n #input\n type=\"text\"\n pInputText\n class=\"tree-node-item-text-input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n aria-label=\"Editar nome do item\"\n aria-live=\"polite\"\n />\n </ng-container>\n <ng-container *ngIf=\"!treeNodeItem.isEditing\">\n {{ treeNodeItem.label }}\n </ng-container>\n </span>\n\n <span class=\"tree-node-item-text-editable\" *ngIf=\"editable\">\n <i class=\"fas fa-pencil-alt\" (click)=\"toggleEditing($event)\" aria-label=\"Editar item\" tabindex=\"0\"></i>\n </span>\n </div>\n</div>\n\n<div\n *ngIf=\"hasChildren && treeNodeItem.isExpanded\"\n @fadeExpand\n class=\"child\"\n role=\"group\"\n @childrenAnimation\n>\n <s-tree-node-item\n *ngFor=\"let child of treeNodeItem.children\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"handleTreeNodeItemClicked($event)\"\n (treeNodeEdit)=\"treeNodeEditChildEvent($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n class=\"child-item\"\n >\n </s-tree-node-item>\n</div>\n",
142
+ animations: [
143
+ trigger('fadeExpand', [
144
+ transition(':enter', [
145
+ style({ height: '0px', opacity: 0, overflow: 'hidden' }),
146
+ animate('200ms ease-out', style({ height: '*', opacity: 1 }))
147
+ ]),
148
+ transition(':leave', [
149
+ animate('150ms ease-in', style({ height: '0px', opacity: 0 }))
150
+ ])
151
+ ]),
152
+ trigger('childrenAnimation', [
153
+ transition(':enter', [
154
+ query(':enter', [
155
+ style({ opacity: 0, transform: 'translateY(-10px)' }),
156
+ stagger(60, [
157
+ animate('200ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))
158
+ ])
159
+ ], { optional: true })
160
+ ])
161
+ ])
162
+ ],
163
+ styles: [".tree-node-item{width:100%;display:-ms-flexbox;display:flex;cursor:pointer}.tree-node-item .arrow{padding:3px 9px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.tree-node-item-text{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;padding:3px 0;-ms-flex-align:center;align-items:center}.tree-node-item-text:hover{background:#f1f7f8}.tree-node-item-text-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-right:9px}.tree-node-item-text-icon .edit{color:#428bca}.tree-node-item-text-label{color:#212533;font-family:\"Open Sans\";font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.tree-node-item-text-checkbox{padding-right:9px;display:-ms-flexbox;display:flex}.tree-node-item-text-checkbox input[type=checkbox]{accent-color:#428bca;width:14px;height:14px}.tree-node-item-text-editable{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.tree-node-item-text-editable i{padding:9px}.tree-node-item-text-input{-ms-flex:1;flex:1}.tree-node-item.selectable .tree-node-item-text-label{font-family:\"Open Sans\";font-size:14px;font-style:normal;font-weight:700}.tree-node-item.selectable *{cursor:pointer}.tree-node-item-selected .tree-node-item-text{background:#d5e8ec}.child{overflow:hidden;padding-left:2.2em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:5px}.child-item:first-child{padding-top:5px}"]
164
+ })
165
+ ], TreeNodeItemComponent);
166
+ return TreeNodeItemComponent;
167
+ }());
168
+ export { TreeNodeItemComponent };
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJlZS9jb21wb25lbnRzL3RyZWUtbm9kZS1pdGVtL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQTRCdkQ7SUFXRSwrQkFBNkIsR0FBc0IsRUFBbUIsZ0JBQWtDO1FBQTNFLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQW1CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFWL0YsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXBCLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFnRCxDQUFDO1FBQ3ZGLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDaEQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUN4RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBSXlDLENBQUM7SUFFN0csc0JBQUksOENBQVc7YUFBZjtZQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM3RSxDQUFDOzs7T0FBQTtJ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LE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtvQkFDM0IsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRTs0QkFDZCxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDOzRCQUNyRCxPQUFPLENBQUMsRUFBRSxFQUFFO2dDQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUM3RSxDQUFDO3lCQUNILEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7cUJBQ3ZCLENBQUM7aUJBQ0gsQ0FBQzthQUNIOztTQUNGLENBQUM7T0FDVyxxQkFBcUIsQ0EwR2pDO0lBQUQsNEJBQUM7Q0FBQSxBQTFHRCxJQTBHQztTQTFHWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBxdWVyeSxcbiAgc3RhZ2dlcixcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsVHJlZU5vZGVJdGVtLCBUcmVlTm9kZUVkaXQgfSBmcm9tICcuLi8uLi9Nb2RlbHMvdHJlZS5tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRyZWUtbm9kZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGVFeHBhbmQnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnMHB4Jywgb3BhY2l0eTogMCwgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pLFxuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDEgfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4Jywgb3BhY2l0eTogMCB9KSlcbiAgICAgIF0pXG4gICAgXSksXG4gICAgdHJpZ2dlcignY2hpbGRyZW5BbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHF1ZXJ5KCc6ZW50ZXInLCBbXG4gICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScgfSksXG4gICAgICAgICAgc3RhZ2dlcig2MCwgW1xuICAgICAgICAgICAgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKVxuICAgICAgICAgIF0pXG4gICAgICAgIF0sIHsgb3B0aW9uYWw6IHRydWUgfSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYXJpYUxldmVsID0gMDtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyZWVOb2RlSXRlbSE6IEludGVybmFsVHJlZU5vZGVJdGVtO1xuICBAT3V0cHV0KCkgdHJlZU5vZGVJdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSwgZXZlbnQ6IEV2ZW50IH0+KCk7XG4gIEBPdXRwdXQoKSB0cmVlTm9kZUVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFRyZWVOb2RlRWRpdD4oKTtcbiAgQE91dHB1dCgpIG5vZGVFeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SW50ZXJuYWxUcmVlTm9kZUl0ZW0+KCk7XG4gIEBPdXRwdXQoKSBub2RlQ29sbGFwc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJbnRlcm5hbFRyZWVOb2RlSXRlbT4oKTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBpbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxuXG4gIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmVlTm9kZUl0ZW0uY2hpbGRyZW4gJiYgdGhpcy50cmVlTm9kZUl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBlZGl0YWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50cmVlTm9kZUl0ZW0/LmVkaXRhYmxlIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGFyaWFMYWJlbCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zZWxlY3QnKX0gJHt0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbH1gO1xuICB9XG5cbiAgZXhwYW5kTm9kZSgpIHtcbiAgICBpZiAodGhpcy5oYXNDaGlsZHJlbiAmJiAhdGhpcy50cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy50b2dnbGVFeHBhbmRlZCh0aGlzLnRyZWVOb2RlSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgY29sbGFwc2VOb2RlKCkge1xuICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMudHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMudG9nZ2xlRXhwYW5kZWQodGhpcy50cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hlY2tib3hFbnRlcihub2RlOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSkge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gbm9kZS5jaGVja2VkID09PSB0cnVlID8gZmFsc2UgOiB0cnVlO1xuICAgIG5vZGUuY2hlY2tlZCA9IG5ld1N0YXRlO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtQ2xpY2tlZC5lbWl0KHsgaXRlbTogbm9kZSwgZXZlbnQ6IG5ldyBLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgeyBrZXk6ICdFbnRlcicgfSkgfSk7XG4gIH1cblxuICBoYW5kbGVUcmVlTm9kZUl0ZW1DbGljayhldmVudDogRXZlbnQsIHRyZWVOb2RlSXRlbT86IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XG4gICAgY29uc3QgaXRlbSA9IHRyZWVOb2RlSXRlbSB8fCB0aGlzLnRyZWVOb2RlSXRlbTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xuICB9XG5cbiAgaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2tlZCh7IGV2ZW50LCBpdGVtIH06IHsgZXZlbnQ6IEV2ZW50LCBpdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSB9KSB7XG4gICAgaWYgKGl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kZWQodHJlZU5vZGVJdGVtOiBJbnRlcm5hbFRyZWVOb2RlSXRlbSkge1xuICAgIHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkID0gIXRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkO1xuICAgIGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vZGVDb2xsYXBzZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUVkaXRpbmcoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSAhdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAodGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUgPSB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbDtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICAgIGlucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbEVkaXQoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUgPSAnJztcbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA9ICcnO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG5cbiAgc2F2ZUVkaXQoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlID0gdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWw7XG4gICAgdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWwgPSB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWU7XG5cbiAgICBjb25zdCByZXZlcnRBY3Rpb24gPSAoKSA9PiB7XG4gICAgICB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbCA9IHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlO1xuICAgICAgdGhpcy50cmVlTm9kZUl0ZW0uaXNFZGl0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHRoaXMudHJlZU5vZGVFZGl0LmVtaXQoeyByZXZlcnRBY3Rpb24sIGl0ZW06IHRoaXMudHJlZU5vZGVJdGVtLCBuZXdWYWx1ZTogdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlLCBwcmV2aW91c1ZhbHVlOiB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSB9KTtcbiAgfVxuXG4gIHRyZWVOb2RlRWRpdENoaWxkRXZlbnQocGF5bG9hZDogVHJlZU5vZGVFZGl0KSB7XG4gICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdChwYXlsb2FkKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { TreeComponent } from "./tree.component";
2
+ export { TreeModule } from "./tree.module";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmVlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVHJlZU5vZGVFZGl0LCBUcmVlTm9kZUl0ZW0gfSBmcm9tIFwiLi9Nb2RlbHMvdHJlZS5tb2RlbHNcIjtcbmV4cG9ydCB7IFRyZWVDb21wb25lbnQgfSBmcm9tIFwiLi90cmVlLmNvbXBvbmVudFwiO1xuZXhwb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gXCIuL3RyZWUubW9kdWxlXCI7XG5cbiJdfQ==
@@ -0,0 +1,280 @@
1
+ import { __decorate, __read, __spread, __values } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
3
+ var TreeComponent = /** @class */ (function () {
4
+ function TreeComponent() {
5
+ this.treeData = [];
6
+ this._selected = [];
7
+ this.loading = false;
8
+ this.selectionMode = "single";
9
+ this.showCheckbox = false;
10
+ this.allExpanded = false;
11
+ this.selectedChange = new EventEmitter();
12
+ this.treeNodeItemClicked = new EventEmitter();
13
+ this.treeNodeEdit = new EventEmitter();
14
+ this.nodeExpanded = new EventEmitter();
15
+ this.nodeCollapsed = new EventEmitter();
16
+ }
17
+ Object.defineProperty(TreeComponent.prototype, "selected", {
18
+ get: function () {
19
+ return this._selected;
20
+ },
21
+ set: function (value) {
22
+ if (!value) {
23
+ value = [];
24
+ }
25
+ if (!Array.isArray(value)) {
26
+ value = [value];
27
+ }
28
+ this._selected = value;
29
+ },
30
+ enumerable: true,
31
+ configurable: true
32
+ });
33
+ TreeComponent.prototype.ngOnChanges = function (changes) {
34
+ this.onChanges(changes);
35
+ };
36
+ TreeComponent.prototype.onTreeNodeItemClicked = function (_a) {
37
+ var item = _a.item;
38
+ this.treeNodeItemClicked.emit(parseInternalTreeNodeItem(item));
39
+ this.toggleChecked(item);
40
+ };
41
+ TreeComponent.prototype.onTreeNodeEdit = function (payload) {
42
+ var revertAction = payload.revertAction, item = payload.item, newValue = payload.newValue, previousValue = payload.previousValue;
43
+ this.treeNodeEdit.emit({
44
+ revertAction: revertAction,
45
+ item: parseInternalTreeNodeItem(item),
46
+ newValue: newValue,
47
+ previousValue: previousValue,
48
+ });
49
+ };
50
+ TreeComponent.prototype.onNodeExpanded = function (item) {
51
+ this.nodeExpanded.emit(parseInternalTreeNodeItem(item));
52
+ };
53
+ TreeComponent.prototype.onNodeCollapsed = function (item) {
54
+ this.nodeCollapsed.emit(parseInternalTreeNodeItem(item));
55
+ };
56
+ TreeComponent.prototype.toggleChecked = function (treeNodeItem) {
57
+ var elementCheckState = !treeNodeItem.checked;
58
+ if (!this.multiple) {
59
+ flattenTree(this.treeData).forEach(function (x) { return (x.checked = false); });
60
+ this.selected = [treeNodeItem];
61
+ }
62
+ treeNodeItem.checked = elementCheckState;
63
+ if (this.multiple) {
64
+ this.checkTreeDataChildren(treeNodeItem);
65
+ }
66
+ this.setSelected();
67
+ };
68
+ TreeComponent.prototype.checkTreeDataChildren = function (selectedTreeNode) {
69
+ var parentChecked = selectedTreeNode.checked;
70
+ if (selectedTreeNode.children) {
71
+ selectedTreeNode.children.forEach(function (item) {
72
+ var childrens = flattenTree(item.children || []);
73
+ item.checked = parentChecked;
74
+ childrens.forEach(function (child) { return (child.checked = parentChecked); });
75
+ });
76
+ }
77
+ var getNodeChildrenSummary = function (node) {
78
+ var allChildrenChecked = node.children.every(function (y) { return y.checked === true; });
79
+ var someChildrenChecked = node.children.some(function (y) { return y.checked === true || y.checked === null; });
80
+ var allChildrenUnchecked = node.children.every(function (y) { return y.checked === false || y.checked === undefined; });
81
+ return { allChildrenChecked: allChildrenChecked, someChildrenChecked: someChildrenChecked, allChildrenUnchecked: allChildrenUnchecked };
82
+ };
83
+ var updateCheckedStateRecursively = function (node) {
84
+ var _a;
85
+ if (!((_a = node.children) === null || _a === void 0 ? void 0 : _a.length))
86
+ return;
87
+ node.children.forEach(updateCheckedStateRecursively);
88
+ var _b = getNodeChildrenSummary(node), allChildrenChecked = _b.allChildrenChecked, someChildrenChecked = _b.someChildrenChecked, allChildrenUnchecked = _b.allChildrenUnchecked;
89
+ if (allChildrenChecked) {
90
+ node.checked = true;
91
+ }
92
+ else if (someChildrenChecked) {
93
+ node.checked = null;
94
+ }
95
+ else if (allChildrenUnchecked) {
96
+ node.checked = false;
97
+ }
98
+ };
99
+ this.treeData.forEach(updateCheckedStateRecursively);
100
+ };
101
+ TreeComponent.prototype.setSelected = function () {
102
+ var selected = this.selectedElements;
103
+ this.selected = __spread(selected);
104
+ this.selectedChange.emit(selected);
105
+ };
106
+ TreeComponent.prototype.onChanges = function (changes) {
107
+ var allExpandedChanges = changes.allExpanded;
108
+ var _checkIsFirstChangeWithValue = function (value) {
109
+ var _a;
110
+ if (!changes[value]) {
111
+ return;
112
+ }
113
+ return (!changes[value].previousValue || changes[value].previousValue.length === 0) && ((_a = changes[value].currentValue) === null || _a === void 0 ? void 0 : _a.length) > 0;
114
+ };
115
+ if (_checkIsFirstChangeWithValue('selected')) {
116
+ this.syncSelectedChanges();
117
+ }
118
+ if (_checkIsFirstChangeWithValue('treeData')) {
119
+ var isAllExpanded = this.allExpanded;
120
+ if (isAllExpanded) {
121
+ this.expandAll();
122
+ }
123
+ }
124
+ if (allExpandedChanges) {
125
+ if (this.allExpanded) {
126
+ this.expandAll();
127
+ }
128
+ else {
129
+ this.collapseAll();
130
+ }
131
+ }
132
+ };
133
+ TreeComponent.prototype.syncSelectedChanges = function () {
134
+ var _this = this;
135
+ var treeFlatten = flattenTree(this.treeData);
136
+ this.selected.forEach(function (selectedItem) {
137
+ var item = treeFlatten.find(function (item) { return item.id === selectedItem.id; });
138
+ if (item) {
139
+ item.checked = true;
140
+ }
141
+ if (item.children && _this.multiple) {
142
+ item.children.forEach(function (child) {
143
+ child.checked = true;
144
+ var existChildInSelectedList = _this.selected.some(function (item) { return item.id === child.id; });
145
+ if (!existChildInSelectedList) {
146
+ _this.selected.push(child);
147
+ }
148
+ });
149
+ }
150
+ });
151
+ var selectedElements = this.selectedElements;
152
+ var selectedElementsNotInSelectedList = selectedElements.filter(function (x) { return !_this.selected.some(function (y) { return y.id === x.id; }); });
153
+ selectedElementsNotInSelectedList.forEach(function (item) {
154
+ _this.checkTreeDataChildren(item);
155
+ });
156
+ this.setSelected();
157
+ };
158
+ TreeComponent.prototype.collapseAll = function () {
159
+ var flatten = flattenTree(this.treeData);
160
+ flatten.forEach(function (item) {
161
+ item.isExpanded = false;
162
+ });
163
+ };
164
+ TreeComponent.prototype.expandAll = function () {
165
+ var flatten = flattenTree(this.treeData);
166
+ flatten.forEach(function (item) {
167
+ item.isExpanded = true;
168
+ });
169
+ };
170
+ Object.defineProperty(TreeComponent.prototype, "selectedElements", {
171
+ get: function () {
172
+ return flattenTree(this.treeData)
173
+ .filter(function (x) { return x.checked; })
174
+ .filter(function (x) { var _a; return x.leaf !== true && !((_a = x.children) === null || _a === void 0 ? void 0 : _a.length); });
175
+ },
176
+ enumerable: true,
177
+ configurable: true
178
+ });
179
+ Object.defineProperty(TreeComponent.prototype, "multiple", {
180
+ get: function () {
181
+ return this.selectionMode === "multiple";
182
+ },
183
+ enumerable: true,
184
+ configurable: true
185
+ });
186
+ __decorate([
187
+ Input()
188
+ ], TreeComponent.prototype, "treeData", void 0);
189
+ __decorate([
190
+ Input()
191
+ ], TreeComponent.prototype, "selected", null);
192
+ __decorate([
193
+ Input()
194
+ ], TreeComponent.prototype, "loading", void 0);
195
+ __decorate([
196
+ Input()
197
+ ], TreeComponent.prototype, "selectionMode", void 0);
198
+ __decorate([
199
+ Input()
200
+ ], TreeComponent.prototype, "showCheckbox", void 0);
201
+ __decorate([
202
+ Input()
203
+ ], TreeComponent.prototype, "allExpanded", void 0);
204
+ __decorate([
205
+ Output()
206
+ ], TreeComponent.prototype, "selectedChange", void 0);
207
+ __decorate([
208
+ Output()
209
+ ], TreeComponent.prototype, "treeNodeItemClicked", void 0);
210
+ __decorate([
211
+ Output()
212
+ ], TreeComponent.prototype, "treeNodeEdit", void 0);
213
+ __decorate([
214
+ Output()
215
+ ], TreeComponent.prototype, "nodeExpanded", void 0);
216
+ __decorate([
217
+ Output()
218
+ ], TreeComponent.prototype, "nodeCollapsed", void 0);
219
+ TreeComponent = __decorate([
220
+ Component({
221
+ selector: "s-tree",
222
+ template: "<div class=\"tree\" *sLoadingState=\"loading\">\n <s-tree-node-item\n *ngFor=\"let item of treeData\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"item\"\n (nodeExpanded)=\"onNodeExpanded($event)\"\n (nodeCollapsed)=\"onNodeCollapsed($event)\"\n (treeNodeEdit)=\"onTreeNodeEdit($event)\"\n (treeNodeItemClicked)=\"onTreeNodeItemClicked($event)\">\n </s-tree-node-item>\n</div>\n",
223
+ styles: [".tree{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:5px;border:1px solid #ddd;border-radius:4px;padding:15px;margin:15px}"]
224
+ })
225
+ ], TreeComponent);
226
+ return TreeComponent;
227
+ }());
228
+ export { TreeComponent };
229
+ var flattenTree = function (tree) {
230
+ var result = [];
231
+ function traverse(nodes) {
232
+ var e_1, _a;
233
+ try {
234
+ for (var nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
235
+ var node = nodes_1_1.value;
236
+ result.push(node);
237
+ if (node.children && node.children.length) {
238
+ traverse(node.children);
239
+ }
240
+ }
241
+ }
242
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
243
+ finally {
244
+ try {
245
+ if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
246
+ }
247
+ finally { if (e_1) throw e_1.error; }
248
+ }
249
+ }
250
+ traverse(tree);
251
+ return result;
252
+ };
253
+ var ɵ0 = flattenTree;
254
+ var parseInternalTreeNodeItem = function (internalTreeNodeItem) {
255
+ var id = internalTreeNodeItem.id, label = internalTreeNodeItem.label, icon = internalTreeNodeItem.icon, checked = internalTreeNodeItem.checked, isExpanded = internalTreeNodeItem.isExpanded, payload = internalTreeNodeItem.payload, editable = internalTreeNodeItem.editable, children = internalTreeNodeItem.children;
256
+ var object = {
257
+ id: id,
258
+ label: label,
259
+ icon: icon,
260
+ checked: checked,
261
+ isExpanded: isExpanded,
262
+ payload: payload,
263
+ editable: editable,
264
+ _children: children === null || children === void 0 ? void 0 : children.map(parseInternalTreeNodeItem),
265
+ get children() {
266
+ return this._children;
267
+ },
268
+ set children(value) {
269
+ this._children = value;
270
+ internalTreeNodeItem.children = value;
271
+ },
272
+ };
273
+ Object.defineProperty(object, "_children", {
274
+ enumerable: false,
275
+ });
276
+ return object;
277
+ };
278
+ var ɵ1 = parseInternalTreeNodeItem;
279
+ export { ɵ0, ɵ1 };
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmVlL3RyZWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQVNqRztJQUFBO1FBRVcsYUFBUSxHQUFtQixFQUFFLENBQUM7UUFFN0IsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFnQmhDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsa0JBQWEsR0FBMEIsUUFBUSxDQUFDO1FBR2hELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLG1CQUFjLEdBQWdELElBQUksWUFBWSxFQUFFLENBQUM7UUFHakYsd0JBQW1CLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHckUsaUJBQVksR0FBK0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5RCxpQkFBWSxHQUErQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzlELGtCQUFhLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7SUErSjFFLENBQUM7SUFyTUcsc0JBQVcsbUNBQVE7YUFBbkI7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzthQUNELFVBQW9CLEtBQXFCO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUNkO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25CO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQzs7O09BVEE7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LFlBQUE7UUFDVixPQUFPLFNBQUE7UUFDUCxRQUFRLFVBQUE7UUFDUixTQUFTLEVBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQztRQUNuRCxJQUFJLFFBQVE7WUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLEtBQUs7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixvQkFBb0IsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFDLENBQUM7S0FDSixDQUFDO0lBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1FBQ3ZDLFVBQVUsRUFBRSxLQUFLO0tBQ3BCLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBeUIsQ0FBQztBQUNyQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgSW50ZXJuYWxUcmVlTm9kZUl0ZW0sIFRyZWVOb2RlRWRpdCwgVHJlZU5vZGVJdGVtIH0gZnJvbSBcIi4vTW9kZWxzL3RyZWUubW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtdHJlZVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdHJlZS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90cmVlLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmVlRGF0YTogVHJlZU5vZGVJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBUcmVlTm9kZUl0ZW1bXSA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBUcmVlTm9kZUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogVHJlZU5vZGVJdGVtW10pIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFt2YWx1ZV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb25Nb2RlOiBcInNpbmdsZVwiIHwgXCJtdWx0aXBsZVwiID0gXCJzaW5nbGVcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dDaGVja2JveCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsRXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPFRyZWVOb2RlSXRlbVtdIHwgVHJlZU5vZGVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0cmVlTm9kZUl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8VHJlZU5vZGVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0cmVlTm9kZUVkaXQ6IEV2ZW50RW1pdHRlcjxUcmVlTm9kZUVkaXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG5vZGVFeHBhbmRlZDogRXZlbnRFbWl0dGVyPFRyZWVOb2RlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgbm9kZUNvbGxhcHNlZDogRXZlbnRFbWl0dGVyPFRyZWVOb2RlSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UcmVlTm9kZUl0ZW1DbGlja2VkKHsgaXRlbSB9OiB7IGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtIH0pIHtcbiAgICAgICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQocGFyc2VJbnRlcm5hbFRyZWVOb2RlSXRlbShpdGVtKSk7XG4gICAgICAgIHRoaXMudG9nZ2xlQ2hlY2tlZChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UcmVlTm9kZUVkaXQocGF5bG9hZDogVHJlZU5vZGVFZGl0KSB7XG4gICAgICAgIGNvbnN0IHsgcmV2ZXJ0QWN0aW9uLCBpdGVtLCBuZXdWYWx1ZSwgcHJldmlvdXNWYWx1ZSB9ID0gcGF5bG9hZDtcbiAgICAgICAgdGhpcy50cmVlTm9kZUVkaXQuZW1pdCh7XG4gICAgICAgICAgICByZXZlcnRBY3Rpb24sXG4gICAgICAgICAgICBpdGVtOiBwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKGl0ZW0pLFxuICAgICAgICAgICAgbmV3VmFsdWUsXG4gICAgICAgICAgICBwcmV2aW91c1ZhbHVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ob2RlRXhwYW5kZWQoaXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pIHtcbiAgICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdChwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ob2RlQ29sbGFwc2VkKGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtKSB7XG4gICAgICAgIHRoaXMubm9kZUNvbGxhcHNlZC5lbWl0KHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0oaXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9nZ2xlQ2hlY2tlZCh0cmVlTm9kZUl0ZW06IFRyZWVOb2RlSXRlbSkge1xuICAgICAgICBjb25zdCBlbGVtZW50Q2hlY2tTdGF0ZSA9ICF0cmVlTm9kZUl0ZW0uY2hlY2tlZDtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKS5mb3JFYWNoKCh4KSA9PiAoeC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbdHJlZU5vZGVJdGVtXTtcbiAgICAgICAgfVxuICAgICAgICB0cmVlTm9kZUl0ZW0uY2hlY2tlZCA9IGVsZW1lbnRDaGVja1N0YXRlO1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1RyZWVEYXRhQ2hpbGRyZW4odHJlZU5vZGVJdGVtKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1RyZWVEYXRhQ2hpbGRyZW4oc2VsZWN0ZWRUcmVlTm9kZTogVHJlZU5vZGVJdGVtKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudENoZWNrZWQgPSBzZWxlY3RlZFRyZWVOb2RlLmNoZWNrZWQ7XG4gICAgICAgIGlmIChzZWxlY3RlZFRyZWVOb2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBzZWxlY3RlZFRyZWVOb2RlLmNoaWxkcmVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbnMgPSBmbGF0dGVuVHJlZShpdGVtLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICAgICAgICBpdGVtLmNoZWNrZWQgPSBwYXJlbnRDaGVja2VkO1xuICAgICAgICAgICAgICAgIGNoaWxkcmVucy5mb3JFYWNoKChjaGlsZCkgPT4gKGNoaWxkLmNoZWNrZWQgPSBwYXJlbnRDaGVja2VkKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdldE5vZGVDaGlsZHJlblN1bW1hcnkgPSAobm9kZTogVHJlZU5vZGVJdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbGxDaGlsZHJlbkNoZWNrZWQgPSBub2RlLmNoaWxkcmVuLmV2ZXJ5KCh5KSA9PiB5LmNoZWNrZWQgPT09IHRydWUpO1xuICAgICAgICAgICAgY29uc3Qgc29tZUNoaWxkcmVuQ2hlY2tlZCA9IG5vZGUuY2hpbGRyZW4uc29tZSgoeSkgPT4geS5jaGVja2VkID09PSB0cnVlIHx8IHkuY2hlY2tlZCA9PT0gbnVsbCk7XG4gICAgICAgICAgICBjb25zdCBhbGxDaGlsZHJlblVuY2hlY2tlZCA9IG5vZGUuY2hpbGRyZW4uZXZlcnkoKHkpID0+IHkuY2hlY2tlZCA9PT0gZmFsc2UgfHwgeS5jaGVja2VkID09PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgYWxsQ2hpbGRyZW5DaGVja2VkLCBzb21lQ2hpbGRyZW5DaGVja2VkLCBhbGxDaGlsZHJlblVuY2hlY2tlZCB9O1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1cGRhdGVDaGVja2VkU3RhdGVSZWN1cnNpdmVseSA9IChub2RlOiBUcmVlTm9kZUl0ZW0pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICghbm9kZS5jaGlsZHJlbj8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCh1cGRhdGVDaGVja2VkU3RhdGVSZWN1cnNpdmVseSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgYWxsQ2hpbGRyZW5DaGVja2VkLCBzb21lQ2hpbGRyZW5DaGVja2VkLCBhbGxDaGlsZHJlblVuY2hlY2tlZCB9ID0gZ2V0Tm9kZUNoaWxkcmVuU3VtbWFyeShub2RlKTtcbiAgICAgICAgICAgIGlmIChhbGxDaGlsZHJlbkNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICBub2RlLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzb21lQ2hpbGRyZW5DaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGVja2VkID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYWxsQ2hpbGRyZW5VbmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICBub2RlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy50cmVlRGF0YS5mb3JFYWNoKHVwZGF0ZUNoZWNrZWRTdGF0ZVJlY3Vyc2l2ZWx5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlbGVjdGVkKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRFbGVtZW50cztcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFsuLi5zZWxlY3RlZF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBhbGxFeHBhbmRlZENoYW5nZXMgPSBjaGFuZ2VzLmFsbEV4cGFuZGVkO1xuICAgICAgICBjb25zdCBfY2hlY2tJc0ZpcnN0Q2hhbmdlV2l0aFZhbHVlID0gKHZhbHVlOiBFeHRyYWN0PGtleW9mIFRyZWVDb21wb25lbnQsICdzZWxlY3RlZCcgfCAndHJlZURhdGEnPikgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaGFuZ2VzW3ZhbHVlXSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoIWNoYW5nZXNbdmFsdWVdLnByZXZpb3VzVmFsdWUgfHwgY2hhbmdlc1t2YWx1ZV0ucHJldmlvdXNWYWx1ZS5sZW5ndGggPT09IDApICYmIGNoYW5nZXNbdmFsdWVdLmN1cnJlbnRWYWx1ZT8ubGVuZ3RoID4gMFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9jaGVja0lzRmlyc3RDaGFuZ2VXaXRoVmFsdWUoJ3NlbGVjdGVkJykpIHtcbiAgICAgICAgICAgIHRoaXMuc3luY1NlbGVjdGVkQ2hhbmdlcygpO1xuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX2NoZWNrSXNGaXJzdENoYW5nZVdpdGhWYWx1ZSgndHJlZURhdGEnKSkge1xuICAgICAgICAgICAgY29uc3QgaXNBbGxFeHBhbmRlZCA9IHRoaXMuYWxsRXhwYW5kZWQ7XG4gICAgICAgICAgICBpZiAoaXNBbGxFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWxsRXhwYW5kZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hbGxFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQWxsKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VBbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3luY1NlbGVjdGVkQ2hhbmdlcygpIHtcbiAgICAgICAgY29uc3QgdHJlZUZsYXR0ZW4gPSBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5mb3JFYWNoKChzZWxlY3RlZEl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0cmVlRmxhdHRlbi5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBzZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0Q2hpbGRJblNlbGVjdGVkTGlzdCA9IHRoaXMuc2VsZWN0ZWQuc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gY2hpbGQuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWV4aXN0Q2hpbGRJblNlbGVjdGVkTGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IHRoaXMuc2VsZWN0ZWRFbGVtZW50cztcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50c05vdEluU2VsZWN0ZWRMaXN0ID0gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIoKHgpID0+ICF0aGlzLnNlbGVjdGVkLnNvbWUoKHkpID0+IHkuaWQgPT09IHguaWQpKTtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50c05vdEluU2VsZWN0ZWRMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tUcmVlRGF0YUNoaWxkcmVuKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29sbGFwc2VBbGwoKSB7XG4gICAgICAgIGNvbnN0IGZsYXR0ZW4gPSBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKTtcbiAgICAgICAgZmxhdHRlbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBhbmRBbGwoKSB7XG4gICAgICAgIGNvbnN0IGZsYXR0ZW4gPSBmbGF0dGVuVHJlZSh0aGlzLnRyZWVEYXRhKTtcbiAgICAgICAgZmxhdHRlbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBzZWxlY3RlZEVsZW1lbnRzKCkge1xuICAgICAgICByZXR1cm4gZmxhdHRlblRyZWUodGhpcy50cmVlRGF0YSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHguY2hlY2tlZClcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHgubGVhZiAhPT0gdHJ1ZSAmJiAheC5jaGlsZHJlbj8ubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtdWx0aXBsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gXCJtdWx0aXBsZVwiO1xuICAgIH1cbn1cblxuY29uc3QgZmxhdHRlblRyZWUgPSA8VCA9IGFueT4odHJlZTogVHJlZU5vZGVJdGVtPFQ+W10pOiBUcmVlTm9kZUl0ZW08VD5bXSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBUcmVlTm9kZUl0ZW08VD5bXSA9IFtdO1xuXG4gICAgZnVuY3Rpb24gdHJhdmVyc2Uobm9kZXM6IFRyZWVOb2RlSXRlbTxUPltdKSB7XG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICAgICAgICBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJhdmVyc2UodHJlZSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHBhcnNlSW50ZXJuYWxUcmVlTm9kZUl0ZW0gPSA8VCA9IGFueT4oaW50ZXJuYWxUcmVlTm9kZUl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtPFQ+KTogVHJlZU5vZGVJdGVtPFQ+ID0+IHtcbiAgICBjb25zdCB7IGlkLCBsYWJlbCwgaWNvbiwgY2hlY2tlZCwgaXNFeHBhbmRlZCwgcGF5bG9hZCwgZWRpdGFibGUsIGNoaWxkcmVuIH0gPSBpbnRlcm5hbFRyZWVOb2RlSXRlbTtcbiAgICBjb25zdCBvYmplY3QgPSB7XG4gICAgICAgIGlkLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaWNvbixcbiAgICAgICAgY2hlY2tlZCxcbiAgICAgICAgaXNFeHBhbmRlZCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZWRpdGFibGUsXG4gICAgICAgIF9jaGlsZHJlbjogY2hpbGRyZW4/Lm1hcChwYXJzZUludGVybmFsVHJlZU5vZGVJdGVtKSxcbiAgICAgICAgZ2V0IGNoaWxkcmVuKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICAgICAgICB9LFxuICAgICAgICBzZXQgY2hpbGRyZW4odmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuID0gdmFsdWU7XG4gICAgICAgICAgICBpbnRlcm5hbFRyZWVOb2RlSXRlbS5jaGlsZHJlbiA9IHZhbHVlO1xuICAgICAgICB9LFxuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgXCJfY2hpbGRyZW5cIiwge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gb2JqZWN0IGFzIFRyZWVOb2RlSXRlbTxUPjtcbn07XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { __decorate } from "tslib";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NgModule } from "@angular/core";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { TranslateModule } from "@ngx-translate/core";
6
+ import { InputTextModule } from "primeng/inputtext";
7
+ import { LoadingStateModule } from "../loading-state";
8
+ import { TreeNodeItemComponent } from "./components/tree-node-item/tree-node-item.component";
9
+ import { TreeComponent } from "./tree.component";
10
+ var TreeModule = /** @class */ (function () {
11
+ function TreeModule() {
12
+ }
13
+ TreeModule = __decorate([
14
+ NgModule({
15
+ declarations: [TreeNodeItemComponent, TreeComponent],
16
+ imports: [CommonModule, FormsModule, InputTextModule, LoadingStateModule, TranslateModule],
17
+ exports: [TreeComponent],
18
+ })
19
+ ], TreeModule);
20
+ return TreeModule;
21
+ }());
22
+ export { TreeModule };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmVlL3RyZWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFPakQ7SUFBQTtJQUF5QixDQUFDO0lBQWIsVUFBVTtRQUx0QixRQUFRLENBQUM7WUFDTixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUM7WUFDcEQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO1lBQzFGLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUMzQixDQUFDO09BQ1csVUFBVSxDQUFHO0lBQUQsaUJBQUM7Q0FBQSxBQUExQixJQUEwQjtTQUFiLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5cbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9sb2FkaW5nLXN0YXRlXCI7XG5pbXBvcnQgeyBUcmVlTm9kZUl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3RyZWUtbm9kZS1pdGVtL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gXCIuL3RyZWUuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVHJlZU5vZGVJdGVtQ29tcG9uZW50LCBUcmVlQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgZXhwb3J0czogW1RyZWVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTW9kdWxlIHt9XG4iXX0=