gamma-app-controller 1.1.24 → 1.1.26

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 (49) hide show
  1. package/esm2020/lib/template-module/KpiCreationModule/create-kpi-tree.component.mjs +381 -0
  2. package/esm2020/lib/template-module/KpiCreationModule/createKpi.service.mjs +90 -0
  3. package/esm2020/lib/template-module/KpiCreationModule/kpiCreation.module.mjs +184 -0
  4. package/esm2020/lib/template-module/KpiCreationModule/treeview/animation.mjs +15 -0
  5. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/defaults.mjs +12 -0
  6. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/expand-collapse.mjs +16 -0
  7. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/fade.mjs +160 -0
  8. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/shake.mjs +58 -0
  9. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/slide.mjs +116 -0
  10. package/esm2020/lib/template-module/KpiCreationModule/treeview/animations/zoom.mjs +36 -0
  11. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/aside/aside.component.mjs +85 -0
  12. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/basic/basic.component.mjs +118 -0
  13. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/collapsable/collapsable.component.mjs +159 -0
  14. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/divider/divider.component.mjs +27 -0
  15. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/group/group.component.mjs +37 -0
  16. package/esm2020/lib/template-module/KpiCreationModule/treeview/components/spacer/spacer.component.mjs +27 -0
  17. package/esm2020/lib/template-module/KpiCreationModule/treeview/moment-helper.mjs +4 -0
  18. package/esm2020/lib/template-module/KpiCreationModule/treeview/treeview-navigation.service.mjs +2 -0
  19. package/esm2020/lib/template-module/KpiCreationModule/treeview/treeview-shared.service.mjs +16 -0
  20. package/esm2020/lib/template-module/KpiCreationModule/treeview/treeview.component.mjs +134 -0
  21. package/esm2020/lib/template-module/cdrConfigModule/cdr-browser.service.mjs +4 -3
  22. package/esm2020/lib/template-module/exceptionConfigModule/exception-service.mjs +4 -3
  23. package/esm2020/public-api.mjs +10 -1
  24. package/fesm2015/gamma-app-controller.mjs +1735 -180
  25. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  26. package/fesm2020/gamma-app-controller.mjs +1733 -180
  27. package/fesm2020/gamma-app-controller.mjs.map +1 -1
  28. package/lib/template-module/KpiCreationModule/create-kpi-tree.component.d.ts +75 -0
  29. package/lib/template-module/KpiCreationModule/createKpi.service.d.ts +32 -0
  30. package/lib/template-module/KpiCreationModule/kpiCreation.module.d.ts +23 -0
  31. package/lib/template-module/KpiCreationModule/treeview/animation.d.ts +1 -0
  32. package/lib/template-module/KpiCreationModule/treeview/animations/defaults.d.ts +11 -0
  33. package/lib/template-module/KpiCreationModule/treeview/animations/expand-collapse.d.ts +2 -0
  34. package/lib/template-module/KpiCreationModule/treeview/animations/fade.d.ts +11 -0
  35. package/lib/template-module/KpiCreationModule/treeview/animations/shake.d.ts +2 -0
  36. package/lib/template-module/KpiCreationModule/treeview/animations/slide.d.ts +9 -0
  37. package/lib/template-module/KpiCreationModule/treeview/animations/zoom.d.ts +3 -0
  38. package/lib/template-module/KpiCreationModule/treeview/components/aside/aside.component.d.ts +26 -0
  39. package/lib/template-module/KpiCreationModule/treeview/components/basic/basic.component.d.ts +29 -0
  40. package/lib/template-module/KpiCreationModule/treeview/components/collapsable/collapsable.component.d.ts +37 -0
  41. package/lib/template-module/KpiCreationModule/treeview/components/divider/divider.component.d.ts +13 -0
  42. package/lib/template-module/KpiCreationModule/treeview/components/group/group.component.d.ts +17 -0
  43. package/lib/template-module/KpiCreationModule/treeview/components/spacer/spacer.component.d.ts +13 -0
  44. package/lib/template-module/KpiCreationModule/treeview/moment-helper.d.ts +3 -0
  45. package/lib/template-module/KpiCreationModule/treeview/treeview-navigation.service.d.ts +39 -0
  46. package/lib/template-module/KpiCreationModule/treeview/treeview-shared.service.d.ts +8 -0
  47. package/lib/template-module/KpiCreationModule/treeview/treeview.component.d.ts +52 -0
  48. package/package.json +1 -1
  49. package/public-api.d.ts +9 -0
