@alfresco/aca-content 4.0.0-5178013259 → 4.0.0-5186374888
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.
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +18 -12
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +6 -7
- package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +5 -7
- package/esm2020/lib/components/files/files.component.mjs +6 -6
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +5 -5
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +7 -6
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +5 -7
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +9 -4
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +3 -3
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +10 -3
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +3 -4
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +17 -8
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +7 -14
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +3 -3
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +5 -9
- package/fesm2015/alfresco-aca-content.mjs +98 -85
- package/fesm2015/alfresco-aca-content.mjs.map +1 -1
- package/fesm2020/alfresco-aca-content.mjs +92 -85
- package/fesm2020/alfresco-aca-content.mjs.map +1 -1
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +8 -5
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +2 -2
- package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +4 -27
- package/lib/components/files/files.component.d.ts +1 -1
- package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +27 -2
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +2 -1
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
- package/lib/components/search/search-input/search-input.component.d.ts +2 -1
- package/lib/components/search/search-results/search-results.component.d.ts +2 -0
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
- package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +30 -3
- package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +2 -1
- package/lib/dialogs/node-template/create-from-template.dialog.d.ts +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
24
|
import { Component, Input } from '@angular/core';
|
|
25
|
+
import { Subject } from 'rxjs';
|
|
25
26
|
import { Store } from '@ngrx/store';
|
|
26
27
|
import { ShareNodeAction, getAppSelection } from '@alfresco/aca-shared/store';
|
|
27
28
|
import { CommonModule } from '@angular/common';
|
|
@@ -29,6 +30,7 @@ import { MatMenuModule } from '@angular/material/menu';
|
|
|
29
30
|
import { MatIconModule } from '@angular/material/icon';
|
|
30
31
|
import { TranslateModule } from '@ngx-translate/core';
|
|
31
32
|
import { MatButtonModule } from '@angular/material/button';
|
|
33
|
+
import { takeUntil } from 'rxjs/operators';
|
|
32
34
|
import * as i0 from "@angular/core";
|
|
33
35
|
import * as i1 from "@ngrx/store";
|
|
34
36
|
import * as i2 from "@angular/common";
|
|
@@ -39,32 +41,36 @@ import * as i6 from "@angular/material/button";
|
|
|
39
41
|
export class ToggleSharedComponent {
|
|
40
42
|
constructor(store) {
|
|
41
43
|
this.store = store;
|
|
44
|
+
this.selectionLabel = '';
|
|
45
|
+
this.isShared = false;
|
|
46
|
+
this.onDestroy$ = new Subject();
|
|
42
47
|
}
|
|
43
48
|
ngOnInit() {
|
|
44
49
|
this.selection$ = this.store.select(getAppSelection);
|
|
50
|
+
this.selection$.pipe(takeUntil(this.onDestroy$)).subscribe((selectionState) => {
|
|
51
|
+
this.selectionState = selectionState;
|
|
52
|
+
this.isShared =
|
|
53
|
+
(this.selectionState.first && this.selectionState.first.entry && this.selectionState.first.entry.sharedByUser) ||
|
|
54
|
+
!!this.selectionState?.first?.entry?.properties?.['qshare:sharedId'];
|
|
55
|
+
this.selectionLabel = this.isShared ? 'APP.ACTIONS.SHARE_EDIT' : 'APP.ACTIONS.SHARE';
|
|
56
|
+
});
|
|
45
57
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
return selection.first && selection.first.entry && selection.first.entry.properties && !!selection.first.entry.properties['qshare:sharedId'];
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
this.onDestroy$.next();
|
|
60
|
+
this.onDestroy$.complete();
|
|
52
61
|
}
|
|
53
62
|
editSharedNode(selection, focusedElementOnCloseSelector) {
|
|
54
63
|
this.store.dispatch(new ShareNodeAction(selection.first, {
|
|
55
64
|
focusedElementOnCloseSelector
|
|
56
65
|
}));
|
|
57
66
|
}
|
|
58
|
-
getLabel(selection) {
|
|
59
|
-
return this.isShared(selection) ? 'APP.ACTIONS.SHARE_EDIT' : 'APP.ACTIONS.SHARE';
|
|
60
|
-
}
|
|
61
67
|
}
|
|
62
68
|
ToggleSharedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToggleSharedComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
ToggleSharedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ToggleSharedComponent, isStandalone: true, selector: "app-toggle-shared", inputs: { data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"
|
|
69
|
+
ToggleSharedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ToggleSharedComponent, isStandalone: true, selector: "app-toggle-shared", inputs: { data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"selectionState\">\n <ng-container *ngIf=\"!data.iconButton\">\n <button mat-menu-item data-automation-id=\"share-action-button\" (click)=\"editSharedNode(selectionState, '.adf-context-menu-source')\">\n <mat-icon>link</mat-icon>\n <ng-container *ngIf=\"isShared; else not_shared\">\n <span>{{ 'APP.ACTIONS.SHARE_EDIT' | translate }}</span>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"data.iconButton\">\n <button\n mat-icon-button\n data-automation-id=\"share-action-button\"\n (click)=\"editSharedNode(selectionState, '#share-action-button')\"\n [attr.aria-label]=\"selectionLabel | translate\"\n [attr.title]=\"selectionLabel | translate\"\n id=\"share-action-button\"\n >\n <mat-icon>link</mat-icon>\n </button>\n </ng-container>\n</ng-container>\n\n<ng-template #not_shared>\n <span>{{ 'APP.ACTIONS.SHARE' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
64
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToggleSharedComponent, decorators: [{
|
|
65
71
|
type: Component,
|
|
66
|
-
args: [{ standalone: true, imports: [CommonModule, MatMenuModule, MatIconModule, TranslateModule, MatButtonModule], selector: 'app-toggle-shared', template: "<ng-container *ngIf=\"
|
|
72
|
+
args: [{ standalone: true, imports: [CommonModule, MatMenuModule, MatIconModule, TranslateModule, MatButtonModule], selector: 'app-toggle-shared', template: "<ng-container *ngIf=\"selectionState\">\n <ng-container *ngIf=\"!data.iconButton\">\n <button mat-menu-item data-automation-id=\"share-action-button\" (click)=\"editSharedNode(selectionState, '.adf-context-menu-source')\">\n <mat-icon>link</mat-icon>\n <ng-container *ngIf=\"isShared; else not_shared\">\n <span>{{ 'APP.ACTIONS.SHARE_EDIT' | translate }}</span>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"data.iconButton\">\n <button\n mat-icon-button\n data-automation-id=\"share-action-button\"\n (click)=\"editSharedNode(selectionState, '#share-action-button')\"\n [attr.aria-label]=\"selectionLabel | translate\"\n [attr.title]=\"selectionLabel | translate\"\n id=\"share-action-button\"\n >\n <mat-icon>link</mat-icon>\n </button>\n </ng-container>\n</ng-container>\n\n<ng-template #not_shared>\n <span>{{ 'APP.ACTIONS.SHARE' | translate }}</span>\n</ng-template>\n" }]
|
|
67
73
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { data: [{
|
|
68
74
|
type: Input
|
|
69
75
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXNoYXJlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvY29tbW9uL3RvZ2dsZS1zaGFyZWQvdG9nZ2xlLXNoYXJlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvY29tbW9uL3RvZ2dsZS1zaGFyZWQvdG9nZ2xlLXNoYXJlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQVksZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVEzQyxNQUFNLE9BQU8scUJBQXFCO0lBYWhDLFlBQW9CLEtBQXNCO1FBQXRCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBTDFDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFWSxDQUFDO0lBRTlDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUVyQyxJQUFJLENBQUMsUUFBUTtnQkFDWCxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFhLENBQUMsWUFBWSxDQUFDO29CQUN2SCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFdkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsY0FBYyxDQUFDLFNBQXlCLEVBQUUsNkJBQXFDO1FBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ25DLDZCQUE2QjtTQUM5QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2tIQXRDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix1R0MxQ2xDLG85QkEyQkEsMkNEV1ksWUFBWSxrSUFBRSxhQUFhLGtMQUFFLGFBQWEsbUxBQUUsZUFBZSwyRkFBRSxlQUFlOzJGQUkzRSxxQkFBcUI7a0JBTmpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxZQUM3RSxtQkFBbUI7NEZBSzdCLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgU2hhcmVOb2RlQWN0aW9uLCBnZXRBcHBTZWxlY3Rpb24gfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FwcC10b2dnbGUtc2hhcmVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1zaGFyZWQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZVNoYXJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZGF0YToge1xuICAgIGljb25CdXR0b24/OiBzdHJpbmc7XG4gIH07XG5cbiAgc2VsZWN0aW9uJDogT2JzZXJ2YWJsZTxTZWxlY3Rpb25TdGF0ZT47XG4gIHNlbGVjdGlvblN0YXRlOiBTZWxlY3Rpb25TdGF0ZTtcbiAgc2VsZWN0aW9uTGFiZWwgPSAnJztcbiAgaXNTaGFyZWQgPSBmYWxzZTtcblxuICBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4pIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24kID0gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBwU2VsZWN0aW9uKTtcbiAgICB0aGlzLnNlbGVjdGlvbiQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzZWxlY3Rpb25TdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3Rpb25TdGF0ZSA9IHNlbGVjdGlvblN0YXRlO1xuXG4gICAgICB0aGlzLmlzU2hhcmVkID1cbiAgICAgICAgKHRoaXMuc2VsZWN0aW9uU3RhdGUuZmlyc3QgJiYgdGhpcy5zZWxlY3Rpb25TdGF0ZS5maXJzdC5lbnRyeSAmJiAodGhpcy5zZWxlY3Rpb25TdGF0ZS5maXJzdC5lbnRyeSBhcyBhbnkpLnNoYXJlZEJ5VXNlcikgfHxcbiAgICAgICAgISF0aGlzLnNlbGVjdGlvblN0YXRlPy5maXJzdD8uZW50cnk/LnByb3BlcnRpZXM/LlsncXNoYXJlOnNoYXJlZElkJ107XG5cbiAgICAgIHRoaXMuc2VsZWN0aW9uTGFiZWwgPSB0aGlzLmlzU2hhcmVkID8gJ0FQUC5BQ1RJT05TLlNIQVJFX0VESVQnIDogJ0FQUC5BQ1RJT05TLlNIQVJFJztcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbiAgZWRpdFNoYXJlZE5vZGUoc2VsZWN0aW9uOiBTZWxlY3Rpb25TdGF0ZSwgZm9jdXNlZEVsZW1lbnRPbkNsb3NlU2VsZWN0b3I6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBuZXcgU2hhcmVOb2RlQWN0aW9uKHNlbGVjdGlvbi5maXJzdCwge1xuICAgICAgICBmb2N1c2VkRWxlbWVudE9uQ2xvc2VTZWxlY3RvclxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0aW9uU3RhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhLmljb25CdXR0b25cIj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZGF0YS1hdXRvbWF0aW9uLWlkPVwic2hhcmUtYWN0aW9uLWJ1dHRvblwiIChjbGljayk9XCJlZGl0U2hhcmVkTm9kZShzZWxlY3Rpb25TdGF0ZSwgJy5hZGYtY29udGV4dC1tZW51LXNvdXJjZScpXCI+XG4gICAgICA8bWF0LWljb24+bGluazwvbWF0LWljb24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaGFyZWQ7IGVsc2Ugbm90X3NoYXJlZFwiPlxuICAgICAgICA8c3Bhbj57eyAnQVBQLkFDVElPTlMuU0hBUkVfRURJVCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaWNvbkJ1dHRvblwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2hhcmUtYWN0aW9uLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiZWRpdFNoYXJlZE5vZGUoc2VsZWN0aW9uU3RhdGUsICcjc2hhcmUtYWN0aW9uLWJ1dHRvbicpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VsZWN0aW9uTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgW2F0dHIudGl0bGVdPVwic2VsZWN0aW9uTGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgaWQ9XCJzaGFyZS1hY3Rpb24tYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+bGluazwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbm90X3NoYXJlZD5cbiAgPHNwYW4+e3sgJ0FQUC5BQ1RJT05TLlNIQVJFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -45,6 +45,8 @@ export class CustomNameColumnComponent extends NameColumnComponent {
|
|
|
45
45
|
}
|
|
46
46
|
ngOnInit() {
|
|
47
47
|
this.updateValue();
|
|
48
|
+
this.isFile = this.node?.entry && !this.node.entry.isFolder;
|
|
49
|
+
this.isFileWriteLocked = isLocked(this.node);
|
|
48
50
|
this.nodesService.nodeUpdated.pipe(takeUntil(this.onDestroy$$)).subscribe((node) => {
|
|
49
51
|
const row = this.context.row;
|
|
50
52
|
if (row) {
|
|
@@ -56,11 +58,14 @@ export class CustomNameColumnComponent extends NameColumnComponent {
|
|
|
56
58
|
row.node = { entry };
|
|
57
59
|
this.updateValue();
|
|
58
60
|
}
|
|
61
|
+
this.isFile = this.node?.entry && !this.node.entry.isFolder;
|
|
62
|
+
this.isFileWriteLocked = isLocked(this.node);
|
|
59
63
|
}
|
|
60
64
|
});
|
|
61
65
|
this.actions$
|
|
62
66
|
.pipe(ofType(NodeActionTypes.EditOffline), filter((val) => this.node.entry.id === val.payload.entry.id), takeUntil(this.onDestroy$$))
|
|
63
67
|
.subscribe(() => {
|
|
68
|
+
this.isFileWriteLocked = isLocked(this.node);
|
|
64
69
|
this.cd.detectChanges();
|
|
65
70
|
});
|
|
66
71
|
}
|
|
@@ -73,12 +78,6 @@ export class CustomNameColumnComponent extends NameColumnComponent {
|
|
|
73
78
|
this.onDestroy$$.next(true);
|
|
74
79
|
this.onDestroy$$.complete();
|
|
75
80
|
}
|
|
76
|
-
get isFile() {
|
|
77
|
-
return this.node && this.node.entry && !this.node.entry.isFolder;
|
|
78
|
-
}
|
|
79
|
-
get isFileWriteLocked() {
|
|
80
|
-
return isLocked(this.node);
|
|
81
|
-
}
|
|
82
81
|
}
|
|
83
82
|
CustomNameColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CustomNameColumnComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Actions }, { token: i2.NodesApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
83
|
CustomNameColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: CustomNameColumnComponent, isStandalone: true, selector: "aca-custom-name-column", host: { classAttribute: "adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column" }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"aca-custom-name-column\"\n [ngClass]=\"{\n 'aca-name-column-container': isFile && isFileWriteLocked\n }\"\n>\n <span\n role=\"link\"\n tabindex=0\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate: { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n</div>\n", styles: [".aca-custom-name-column{display:block;align-items:center}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: LockedByComponent, selector: "aca-locked-by", inputs: ["node"] }, { kind: "ngmodule", type: ContentPipeModule }, { kind: "pipe", type: i2.NodeNameTooltipPipe, name: "adfNodeNameTooltip" }], encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -88,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
88
87
|
class: 'adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column'
|
|
89
88
|
}, template: "<div\n class=\"aca-custom-name-column\"\n [ngClass]=\"{\n 'aca-name-column-container': isFile && isFileWriteLocked\n }\"\n>\n <span\n role=\"link\"\n tabindex=0\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate: { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n</div>\n", styles: [".aca-custom-name-column{display:block;align-items:center}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
90
89
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Actions }, { type: i2.NodesApiService }]; } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBYXRELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxtQkFBbUI7SUFHaEUsWUFB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QUFLLEVBQUUsc0ZBQXNGO3FCQUM5RiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb250ZW50UGlwZU1vZHVsZSwgTmFtZUNvbHVtbkNvbXBvbmVudCwgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5vZGVBY3Rpb25UeXBlcyB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IExvY2tlZEJ5Q29tcG9uZW50LCBpc0xvY2tlZCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTG9ja2VkQnlDb21wb25lbnQsIENvbnRlbnRQaXBlTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtY3VzdG9tLW5hbWUtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hbWUtY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmFtZS1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYWRmLWRhdGF0YWJsZS1jb250ZW50LWNlbGwgYWRmLWRhdGF0YWJsZS1saW5rIGFkZi1uYW1lLWNvbHVtbiBhY2EtY3VzdG9tLW5hbWUtY29sdW1uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbU5hbWVDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBOYW1lQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG9uRGVzdHJveSQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBub2Rlc1NlcnZpY2U6IE5vZGVzQXBpU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnQsIG5vZGVzU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG5cbiAgICB0aGlzLm5vZGVzU2VydmljZS5ub2RlVXBkYXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQkKSkuc3Vic2NyaWJlKChub2RlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMuY29udGV4dC5yb3c7XG4gICAgICBpZiAocm93KSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHJvdy5ub2RlO1xuICAgICAgICBjb25zdCBjdXJyZW50SWQgPSBlbnRyeS5ub2RlSWQgfHwgZW50cnkuaWQ7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRJZCA9IG5vZGUubm9kZUlkIHx8IG5vZGUuaWQ7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJZCA9PT0gdXBkYXRlZElkKSB7XG4gICAgICAgICAgZW50cnkubmFtZSA9IG5vZGUubmFtZTtcbiAgICAgICAgICByb3cubm9kZSA9IHsgZW50cnkgfTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBvZlR5cGU8YW55PihOb2RlQWN0aW9uVHlwZXMuRWRpdE9mZmxpbmUpLFxuICAgICAgICBmaWx0ZXIoKHZhbCkgPT4gdGhpcy5ub2RlLmVudHJ5LmlkID09PSB2YWwucGF5bG9hZC5lbnRyeS5pZCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkxpbmtDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2xpY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG5cbiAgICB0aGlzLm9uRGVzdHJveSQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IGlzRmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlICYmIHRoaXMubm9kZS5lbnRyeSAmJiAhdGhpcy5ub2RlLmVudHJ5LmlzRm9sZGVyO1xuICB9XG5cbiAgZ2V0IGlzRmlsZVdyaXRlTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0xvY2tlZCh0aGlzLm5vZGUpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNhLWN1c3RvbS1uYW1lLWNvbHVtblwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnYWNhLW5hbWUtY29sdW1uLWNvbnRhaW5lcic6IGlzRmlsZSAmJiBpc0ZpbGVXcml0ZUxvY2tlZFxuICB9XCJcbj5cbiAgPHNwYW5cbiAgICByb2xlPVwibGlua1wiXG4gICAgdGFiaW5kZXg9MFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAoaXNGaWxlID8gJ0NVU1RPTV9OQU1FX0NPTFVNTi5BQ0NFU1NJQklMSVRZLkZJTEVfTElOS19BUklBX0xBQkVMJyA6ICdDVVNUT01fTkFNRV9DT0xVTU4uQUNDRVNTSUJJTElUWS5GT0xERVJfTElOS19BUklBX0xBQkVMJylcbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgbmFtZTogZGlzcGxheVRleHQkIHwgYXN5bmMgfVxuICAgIFwiXG4gICAgY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWVcIlxuICAgIHRpdGxlPVwie3sgbm9kZSB8IGFkZk5vZGVOYW1lVG9vbHRpcCB9fVwiXG4gICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJvbkxpbmtDbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIHt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19XG4gIDwvc3Bhbj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlICYmIGlzRmlsZVdyaXRlTG9ja2VkXCI+XG4gICAgPGFjYS1sb2NrZWQtYnkgW25vZGVdPVwiY29udGV4dC5yb3cubm9kZVwiPjwvYWNhLWxvY2tlZC1ieT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBYXRELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxtQkFBbUI7SUFNaEUsWUFB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WERXWSxZQUFZLHFSQUFFLGVBQWUsNEZBQUUsaUJBQWlCLDJFQUFFLGlCQUFpQjsyRkFTbEUseUJBQXlCO2tCQVhyQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsWUFDcEUsd0JBQXdCLGlCQUduQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxzRkFBc0Y7cUJBQzlGIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbnRlbnRQaXBlTW9kdWxlLCBOYW1lQ29sdW1uQ29tcG9uZW50LCBOb2Rlc0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTm9kZUFjdGlvblR5cGVzIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgTG9ja2VkQnlDb21wb25lbnQsIGlzTG9ja2VkIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBMb2NrZWRCeUNvbXBvbmVudCwgQ29udGVudFBpcGVNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS1jdXN0b20tbmFtZS1jb2x1bW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmFtZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYW1lLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhZGYtZGF0YXRhYmxlLWNvbnRlbnQtY2VsbCBhZGYtZGF0YXRhYmxlLWxpbmsgYWRmLW5hbWUtY29sdW1uIGFjYS1jdXN0b20tbmFtZS1jb2x1bW4nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tTmFtZUNvbHVtbkNvbXBvbmVudCBleHRlbmRzIE5hbWVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb25EZXN0cm95JCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGlzRmlsZTogYm9vbGVhbjtcbiAgaXNGaWxlV3JpdGVMb2NrZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgbm9kZXNTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UpIHtcbiAgICBzdXBlcihlbGVtZW50LCBub2Rlc1NlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuaXNGaWxlID0gdGhpcy5ub2RlPy5lbnRyeSAmJiAhdGhpcy5ub2RlLmVudHJ5LmlzRm9sZGVyO1xuICAgIHRoaXMuaXNGaWxlV3JpdGVMb2NrZWQgPSBpc0xvY2tlZCh0aGlzLm5vZGUpO1xuXG4gICAgdGhpcy5ub2Rlc1NlcnZpY2Uubm9kZVVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkJCkpLnN1YnNjcmliZSgobm9kZTogYW55KSA9PiB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLmNvbnRleHQucm93O1xuICAgICAgaWYgKHJvdykge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSByb3cubm9kZTtcbiAgICAgICAgY29uc3QgY3VycmVudElkID0gZW50cnkubm9kZUlkIHx8IGVudHJ5LmlkO1xuICAgICAgICBjb25zdCB1cGRhdGVkSWQgPSBub2RlLm5vZGVJZCB8fCBub2RlLmlkO1xuXG4gICAgICAgIGlmIChjdXJyZW50SWQgPT09IHVwZGF0ZWRJZCkge1xuICAgICAgICAgIGVudHJ5Lm5hbWUgPSBub2RlLm5hbWU7XG4gICAgICAgICAgcm93Lm5vZGUgPSB7IGVudHJ5IH07XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0ZpbGUgPSB0aGlzLm5vZGU/LmVudHJ5ICYmICF0aGlzLm5vZGUuZW50cnkuaXNGb2xkZXI7XG4gICAgICAgIHRoaXMuaXNGaWxlV3JpdGVMb2NrZWQgPSBpc0xvY2tlZCh0aGlzLm5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG9mVHlwZTxhbnk+KE5vZGVBY3Rpb25UeXBlcy5FZGl0T2ZmbGluZSksXG4gICAgICAgIGZpbHRlcigodmFsKSA9PiB0aGlzLm5vZGUuZW50cnkuaWQgPT09IHZhbC5wYXlsb2FkLmVudHJ5LmlkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0ZpbGVXcml0ZUxvY2tlZCA9IGlzTG9ja2VkKHRoaXMubm9kZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkxpbmtDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2xpY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG5cbiAgICB0aGlzLm9uRGVzdHJveSQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNhLWN1c3RvbS1uYW1lLWNvbHVtblwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnYWNhLW5hbWUtY29sdW1uLWNvbnRhaW5lcic6IGlzRmlsZSAmJiBpc0ZpbGVXcml0ZUxvY2tlZFxuICB9XCJcbj5cbiAgPHNwYW5cbiAgICByb2xlPVwibGlua1wiXG4gICAgdGFiaW5kZXg9MFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAoaXNGaWxlID8gJ0NVU1RPTV9OQU1FX0NPTFVNTi5BQ0NFU1NJQklMSVRZLkZJTEVfTElOS19BUklBX0xBQkVMJyA6ICdDVVNUT01fTkFNRV9DT0xVTU4uQUNDRVNTSUJJTElUWS5GT0xERVJfTElOS19BUklBX0xBQkVMJylcbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgbmFtZTogZGlzcGxheVRleHQkIHwgYXN5bmMgfVxuICAgIFwiXG4gICAgY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWVcIlxuICAgIHRpdGxlPVwie3sgbm9kZSB8IGFkZk5vZGVOYW1lVG9vbHRpcCB9fVwiXG4gICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJvbkxpbmtDbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIHt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19XG4gIDwvc3Bhbj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlICYmIGlzRmlsZVdyaXRlTG9ja2VkXCI+XG4gICAgPGFjYS1sb2NrZWQtYnkgW25vZGVdPVwiY29udGV4dC5yb3cubm9kZVwiPjwvYWNhLWxvY2tlZC1ieT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -29,8 +29,8 @@ export class TagsColumnComponent {
|
|
|
29
29
|
constructor(cd) {
|
|
30
30
|
this.cd = cd;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this.nodeId = this.context?.row?.id;
|
|
34
34
|
}
|
|
35
35
|
onTagsLoaded() {
|
|
36
36
|
this.cd.detectChanges();
|
|
@@ -38,18 +38,16 @@ export class TagsColumnComponent {
|
|
|
38
38
|
}
|
|
39
39
|
TagsColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TagsColumnComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
40
|
TagsColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: TagsColumnComponent, isStandalone: true, selector: "aca-tags-column", inputs: { context: "context" }, host: { classAttribute: "adf-datatable-content-cell aca-tags-name-column" }, ngImport: i0, template: `
|
|
41
|
-
<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="
|
|
42
|
-
</adf-tag-node-list>
|
|
41
|
+
<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="nodeId" (results)="onTagsLoaded()"> </adf-tag-node-list>
|
|
43
42
|
`, isInline: true, styles: [".aca-tags-name-column{display:flex;width:inherit}.aca-tags-name-column adf-tag-node-list{width:inherit}.aca-tags-name-column adf-tag-node-list .adf-tag-chips{background-color:#fff;border:1px solid var(--theme-text-color);border-radius:10px;color:var(--theme-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.TagNodeListComponent, selector: "adf-tag-node-list", inputs: ["nodeId", "showDelete", "limitTagsDisplayed"], outputs: ["results"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
44
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: TagsColumnComponent, decorators: [{
|
|
45
44
|
type: Component,
|
|
46
45
|
args: [{ standalone: true, imports: [TagModule], selector: 'aca-tags-column', template: `
|
|
47
|
-
<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="
|
|
48
|
-
</adf-tag-node-list>
|
|
46
|
+
<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="nodeId" (results)="onTagsLoaded()"> </adf-tag-node-list>
|
|
49
47
|
`, encapsulation: ViewEncapsulation.None, host: {
|
|
50
48
|
class: 'adf-datatable-content-cell aca-tags-name-column'
|
|
51
49
|
}, styles: [".aca-tags-name-column{display:flex;width:inherit}.aca-tags-name-column adf-tag-node-list{width:inherit}.aca-tags-name-column adf-tag-node-list .adf-tag-chips{background-color:#fff;border:1px solid var(--theme-text-color);border-radius:10px;color:var(--theme-text-color)}\n"] }]
|
|
52
50
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { context: [{
|
|
53
51
|
type: Input
|
|
54
52
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL3RhZ3MtY29sdW1uL3RhZ3MtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBZS9GLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFBRyxDQUFDO0lBRTdDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Z0hBZFUsbUJBQW1CO29HQUFuQixtQkFBbUIsd0xBVHBCOztHQUVULHlWQUpTLFNBQVM7MkZBV1IsbUJBQW1CO2tCQWIvQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFNBQVMsQ0FBQyxZQUNWLGlCQUFpQixZQUNqQjs7R0FFVCxpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxpREFBaUQ7cUJBQ3pEO3dHQUlELE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtUYWdNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS10YWdzLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFkZi10YWctbm9kZS1saXN0IFtzaG93RGVsZXRlXT1cImZhbHNlXCIgW2xpbWl0VGFnc0Rpc3BsYXllZF09XCJ0cnVlXCIgW25vZGVJZF09XCJub2RlSWRcIiAocmVzdWx0cyk9XCJvblRhZ3NMb2FkZWQoKVwiPiA8L2FkZi10YWctbm9kZS1saXN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90YWdzLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhZGYtZGF0YXRhYmxlLWNvbnRlbnQtY2VsbCBhY2EtdGFncy1uYW1lLWNvbHVtbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUYWdzQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgY29udGV4dDogYW55O1xuXG4gIG5vZGVJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubm9kZUlkID0gdGhpcy5jb250ZXh0Py5yb3c/LmlkO1xuICB9XG5cbiAgb25UYWdzTG9hZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=
|
|
@@ -50,6 +50,7 @@ export class FilesComponent extends PageComponent {
|
|
|
50
50
|
this.queryParams = null;
|
|
51
51
|
this.showLoader$ = this.store.select(showLoaderSelector);
|
|
52
52
|
this.columns = [];
|
|
53
|
+
this.isFilterHeaderActive = false;
|
|
53
54
|
}
|
|
54
55
|
ngOnInit() {
|
|
55
56
|
super.ngOnInit();
|
|
@@ -259,10 +260,12 @@ export class FilesComponent extends PageComponent {
|
|
|
259
260
|
onFilterSelected(activeFilters) {
|
|
260
261
|
if (activeFilters.length) {
|
|
261
262
|
this.showHeader = ShowHeaderMode.Always;
|
|
263
|
+
this.isFilterHeaderActive = true;
|
|
262
264
|
this.navigateToFilter(activeFilters);
|
|
263
265
|
}
|
|
264
266
|
else {
|
|
265
267
|
this.router.navigate(['.'], { relativeTo: this.route });
|
|
268
|
+
this.isFilterHeaderActive = false;
|
|
266
269
|
this.showHeader = ShowHeaderMode.Data;
|
|
267
270
|
this.onAllFilterCleared();
|
|
268
271
|
}
|
|
@@ -281,17 +284,14 @@ export class FilesComponent extends PageComponent {
|
|
|
281
284
|
});
|
|
282
285
|
this.router.navigate([], { relativeTo: this.route, queryParams: objectFromMap });
|
|
283
286
|
}
|
|
284
|
-
isFilterHeaderActive() {
|
|
285
|
-
return this.showHeader === ShowHeaderMode.Always;
|
|
286
|
-
}
|
|
287
287
|
onError() {
|
|
288
288
|
this.isValidPath = false;
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
FilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FilesComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ContentApiService }, { token: i3.NodeActionsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
-
FilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: FilesComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" [maxItems]=\"isSmallScreen ? 1 : 0\" (navigate)=\"onBreadcrumbNavigate($event)\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-error>\n <aca-generic-error></aca-generic-error>\n </aca-page-layout-error>\n\n <aca-page-layout-content>\n <div class=\"main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'ASC']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (sorting-changed)=\"onSortingChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError()\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive
|
|
292
|
+
FilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: FilesComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" [maxItems]=\"isSmallScreen ? 1 : 0\" (navigate)=\"onBreadcrumbNavigate($event)\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-error>\n <aca-generic-error></aca-generic-error>\n </aca-page-layout-error>\n\n <aca-page-layout-content>\n <div class=\"main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'ASC']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (sorting-changed)=\"onSortingChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError()\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive\">\n <ng-container>\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_FILTER_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\"> </adf-pagination>\n </adf-upload-drag-area>\n </div>\n\n <mat-progress-spinner *ngIf=\"showLoader$ | async\"\n id=\"adf-document-list-loading\"\n class=\"adf-document-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "display", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection"] }, { kind: "component", type: i5.UploadDragAreaComponent, selector: "adf-upload-drag-area" }, { kind: "component", type: i5.BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: i7.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "directive", type: i7.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: i7.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey"] }, { kind: "component", type: i7.DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: i8.DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "directive", type: i2.ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable"], exportAs: ["acaContextActions"] }, { kind: "component", type: i2.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i2.PageLayoutErrorComponent, selector: "aca-page-layout-error" }, { kind: "component", type: i2.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i2.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "directive", type: i9.DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: i2.PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: i2.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i2.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["data", "type", "color", "actionRef"] }, { kind: "component", type: i2.GenericErrorComponent, selector: "aca-generic-error", inputs: ["text"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
|
|
293
293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FilesComponent, decorators: [{
|
|
294
294
|
type: Component,
|
|
295
|
-
args: [{ template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" [maxItems]=\"isSmallScreen ? 1 : 0\" (navigate)=\"onBreadcrumbNavigate($event)\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-error>\n <aca-generic-error></aca-generic-error>\n </aca-page-layout-error>\n\n <aca-page-layout-content>\n <div class=\"main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'ASC']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (sorting-changed)=\"onSortingChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError()\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive
|
|
295
|
+
args: [{ template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" [maxItems]=\"isSmallScreen ? 1 : 0\" (navigate)=\"onBreadcrumbNavigate($event)\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-error>\n <aca-generic-error></aca-generic-error>\n </aca-page-layout-error>\n\n <aca-page-layout-content>\n <div class=\"main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'ASC']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (sorting-changed)=\"onSortingChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError()\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive\">\n <ng-container>\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_FILTER_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\"> </adf-pagination>\n </adf-upload-drag-area>\n </div>\n\n <mat-progress-spinner *ngIf=\"showLoader$ | async\"\n id=\"adf-document-list-loading\"\n class=\"adf-document-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\">\n </mat-progress-spinner>\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n" }]
|
|
296
296
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ContentApiService }, { type: i3.NodeActionsService }]; } });
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2ZpbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBVy9DLFlBQW9CLEtBQXFCLEVBQVUsVUFBNkIsRUFBVSxrQkFBc0M7UUFDOUgsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVZoSSxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixZQUFPLEdBQUcsS0FBSyxDQUFD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Q3pCLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDN0MsSUFBSSxVQUFVLENBQUM7WUFDZixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hELFVBQVUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDekQ7aUJBQU07Z0JBQ0wsVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDM0I7WUFDRCxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzsyR0EzU1UsY0FBYzsrRkFBZCxjQUFjLDJFQ3RDM0IsbW5JQXFHQTsyRkQvRGEsY0FBYztrQkFIMUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBTaG93SGVhZGVyTW9kZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1pbmltYWxOb2RlRW50aXR5LCBNaW5pbWFsTm9kZUVudHJ5RW50aXR5LCBQYXRoRWxlbWVudCwgUGF0aEVsZW1lbnRFbnRpdHkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVBY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnRBcGlTZXJ2aWNlLCBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgU2V0Q3VycmVudEZvbGRlckFjdGlvbiwgaXNBZG1pbiwgVXBsb2FkRmlsZVZlcnNpb25BY3Rpb24sIHNob3dMb2FkZXJTZWxlY3RvciB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmlsdGVyU2VhcmNoLCBTaGFyZURhdGFSb3csIEZpbGVVcGxvYWRFdmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEb2N1bWVudExpc3RQcmVzZXRSZWYgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlc0NvbXBvbmVudCBleHRlbmRzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGlzVmFsaWRQYXRoID0gdHJ1ZTtcbiAgaXNBZG1pbiA9IGZhbHNlO1xuICBzZWxlY3RlZE5vZGU6IE1pbmltYWxOb2RlRW50aXR5O1xuICBxdWVyeVBhcmFtcyA9IG51bGw7XG5cbiAgc2hvd0xvYWRlciQgPSB0aGlzLnN0b3JlLnNlbGVjdChzaG93TG9hZGVyU2VsZWN0b3IpO1xuICBwcml2YXRlIG5vZGVQYXRoOiBQYXRoRWxlbWVudFtdO1xuXG4gIGNvbHVtbnM6IERvY3VtZW50TGlzdFByZXNldFJlZltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgY29udGVudEFwaTogQ29udGVudEFwaVNlcnZpY2UsIHByaXZhdGUgbm9kZUFjdGlvbnNTZXJ2aWNlOiBOb2RlQWN0aW9uc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdDtcblxuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xuXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZSgocXVlcnlNYXA6IFBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHF1ZXJ5TWFwLnBhcmFtcztcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgoeyBmb2xkZXJJZCB9OiBQYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IG5vZGVJZCA9IGZvbGRlcklkIHx8IGRhdGEuZGVmYXVsdE5vZGVJZDtcblxuICAgICAgdGhpcy5jb250ZW50QXBpLmdldE5vZGUobm9kZUlkKS5zdWJzY3JpYmUoXG4gICAgICAgIChub2RlKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1ZhbGlkUGF0aCA9IHRydWU7XG5cbiAgICAgICAgICBpZiAobm9kZS5lbnRyeSAmJiBub2RlLmVudHJ5LmlzRm9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnROb2RlKG5vZGUuZW50cnkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wZXJzb25hbC1maWxlcycsIG5vZGUuZW50cnkucGFyZW50SWRdLCB7XG4gICAgICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4gKHRoaXMuaXNWYWxpZFBhdGggPSBmYWxzZSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB0aGlzLnN1YnNjcmlwdGlvbnMuY29uY2F0KFtcbiAgICAgIHRoaXMubm9kZUFjdGlvbnNTZXJ2aWNlLmNvbnRlbnRDb3BpZWQuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5vbkNvbnRlbnRDb3BpZWQobm9kZXMpKSxcbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkQ29tcGxldGUucGlwZShkZWJvdW5jZVRpbWUoMzAwKSkuc3Vic2NyaWJlKChmaWxlKSA9PiB0aGlzLm9uRmlsZVVwbG9hZGVkRXZlbnQoZmlsZSkpLFxuICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWREZWxldGVkLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpLnN1YnNjcmliZSgoZmlsZSkgPT4gdGhpcy5vbkZpbGVVcGxvYWRlZEV2ZW50KGZpbGUpKVxuICAgIF0pO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChpc0FkbWluKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmlzQWRtaW4gPSB2YWx1ZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5leHRlbnNpb25zLmRvY3VtZW50TGlzdFByZXNldHMuZmlsZXMgfHwgW107XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDdXJyZW50Rm9sZGVyQWN0aW9uKG51bGwpKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgbmF2aWdhdGUobm9kZUlkOiBzdHJpbmcgPSBudWxsKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdmb2xkZXJJZCcpO1xuICAgIGNvbnN0IHVybFdpdGhvdXRQYXJhbXMgPSBkZWNvZGVVUklDb21wb25lbnQodGhpcy5yb3V0ZXIudXJsKS5zcGxpdCgnPycpWzBdO1xuICAgIGNvbnN0IHVybFRvTmF2aWdhdGU6IHN0cmluZ1tdID0gdGhpcy5nZXRVcmxUb05hdmlnYXRlKHVybFdpdGhvdXRQYXJhbXMsIGN1cnJlbnROb2RlSWQsIG5vZGVJZCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsVG9OYXZpZ2F0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFVybFRvTmF2aWdhdGUoY3VycmVudFVSTDogc3RyaW5nLCBjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIG5leHROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gY3VycmVudE5vZGVJZCA/IHRoaXMuZ2V0TmV4dE5vZGVVcmxUb05hdmlnYXRlKGN1cnJlbnRVUkwsIGN1cnJlbnROb2RlSWQsIG5leHROb2RlSWQpIDogdGhpcy5hcHBlbmROZXh0Tm9kZUlkVG9VcmwoY3VycmVudFVSTCwgbmV4dE5vZGVJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5leHROb2RlVXJsVG9OYXZpZ2F0ZShjdXJyZW50VVJMOiBzdHJpbmcsIGN1cnJlbnROb2RlSWQ6IHN0cmluZywgbmV4dE5vZGVJZDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHVybFRvTmF2aWdhdGU6IHN0cmluZ1tdID1cbiAgICAgIG5leHROb2RlSWQgJiYgIXRoaXMuaXNSb290Tm9kZShuZXh0Tm9kZUlkKVxuICAgICAgICA/IHRoaXMucmVwbGFjZUN1cnJlbnROb2RlSWRXaXRoTmV4dE5vZGVJZChjdXJyZW50VVJMLCBjdXJyZW50Tm9kZUlkLCBuZXh0Tm9kZUlkKVxuICAgICAgICA6IHRoaXMucmVtb3ZlTm9kZUlkRnJvbVVybChjdXJyZW50VVJMLCBjdXJyZW50Tm9kZUlkKTtcbiAgICB1cmxUb05hdmlnYXRlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHVybFRvTmF2aWdhdGU7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VDdXJyZW50Tm9kZUlkV2l0aE5leHROb2RlSWQoY3VycmVudFVSTDogc3RyaW5nLCBjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIG5leHROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBuZXh0Tm9kZVVybFRvTmF2aWdhdGUgPSBjdXJyZW50VVJMLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgaW5kZXggPSBuZXh0Tm9kZVVybFRvTmF2aWdhdGUuaW5kZXhPZihjdXJyZW50Tm9kZUlkKTtcbiAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICBuZXh0Tm9kZVVybFRvTmF2aWdhdGVbaW5kZXhdID0gbmV4dE5vZGVJZDtcbiAgICB9XG4gICAgcmV0dXJuIG5leHROb2RlVXJsVG9OYXZpZ2F0ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTm9kZUlkRnJvbVVybChjdXJyZW50VVJMOiBzdHJpbmcsIGN1cnJlbnROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByb290VXJsOiBzdHJpbmdbXSA9IGN1cnJlbnRVUkwucmVwbGFjZShjdXJyZW50Tm9kZUlkLCAnJykuc3BsaXQoJy8nKTtcbiAgICByb290VXJsLnBvcCgpO1xuICAgIHJldHVybiByb290VXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmROZXh0Tm9kZUlkVG9VcmwoY3VycmVudFVSTDogc3RyaW5nLCBub2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBuYXZpZ2F0ZVRvTm9kZVVybCA9IGN1cnJlbnRVUkwuc3BsaXQoJy8nKTtcbiAgICBpZiAobm9kZUlkICYmICF0aGlzLmlzUm9vdE5vZGUobm9kZUlkKSkge1xuICAgICAgbmF2aWdhdGVUb05vZGVVcmwucHVzaChub2RlSWQpO1xuICAgIH1cbiAgICBuYXZpZ2F0ZVRvTm9kZVVybC5zaGlmdCgpO1xuICAgIHJldHVybiBuYXZpZ2F0ZVRvTm9kZVVybDtcbiAgfVxuXG4gIG9uVXBsb2FkTmV3VmVyc2lvbihldjogQ3VzdG9tRXZlbnQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGxvYWRGaWxlVmVyc2lvbkFjdGlvbihldikpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyhub2RlOiBNaW5pbWFsTm9kZUVudGl0eSkge1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgICAgIGNvbnN0IHsgaXNGb2xkZXIgfSA9IG5vZGUuZW50cnk7XG5cbiAgICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgICBsZXQgaWQ6IHN0cmluZztcblxuICAgICAgICBpZiAobm9kZS5lbnRyeS5ub2RlVHlwZSA9PT0gJ2FwcDpmb2xkZXJsaW5rJykge1xuICAgICAgICAgIGlkID0gbm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTpkZXN0aW5hdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlkID0gbm9kZS5lbnRyeS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0LnJlc2V0TmV3Rm9sZGVyUGFnaW5hdGlvbigpO1xuICAgICAgICB0aGlzLm5hdmlnYXRlKGlkKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNob3dQcmV2aWV3KG5vZGUsIHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVOb2RlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvKChldmVudCBhcyBDdXN0b21FdmVudCkuZGV0YWlsPy5ub2RlKTtcbiAgfVxuXG4gIG9uQnJlYWRjcnVtYk5hdmlnYXRlKHJvdXRlOiBQYXRoRWxlbWVudEVudGl0eSkge1xuICAgIHRoaXMuZG9jdW1lbnRMaXN0LnJlc2V0TmV3Rm9sZGVyUGFnaW5hdGlvbigpO1xuXG4gICAgLy8gdG9kbzogcmV2aWV3IHRoaXMgYXBwcm9hY2ggb25jZSA1LjIuMyBpcyBvdXRcbiAgICBpZiAodGhpcy5ub2RlUGF0aCAmJiB0aGlzLm5vZGVQYXRoLmxlbmd0aCA+IDIpIHtcbiAgICAgIGlmICh0aGlzLm5vZGVQYXRoWzFdLm5hbWUgPT09ICdTaXRlcycgJiYgdGhpcy5ub2RlUGF0aFsyXS5pZCA9PT0gcm91dGUuaWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodGhpcy5ub2RlUGF0aFszXS5pZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubmF2aWdhdGUocm91dGUuaWQpO1xuICB9XG5cbiAgb25GaWxlVXBsb2FkZWRFdmVudChldmVudDogRmlsZVVwbG9hZEV2ZW50KSB7XG4gICAgY29uc3Qgbm9kZTogTWluaW1hbE5vZGVFbnRpdHkgPSBldmVudC5maWxlLmRhdGE7XG5cbiAgICAvLyBjaGVjayByb290IGFuZCBjaGlsZCBub2Rlc1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkgJiYgbm9kZS5lbnRyeS5wYXJlbnRJZCA9PT0gdGhpcy5nZXRQYXJlbnROb2RlSWQoKSkge1xuICAgICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIHRoZSBjaGlsZCBub2RlcyB0byBzaG93IGRyb3BwZWQgZm9sZGVyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LmZpbGUub3B0aW9ucy5wYXJlbnRJZCA9PT0gdGhpcy5nZXRQYXJlbnROb2RlSWQoKSkge1xuICAgICAgdGhpcy5kaXNwbGF5Rm9sZGVyUGFyZW50KGV2ZW50LmZpbGUub3B0aW9ucy5wYXRoLCAwKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZmlsZS5vcHRpb25zLnBhcmVudElkKSB7XG4gICAgICBpZiAodGhpcy5ub2RlUGF0aCkge1xuICAgICAgICBjb25zdCBjb3JyZXNwb25kaW5nTm9kZVBhdGggPSB0aGlzLm5vZGVQYXRoLmZpbmQoKHBhdGhJdGVtKSA9PiBwYXRoSXRlbS5pZCA9PT0gZXZlbnQuZmlsZS5vcHRpb25zLnBhcmVudElkKTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgY3VycmVudCBmb2xkZXIgaGFzIHRoZSAndHJpZ2dlci11cGxvYWQtZm9sZGVyJyBhcyBvbmUgb2YgaXRzIHBhcmVudHNcbiAgICAgICAgaWYgKGNvcnJlc3BvbmRpbmdOb2RlUGF0aCkge1xuICAgICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdJbmRleCA9IHRoaXMubm9kZVBhdGgubGVuZ3RoIC0gdGhpcy5ub2RlUGF0aC5pbmRleE9mKGNvcnJlc3BvbmRpbmdOb2RlUGF0aCk7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5Rm9sZGVyUGFyZW50KGV2ZW50LmZpbGUub3B0aW9ucy5wYXRoLCBjb3JyZXNwb25kaW5nSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheUZvbGRlclBhcmVudChmaWxlUGF0aCA9ICcnLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyZW50TmFtZSA9IGZpbGVQYXRoLnNwbGl0KCcvJylbaW5kZXhdO1xuICAgIGNvbnN0IGN1cnJlbnRGb2xkZXJzRGlzcGxheWVkID0gKHRoaXMuZG9jdW1lbnRMaXN0LmRhdGEuZ2V0Um93cygpIGFzIFNoYXJlRGF0YVJvd1tdKSB8fCBbXTtcblxuICAgIGNvbnN0IGFscmVhZHlEaXNwbGF5ZWRQYXJlbnRGb2xkZXIgPSBjdXJyZW50Rm9sZGVyc0Rpc3BsYXllZC5maW5kKChyb3cpID0+IHJvdy5ub2RlLmVudHJ5LmlzRm9sZGVyICYmIHJvdy5ub2RlLmVudHJ5Lm5hbWUgPT09IHBhcmVudE5hbWUpO1xuXG4gICAgaWYgKGFscmVhZHlEaXNwbGF5ZWRQYXJlbnRGb2xkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICB9XG5cbiAgb25Db250ZW50Q29waWVkKG5vZGVzOiBNaW5pbWFsTm9kZUVudGl0eVtdKSB7XG4gICAgY29uc3QgbmV3Tm9kZSA9IG5vZGVzLmZpbmQoKG5vZGUpID0+IG5vZGUgJiYgbm9kZS5lbnRyeSAmJiBub2RlLmVudHJ5LnBhcmVudElkID09PSB0aGlzLmdldFBhcmVudE5vZGVJZCgpKTtcbiAgICBpZiAobmV3Tm9kZSkge1xuICAgICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRvZG86IHJldmlldyB0aGlzIGFwcHJvYWNoIG9uY2UgNS4yLjMgaXMgb3V0XG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ3VycmVudE5vZGUobm9kZTogTWluaW1hbE5vZGVFbnRyeUVudGl0eSkge1xuICAgIHRoaXMubm9kZVBhdGggPSBudWxsO1xuXG4gICAgaWYgKG5vZGUgJiYgbm9kZS5wYXRoICYmIG5vZGUucGF0aC5lbGVtZW50cykge1xuICAgICAgY29uc3QgZWxlbWVudHMgPSBub2RlLnBhdGguZWxlbWVudHM7XG5cbiAgICAgIHRoaXMubm9kZVBhdGggPSBlbGVtZW50cy5tYXAoKHBhdGhFbGVtZW50KSA9PiBPYmplY3QuYXNzaWduKHt9LCBwYXRoRWxlbWVudCkpO1xuXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBpZiAoZWxlbWVudHNbMV0ubmFtZSA9PT0gJ1VzZXIgSG9tZXMnKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmlzQWRtaW4pIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnNwbGljZSgwLCAyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudHNbMV0ubmFtZSA9PT0gJ1NpdGVzJykge1xuICAgICAgICAgIGF3YWl0IHRoaXMubm9ybWFsaXplU2l0ZVBhdGgobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEN1cnJlbnRGb2xkZXJBY3Rpb24obm9kZSkpO1xuICB9XG5cbiAgLy8gdG9kbzogcmV2aWV3IHRoaXMgYXBwcm9hY2ggb25jZSA1LjIuMyBpcyBvdXRcbiAgcHJpdmF0ZSBhc3luYyBub3JtYWxpemVTaXRlUGF0aChub2RlOiBNaW5pbWFsTm9kZUVudHJ5RW50aXR5KSB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBub2RlLnBhdGguZWxlbWVudHM7XG5cbiAgICAvLyByZW1vdmUgJ1NpdGVzJ1xuICAgIGVsZW1lbnRzLnNwbGljZSgxLCAxKTtcblxuICAgIGlmICh0aGlzLmlzU2l0ZUNvbnRhaW5lcihub2RlKSkge1xuICAgICAgLy8gcmVuYW1lICdkb2N1bWVudExpYnJhcnknIGVudHJ5IHRvIHRoZSB0YXJnZXQgc2l0ZSBkaXNwbGF5IG5hbWVcbiAgICAgIC8vIGNsaWNraW5nIG9uIHRoZSBicmVhZGNydW1iIGVudHJ5IGxvYWRzIHRoZSBzaXRlIGNvbnRlbnRcbiAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuZ2V0Tm9kZUluZm8obm9kZS5wYXJlbnRJZCkudG9Qcm9taXNlKCk7XG4gICAgICBub2RlLm5hbWUgPSBwYXJlbnROb2RlLnByb3BlcnRpZXNbJ2NtOnRpdGxlJ10gfHwgcGFyZW50Tm9kZS5uYW1lO1xuXG4gICAgICAvLyByZW1vdmUgdGhlIHNpdGUgZW50cnlcbiAgICAgIGVsZW1lbnRzLnNwbGljZSgxLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmVtb3ZlICdkb2N1bWVudExpYnJhcnknIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhdGhcbiAgICAgIGNvbnN0IGRvY0xpYiA9IGVsZW1lbnRzLmZpbmRJbmRleCgoZWwpID0+IGVsLm5hbWUgPT09ICdkb2N1bWVudExpYnJhcnknKTtcbiAgICAgIGlmIChkb2NMaWIgPiAtMSkge1xuICAgICAgICBjb25zdCBzaXRlRnJhZ21lbnQgPSBlbGVtZW50c1tkb2NMaWIgLSAxXTtcbiAgICAgICAgY29uc3Qgc2l0ZU5vZGUgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuZ2V0Tm9kZUluZm8oc2l0ZUZyYWdtZW50LmlkKS50b1Byb21pc2UoKTtcblxuICAgICAgICAvLyBhcHBseSBTaXRlIE5hbWUgdG8gdGhlIHBhcmVudCBmcmFnbWVudFxuICAgICAgICBzaXRlRnJhZ21lbnQubmFtZSA9IHNpdGVOb2RlLnByb3BlcnRpZXNbJ2NtOnRpdGxlJ10gfHwgc2l0ZU5vZGUubmFtZTtcbiAgICAgICAgZWxlbWVudHMuc3BsaWNlKGRvY0xpYiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNTaXRlQ29udGFpbmVyKG5vZGU6IE1pbmltYWxOb2RlRW50cnlFbnRpdHkpOiBib29sZWFuIHtcbiAgICBpZiAobm9kZSAmJiBub2RlLmFzcGVjdE5hbWVzICYmIG5vZGUuYXNwZWN0TmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIG5vZGUuYXNwZWN0TmFtZXMuaW5kZXhPZignc3Q6c2l0ZUNvbnRhaW5lcicpID49IDA7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzUm9vdE5vZGUobm9kZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5ub2RlICYmIHRoaXMubm9kZS5wYXRoICYmIHRoaXMubm9kZS5wYXRoLmVsZW1lbnRzICYmIHRoaXMubm9kZS5wYXRoLmVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUucGF0aC5lbGVtZW50c1swXS5pZCA9PT0gbm9kZUlkO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkZpbHRlclNlbGVjdGVkKGFjdGl2ZUZpbHRlcnM6IEZpbHRlclNlYXJjaFtdKSB7XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSBTaG93SGVhZGVyTW9kZS5BbHdheXM7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9GaWx0ZXIoYWN0aXZlRmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSBTaG93SGVhZGVyTW9kZS5EYXRhO1xuICAgICAgdGhpcy5vbkFsbEZpbHRlckNsZWFyZWQoKTtcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZVRvRmlsdGVyKGFjdGl2ZUZpbHRlcnM6IEZpbHRlclNlYXJjaFtdKSB7XG4gICAgY29uc3Qgb2JqZWN0RnJvbU1hcCA9IHt9O1xuICAgIGFjdGl2ZUZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBGaWx0ZXJTZWFyY2gpID0+IHtcbiAgICAgIGxldCBwYXJhbVZhbHVlO1xuICAgICAgaWYgKGZpbHRlci52YWx1ZSAmJiBmaWx0ZXIudmFsdWUuZnJvbSAmJiBmaWx0ZXIudmFsdWUudG8pIHtcbiAgICAgICAgcGFyYW1WYWx1ZSA9IGAke2ZpbHRlci52YWx1ZS5mcm9tfXx8JHtmaWx0ZXIudmFsdWUudG99YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtVmFsdWUgPSBmaWx0ZXIudmFsdWU7XG4gICAgICB9XG4gICAgICBvYmplY3RGcm9tTWFwW2ZpbHRlci5rZXldID0gcGFyYW1WYWx1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHF1ZXJ5UGFyYW1zOiBvYmplY3RGcm9tTWFwIH0pO1xuICB9XG5cbiAgaXNGaWx0ZXJIZWFkZXJBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0hlYWRlciA9PT0gU2hvd0hlYWRlck1vZGUuQWx3YXlzO1xuICB9XG5cbiAgb25FcnJvcigpIHtcbiAgICB0aGlzLmlzVmFsaWRQYXRoID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxhY2EtcGFnZS1sYXlvdXQgW2hhc0Vycm9yXT1cIiFpc1ZhbGlkUGF0aFwiPlxuICA8YWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cbiAgICA8YWRmLWJyZWFkY3J1bWIgW3Jvb3RdPVwidGl0bGVcIiBbZm9sZGVyTm9kZV09XCJub2RlXCIgW21heEl0ZW1zXT1cImlzU21hbGxTY3JlZW4gPyAxIDogMFwiIChuYXZpZ2F0ZSk9XCJvbkJyZWFkY3J1bWJOYXZpZ2F0ZSgkZXZlbnQpXCI+IDwvYWRmLWJyZWFkY3J1bWI+XG5cbiAgICA8YWRmLXRvb2xiYXIgY2xhc3M9XCJhZGYtdG9vbGJhci0taW5saW5lXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBhY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFjYS10b29sYmFyLWFjdGlvbiBbYWN0aW9uUmVmXT1cImVudHJ5XCI+PC9hY2EtdG9vbGJhci1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FkZi10b29sYmFyPlxuICA8L2FjYS1wYWdlLWxheW91dC1oZWFkZXI+XG5cbiAgPGFjYS1wYWdlLWxheW91dC1lcnJvcj5cbiAgICA8YWNhLWdlbmVyaWMtZXJyb3I+PC9hY2EtZ2VuZXJpYy1lcnJvcj5cbiAgPC9hY2EtcGFnZS1sYXlvdXQtZXJyb3I+XG5cbiAgPGFjYS1wYWdlLWxheW91dC1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIiAqbmdJZj1cIiEoc2hvd0xvYWRlciQgfCBhc3luYylcIj5cbiAgICAgIDxhZGYtdXBsb2FkLWRyYWctYXJlYSBbcm9vdEZvbGRlcklkXT1cIm5vZGU/LmlkXCIgW2Rpc2FibGVkXT1cIiFjYW5VcGxvYWRcIiAodXBkYXRlRmlsZVZlcnNpb24pPVwib25VcGxvYWROZXdWZXJzaW9uKCRldmVudClcIj5cbiAgICAgICAgPGFkZi1kb2N1bWVudC1saXN0XG4gICAgICAgICAgI2RvY3VtZW50TGlzdFxuICAgICAgICAgIGFjYURvY3VtZW50TGlzdFxuICAgICAgICAgIGFjYUNvbnRleHRBY3Rpb25zXG4gICAgICAgICAgW2Rpc3BsYXldPVwiZG9jdW1lbnREaXNwbGF5TW9kZSQgfCBhc3luY1wiXG4gICAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICAgICAgW211bHRpc2VsZWN0XT1cInRydWVcIlxuICAgICAgICAgIFtjdXJyZW50Rm9sZGVySWRdPVwibm9kZT8uaWRcIlxuICAgICAgICAgIFtsb2FkaW5nXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93SGVhZGVyXT1cInNob3dIZWFkZXJcIlxuICAgICAgICAgIFtub2RlXT1cIm5vZGVSZXN1bHRcIlxuICAgICAgICAgIFthbGxvd0Ryb3BGaWxlc109XCJ0cnVlXCJcbiAgICAgICAgICBbbmF2aWdhdGVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtzb3J0aW5nXT1cIlsnbmFtZScsICdBU0MnXVwiXG4gICAgICAgICAgW2ltYWdlUmVzb2x2ZXJdPVwiaW1hZ2VSZXNvbHZlclwiXG4gICAgICAgICAgW2hlYWRlckZpbHRlcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2ZpbHRlclZhbHVlXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAobm9kZS1kYmxjbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgKG5hbWUtY2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgICAgIChzb3J0aW5nLWNoYW5nZWQpPVwib25Tb3J0aW5nQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZmlsdGVyU2VsZWN0aW9uKT1cIm9uRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGF0YS1jb2x1bW5zPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlDb2x1bW5JZFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRlbXBsYXRlICYmICEoY29sdW1uLmRlc2t0b3BPbmx5ICYmIGlzU21hbGxTY3JlZW4pXCI+XG4gICAgICAgICAgICAgICAgPGRhdGEtY29sdW1uXG4gICAgICAgICAgICAgICAgICBba2V5XT1cImNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImNvbHVtbi50aXRsZVwiXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb2x1bW4udHlwZVwiXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImNvbHVtbi5mb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImNvbHVtbi5jbGFzc1wiXG4gICAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtzb3J0aW5nS2V5XT1cImNvbHVtbi5zb3J0aW5nS2V5IHx8IGNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi1keW5hbWljLWNvbHVtbiBbaWRdPVwiY29sdW1uLnRlbXBsYXRlXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPiA8L2FkZi1keW5hbWljLWNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4udGVtcGxhdGUgJiYgIShjb2x1bW4uZGVza3RvcE9ubHkgJiYgaXNTbWFsbFNjcmVlbilcIj5cbiAgICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW5cbiAgICAgICAgICAgICAgICAgIFtrZXldPVwiY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY29sdW1uLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiY29sdW1uLmZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgW3NvcnRpbmdLZXldPVwiY29sdW1uLnNvcnRpbmdLZXkgfHwgY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG5cbiAgICAgICAgICA8YWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlICpuZ0lmPVwiaXNGaWx0ZXJIZWFkZXJBY3RpdmUoKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXNlYXJjaF9fYmxvY2tcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImVtcHR5LXNlYXJjaF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuU0VBUkNILk5PX0ZJTFRFUl9SRVNVTFRTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2FkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgPC9hZGYtZG9jdW1lbnQtbGlzdD5cblxuICAgICAgICA8YWRmLXBhZ2luYXRpb24gYWNhUGFnaW5hdGlvbiBbdGFyZ2V0XT1cImRvY3VtZW50TGlzdFwiPiA8L2FkZi1wYWdpbmF0aW9uPlxuICAgICAgPC9hZGYtdXBsb2FkLWRyYWctYXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cInNob3dMb2FkZXIkIHwgYXN5bmNcIlxuICAgICAgaWQ9XCJhZGYtZG9jdW1lbnQtbGlzdC1sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWRmLWRvY3VtZW50LWxpc3QtbG9hZGluZy1tYXJnaW5cIlxuICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIj5cbiAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjYS1zaWRlYmFyXCIgKm5nSWY9XCJpbmZvRHJhd2VyT3BlbmVkJCB8IGFzeW5jXCI+XG4gICAgICA8YWNhLWluZm8tZHJhd2VyIFtub2RlXT1cInNlbGVjdGlvbi5sYXN0XCI+PC9hY2EtaW5mby1kcmF3ZXI+XG4gICAgPC9kaXY+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG48L2FjYS1wYWdlLWxheW91dD5cbiJdfQ==
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2ZpbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9maWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBWS9DLFlBQW9CLEtBQXFCLEVBQVUsVUFBNkIsRUFBVSxrQkFBc0M7UUFDOUgsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVhoSSxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixZQUFPLEdBQUcsS0FBSyxDQUFD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QUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUE2QjtRQUM1QyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDekIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUM3QyxJQUFJLFVBQVUsQ0FBQztZQUNmLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDeEQsVUFBVSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUMzQjtZQUNELGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzsyR0ExU1UsY0FBYzsrRkFBZCxjQUFjLDJFQ3RDM0IsaW5JQXFHQTsyRkQvRGEsY0FBYztrQkFIMUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBTaG93SGVhZGVyTW9kZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1pbmltYWxOb2RlRW50aXR5LCBNaW5pbWFsTm9kZUVudHJ5RW50aXR5LCBQYXRoRWxlbWVudCwgUGF0aEVsZW1lbnRFbnRpdHkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVBY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnRBcGlTZXJ2aWNlLCBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgU2V0Q3VycmVudEZvbGRlckFjdGlvbiwgaXNBZG1pbiwgVXBsb2FkRmlsZVZlcnNpb25BY3Rpb24sIHNob3dMb2FkZXJTZWxlY3RvciB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmlsdGVyU2VhcmNoLCBTaGFyZURhdGFSb3csIEZpbGVVcGxvYWRFdmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEb2N1bWVudExpc3RQcmVzZXRSZWYgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlc0NvbXBvbmVudCBleHRlbmRzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGlzVmFsaWRQYXRoID0gdHJ1ZTtcbiAgaXNBZG1pbiA9IGZhbHNlO1xuICBzZWxlY3RlZE5vZGU6IE1pbmltYWxOb2RlRW50aXR5O1xuICBxdWVyeVBhcmFtcyA9IG51bGw7XG5cbiAgc2hvd0xvYWRlciQgPSB0aGlzLnN0b3JlLnNlbGVjdChzaG93TG9hZGVyU2VsZWN0b3IpO1xuICBwcml2YXRlIG5vZGVQYXRoOiBQYXRoRWxlbWVudFtdO1xuXG4gIGNvbHVtbnM6IERvY3VtZW50TGlzdFByZXNldFJlZltdID0gW107XG4gIGlzRmlsdGVySGVhZGVyQWN0aXZlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgY29udGVudEFwaTogQ29udGVudEFwaVNlcnZpY2UsIHByaXZhdGUgbm9kZUFjdGlvbnNTZXJ2aWNlOiBOb2RlQWN0aW9uc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdDtcblxuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xuXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZSgocXVlcnlNYXA6IFBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHF1ZXJ5TWFwLnBhcmFtcztcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgoeyBmb2xkZXJJZCB9OiBQYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IG5vZGVJZCA9IGZvbGRlcklkIHx8IGRhdGEuZGVmYXVsdE5vZGVJZDtcblxuICAgICAgdGhpcy5jb250ZW50QXBpLmdldE5vZGUobm9kZUlkKS5zdWJzY3JpYmUoXG4gICAgICAgIChub2RlKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1ZhbGlkUGF0aCA9IHRydWU7XG5cbiAgICAgICAgICBpZiAobm9kZS5lbnRyeSAmJiBub2RlLmVudHJ5LmlzRm9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnROb2RlKG5vZGUuZW50cnkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wZXJzb25hbC1maWxlcycsIG5vZGUuZW50cnkucGFyZW50SWRdLCB7XG4gICAgICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4gKHRoaXMuaXNWYWxpZFBhdGggPSBmYWxzZSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB0aGlzLnN1YnNjcmlwdGlvbnMuY29uY2F0KFtcbiAgICAgIHRoaXMubm9kZUFjdGlvbnNTZXJ2aWNlLmNvbnRlbnRDb3BpZWQuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5vbkNvbnRlbnRDb3BpZWQobm9kZXMpKSxcbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkQ29tcGxldGUucGlwZShkZWJvdW5jZVRpbWUoMzAwKSkuc3Vic2NyaWJlKChmaWxlKSA9PiB0aGlzLm9uRmlsZVVwbG9hZGVkRXZlbnQoZmlsZSkpLFxuICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWREZWxldGVkLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpLnN1YnNjcmliZSgoZmlsZSkgPT4gdGhpcy5vbkZpbGVVcGxvYWRlZEV2ZW50KGZpbGUpKVxuICAgIF0pO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChpc0FkbWluKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmlzQWRtaW4gPSB2YWx1ZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5leHRlbnNpb25zLmRvY3VtZW50TGlzdFByZXNldHMuZmlsZXMgfHwgW107XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDdXJyZW50Rm9sZGVyQWN0aW9uKG51bGwpKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgbmF2aWdhdGUobm9kZUlkOiBzdHJpbmcgPSBudWxsKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdmb2xkZXJJZCcpO1xuICAgIGNvbnN0IHVybFdpdGhvdXRQYXJhbXMgPSBkZWNvZGVVUklDb21wb25lbnQodGhpcy5yb3V0ZXIudXJsKS5zcGxpdCgnPycpWzBdO1xuICAgIGNvbnN0IHVybFRvTmF2aWdhdGU6IHN0cmluZ1tdID0gdGhpcy5nZXRVcmxUb05hdmlnYXRlKHVybFdpdGhvdXRQYXJhbXMsIGN1cnJlbnROb2RlSWQsIG5vZGVJZCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsVG9OYXZpZ2F0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFVybFRvTmF2aWdhdGUoY3VycmVudFVSTDogc3RyaW5nLCBjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIG5leHROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gY3VycmVudE5vZGVJZCA/IHRoaXMuZ2V0TmV4dE5vZGVVcmxUb05hdmlnYXRlKGN1cnJlbnRVUkwsIGN1cnJlbnROb2RlSWQsIG5leHROb2RlSWQpIDogdGhpcy5hcHBlbmROZXh0Tm9kZUlkVG9VcmwoY3VycmVudFVSTCwgbmV4dE5vZGVJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5leHROb2RlVXJsVG9OYXZpZ2F0ZShjdXJyZW50VVJMOiBzdHJpbmcsIGN1cnJlbnROb2RlSWQ6IHN0cmluZywgbmV4dE5vZGVJZDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHVybFRvTmF2aWdhdGU6IHN0cmluZ1tdID1cbiAgICAgIG5leHROb2RlSWQgJiYgIXRoaXMuaXNSb290Tm9kZShuZXh0Tm9kZUlkKVxuICAgICAgICA/IHRoaXMucmVwbGFjZUN1cnJlbnROb2RlSWRXaXRoTmV4dE5vZGVJZChjdXJyZW50VVJMLCBjdXJyZW50Tm9kZUlkLCBuZXh0Tm9kZUlkKVxuICAgICAgICA6IHRoaXMucmVtb3ZlTm9kZUlkRnJvbVVybChjdXJyZW50VVJMLCBjdXJyZW50Tm9kZUlkKTtcbiAgICB1cmxUb05hdmlnYXRlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHVybFRvTmF2aWdhdGU7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VDdXJyZW50Tm9kZUlkV2l0aE5leHROb2RlSWQoY3VycmVudFVSTDogc3RyaW5nLCBjdXJyZW50Tm9kZUlkOiBzdHJpbmcsIG5leHROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBuZXh0Tm9kZVVybFRvTmF2aWdhdGUgPSBjdXJyZW50VVJMLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgaW5kZXggPSBuZXh0Tm9kZVVybFRvTmF2aWdhdGUuaW5kZXhPZihjdXJyZW50Tm9kZUlkKTtcbiAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICBuZXh0Tm9kZVVybFRvTmF2aWdhdGVbaW5kZXhdID0gbmV4dE5vZGVJZDtcbiAgICB9XG4gICAgcmV0dXJuIG5leHROb2RlVXJsVG9OYXZpZ2F0ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTm9kZUlkRnJvbVVybChjdXJyZW50VVJMOiBzdHJpbmcsIGN1cnJlbnROb2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByb290VXJsOiBzdHJpbmdbXSA9IGN1cnJlbnRVUkwucmVwbGFjZShjdXJyZW50Tm9kZUlkLCAnJykuc3BsaXQoJy8nKTtcbiAgICByb290VXJsLnBvcCgpO1xuICAgIHJldHVybiByb290VXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmROZXh0Tm9kZUlkVG9VcmwoY3VycmVudFVSTDogc3RyaW5nLCBub2RlSWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBuYXZpZ2F0ZVRvTm9kZVVybCA9IGN1cnJlbnRVUkwuc3BsaXQoJy8nKTtcbiAgICBpZiAobm9kZUlkICYmICF0aGlzLmlzUm9vdE5vZGUobm9kZUlkKSkge1xuICAgICAgbmF2aWdhdGVUb05vZGVVcmwucHVzaChub2RlSWQpO1xuICAgIH1cbiAgICBuYXZpZ2F0ZVRvTm9kZVVybC5zaGlmdCgpO1xuICAgIHJldHVybiBuYXZpZ2F0ZVRvTm9kZVVybDtcbiAgfVxuXG4gIG9uVXBsb2FkTmV3VmVyc2lvbihldjogQ3VzdG9tRXZlbnQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGxvYWRGaWxlVmVyc2lvbkFjdGlvbihldikpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyhub2RlOiBNaW5pbWFsTm9kZUVudGl0eSkge1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgICAgIGNvbnN0IHsgaXNGb2xkZXIgfSA9IG5vZGUuZW50cnk7XG5cbiAgICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgICBsZXQgaWQ6IHN0cmluZztcblxuICAgICAgICBpZiAobm9kZS5lbnRyeS5ub2RlVHlwZSA9PT0gJ2FwcDpmb2xkZXJsaW5rJykge1xuICAgICAgICAgIGlkID0gbm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTpkZXN0aW5hdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlkID0gbm9kZS5lbnRyeS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0LnJlc2V0TmV3Rm9sZGVyUGFnaW5hdGlvbigpO1xuICAgICAgICB0aGlzLm5hdmlnYXRlKGlkKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNob3dQcmV2aWV3KG5vZGUsIHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVOb2RlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvKChldmVudCBhcyBDdXN0b21FdmVudCkuZGV0YWlsPy5ub2RlKTtcbiAgfVxuXG4gIG9uQnJlYWRjcnVtYk5hdmlnYXRlKHJvdXRlOiBQYXRoRWxlbWVudEVudGl0eSkge1xuICAgIHRoaXMuZG9jdW1lbnRMaXN0LnJlc2V0TmV3Rm9sZGVyUGFnaW5hdGlvbigpO1xuXG4gICAgLy8gdG9kbzogcmV2aWV3IHRoaXMgYXBwcm9hY2ggb25jZSA1LjIuMyBpcyBvdXRcbiAgICBpZiAodGhpcy5ub2RlUGF0aCAmJiB0aGlzLm5vZGVQYXRoLmxlbmd0aCA+IDIpIHtcbiAgICAgIGlmICh0aGlzLm5vZGVQYXRoWzFdLm5hbWUgPT09ICdTaXRlcycgJiYgdGhpcy5ub2RlUGF0aFsyXS5pZCA9PT0gcm91dGUuaWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodGhpcy5ub2RlUGF0aFszXS5pZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubmF2aWdhdGUocm91dGUuaWQpO1xuICB9XG5cbiAgb25GaWxlVXBsb2FkZWRFdmVudChldmVudDogRmlsZVVwbG9hZEV2ZW50KSB7XG4gICAgY29uc3Qgbm9kZTogTWluaW1hbE5vZGVFbnRpdHkgPSBldmVudC5maWxlLmRhdGE7XG5cbiAgICAvLyBjaGVjayByb290IGFuZCBjaGlsZCBub2Rlc1xuICAgIGlmIChub2RlICYmIG5vZGUuZW50cnkgJiYgbm9kZS5lbnRyeS5wYXJlbnRJZCA9PT0gdGhpcy5nZXRQYXJlbnROb2RlSWQoKSkge1xuICAgICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIHRoZSBjaGlsZCBub2RlcyB0byBzaG93IGRyb3BwZWQgZm9sZGVyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LmZpbGUub3B0aW9ucy5wYXJlbnRJZCA9PT0gdGhpcy5nZXRQYXJlbnROb2RlSWQoKSkge1xuICAgICAgdGhpcy5kaXNwbGF5Rm9sZGVyUGFyZW50KGV2ZW50LmZpbGUub3B0aW9ucy5wYXRoLCAwKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZmlsZS5vcHRpb25zLnBhcmVudElkKSB7XG4gICAgICBpZiAodGhpcy5ub2RlUGF0aCkge1xuICAgICAgICBjb25zdCBjb3JyZXNwb25kaW5nTm9kZVBhdGggPSB0aGlzLm5vZGVQYXRoLmZpbmQoKHBhdGhJdGVtKSA9PiBwYXRoSXRlbS5pZCA9PT0gZXZlbnQuZmlsZS5vcHRpb25zLnBhcmVudElkKTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgY3VycmVudCBmb2xkZXIgaGFzIHRoZSAndHJpZ2dlci11cGxvYWQtZm9sZGVyJyBhcyBvbmUgb2YgaXRzIHBhcmVudHNcbiAgICAgICAgaWYgKGNvcnJlc3BvbmRpbmdOb2RlUGF0aCkge1xuICAgICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdJbmRleCA9IHRoaXMubm9kZVBhdGgubGVuZ3RoIC0gdGhpcy5ub2RlUGF0aC5pbmRleE9mKGNvcnJlc3BvbmRpbmdOb2RlUGF0aCk7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5Rm9sZGVyUGFyZW50KGV2ZW50LmZpbGUub3B0aW9ucy5wYXRoLCBjb3JyZXNwb25kaW5nSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheUZvbGRlclBhcmVudChmaWxlUGF0aCA9ICcnLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyZW50TmFtZSA9IGZpbGVQYXRoLnNwbGl0KCcvJylbaW5kZXhdO1xuICAgIGNvbnN0IGN1cnJlbnRGb2xkZXJzRGlzcGxheWVkID0gKHRoaXMuZG9jdW1lbnRMaXN0LmRhdGEuZ2V0Um93cygpIGFzIFNoYXJlRGF0YVJvd1tdKSB8fCBbXTtcblxuICAgIGNvbnN0IGFscmVhZHlEaXNwbGF5ZWRQYXJlbnRGb2xkZXIgPSBjdXJyZW50Rm9sZGVyc0Rpc3BsYXllZC5maW5kKChyb3cpID0+IHJvdy5ub2RlLmVudHJ5LmlzRm9sZGVyICYmIHJvdy5ub2RlLmVudHJ5Lm5hbWUgPT09IHBhcmVudE5hbWUpO1xuXG4gICAgaWYgKGFscmVhZHlEaXNwbGF5ZWRQYXJlbnRGb2xkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICB9XG5cbiAgb25Db250ZW50Q29waWVkKG5vZGVzOiBNaW5pbWFsTm9kZUVudGl0eVtdKSB7XG4gICAgY29uc3QgbmV3Tm9kZSA9IG5vZGVzLmZpbmQoKG5vZGUpID0+IG5vZGUgJiYgbm9kZS5lbnRyeSAmJiBub2RlLmVudHJ5LnBhcmVudElkID09PSB0aGlzLmdldFBhcmVudE5vZGVJZCgpKTtcbiAgICBpZiAobmV3Tm9kZSkge1xuICAgICAgdGhpcy5yZWxvYWQodGhpcy5zZWxlY3RlZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRvZG86IHJldmlldyB0aGlzIGFwcHJvYWNoIG9uY2UgNS4yLjMgaXMgb3V0XG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ3VycmVudE5vZGUobm9kZTogTWluaW1hbE5vZGVFbnRyeUVudGl0eSkge1xuICAgIHRoaXMubm9kZVBhdGggPSBudWxsO1xuXG4gICAgaWYgKG5vZGUgJiYgbm9kZS5wYXRoICYmIG5vZGUucGF0aC5lbGVtZW50cykge1xuICAgICAgY29uc3QgZWxlbWVudHMgPSBub2RlLnBhdGguZWxlbWVudHM7XG5cbiAgICAgIHRoaXMubm9kZVBhdGggPSBlbGVtZW50cy5tYXAoKHBhdGhFbGVtZW50KSA9PiBPYmplY3QuYXNzaWduKHt9LCBwYXRoRWxlbWVudCkpO1xuXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBpZiAoZWxlbWVudHNbMV0ubmFtZSA9PT0gJ1VzZXIgSG9tZXMnKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmlzQWRtaW4pIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnNwbGljZSgwLCAyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudHNbMV0ubmFtZSA9PT0gJ1NpdGVzJykge1xuICAgICAgICAgIGF3YWl0IHRoaXMubm9ybWFsaXplU2l0ZVBhdGgobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEN1cnJlbnRGb2xkZXJBY3Rpb24obm9kZSkpO1xuICB9XG5cbiAgLy8gdG9kbzogcmV2aWV3IHRoaXMgYXBwcm9hY2ggb25jZSA1LjIuMyBpcyBvdXRcbiAgcHJpdmF0ZSBhc3luYyBub3JtYWxpemVTaXRlUGF0aChub2RlOiBNaW5pbWFsTm9kZUVudHJ5RW50aXR5KSB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBub2RlLnBhdGguZWxlbWVudHM7XG5cbiAgICAvLyByZW1vdmUgJ1NpdGVzJ1xuICAgIGVsZW1lbnRzLnNwbGljZSgxLCAxKTtcblxuICAgIGlmICh0aGlzLmlzU2l0ZUNvbnRhaW5lcihub2RlKSkge1xuICAgICAgLy8gcmVuYW1lICdkb2N1bWVudExpYnJhcnknIGVudHJ5IHRvIHRoZSB0YXJnZXQgc2l0ZSBkaXNwbGF5IG5hbWVcbiAgICAgIC8vIGNsaWNraW5nIG9uIHRoZSBicmVhZGNydW1iIGVudHJ5IGxvYWRzIHRoZSBzaXRlIGNvbnRlbnRcbiAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuZ2V0Tm9kZUluZm8obm9kZS5wYXJlbnRJZCkudG9Qcm9taXNlKCk7XG4gICAgICBub2RlLm5hbWUgPSBwYXJlbnROb2RlLnByb3BlcnRpZXNbJ2NtOnRpdGxlJ10gfHwgcGFyZW50Tm9kZS5uYW1lO1xuXG4gICAgICAvLyByZW1vdmUgdGhlIHNpdGUgZW50cnlcbiAgICAgIGVsZW1lbnRzLnNwbGljZSgxLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmVtb3ZlICdkb2N1bWVudExpYnJhcnknIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhdGhcbiAgICAgIGNvbnN0IGRvY0xpYiA9IGVsZW1lbnRzLmZpbmRJbmRleCgoZWwpID0+IGVsLm5hbWUgPT09ICdkb2N1bWVudExpYnJhcnknKTtcbiAgICAgIGlmIChkb2NMaWIgPiAtMSkge1xuICAgICAgICBjb25zdCBzaXRlRnJhZ21lbnQgPSBlbGVtZW50c1tkb2NMaWIgLSAxXTtcbiAgICAgICAgY29uc3Qgc2l0ZU5vZGUgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuZ2V0Tm9kZUluZm8oc2l0ZUZyYWdtZW50LmlkKS50b1Byb21pc2UoKTtcblxuICAgICAgICAvLyBhcHBseSBTaXRlIE5hbWUgdG8gdGhlIHBhcmVudCBmcmFnbWVudFxuICAgICAgICBzaXRlRnJhZ21lbnQubmFtZSA9IHNpdGVOb2RlLnByb3BlcnRpZXNbJ2NtOnRpdGxlJ10gfHwgc2l0ZU5vZGUubmFtZTtcbiAgICAgICAgZWxlbWVudHMuc3BsaWNlKGRvY0xpYiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNTaXRlQ29udGFpbmVyKG5vZGU6IE1pbmltYWxOb2RlRW50cnlFbnRpdHkpOiBib29sZWFuIHtcbiAgICBpZiAobm9kZSAmJiBub2RlLmFzcGVjdE5hbWVzICYmIG5vZGUuYXNwZWN0TmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIG5vZGUuYXNwZWN0TmFtZXMuaW5kZXhPZignc3Q6c2l0ZUNvbnRhaW5lcicpID49IDA7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzUm9vdE5vZGUobm9kZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5ub2RlICYmIHRoaXMubm9kZS5wYXRoICYmIHRoaXMubm9kZS5wYXRoLmVsZW1lbnRzICYmIHRoaXMubm9kZS5wYXRoLmVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUucGF0aC5lbGVtZW50c1swXS5pZCA9PT0gbm9kZUlkO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkZpbHRlclNlbGVjdGVkKGFjdGl2ZUZpbHRlcnM6IEZpbHRlclNlYXJjaFtdKSB7XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSBTaG93SGVhZGVyTW9kZS5BbHdheXM7XG4gICAgICB0aGlzLmlzRmlsdGVySGVhZGVyQWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMubmF2aWdhdGVUb0ZpbHRlcihhY3RpdmVGaWx0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgIHRoaXMuaXNGaWx0ZXJIZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd0hlYWRlciA9IFNob3dIZWFkZXJNb2RlLkRhdGE7XG4gICAgICB0aGlzLm9uQWxsRmlsdGVyQ2xlYXJlZCgpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlVG9GaWx0ZXIoYWN0aXZlRmlsdGVyczogRmlsdGVyU2VhcmNoW10pIHtcbiAgICBjb25zdCBvYmplY3RGcm9tTWFwID0ge307XG4gICAgYWN0aXZlRmlsdGVycy5mb3JFYWNoKChmaWx0ZXI6IEZpbHRlclNlYXJjaCkgPT4ge1xuICAgICAgbGV0IHBhcmFtVmFsdWU7XG4gICAgICBpZiAoZmlsdGVyLnZhbHVlICYmIGZpbHRlci52YWx1ZS5mcm9tICYmIGZpbHRlci52YWx1ZS50bykge1xuICAgICAgICBwYXJhbVZhbHVlID0gYCR7ZmlsdGVyLnZhbHVlLmZyb219fHwke2ZpbHRlci52YWx1ZS50b31gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1WYWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICAgIH1cbiAgICAgIG9iamVjdEZyb21NYXBbZmlsdGVyLmtleV0gPSBwYXJhbVZhbHVlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgcXVlcnlQYXJhbXM6IG9iamVjdEZyb21NYXAgfSk7XG4gIH1cblxuICBvbkVycm9yKCkge1xuICAgIHRoaXMuaXNWYWxpZFBhdGggPSBmYWxzZTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dCBbaGFzRXJyb3JdPVwiIWlzVmFsaWRQYXRoXCI+XG4gIDxhY2EtcGFnZS1sYXlvdXQtaGVhZGVyPlxuICAgIDxhZGYtYnJlYWRjcnVtYiBbcm9vdF09XCJ0aXRsZVwiIFtmb2xkZXJOb2RlXT1cIm5vZGVcIiBbbWF4SXRlbXNdPVwiaXNTbWFsbFNjcmVlbiA/IDEgOiAwXCIgKG5hdmlnYXRlKT1cIm9uQnJlYWRjcnVtYk5hdmlnYXRlKCRldmVudClcIj4gPC9hZGYtYnJlYWRjcnVtYj5cblxuICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi10b29sYmFyLS1pbmxpbmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25JZFwiPlxuICAgICAgICA8YWNhLXRvb2xiYXItYWN0aW9uIFthY3Rpb25SZWZdPVwiZW50cnlcIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXRvb2xiYXI+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cblxuICA8YWNhLXBhZ2UtbGF5b3V0LWVycm9yPlxuICAgIDxhY2EtZ2VuZXJpYy1lcnJvcj48L2FjYS1nZW5lcmljLWVycm9yPlxuICA8L2FjYS1wYWdlLWxheW91dC1lcnJvcj5cblxuICA8YWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiICpuZ0lmPVwiIShzaG93TG9hZGVyJCB8IGFzeW5jKVwiPlxuICAgICAgPGFkZi11cGxvYWQtZHJhZy1hcmVhIFtyb290Rm9sZGVySWRdPVwibm9kZT8uaWRcIiBbZGlzYWJsZWRdPVwiIWNhblVwbG9hZFwiICh1cGRhdGVGaWxlVmVyc2lvbik9XCJvblVwbG9hZE5ld1ZlcnNpb24oJGV2ZW50KVwiPlxuICAgICAgICA8YWRmLWRvY3VtZW50LWxpc3RcbiAgICAgICAgICAjZG9jdW1lbnRMaXN0XG4gICAgICAgICAgYWNhRG9jdW1lbnRMaXN0XG4gICAgICAgICAgYWNhQ29udGV4dEFjdGlvbnNcbiAgICAgICAgICBbZGlzcGxheV09XCJkb2N1bWVudERpc3BsYXlNb2RlJCB8IGFzeW5jXCJcbiAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgW2N1cnJlbnRGb2xkZXJJZF09XCJub2RlPy5pZFwiXG4gICAgICAgICAgW2xvYWRpbmddPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dIZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gICAgICAgICAgW25vZGVdPVwibm9kZVJlc3VsdFwiXG4gICAgICAgICAgW2FsbG93RHJvcEZpbGVzXT1cInRydWVcIlxuICAgICAgICAgIFtuYXZpZ2F0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgW3NvcnRpbmddPVwiWyduYW1lJywgJ0FTQyddXCJcbiAgICAgICAgICBbaW1hZ2VSZXNvbHZlcl09XCJpbWFnZVJlc29sdmVyXCJcbiAgICAgICAgICBbaGVhZGVyRmlsdGVyc109XCJ0cnVlXCJcbiAgICAgICAgICBbZmlsdGVyVmFsdWVdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICAgIChub2RlLWRibGNsaWNrKT1cImhhbmRsZU5vZGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAobmFtZS1jbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgKHNvcnRpbmctY2hhbmdlZCk9XCJvblNvcnRpbmdDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChmaWx0ZXJTZWxlY3Rpb24pPVwib25GaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZXJyb3IpPVwib25FcnJvcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkYXRhLWNvbHVtbnM+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUNvbHVtbklkXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGVtcGxhdGUgJiYgIShjb2x1bW4uZGVza3RvcE9ubHkgJiYgaXNTbWFsbFNjcmVlbilcIj5cbiAgICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW5cbiAgICAgICAgICAgICAgICAgIFtrZXldPVwiY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY29sdW1uLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiY29sdW1uLmZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgW3NvcnRpbmdLZXldPVwiY29sdW1uLnNvcnRpbmdLZXkgfHwgY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWR5bmFtaWMtY29sdW1uIFtpZF09XCJjb2x1bW4udGVtcGxhdGVcIiBbY29udGV4dF09XCJjb250ZXh0XCI+IDwvYWRmLWR5bmFtaWMtY29sdW1uPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbi50ZW1wbGF0ZSAmJiAhKGNvbHVtbi5kZXNrdG9wT25seSAmJiBpc1NtYWxsU2NyZWVuKVwiPlxuICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtblxuICAgICAgICAgICAgICAgICAgW2tleV09XCJjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29sdW1uLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJjb2x1bW4uZm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW4uY2xhc3NcIlxuICAgICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgICBbc29ydGluZ0tleV09XCJjb2x1bW4uc29ydGluZ0tleSB8fCBjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2RhdGEtY29sdW1ucz5cblxuICAgICAgICAgIDxhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGUgKm5nSWY9XCJpc0ZpbHRlckhlYWRlckFjdGl2ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXNlYXJjaF9fYmxvY2tcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImVtcHR5LXNlYXJjaF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuU0VBUkNILk5PX0ZJTFRFUl9SRVNVTFRTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2FkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgPC9hZGYtZG9jdW1lbnQtbGlzdD5cblxuICAgICAgICA8YWRmLXBhZ2luYXRpb24gYWNhUGFnaW5hdGlvbiBbdGFyZ2V0XT1cImRvY3VtZW50TGlzdFwiPiA8L2FkZi1wYWdpbmF0aW9uPlxuICAgICAgPC9hZGYtdXBsb2FkLWRyYWctYXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cInNob3dMb2FkZXIkIHwgYXN5bmNcIlxuICAgICAgaWQ9XCJhZGYtZG9jdW1lbnQtbGlzdC1sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWRmLWRvY3VtZW50LWxpc3QtbG9hZGluZy1tYXJnaW5cIlxuICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIj5cbiAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjYS1zaWRlYmFyXCIgKm5nSWY9XCJpbmZvRHJhd2VyT3BlbmVkJCB8IGFzeW5jXCI+XG4gICAgICA8YWNhLWluZm8tZHJhd2VyIFtub2RlXT1cInNlbGVjdGlvbi5sYXN0XCI+PC9hY2EtaW5mby1kcmF3ZXI+XG4gICAgPC9kaXY+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG48L2FjYS1wYWdlLWxheW91dD5cbiJdfQ==
|
|
@@ -33,15 +33,15 @@ import * as i3 from "@alfresco/adf-content-services";
|
|
|
33
33
|
export class CommentsTabComponent {
|
|
34
34
|
constructor(permission) {
|
|
35
35
|
this.permission = permission;
|
|
36
|
+
this.canUpdateNode = false;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
ngOnInit() {
|
|
38
39
|
if (!this.node) {
|
|
39
|
-
|
|
40
|
+
this.canUpdateNode = false;
|
|
40
41
|
}
|
|
41
42
|
if (this.node.isFolder || (this.node.isFile && !isLocked({ entry: this.node }))) {
|
|
42
|
-
|
|
43
|
+
this.canUpdateNode = this.permission.check(this.node, ['update']);
|
|
43
44
|
}
|
|
44
|
-
return false;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
CommentsTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CommentsTabComponent, deps: [{ token: i1.NodePermissionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
57
57
|
}], ctorParameters: function () { return [{ type: i1.NodePermissionService }]; }, propDecorators: { node: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9jb21tZW50cy10YWIvY29tbWVudHMtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBUXBFLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsVUFBaUM7UUFBakMsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFGckQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFFa0MsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM1QjtRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQy9FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDOztpSEFmVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixzR0FGckIsOEdBQThHLDJEQUY5RyxhQUFhLG9IQUFFLGtCQUFrQjsyRkFJaEMsb0JBQW9CO2tCQU5oQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7b0JBQzVDLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSw4R0FBOEc7aUJBQ3pIOzRHQUdDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYWxOb2RlRW50cnlFbnRpdHkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVQZXJtaXNzaW9uU2VydmljZSwgaXNMb2NrZWQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBOb2RlQ29tbWVudHNNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdENhcmRNb2R1bGUsIE5vZGVDb21tZW50c01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYXBwLWNvbW1lbnRzLXRhYicsXG4gIHRlbXBsYXRlOiBgPG1hdC1jYXJkPjxhZGYtbm9kZS1jb21tZW50cyBbcmVhZE9ubHldPVwiIWNhblVwZGF0ZU5vZGVcIiBbbm9kZUlkXT1cIm5vZGU/LmlkXCI+PC9hZGYtbm9kZS1jb21tZW50cz48L21hdC1jYXJkPmBcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWVudHNUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBub2RlOiBNaW5pbWFsTm9kZUVudHJ5RW50aXR5O1xuXG4gIGNhblVwZGF0ZU5vZGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcm1pc3Npb246IE5vZGVQZXJtaXNzaW9uU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubm9kZSkge1xuICAgICAgdGhpcy5jYW5VcGRhdGVOb2RlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLm5vZGUuaXNGb2xkZXIgfHwgKHRoaXMubm9kZS5pc0ZpbGUgJiYgIWlzTG9ja2VkKHsgZW50cnk6IHRoaXMubm9kZSB9KSkpIHtcbiAgICAgIHRoaXMuY2FuVXBkYXRlTm9kZSA9IHRoaXMucGVybWlzc2lvbi5jaGVjayh0aGlzLm5vZGUsIFsndXBkYXRlJ10pO1xuICAgIH1cbiAgfVxufVxuIl19
|