ngx-sp-infra 2.0.18-test → 2.0.19-test

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.
@@ -9,9 +9,7 @@ export class TreeComponent {
9
9
  // #region ==========> PROPERTIES <==========
10
10
  // #region PRIVATE
11
11
  this._openAll = false;
12
- // #endregino PRIVATE
13
- // #region PUBLIC
14
- this.items = [];
12
+ this._items = [];
15
13
  this.checkbox = false;
16
14
  this.filter = false;
17
15
  this.onSelect = new EventEmitter();
@@ -20,6 +18,13 @@ export class TreeComponent {
20
18
  this.search = "";
21
19
  }
22
20
  ngOnInit() { }
21
+ // #endregino PRIVATE
22
+ // #region PUBLIC
23
+ get items() { return this._items; }
24
+ set items(value) {
25
+ this._items = value;
26
+ console.log("(TESTE) Lista atualizada: ", value);
27
+ }
23
28
  /** Responsável por abrir ou fechar todas as opções sendo exibidas na lista
24
29
  * @default false */
25
30
  get openAll() { return this._openAll; }
@@ -84,22 +89,22 @@ export class TreeComponent {
84
89
  return list.some(this.checked);
85
90
  }
86
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TreeComponent, selector: "app-tree", inputs: { items: "items", checkbox: "checkbox", filter: "filter", openAll: "openAll" }, outputs: { onSelect: "onSelect", onEvent: "onEvent" }, ngImport: i0, template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }, { kind: "component", type: TreeComponent, selector: "app-tree", inputs: ["items", "checkbox", "filter", "openAll"], outputs: ["onSelect", "onEvent"] }, { kind: "pipe", type: i4.SearchTreePipe, name: "TreeFilter" }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TreeComponent, selector: "app-tree", inputs: { items: "items", openAll: "openAll", checkbox: "checkbox", filter: "filter" }, outputs: { onSelect: "onSelect", onEvent: "onEvent" }, ngImport: i0, template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }, { kind: "component", type: TreeComponent, selector: "app-tree", inputs: ["items", "openAll", "checkbox", "filter"], outputs: ["onSelect", "onEvent"] }, { kind: "pipe", type: i4.SearchTreePipe, name: "TreeFilter" }] }); }
88
93
  }