@@ -0,0 +1,159 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { gammaAnimations } from '../../animation';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../../treeview-shared.service";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/material/icon";
9
+ import * as i5 from "@angular/material/tooltip";
10
+ import * as i6 from "../basic/basic.component";
11
+ import * as i7 from "../divider/divider.component";
12
+ export class TreeViewCollapsableItemComponent {
13
+ constructor(_changeDetectorRef, _router, _treeviewService) {
14
+ this._changeDetectorRef = _changeDetectorRef;
15
+ this._router = _router;
16
+ this._treeviewService = _treeviewService;
17
+ this.isEditIcon = false;
18
+ this.isCollapsed = true;
19
+ this.editableKpiData = new EventEmitter();
20
+ this.isExpanded = false;
21
+ this._unsubscribeAll = new Subject();
22
+ }
23
+ get classList() {
24
+ return {
25
+ 'treeview-item-collapsed': this.isCollapsed,
26
+ 'treeview-item-expanded': this.isExpanded
27
+ };
28
+ }
29
+ ngOnInit() {
30
+ const activeItem = this.findActiveChild(this.item, this.treeId);
31
+ if (this.treeId == undefined || this.treeId == null) {
32
+ if (this.autoCollapse) {
33
+ this.collapse();
34
+ }
35
+ }
36
+ else {
37
+ if (activeItem) {
38
+ this.expand();
39
+ }
40
+ }
41
+ }
42
+ ngOnDestroy() {
43
+ this._unsubscribeAll.next(null);
44
+ this._unsubscribeAll.complete();
45
+ }
46
+ collapse() {
47
+ if (this.item.disabled) {
48
+ return;
49
+ }
50
+ if (this.isCollapsed) {
51
+ return;
52
+ }
53
+ this.isCollapsed = true;
54
+ this.isExpanded = !this.isCollapsed;
55
+ this._changeDetectorRef.markForCheck();
56
+ this._treeviewService.onCollapsableItemCollapsed.next(this.item);
57
+ }
58
+ expand() {
59
+ if (this.item.disabled) {
60
+ return;
61
+ }
62
+ if (!this.isCollapsed) {
63
+ return;
64
+ }
65
+ this.isCollapsed = false;
66
+ this.isExpanded = !this.isCollapsed;
67
+ this._changeDetectorRef.markForCheck();
68
+ this._treeviewService.onCollapsableItemExpanded.next(this.item);
69
+ }
70
+ toggleCollapsable() {
71
+ if (this.isCollapsed) {
72
+ this.expand();
73
+ }
74
+ else {
75
+ this.collapse();
76
+ }
77
+ }
78
+ trackByFn(index, item) {
79
+ return item.id || index;
80
+ }
81
+ _hasActiveChild(item, currentUrl) {
82
+ const children = item.nodes;
83
+ if (!children) {
84
+ return false;
85
+ }
86
+ for (const child of children) {
87
+ if (child.tid === currentUrl) {
88
+ return true;
89
+ }
90
+ if (child.nodes.length > 0) {
91
+ this._hasActiveChild(child, currentUrl);
92
+ }
93
+ }
94
+ }
95
+ findActiveChild(item, treeId) {
96
+ if (item.tid === treeId) {
97
+ return item;
98
+ }
99
+ if (item.nodes && item.nodes.length > 0) {
100
+ for (let i = 0; i < item.nodes.length; i++) {
101
+ let result = this.findActiveChild(item.nodes[i], treeId);
102
+ if (result) {
103
+ return result;
104
+ }
105
+ }
106
+ }
107
+ return null;
108
+ }
109
+ _isChildrenOf(parent, item) {
110
+ const children = parent.nodes;
111
+ if (!children) {
112
+ return false;
113
+ }
114
+ if (children.indexOf(item) > -1) {
115
+ return true;
116
+ }
117
+ for (const child of children) {
118
+ if (child.children) {
119
+ if (this._isChildrenOf(child, item)) {
120
+ return true;
121
+ }
122
+ }
123
+ }
124
+ return false;
125
+ }
126
+ getKpiEditKpiData(item) {
127
+ this.editableKpiData.emit(item);
128
+ }
129
+ getEditTreeData(item) {
130
+ this.editableKpiData.emit(item);
131
+ }
132
+ getKpiEditKpiBasicData(item) {
133
+ this.editableKpiData.emit(item);
134
+ }
135
+ }
136
+ TreeViewCollapsableItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewCollapsableItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i2.TreeviewSharedService }], target: i0.ɵɵFactoryTarget.Component });
137
+ TreeViewCollapsableItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewCollapsableItemComponent, selector: "treeview-collapsable-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name", treeId: "treeId", internalRoute: "internalRoute", isEditIcon: "isEditIcon" }, outputs: { editableKpiData: "editableKpiData" }, host: { properties: { "class": "this.classList" } }, ngImport: i0, template: "<div class=\"treeview-item-wrapper\" [class.treeview-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\" *ngIf=\"item.isVisible\">\n\n <div class=\"treeview-item\" id=\"kpiId-{{item.tid}}\" [ngClass]=\"{'treeview-item-disabled': item.disabled}\"\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable()\">\n\n <!-- Icon -->\n <ng-container *ngIf=\"item.icon\">\n <mat-icon class=\"treeview-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\"></mat-icon>\n </ng-container>\n\n <!-- Title & Subtitle -->\n <div class=\"treeview-item-title-wrapper\">\n <div class=\"treeview-item-title\">\n <span [ngClass]=\"item.classes?.name\">\n <i class=\"fa fa-pencil text-sky-800 mx-2 hover:text-sky-400 cursor-pointer\"\n (click)=\"getEditTreeData(item)\" *ngIf=\"isEditIcon\"></i> {{item.name}}\n </span>\n </div>\n <ng-container *ngIf=\"item.subtitle\">\n <div class=\"treeview-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subtitle}}\n </span>\n </div>\n </ng-container>\n </div>\n\n <!-- Badge -->\n <ng-container *ngIf=\"item.badge\">\n <div class=\"treeview-item-badge\">\n <div class=\"treeview-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.name}}\n </div>\n </div>\n </ng-container>\n\n <!-- Arrow -->\n <mat-icon class=\"treeview-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_solid:chevron-right'\"></mat-icon>\n\n </div>\n\n</div>\n\n<div class=\"treeview-item-children\" *ngIf=\"!isCollapsed\" @expandCollapse>\n\n <ng-container *ngFor=\"let item of item.nodes; trackBy: trackByFn\">\n\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n\n <!-- Basic -->\n <ng-container *ngIf=\"item.tag_type === 'child'\">\n <treeview-basic-item [item]=\"item\" [name]=\"name\" [isEditIcon]=\"isEditIcon\"\n (editableKpiBasicData)=\"getKpiEditKpiBasicData($event)\"\n [internalRoute]=\"internalRoute\"></treeview-basic-item>\n </ng-container>\n\n <!-- Collapsable -->\n <ng-container *ngIf=\"item.tag_type === 'parent'\">\n <treeview-collapsable-item [item]=\"item\" [name]=\"name\" [isEditIcon]=\"isEditIcon\"\n (editableKpiData)=\"getKpiEditKpiData($event)\" [internalRoute]=\"internalRoute\"\n [autoCollapse]=\"autoCollapse\" [treeId]=\"treeId\">\n </treeview-collapsable-item>\n </ng-container>\n\n <!-- Divider -->\n <ng-container *ngIf=\"item.tag_type === 'divider'\">\n <treeview-divider-item [item]=\"item\" [name]=\"name\"></treeview-divider-item>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</div>", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.TreeViewBasicItemComponent, selector: "treeview-basic-item", inputs: ["item", "name", "internalRoute", "isEditIcon", "treeId"], outputs: ["editableKpiBasicData"] }, { kind: "component", type: TreeViewCollapsableItemComponent, selector: "treeview-collapsable-item", inputs: ["autoCollapse", "item", "name", "treeId", "internalRoute", "isEditIcon"], outputs: ["editableKpiData"] }, { kind: "component", type: i7.TreeViewDividerItemComponent, selector: "treeview-divider-item", inputs: ["item", "name"] }], animations: gammaAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewCollapsableItemComponent, decorators: [{
139
+ type: Component,
140
+ args: [{ selector: 'treeview-collapsable-item', animations: gammaAnimations, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"treeview-item-wrapper\" [class.treeview-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\" *ngIf=\"item.isVisible\">\n\n <div class=\"treeview-item\" id=\"kpiId-{{item.tid}}\" [ngClass]=\"{'treeview-item-disabled': item.disabled}\"\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable()\">\n\n <!-- Icon -->\n <ng-container *ngIf=\"item.icon\">\n <mat-icon class=\"treeview-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\"></mat-icon>\n </ng-container>\n\n <!-- Title & Subtitle -->\n <div class=\"treeview-item-title-wrapper\">\n <div class=\"treeview-item-title\">\n <span [ngClass]=\"item.classes?.name\">\n <i class=\"fa fa-pencil text-sky-800 mx-2 hover:text-sky-400 cursor-pointer\"\n (click)=\"getEditTreeData(item)\" *ngIf=\"isEditIcon\"></i> {{item.name}}\n </span>\n </div>\n <ng-container *ngIf=\"item.subtitle\">\n <div class=\"treeview-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subtitle}}\n </span>\n </div>\n </ng-container>\n </div>\n\n <!-- Badge -->\n <ng-container *ngIf=\"item.badge\">\n <div class=\"treeview-item-badge\">\n <div class=\"treeview-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.name}}\n </div>\n </div>\n </ng-container>\n\n <!-- Arrow -->\n <mat-icon class=\"treeview-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_solid:chevron-right'\"></mat-icon>\n\n </div>\n\n</div>\n\n<div class=\"treeview-item-children\" *ngIf=\"!isCollapsed\" @expandCollapse>\n\n <ng-container *ngFor=\"let item of item.nodes; trackBy: trackByFn\">\n\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n\n <!-- Basic -->\n <ng-container *ngIf=\"item.tag_type === 'child'\">\n <treeview-basic-item [item]=\"item\" [name]=\"name\" [isEditIcon]=\"isEditIcon\"\n (editableKpiBasicData)=\"getKpiEditKpiBasicData($event)\"\n [internalRoute]=\"internalRoute\"></treeview-basic-item>\n </ng-container>\n\n <!-- Collapsable -->\n <ng-container *ngIf=\"item.tag_type === 'parent'\">\n <treeview-collapsable-item [item]=\"item\" [name]=\"name\" [isEditIcon]=\"isEditIcon\"\n (editableKpiData)=\"getKpiEditKpiData($event)\" [internalRoute]=\"internalRoute\"\n [autoCollapse]=\"autoCollapse\" [treeId]=\"treeId\">\n </treeview-collapsable-item>\n </ng-container>\n\n <!-- Divider -->\n <ng-container *ngIf=\"item.tag_type === 'divider'\">\n <treeview-divider-item [item]=\"item\" [name]=\"name\"></treeview-divider-item>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</div>" }]
141
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i2.TreeviewSharedService }]; }, propDecorators: { autoCollapse: [{
142
+ type: Input
143
+ }], item: [{
144
+ type: Input
145
+ }], name: [{
146
+ type: Input
147
+ }], treeId: [{
148
+ type: Input
149
+ }], internalRoute: [{
150
+ type: Input
151
+ }], isEditIcon: [{
152
+ type: Input
153
+ }], editableKpiData: [{
154
+ type: Output
155
+ }], classList: [{
156
+ type: HostBinding,
157
+ args: ['class']
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2FibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi90ZW1wbGF0ZS1tb2R1bGUvS3BpQ3JlYXRpb25Nb2R1bGUvdHJlZXZpZXcvY29tcG9uZW50cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy9jb21wb25lbnRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkosT0FBTyxFQUFVLE9BQU8sRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVNsRCxNQUFNLE9BQU8sZ0NBQWdDO0lBd0J6QyxZQUNZLGtCQUFxQyxFQUNyQyxPQUFlLEVBQ2YsZ0JBQXVDO1FBRnZDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7UUFqQjFDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFckMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFWCxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3pFLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFcEIsb0JBQWUsR0FBaUIsSUFBSSxPQUFP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SUFDcEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFJO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OzZIQWhQUSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyx5VENkN0MscXBHQTJFTSxteUJEN0RPLGdDQUFnQyxvU0FIN0IsZUFBZTsyRkFHbEIsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNJLDJCQUEyQixjQUV6QixlQUFlLG1CQUNWLHVCQUF1QixDQUFDLE1BQU07aUtBT3RDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlXLGVBQWU7c0JBQS9CLE1BQU07Z0JBcUJtQixTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbi8vIGltcG9ydCB7IFRyZWV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdHJlZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IGdhbW1hQW5pbWF0aW9ucyB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XG5pbXBvcnQgeyBUcmVldmlld1NoYXJlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmVldmlldy1zaGFyZWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHJlZXZpZXctY29sbGFwc2FibGUtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBnYW1tYUFuaW1hdGlvbnMsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVZpZXdDb2xsYXBzYWJsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2F1dG9Db2xsYXBzZTogQm9vbGVhbklucHV0O1xuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5cbiAgICBASW5wdXQoKSBhdXRvQ29sbGFwc2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXRlbTogYW55O1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSB0cmVlSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbnRlcm5hbFJvdXRlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNFZGl0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBlZGl0YWJsZUtwaURhdGE6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cbiAgICBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLy8gcHVibGljIF90cmVldmlld0NvbXBvbmVudDogVHJlZXZpZXdDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX3RyZWV2aWV3U2VydmljZTogVHJlZXZpZXdTaGFyZWRTZXJ2aWNlXG4gICAgICAgIC8vIHByaXZhdGUgX2Z1c2VOYXZpZ2F0aW9uU2VydmljZTogRnVzZU5hdmlnYXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBIb3N0IGJpbmRpbmcgZm9yIGNvbXBvbmVudCBjbGFzc2VzXG4gICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzTGlzdCgpOiBhbnkge1xuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICd0cmVldmlldy1pdGVtLWNvbGxhcHNlZCc6IHRoaXMuaXNDb2xsYXBzZWQsXG4gICAgICAgICAgICAndHJlZXZpZXctaXRlbS1leHBhbmRlZCc6IHRoaXMuaXNFeHBhbmRlZFxuICAgICAgICB9O1xuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBHZXQgdGhlIHBhcmVudCBuYXZpZ2F0aW9uIGNvbXBvbmVudFxuICAgICAgICAvLyB0aGlzLl90cmVldmlld0NvbXBvbmVudCA9IHRoaXMuX2Z1c2VOYXZpZ2F0aW9uU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5uYW1lKTtcblxuICAgICAgICAvLyBJZiB0aGUgaXRlbSBoYXMgYSBjaGlsZHJlbiB0aGF0IGhhcyBhIG1hdGNoaW5nIHVybCB3aXRoIHRoZSBjdXJyZW50IHVybCwgZXhwYW5kLi4uXG4gICAgICAgIC8vIGlmICh0aGlzLl9oYXNBY3RpdmVDaGlsZCh0aGlzLml0ZW0sIHRoaXMuX3JvdXRlci51cmwpKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmV4cGFuZCgpO1xuICAgICAgICAvLyB9XG5cblxuICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gdGhpcy5maW5kQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCB0aGlzLnRyZWVJZCk7XG4gICAgICAgIGlmICh0aGlzLnRyZWVJZCA9PSB1bmRlZmluZWQgfHwgdGhpcy50cmVlSWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbGxhcHNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQoYWN0aXZlSXRlbSwgdGhpcy50cmVlSWQpKSB7XG5cbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZGVzdHJveVxuICAgICAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIENvbGxhcHNlXG4gICAgICovXG4gICAgY29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgaXRlbSBpcyBkaXNhYmxlZFxuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgYWxyZWFkeSBjb2xsYXBzZWRcbiAgICAgICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbGxhcHNlIGl0XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcblxuICAgICAgICAvLyBNYXJrIGZvciBjaGVja1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBvYnNlcnZhYmxlXG4gICAgICAgIHRoaXMuX3RyZWV2aWV3U2VydmljZS5vbkNvbGxhcHNhYmxlSXRlbUNvbGxhcHNlZC5uZXh0KHRoaXMuaXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhwYW5kXG4gICAgICovXG4gICAgZXhwYW5kKCk6IHZvaWQge1xuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIGlmIHRoZSBpdGVtIGlzIGFscmVhZHkgZXhwYW5kZWRcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgaXRcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcblxuICAgICAgICAvLyBNYXJrIGZvciBjaGVja1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBvYnNlcnZhYmxlXG4gICAgICAgIHRoaXMuX3RyZWV2aWV3U2VydmljZS5vbkNvbGxhcHNhYmxlSXRlbUV4cGFuZGVkLm5leHQodGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgY29sbGFwc2FibGVcbiAgICAgKi9cbiAgICB0b2dnbGVDb2xsYXBzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVG9nZ2xlIGNvbGxhcHNlL2V4cGFuZFxuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmQoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYWNrIGJ5IGZ1bmN0aW9uIGZvciBuZ0ZvciBsb29wc1xuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHBhcmFtIGl0ZW1cbiAgICAgKi9cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgfHwgaW5kZXg7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFByaXZhdGUgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gaXRlbSBoYXMgdGhlIGdpdmVuIHVybFxuICAgICAqIGluIG9uZSBvZiBpdHMgY2hpbGRyZW5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtXG4gICAgICogQHBhcmFtIGN1cnJlbnRVcmxcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2hhc0FjdGl2ZUNoaWxkKGl0ZW06IGFueSwgY3VycmVudFVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gaXRlbS5ub2RlcztcblxuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQudGlkID09PSBjdXJyZW50VXJsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2hpbGQubm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhc0FjdGl2ZUNoaWxkKGNoaWxkLCBjdXJyZW50VXJsKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZEFjdGl2ZUNoaWxkKGl0ZW0sIHRyZWVJZCkge1xuICAgICAgICBpZiAoaXRlbS50aWQgPT09IHRyZWVJZCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbS5ub2RlcyAmJiBpdGVtLm5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbS5ub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmZpbmRBY3RpdmVDaGlsZChpdGVtLm5vZGVzW2ldLCB0cmVlSWQpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhpcyBpcyBhIGNoaWxkcmVuXG4gICAgICogb2YgdGhlIGdpdmVuIGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJlbnRcbiAgICAgKiBAcGFyYW0gaXRlbVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaXNDaGlsZHJlbk9mKHBhcmVudDogYW55LCBpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQubm9kZXM7XG5cbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoaWxkcmVuLmluZGV4T2YoaXRlbSkgPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDaGlsZHJlbk9mKGNoaWxkLCBpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0S3BpRWRpdEtwaURhdGEoaXRlbTogYW55KSB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVLcGlEYXRhLmVtaXQoaXRlbSk7XG4gICAgfVxuICAgIGdldEVkaXRUcmVlRGF0YShpdGVtKSB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVLcGlEYXRhLmVtaXQoaXRlbSk7XG4gICAgfVxuICAgIGdldEtwaUVkaXRLcGlCYXNpY0RhdGEoaXRlbSkge1xuICAgICAgICB0aGlzLmVkaXRhYmxlS3BpRGF0YS5lbWl0KGl0ZW0pO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInRyZWV2aWV3LWl0ZW0td3JhcHBlclwiIFtjbGFzcy50cmVldmlldy1pdGVtLWhhcy1zdWJ0aXRsZV09XCIhIWl0ZW0uc3VidGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiICpuZ0lmPVwiaXRlbS5pc1Zpc2libGVcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtXCIgaWQ9XCJrcGlJZC17e2l0ZW0udGlkfX1cIiBbbmdDbGFzc109XCJ7J3RyZWV2aWV3LWl0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkfVwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0udG9vbHRpcCB8fCAnJ1wiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzYWJsZSgpXCI+XG5cbiAgICAgICAgPCEtLSBJY29uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pY29uXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVldmlldy1pdGVtLWljb25cIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/Lmljb25cIiBbc3ZnSWNvbl09XCJpdGVtLmljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFRpdGxlICYgU3VidGl0bGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGVuY2lsIHRleHQtc2t5LTgwMCBteC0yIGhvdmVyOnRleHQtc2t5LTQwMCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0RWRpdFRyZWVEYXRhKGl0ZW0pXCIgKm5nSWY9XCJpc0VkaXRJY29uXCI+PC9pPiB7e2l0ZW0ubmFtZX19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS5zdWJ0aXRsZX19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEJhZGdlIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5iYWRnZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyZWV2aWV3LWl0ZW0tYmFkZ2VcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZXZpZXctaXRlbS1iYWRnZS1jb250ZW50XCIgW25nQ2xhc3NdPVwiaXRlbS5iYWRnZS5jbGFzc2VzXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS5iYWRnZS5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEFycm93IC0tPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmVldmlldy1pdGVtLWFycm93IGljb24tc2l6ZS00XCIgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDpjaGV2cm9uLXJpZ2h0J1wiPjwvbWF0LWljb24+XG5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLWNoaWxkcmVuXCIgKm5nSWY9XCIhaXNDb2xsYXBzZWRcIiBAZXhwYW5kQ29sbGFwc2U+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW0ubm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuXG4gICAgICAgIDwhLS0gU2tpcCB0aGUgaGlkZGVuIGl0ZW1zIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uaGlkZGVuICYmICFpdGVtLmhpZGRlbihpdGVtKSkgfHwgIWl0ZW0uaGlkZGVuXCI+XG5cbiAgICAgICAgICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50YWdfdHlwZSA9PT0gJ2NoaWxkJ1wiPlxuICAgICAgICAgICAgICAgIDx0cmVldmlldy1iYXNpYy1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgW2lzRWRpdEljb25dPVwiaXNFZGl0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIChlZGl0YWJsZUtwaUJhc2ljRGF0YSk9XCJnZXRLcGlFZGl0S3BpQmFzaWNEYXRhKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbaW50ZXJuYWxSb3V0ZV09XCJpbnRlcm5hbFJvdXRlXCI+PC90cmVldmlldy1iYXNpYy1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS0gQ29sbGFwc2FibGUgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50YWdfdHlwZSA9PT0gJ3BhcmVudCdcIj5cbiAgICAgICAgICAgICAgICA8dHJlZXZpZXctY29sbGFwc2FibGUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFtpc0VkaXRJY29uXT1cImlzRWRpdEljb25cIlxuICAgICAgICAgICAgICAgICAgICAoZWRpdGFibGVLcGlEYXRhKT1cImdldEtwaUVkaXRLcGlEYXRhKCRldmVudClcIiBbaW50ZXJuYWxSb3V0ZV09XCJpbnRlcm5hbFJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9Db2xsYXBzZV09XCJhdXRvQ29sbGFwc2VcIiBbdHJlZUlkXT1cInRyZWVJZFwiPlxuICAgICAgICAgICAgICAgIDwvdHJlZXZpZXctY29sbGFwc2FibGUtaXRlbT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8IS0tIERpdmlkZXIgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50YWdfdHlwZSA9PT0gJ2RpdmlkZXInXCI+XG4gICAgICAgICAgICAgICAgPHRyZWV2aWV3LWRpdmlkZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiPjwvdHJlZXZpZXctZGl2aWRlci1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuPC9kaXY+Il19
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class TreeViewDividerItemComponent {
6
+ constructor(_changeDetectorRef) {
7
+ this._changeDetectorRef = _changeDetectorRef;
8
+ this._unsubscribeAll = new Subject();
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ ngOnDestroy() {
13
+ this._unsubscribeAll.next(null);
14
+ this._unsubscribeAll.complete();
15
+ }
16
+ }
17
+ TreeViewDividerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewDividerItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ TreeViewDividerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewDividerItemComponent, selector: "treeview-divider-item", inputs: { item: "item", name: "name" }, ngImport: i0, template: "<!-- Divider -->\n<div class=\"treeview-item-wrapper divider\" [ngClass]=\"item.classes?.wrapper\"></div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewDividerItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'treeview-divider-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Divider -->\n<div class=\"treeview-item-wrapper divider\" [ngClass]=\"item.classes?.wrapper\"></div>" }]
22
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
23
+ type: Input
24
+ }], name: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxNQUFNLENBQUM7OztBQU8xQyxNQUFNLE9BQU8sNEJBQTRCO0lBU3JDLFlBQ1ksa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFOekMsb0JBQWUsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQVEzRCxDQUFDO0lBU0QsUUFBUTtJQUdSLENBQUM7SUFLRCxXQUFXO1FBRVAsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzt5SEFqQ1EsNEJBQTRCOzZHQUE1Qiw0QkFBNEIscUdDUnpDLDJHQUNtRjsyRkRPdEUsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RyZWV2aWV3LWRpdmlkZXItaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpdmlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVWaWV3RGl2aWRlckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaXRlbTogYW55O1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBPbiBpbml0XG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEdldCB0aGUgcGFyZW50IG5hdmlnYXRpb24gY29tcG9uZW50XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBkZXN0cm95XG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8IS0tIERpdmlkZXIgLS0+XG48ZGl2IGNsYXNzPVwidHJlZXZpZXctaXRlbS13cmFwcGVyIGRpdmlkZXJcIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIj48L2Rpdj4iXX0=
@@ -0,0 +1,37 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "../basic/basic.component";
7
+ import * as i4 from "../collapsable/collapsable.component";
8
+ import * as i5 from "../divider/divider.component";
9
+ import * as i6 from "../spacer/spacer.component";
10
+ export class TreeViewGroupItemComponent {
11
+ constructor(_changeDetectorRef) {
12
+ this._changeDetectorRef = _changeDetectorRef;
13
+ this._unsubscribeAll = new Subject();
14
+ }
15
+ ngOnInit() {
16
+ }
17
+ ngOnDestroy() {
18
+ this._unsubscribeAll.next(null);
19
+ this._unsubscribeAll.complete();
20
+ }
21
+ trackByFn(index, item) {
22
+ return item.id || index;
23
+ }
24
+ }
25
+ TreeViewGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ TreeViewGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewGroupItemComponent, selector: "treeview-group-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name" }, ngImport: i0, template: "<!-- Item wrapper -->\n<div class=\"treeview-item-wrapper\" [class.treeview-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\">\n\n <div class=\"treeview-item\">\n\n <!-- Icon -->\n <ng-container *ngIf=\"item.icon\">\n <mat-icon class=\"treeview-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n </ng-container>\n\n <!-- Title & Subtitle -->\n <div class=\"treeview-item-title-wrapper\">\n <div class=\"treeview-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n <ng-container *ngIf=\"item.subtitle\">\n <div class=\"treeview-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subtitle}}\n </span>\n </div>\n </ng-container>\n </div>\n\n <!-- Badge -->\n <ng-container *ngIf=\"item.badge\">\n <div class=\"treeview-item-badge\">\n <div class=\"treeview-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n </ng-container>\n\n </div>\n\n</div>\n\n<ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n\n <!-- Basic -->\n <ng-container *ngIf=\"item.type === 'basic'\">\n <treeview-basic-item [item]=\"item\" [name]=\"name\"></treeview-basic-item>\n </ng-container>\n\n <!-- Collapsable -->\n <ng-container *ngIf=\"item.type === 'collapsable'\">\n <treeview-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\">\n </treeview-collapsable-item>\n </ng-container>\n\n <!-- Divider -->\n <ng-container *ngIf=\"item.type === 'divider'\">\n <treeview-divider-item [item]=\"item\" [name]=\"name\"></treeview-divider-item>\n </ng-container>\n\n <!-- Group -->\n <ng-container *ngIf=\"item.type === 'group'\">\n <treeview-group-item [item]=\"item\" [name]=\"name\"></treeview-group-item>\n </ng-container>\n\n <!-- Spacer -->\n <ng-container *ngIf=\"item.type === 'spacer'\">\n <treeview-spacer-item [item]=\"item\" [name]=\"name\"></treeview-spacer-item>\n </ng-container>\n\n </ng-container>\n\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.TreeViewBasicItemComponent, selector: "treeview-basic-item", inputs: ["item", "name", "internalRoute", "isEditIcon", "treeId"], outputs: ["editableKpiBasicData"] }, { kind: "component", type: i4.TreeViewCollapsableItemComponent, selector: "treeview-collapsable-item", inputs: ["autoCollapse", "item", "name", "treeId", "internalRoute", "isEditIcon"], outputs: ["editableKpiData"] }, { kind: "component", type: i5.TreeViewDividerItemComponent, selector: "treeview-divider-item", inputs: ["item", "name"] }, { kind: "component", type: TreeViewGroupItemComponent, selector: "treeview-group-item", inputs: ["autoCollapse", "item", "name"] }, { kind: "component", type: i6.TreeViewSpacerItemComponent, selector: "treeview-spacer-item", inputs: ["item", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewGroupItemComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'treeview-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Item wrapper -->\n<div class=\"treeview-item-wrapper\" [class.treeview-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\">\n\n <div class=\"treeview-item\">\n\n <!-- Icon -->\n <ng-container *ngIf=\"item.icon\">\n <mat-icon class=\"treeview-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n </ng-container>\n\n <!-- Title & Subtitle -->\n <div class=\"treeview-item-title-wrapper\">\n <div class=\"treeview-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n <ng-container *ngIf=\"item.subtitle\">\n <div class=\"treeview-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subtitle}}\n </span>\n </div>\n </ng-container>\n </div>\n\n <!-- Badge -->\n <ng-container *ngIf=\"item.badge\">\n <div class=\"treeview-item-badge\">\n <div class=\"treeview-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n </ng-container>\n\n </div>\n\n</div>\n\n<ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n\n <!-- Basic -->\n <ng-container *ngIf=\"item.type === 'basic'\">\n <treeview-basic-item [item]=\"item\" [name]=\"name\"></treeview-basic-item>\n </ng-container>\n\n <!-- Collapsable -->\n <ng-container *ngIf=\"item.type === 'collapsable'\">\n <treeview-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\">\n </treeview-collapsable-item>\n </ng-container>\n\n <!-- Divider -->\n <ng-container *ngIf=\"item.type === 'divider'\">\n <treeview-divider-item [item]=\"item\" [name]=\"name\"></treeview-divider-item>\n </ng-container>\n\n <!-- Group -->\n <ng-container *ngIf=\"item.type === 'group'\">\n <treeview-group-item [item]=\"item\" [name]=\"name\"></treeview-group-item>\n </ng-container>\n\n <!-- Spacer -->\n <ng-container *ngIf=\"item.type === 'spacer'\">\n <treeview-spacer-item [item]=\"item\" [name]=\"name\"></treeview-spacer-item>\n </ng-container>\n\n </ng-container>\n\n</ng-container>" }]
30
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { autoCollapse: [{
31
+ type: Input
32
+ }], item: [{
33
+ type: Input
34
+ }], name: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi90ZW1wbGF0ZS1tb2R1bGUvS3BpQ3JlYXRpb25Nb2R1bGUvdHJlZXZpZXcvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy9jb21wb25lbnRzL2dyb3VwL2dyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLE9BQU8sRUFBYSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLDBCQUEwQjtJQWNuQyxZQUNZLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBTnpDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFRM0QsQ0FBQztJQVNELFFBQVE7SUFHUixDQUFDO0lBS0QsV0FBVztRQUVQLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQVlELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDO0lBQzVCLENBQUM7O3VIQXBEUSwwQkFBMEI7MkdBQTFCLDBCQUEwQixpSUNUdkMsd21GQTBFZSx3aENEakVGLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNO3dHQU90QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHJlZXZpZXctZ3JvdXAtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlVmlld0dyb3VwSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYXV0b0NvbGxhcHNlOiBCb29sZWFuSW5wdXQ7XG4gICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuICAgIEBJbnB1dCgpIGF1dG9Db2xsYXBzZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpdGVtOiBhbnk7XG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgTGlmZWN5Y2xlIGhvb2tzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIE9uIGluaXRcbiAgICAgKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGRlc3Ryb3lcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KG51bGwpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBQdWJsaWMgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBUcmFjayBieSBmdW5jdGlvbiBmb3IgbmdGb3IgbG9vcHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmRleFxuICAgICAqIEBwYXJhbSBpdGVtXG4gICAgICovXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkIHx8IGluZGV4O1xuICAgIH1cbn1cbiIsIjwhLS0gSXRlbSB3cmFwcGVyIC0tPlxuPGRpdiBjbGFzcz1cInRyZWV2aWV3LWl0ZW0td3JhcHBlclwiIFtjbGFzcy50cmVldmlldy1pdGVtLWhhcy1zdWJ0aXRsZV09XCIhIWl0ZW0uc3VidGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiPlxuXG4gICAgPGRpdiBjbGFzcz1cInRyZWV2aWV3LWl0ZW1cIj5cblxuICAgICAgICA8IS0tIEljb24gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmljb25cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyZWV2aWV3LWl0ZW0taWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiIFtzdmdJY29uXT1cIml0ZW0uaWNvblwiPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBUaXRsZSAmIFN1YnRpdGxlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZXZpZXctaXRlbS10aXRsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZXZpZXctaXRlbS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8udGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyZWV2aWV3LWl0ZW0tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnN1YnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmJhZGdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZXZpZXctaXRlbS1iYWRnZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLWJhZGdlLWNvbnRlbnRcIiBbbmdDbGFzc109XCJpdGVtLmJhZGdlLmNsYXNzZXNcIj5cbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLmJhZGdlLnRpdGxlfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvZGl2PlxuXG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cblxuICAgIDwhLS0gU2tpcCB0aGUgaGlkZGVuIGl0ZW1zIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaXRlbS5oaWRkZW4gJiYgIWl0ZW0uaGlkZGVuKGl0ZW0pKSB8fCAhaXRlbS5oaWRkZW5cIj5cblxuICAgICAgICA8IS0tIEJhc2ljIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmFzaWMnXCI+XG4gICAgICAgICAgICA8dHJlZXZpZXctYmFzaWMtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiPjwvdHJlZXZpZXctYmFzaWMtaXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDb2xsYXBzYWJsZSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2NvbGxhcHNhYmxlJ1wiPlxuICAgICAgICAgICAgPHRyZWV2aWV3LWNvbGxhcHNhYmxlLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbYXV0b0NvbGxhcHNlXT1cImF1dG9Db2xsYXBzZVwiPlxuICAgICAgICAgICAgPC90cmVldmlldy1jb2xsYXBzYWJsZS1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIERpdmlkZXIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdkaXZpZGVyJ1wiPlxuICAgICAgICAgICAgPHRyZWV2aWV3LWRpdmlkZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiPjwvdHJlZXZpZXctZGl2aWRlci1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEdyb3VwIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnZ3JvdXAnXCI+XG4gICAgICAgICAgICA8dHJlZXZpZXctZ3JvdXAtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiPjwvdHJlZXZpZXctZ3JvdXAtaXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBTcGFjZXIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdzcGFjZXInXCI+XG4gICAgICAgICAgICA8dHJlZXZpZXctc3BhY2VyLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIj48L3RyZWV2aWV3LXNwYWNlci1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class TreeViewSpacerItemComponent {
6
+ constructor(_changeDetectorRef) {
7
+ this._changeDetectorRef = _changeDetectorRef;
8
+ this._unsubscribeAll = new Subject();
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ ngOnDestroy() {
13
+ this._unsubscribeAll.next(null);
14
+ this._unsubscribeAll.complete();
15
+ }
16
+ }
17
+ TreeViewSpacerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewSpacerItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ TreeViewSpacerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeViewSpacerItemComponent, selector: "treeview-spacer-item", inputs: { item: "item", name: "name" }, ngImport: i0, template: "<!-- Spacer -->\n<div class=\"treeview-item-wrapper\" [ngClass]=\"item.classes?.wrapper\"></div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeViewSpacerItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'treeview-spacer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Spacer -->\n<div class=\"treeview-item-wrapper\" [ngClass]=\"item.classes?.wrapper\"></div>" }]
22
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
23
+ type: Input
24
+ }], name: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvdGVtcGxhdGUtbW9kdWxlL0twaUNyZWF0aW9uTW9kdWxlL3RyZWV2aWV3L2NvbXBvbmVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy9jb21wb25lbnRzL3NwYWNlci9zcGFjZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFPMUMsTUFBTSxPQUFPLDJCQUEyQjtJQVNwQyxZQUNZLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBTnpDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFRM0QsQ0FBQztJQVNELFFBQVE7SUFHUixDQUFDO0lBS0QsV0FBVztRQUVQLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7d0hBakNRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG9HQ1J4QyxrR0FDMkU7MkZETzlELDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RyZWV2aWV3LXNwYWNlci1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BhY2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlVmlld1NwYWNlckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaXRlbTogYW55O1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBPbiBpbml0XG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEdldCB0aGUgcGFyZW50IG5hdmlnYXRpb24gY29tcG9uZW50XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBkZXN0cm95XG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8IS0tIFNwYWNlciAtLT5cbjxkaXYgY2xhc3M9XCJ0cmVldmlldy1pdGVtLXdyYXBwZXJcIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIj48L2Rpdj4iXX0=
@@ -0,0 +1,4 @@
1
+ import momentNamespace from 'moment';
2
+ const moment = momentNamespace;
3
+ export default moment;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvdGVtcGxhdGUtbW9kdWxlL0twaUNyZWF0aW9uTW9kdWxlL3RyZWV2aWV3L21vbWVudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxlQUFlLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxHQUEyQixlQUFlLENBQUM7QUFDdkQsZUFBZSxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50TmFtZXNwYWNlIGZyb20gJ21vbWVudCc7XG5jb25zdCBtb21lbnQ6IHR5cGVvZiBtb21lbnROYW1lc3BhY2UgPSBtb21lbnROYW1lc3BhY2U7XG5leHBvcnQgZGVmYXVsdCBtb21lbnQ7XG5cbi8vIGNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xuLy8gZXhwb3J0IGRlZmF1bHQgbW9tZW50O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi90ZW1wbGF0ZS1tb2R1bGUvS3BpQ3JlYXRpb25Nb2R1bGUvdHJlZXZpZXcvdHJlZXZpZXctbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJc0FjdGl2ZU1hdGNoT3B0aW9ucywgUGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlVmlld0l0ZW0ge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIHR5cGU6XG4gICAgfCAnYXNpZGUnXG4gICAgfCAnYmFzaWMnXG4gICAgfCAnY29sbGFwc2FibGUnXG4gICAgfCAnZGl2aWRlcidcbiAgICB8ICdncm91cCdcbiAgICB8ICdzcGFjZXInO1xuICAgIGhpZGRlbj86IChpdGVtOiBUcmVlVmlld0l0ZW0pID0+IGJvb2xlYW47XG4gICAgYWN0aXZlPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICBsaW5rPzogc3RyaW5nO1xuICAgIGZyYWdtZW50Pzogc3RyaW5nO1xuICAgIHByZXNlcnZlRnJhZ21lbnQ/OiBib29sZWFuO1xuICAgIHF1ZXJ5UGFyYW1zPzogUGFyYW1zIHwgbnVsbDtcbiAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB8IG51bGw7XG4gICAgZXh0ZXJuYWxMaW5rPzogYm9vbGVhbjtcbiAgICB0YXJnZXQ/OlxuICAgIHwgJ19ibGFuaydcbiAgICB8ICdfc2VsZidcbiAgICB8ICdfcGFyZW50J1xuICAgIHwgJ190b3AnXG4gICAgfCBzdHJpbmc7XG4gICAgZXhhY3RNYXRjaD86IGJvb2xlYW47XG4gICAgaXNBY3RpdmVNYXRjaE9wdGlvbnM/OiBJc0FjdGl2ZU1hdGNoT3B0aW9ucztcbiAgICBmdW5jdGlvbj86IChpdGVtOiBUcmVlVmlld0l0ZW0pID0+IHZvaWQ7XG4gICAgY2xhc3Nlcz86IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgICAgICBpY29uPzogc3RyaW5nO1xuICAgICAgICB3cmFwcGVyPzogc3RyaW5nO1xuICAgIH07XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBiYWRnZT86IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIGNsYXNzZXM/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBjaGlsZHJlbj86IFRyZWVWaWV3SXRlbVtdO1xuICAgIG1ldGE/OiBhbnk7XG4gICAgY2xhc3M/OiBhbnk7XG4gICAgdXJsPzogYW55O1xuXG59XG5cbmV4cG9ydCB0eXBlIFRyZWVWaWV3SXRlbUFwcGVhcmFuY2UgPVxuICAgIHwgJ2RlZmF1bHQnXG4gICAgfCAnY29tcGFjdCdcbiAgICB8ICdkZW5zZSdcbiAgICB8ICd0aGluJztcblxuZXhwb3J0IHR5cGUgVHJlZVZpZXdJdGVtTW9kZSA9XG4gICAgfCAnb3ZlcidcbiAgICB8ICdzaWRlJztcblxuZXhwb3J0IHR5cGUgVHJlZVZpZXdJdGVtUG9zaXRpb24gPVxuICAgIHwgJ2xlZnQnXG4gICAgfCAncmlnaHQnO1xuIl19
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class TreeviewSharedService {
5
+ constructor() {
6
+ this.onCollapsableItemCollapsed = new Subject();
7
+ this.onCollapsableItemExpanded = new Subject();
8
+ }
9
+ }
10
+ TreeviewSharedService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeviewSharedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
+ TreeviewSharedService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeviewSharedService, providedIn: 'root' });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeviewSharedService, decorators: [{
13
+ type: Injectable,
14
+ args: [{ providedIn: 'root' }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctc2hhcmVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3RlbXBsYXRlLW1vZHVsZS9LcGlDcmVhdGlvbk1vZHVsZS90cmVldmlldy90cmVldmlldy1zaGFyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFFSSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ2hELDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7S0FDbEQ7O2tIQUhZLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFIsTUFBTTsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyZWV2aWV3LnNlcnZpY2UudHNcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmVldmlld1NoYXJlZFNlcnZpY2Uge1xuICAgIG9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIG9uQ29sbGFwc2FibGVJdGVtRXhwYW5kZWQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG59XG4iXX0=