89
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeComponent, decorators: [{
90
95
  type: Component,
91
96
  args: [{ selector: "app-tree", template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"] }]
92
97
  }], ctorParameters: () => [], propDecorators: { items: [{
93
98
  type: Input
99
+ }], openAll: [{
100
+ type: Input
94
101
  }], checkbox: [{
95
102
  type: Input
96
103
  }], filter: [{
97
104
  type: Input
98
- }], openAll: [{
99
- type: Input
100
105
  }], onSelect: [{
101
106
  type: Output
102
107
  }], onEvent: [{
103
108
  type: Output
104
109
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RyZWUvdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RyZWUvdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLGFBQWE7SUFDeEI7UUFJQSw2Q0FBNkM7UUFFN0Msa0JBQWtCO1FBQ1YsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNsQyxxQkFBcUI7UUFFckIsaUJBQWlCO1FBQ0QsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBY3ZCLGFBQVEsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxZQUFPLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUQsWUFBTyxHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUV2RCxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBaENaLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFhbkI7d0JBQ29CO0lBQ3BCLElBQ1csT0FBTyxLQUFjLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkQsSUFBVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFRRCxvQkFBb0I7SUFFcEIsZ0RBQWdEO0lBRWhELGlEQUFpRDtJQUMxQyxRQUFRLENBQUMsSUFBYztRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFpQixFQUFFLElBQWM7UUFDOUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxTQUFTLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDOUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNCLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7d0JBQ3hDLElBQUksVUFBVSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7NEJBQ3BELFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO3dCQUNuRCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBQ0Qsb0RBQW9EO0lBRXBELGtEQUFrRDtJQUUxQyxrQkFBa0IsQ0FBQyxJQUFnQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBekZVLGFBQWE7bUdBQWIsYUFBYSwrTENSMUIsMHhEQWtESyxtL0REMUNRLGFBQWE7OzRGQUFiLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTt3REFnQkosS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBS0ssT0FBTztzQkFEakIsS0FBSztnQkFVVyxRQUFRO3NCQUF4QixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyZWVJdGVtIH0gZnJvbSBcIi4vbW9kZWxzL3RyZWUtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXRyZWVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90cmVlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90cmVlLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG4gIC8vICNyZWdpb24gUFJJVkFURVxuICBwcml2YXRlIF9vcGVuQWxsOiBib29sZWFuID0gZmFsc2U7XG4gIC8vICNlbmRyZWdpbm8gUFJJVkFURVxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogVHJlZUl0ZW1bXSB8IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJlc3BvbnPDoXZlbCBwb3IgYWJyaXIgb3UgZmVjaGFyIHRvZGFzIGFzIG9ww6fDtWVzIHNlbmRvIGV4aWJpZGFzIG5hIGxpc3RhXG4gICAqIEBkZWZhdWx0IGZhbHNlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb3BlbkFsbCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX29wZW5BbGw7IH1cbiAgcHVibGljIHNldCBvcGVuQWxsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fb3BlbkFsbCA9IHZhbHVlO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGVsZW0gPT4ge1xuICAgICAgZWxlbS5leHBhbmRlZCA9IHZhbHVlO1xuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgY2hlY2tlZCA9IChpdGVtOiBUcmVlSXRlbSkgPT4gaXRlbS5pc19zZWxlY3RlZCA9PSB0cnVlO1xuXG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyA9IFwiXCI7XG4gIC8vICNlbmRyZWdpb24gUFVCTElDXG5cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQVUJMSUMgTUVUSE9EUyA8PT09PT09PT09PVxuICBwdWJsaWMgb25FeHBhbmQoaXRlbTogVHJlZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5leHBhbmRlZCkge1xuICAgICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2hlY2soaXRlbXM6IFRyZWVJdGVtW10sIGl0ZW06IFRyZWVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uaGFzX2NoaWxkcmVuKSB7XG4gICAgICBpdGVtLmNoaWxkcmVuLmZvckVhY2goKGZpcnN0Tm9kZSkgPT4ge1xuICAgICAgICBpZiAoZmlyc3ROb2RlLmlzX3NlbGVjdGVkICE9IGl0ZW0uaXNfc2VsZWN0ZWQpIHtcbiAgICAgICAgICBmaXJzdE5vZGUuaXNfc2VsZWN0ZWQgPSAhZmlyc3ROb2RlLmlzX3NlbGVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaXJzdE5vZGUuaGFzX2NoaWxkcmVuKSB7XG4gICAgICAgICAgZmlyc3ROb2RlLmNoaWxkcmVuLmZvckVhY2goKHNlY29uZE5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmIChzZWNvbmROb2RlLmlzX3NlbGVjdGVkICE9IGZpcnN0Tm9kZS5pc19zZWxlY3RlZCkge1xuICAgICAgICAgICAgICBzZWNvbmROb2RlLmlzX3NlbGVjdGVkID0gIXNlY29uZE5vZGUuaXNfc2VsZWN0ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrRXZlbnQoaXRlbXM6IFRyZWVJdGVtW10pIHtcbiAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uRXZlbnQuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkV2ZW50LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFBVQkxJQyBNRVRIT0RTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQUklWQVRFIE1FVEhPRFMgPD09PT09PT09PT1cblxuICBwcml2YXRlIGluZGV0ZXJtaW5hdGVDaGVjayhsaXN0OiBUcmVlSXRlbVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxpc3Quc29tZSh0aGlzLmNoZWNrZWQpO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBhbGxDaGVjayhsaXN0OiBUcmVlSXRlbVtdKTogYm9vbGVhbiB7XG4gIC8vICAgcmV0dXJuIGxpc3QuZXZlcnkodGhpcy5jaGVja2VkKTtcbiAgLy8gfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFBSSVZBVEUgTUVUSE9EUyA8PT09PT09PT09PVxufVxuIiwiPCEtLSBGSUxURVIgLS0+XG48bmctdGVtcGxhdGUgW25nSWZdPVwiZmlsdGVyXCI+XG4gIDwhLS0gPGFwcC1zZWFyY2gtZmlsdGVycz48L2FwcC1zZWFyY2gtZmlsdGVycz4gLS0+XG5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGdsYi1zZWFyY2gtaW5wdXQgbXktM1wiPlxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBzZWFyY2ggcHgtMiBnbGItYmctY29sb3Itd2hpdGVcIj5cbiAgICAgIDxhcHAtc3ZnLXN0b3JhZ2Ugc3ZnTmFtZT1cInNlYXJjaFwiIHN2Z0NvbG9yPVwiZ3JheVwiIHN2Z1NpemU9XCJtZWRpdW0tc21hbGxcIlxuICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48L2FwcC1zdmctc3RvcmFnZT5cbiAgICA8L3NwYW4+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm9yZGVyLWxlZnQtbm9uZSBwcy0wXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIj5cbiAgPC9kaXY+XG4gIFxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gVFJFRSAtLT5cbjx1bCBjbGFzcz1cInRyZWUtdmlld1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgVHJlZUZpbHRlciA6IHNlYXJjaDsgaW5kZXggYXMgaVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcHktMVwiIFtjbGFzc109XCIhaXRlbS5oYXNfY2hpbGRyZW4gPyAnY2hpbGRyZW4nIDogbnVsbCBcIj5cbiAgICAgIDxhcHAtc3ZnLXN0b3JhZ2VcbiAgICAgICAgY2xhc3M9XCJjaGV2cm9uXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmhhc19jaGlsZHJlblwiXG4gICAgICAgIFtjbGFzc109XCJpdGVtLmFwbGljQ2xhc3MgPyAncm90YXRlJyA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgb25FeHBhbmQoaXRlbSk7XG4gICAgICAgICAgaXRlbS5hcGxpY0NsYXNzID8gKGl0ZW0uYXBsaWNDbGFzcyA9IGZhbHNlKSA6IChpdGVtLmFwbGljQ2xhc3MgPSB0cnVlKVxuICAgICAgICBcIlxuICAgICAgICBzdmdTaXplPVwibWVkaXVtLXNtYWxsXCJcbiAgICAgICAgc3ZnTmFtZT1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgPjwvYXBwLXN2Zy1zdG9yYWdlPlxuICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjaGVja2JveFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtLTAgcG9zaXRpb24tcmVsYXRpdmVcIlxuICAgICAgICAgIFtjaGVja2VkXT1cIm9uQ2hlY2tFdmVudChpdGVtcylcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVjayhpdGVtcywgaXRlbSlcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5pc19zZWxlY3RlZFwiXG4gICAgICAgIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbWItMCBtcy0yXCI+e3sgaXRlbS5sYWJlbCB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBOT0RFUyAtLT5cbiAgICA8dWwgKm5nSWY9XCJpdGVtLmV4cGFuZGVkXCI+XG4gICAgICA8YXBwLXRyZWVcbiAgICAgICAgKG9uU2VsZWN0KT1cIml0ZW0uaXNfc2VsZWN0ZWQgPSAkZXZlbnRcIlxuICAgICAgICAob25FdmVudCk9XCJpdGVtLmlzX3NlbGVjdGVkID0gJGV2ZW50XCJcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW0uY2hpbGRyZW5cIlxuICAgICAgICBbY2hlY2tib3hdPVwiY2hlY2tib3hcIlxuICAgICAgPjwvYXBwLXRyZWU+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG48L3VsPiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RyZWUvdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi93aWRnZXRzL3RyZWUvdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLGFBQWE7SUFDeEI7UUFJQSw2Q0FBNkM7UUFFN0Msa0JBQWtCO1FBQ1YsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQXVCeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3ZCLGFBQVEsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxZQUFPLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHOUQsWUFBTyxHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUN2RCxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBeENaLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFPbkIscUJBQXFCO0lBRXJCLGlCQUFpQjtJQUNqQixJQUNXLEtBQUssS0FBeUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RCxJQUFXLEtBQUssQ0FBQyxLQUF5QjtRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7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YTs7NEZBQWIsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3dEQWtCVCxLQUFLO3NCQURmLEtBQUs7Z0JBVUssT0FBTztzQkFEakIsS0FBSztnQkFVVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBR1csUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmVlSXRlbSB9IGZyb20gXCIuL21vZGVscy90cmVlLWl0ZW1cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC10cmVlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdHJlZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdHJlZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cblxuICAvLyAjcmVnaW9uIFBSSVZBVEVcbiAgcHJpdmF0ZSBfb3BlbkFsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9pdGVtczogVHJlZUl0ZW1bXSB8IGFueVtdID0gW107XG4gIC8vICNlbmRyZWdpbm8gUFJJVkFURVxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogVHJlZUl0ZW1bXSB8IGFueVtdIHsgcmV0dXJuIHRoaXMuX2l0ZW1zOyB9XG4gIHB1YmxpYyBzZXQgaXRlbXModmFsdWU6IFRyZWVJdGVtW10gfCBhbnlbXSkge1xuICAgIHRoaXMuX2l0ZW1zID0gdmFsdWU7XG4gICAgY29uc29sZS5sb2coXCIoVEVTVEUpIExpc3RhIGF0dWFsaXphZGE6IFwiLCB2YWx1ZSk7XG4gIH1cblxuICAvKiogUmVzcG9uc8OhdmVsIHBvciBhYnJpciBvdSBmZWNoYXIgdG9kYXMgYXMgb3DDp8O1ZXMgc2VuZG8gZXhpYmlkYXMgbmEgbGlzdGFcbiAgICogQGRlZmF1bHQgZmFsc2UgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvcGVuQWxsKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fb3BlbkFsbDsgfVxuICBwdWJsaWMgc2V0IG9wZW5BbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9vcGVuQWxsID0gdmFsdWU7XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goZWxlbSA9PiB7XG4gICAgICBlbGVtLmV4cGFuZGVkID0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXG4gIHB1YmxpYyBjaGVja2VkID0gKGl0ZW06IFRyZWVJdGVtKSA9PiBpdGVtLmlzX3NlbGVjdGVkID09IHRydWU7XG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyA9IFwiXCI7XG4gIC8vICNlbmRyZWdpb24gUFVCTElDXG5cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQVUJMSUMgTUVUSE9EUyA8PT09PT09PT09PVxuICBwdWJsaWMgb25FeHBhbmQoaXRlbTogVHJlZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5leHBhbmRlZCkge1xuICAgICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2hlY2soaXRlbXM6IFRyZWVJdGVtW10sIGl0ZW06IFRyZWVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uaGFzX2NoaWxkcmVuKSB7XG4gICAgICBpdGVtLmNoaWxkcmVuLmZvckVhY2goKGZpcnN0Tm9kZSkgPT4ge1xuICAgICAgICBpZiAoZmlyc3ROb2RlLmlzX3NlbGVjdGVkICE9IGl0ZW0uaXNfc2VsZWN0ZWQpIHtcbiAgICAgICAgICBmaXJzdE5vZGUuaXNfc2VsZWN0ZWQgPSAhZmlyc3ROb2RlLmlzX3NlbGVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaXJzdE5vZGUuaGFzX2NoaWxkcmVuKSB7XG4gICAgICAgICAgZmlyc3ROb2RlLmNoaWxkcmVuLmZvckVhY2goKHNlY29uZE5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmIChzZWNvbmROb2RlLmlzX3NlbGVjdGVkICE9IGZpcnN0Tm9kZS5pc19zZWxlY3RlZCkge1xuICAgICAgICAgICAgICBzZWNvbmROb2RlLmlzX3NlbGVjdGVkID0gIXNlY29uZE5vZGUuaXNfc2VsZWN0ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrRXZlbnQoaXRlbXM6IFRyZWVJdGVtW10pIHtcbiAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2soaXRlbXMpKSB7XG4gICAgICB0aGlzLm9uRXZlbnQuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkV2ZW50LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFBVQkxJQyBNRVRIT0RTIDw9PT09PT09PT09XG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBQUklWQVRFIE1FVEhPRFMgPD09PT09PT09PT1cblxuICBwcml2YXRlIGluZGV0ZXJtaW5hdGVDaGVjayhsaXN0OiBUcmVlSXRlbVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxpc3Quc29tZSh0aGlzLmNoZWNrZWQpO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBhbGxDaGVjayhsaXN0OiBUcmVlSXRlbVtdKTogYm9vbGVhbiB7XG4gIC8vICAgcmV0dXJuIGxpc3QuZXZlcnkodGhpcy5jaGVja2VkKTtcbiAgLy8gfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFBSSVZBVEUgTUVUSE9EUyA8PT09PT09PT09PVxufVxuIiwiPCEtLSBGSUxURVIgLS0+XG48bmctdGVtcGxhdGUgW25nSWZdPVwiZmlsdGVyXCI+XG4gIDwhLS0gPGFwcC1zZWFyY2gtZmlsdGVycz48L2FwcC1zZWFyY2gtZmlsdGVycz4gLS0+XG5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGdsYi1zZWFyY2gtaW5wdXQgbXktM1wiPlxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBzZWFyY2ggcHgtMiBnbGItYmctY29sb3Itd2hpdGVcIj5cbiAgICAgIDxhcHAtc3ZnLXN0b3JhZ2Ugc3ZnTmFtZT1cInNlYXJjaFwiIHN2Z0NvbG9yPVwiZ3JheVwiIHN2Z1NpemU9XCJtZWRpdW0tc21hbGxcIlxuICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48L2FwcC1zdmctc3RvcmFnZT5cbiAgICA8L3NwYW4+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm9yZGVyLWxlZnQtbm9uZSBwcy0wXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIj5cbiAgPC9kaXY+XG4gIFxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gVFJFRSAtLT5cbjx1bCBjbGFzcz1cInRyZWUtdmlld1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgVHJlZUZpbHRlciA6IHNlYXJjaDsgaW5kZXggYXMgaVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcHktMVwiIFtjbGFzc109XCIhaXRlbS5oYXNfY2hpbGRyZW4gPyAnY2hpbGRyZW4nIDogbnVsbCBcIj5cbiAgICAgIDxhcHAtc3ZnLXN0b3JhZ2VcbiAgICAgICAgY2xhc3M9XCJjaGV2cm9uXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmhhc19jaGlsZHJlblwiXG4gICAgICAgIFtjbGFzc109XCJpdGVtLmFwbGljQ2xhc3MgPyAncm90YXRlJyA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgb25FeHBhbmQoaXRlbSk7XG4gICAgICAgICAgaXRlbS5hcGxpY0NsYXNzID8gKGl0ZW0uYXBsaWNDbGFzcyA9IGZhbHNlKSA6IChpdGVtLmFwbGljQ2xhc3MgPSB0cnVlKVxuICAgICAgICBcIlxuICAgICAgICBzdmdTaXplPVwibWVkaXVtLXNtYWxsXCJcbiAgICAgICAgc3ZnTmFtZT1cImNoZXZyb24tcmlnaHRcIlxuICAgICAgPjwvYXBwLXN2Zy1zdG9yYWdlPlxuICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjaGVja2JveFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtLTAgcG9zaXRpb24tcmVsYXRpdmVcIlxuICAgICAgICAgIFtjaGVja2VkXT1cIm9uQ2hlY2tFdmVudChpdGVtcylcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVjayhpdGVtcywgaXRlbSlcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5pc19zZWxlY3RlZFwiXG4gICAgICAgIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbWItMCBtcy0yXCI+e3sgaXRlbS5sYWJlbCB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBOT0RFUyAtLT5cbiAgICA8dWwgKm5nSWY9XCJpdGVtLmV4cGFuZGVkXCI+XG4gICAgICA8YXBwLXRyZWVcbiAgICAgICAgKG9uU2VsZWN0KT1cIml0ZW0uaXNfc2VsZWN0ZWQgPSAkZXZlbnRcIlxuICAgICAgICAob25FdmVudCk9XCJpdGVtLmlzX3NlbGVjdGVkID0gJGV2ZW50XCJcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW0uY2hpbGRyZW5cIlxuICAgICAgICBbY2hlY2tib3hdPVwiY2hlY2tib3hcIlxuICAgICAgPjwvYXBwLXRyZWU+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG48L3VsPiJdfQ==
@@ -1202,9 +1202,7 @@ class TreeComponent {
1202
1202
  // #region ==========> PROPERTIES <==========
1203
1203
  // #region PRIVATE
1204
1204
  this._openAll = false;
1205
- // #endregino PRIVATE
1206
- // #region PUBLIC
1207
- this.items = [];
1205
+ this._items = [];
1208
1206
  this.checkbox = false;
1209
1207
  this.filter = false;
1210
1208
  this.onSelect = new EventEmitter();
@@ -1213,6 +1211,13 @@ class TreeComponent {
1213
1211
  this.search = "";
1214
1212
  }
1215
1213
  ngOnInit() { }
1214
+ // #endregino PRIVATE
1215
+ // #region PUBLIC
1216
+ get items() { return this._items; }
1217
+ set items(value) {
1218
+ this._items = value;
1219
+ console.log("(TESTE) Lista atualizada: ", value);
1220
+ }
1216
1221
  /** Responsável por abrir ou fechar todas as opções sendo exibidas na lista
1217
1222
  * @default false */
1218
1223
  get openAll() { return this._openAll; }
@@ -1277,19 +1282,19 @@ class TreeComponent {
1277
1282
  return list.some(this.checked);
1278
1283
  }
1279
1284
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TreeComponent, selector: "app-tree", inputs: { items: "items", checkbox: "checkbox", filter: "filter", openAll: "openAll" }, outputs: { onSelect: "onSelect", onEvent: "onEvent" }, ngImport: i0, template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }, { kind: "component", type: TreeComponent, selector: "app-tree", inputs: ["items", "checkbox", "filter", "openAll"], outputs: ["onSelect", "onEvent"] }, { kind: "pipe", type: SearchTreePipe, name: "TreeFilter" }] }); }
1285
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TreeComponent, selector: "app-tree", inputs: { items: "items", openAll: "openAll", checkbox: "checkbox", filter: "filter" }, outputs: { onSelect: "onSelect", onEvent: "onEvent" }, ngImport: i0, template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SvgStorageComponent, selector: "app-svg-storage", inputs: ["svgName", "svgColor", "svgFill", "svgSize", "svgStrokeWidth"] }, { kind: "component", type: TreeComponent, selector: "app-tree", inputs: ["items", "openAll", "checkbox", "filter"], outputs: ["onSelect", "onEvent"] }, { kind: "pipe", type: SearchTreePipe, name: "TreeFilter" }] }); }
1281
1286
  }
1282
1287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeComponent, decorators: [{
1283
1288
  type: Component,
1284
1289
  args: [{ selector: "app-tree", template: "<!-- FILTER -->\n<ng-template [ngIf]=\"filter\">\n <!-- <app-search-filters></app-search-filters> -->\n\n <div class=\"input-group glb-search-input my-3\">\n <span class=\"input-group-text search px-2 glb-bg-color-white\">\n <app-svg-storage svgName=\"search\" svgColor=\"gray\" svgSize=\"medium-small\"\n class=\"d-flex align-items-center\"></app-svg-storage>\n </span>\n <input type=\"text\" class=\"form-control border-left-none ps-0\" [(ngModel)]=\"search\">\n </div>\n \n</ng-template>\n<!-- TREE -->\n<ul class=\"tree-view\">\n <ng-container *ngFor=\"let item of items | TreeFilter : search; index as i\">\n <div class=\"container py-1\" [class]=\"!item.has_children ? 'children' : null \">\n <app-svg-storage\n class=\"chevron\"\n *ngIf=\"item.has_children\"\n [class]=\"item.aplicClass ? 'rotate' : null\"\n (click)=\"\n onExpand(item);\n item.aplicClass ? (item.aplicClass = false) : (item.aplicClass = true)\n \"\n svgSize=\"medium-small\"\n svgName=\"chevron-right\"\n ></app-svg-storage>\n <!-- CHECKBOX -->\n <ng-template [ngIf]=\"checkbox\">\n <input\n type=\"checkbox\"\n class=\"form-check-input m-0 position-relative\"\n [checked]=\"onCheckEvent(items)\"\n (change)=\"onCheck(items, item)\"\n [(ngModel)]=\"item.is_selected\"\n />\n </ng-template>\n <label class=\"label mb-0 ms-2\">{{ item.label }}</label>\n </div>\n <!-- NODES -->\n <ul *ngIf=\"item.expanded\">\n <app-tree\n (onSelect)=\"item.is_selected = $event\"\n (onEvent)=\"item.is_selected = $event\"\n [items]=\"item.children\"\n [checkbox]=\"checkbox\"\n ></app-tree>\n </ul>\n </ng-container>\n</ul>", styles: ["*{font-family:Open Sans,Arial,Helvetica,sans-serif;color:#000;box-sizing:border-box;list-style:none;font-size:1rem}.tree-view{margin:0;padding:0;list-style-type:none;transition:all .3s ease-in-out}.container{margin:0;padding:0;display:flex;align-items:center}.chevron{position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;-o-transition:.3s ease-in-out;transition:.3s ease-in-out;color:#000;cursor:pointer}.chevron:hover{color:#0d6efd;transform:rotate(30deg)}.chevron.rotate{transform:rotate(90deg);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transition:.3s}.form-check-input{cursor:pointer}.children{padding-left:20px}\n"] }]
1285
1290
  }], ctorParameters: () => [], propDecorators: { items: [{
1286
1291
  type: Input
1292
+ }], openAll: [{
1293
+ type: Input
1287
1294
  }], checkbox: [{
1288
1295
  type: Input
1289
1296
  }], filter: [{
1290
1297
  type: Input
1291
- }], openAll: [{
1292
- type: Input
1293
1298
  }], onSelect: [{
1294
1299
  type: Output
1295
1300
  }], onEvent: [{