@pepperi/lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.
187 lines • 23.5 kB
JavaScript
import { Component, Inject, ViewEncapsulation, Injectable } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogConfig } from '@angular/material/dialog';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@pepperi/lib";
import * as i3 from "@angular/cdk/overlay";
import * as i4 from "@angular/common";
import * as i5 from "@angular/material/button";
import * as i6 from "@angular/material/icon";
import * as i7 from "@pepperi/lib/icon";
import * as i8 from "@ngx-translate/core";
function PepperiDefaultDialogComponent_h2_0_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 9);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r4 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(ctx_r4.data == null ? null : ctx_r4.data.title);
} }
function PepperiDefaultDialogComponent_h2_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "h2", 5);
i0.ɵɵtemplate(1, PepperiDefaultDialogComponent_h2_0_span_1_Template, 2, 1, "span", 6);
i0.ɵɵelementStart(2, "button", 7);
i0.ɵɵelementStart(3, "mat-icon");
i0.ɵɵelement(4, "pep-icon", 8);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r0.data == null ? null : ctx_r0.data.title == null ? null : ctx_r0.data.title.length);
i0.ɵɵadvance(1);
i0.ɵɵproperty("mat-dialog-close", null);
} }
function PepperiDefaultDialogComponent_span_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "span", 10);
i0.ɵɵpipe(1, "safeHtml");
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(1, 1, ctx_r1.data == null ? null : ctx_r1.data.content), i0.ɵɵsanitizeHtml);
} }
function PepperiDefaultDialogComponent_textarea_3_Template(rf, ctx) { if (rf & 1) {
const _r6 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "textarea", 11);
i0.ɵɵlistener("blur", function PepperiDefaultDialogComponent_textarea_3_Template_textarea_blur_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.updateContent($event); });
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r2 = i0.ɵɵnextContext();
i0.ɵɵproperty("readonly", ctx_r2.data == null ? null : ctx_r2.data.contentData == null ? null : ctx_r2.data.contentData.disabled)("name", ctx_r2.data == null ? null : ctx_r2.data.contentData == null ? null : ctx_r2.data.contentData.key);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(ctx_r2.data == null ? null : ctx_r2.data.content);
} }
function PepperiDefaultDialogComponent_div_4_Template(rf, ctx) { if (rf & 1) {
const _r8 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 12);
i0.ɵɵelementStart(1, "div", 13);
i0.ɵɵelementStart(2, "button", 14);
i0.ɵɵlistener("click", function PepperiDefaultDialogComponent_div_4_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.save(); });
i0.ɵɵtext(3);
i0.ɵɵpipe(4, "translate");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(5, "button", 15);
i0.ɵɵtext(6);
i0.ɵɵpipe(7, "translate");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(3);
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "Save"), " ");
i0.ɵɵadvance(2);
i0.ɵɵproperty("mat-dialog-close", null);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 5, "Cancel"), " ");
} }
export var DialogDataType;
(function (DialogDataType) {
DialogDataType[DialogDataType["Text"] = 0] = "Text";
DialogDataType[DialogDataType["TextArea"] = 1] = "TextArea";
DialogDataType[DialogDataType["Html"] = 2] = "Html";
DialogDataType[DialogDataType["Iframe"] = 3] = "Iframe";
})(DialogDataType || (DialogDataType = {}));
export class DialogData {
constructor(options) {
this.title = '';
this.contentType = DialogDataType.Text;
this.showHeader = true;
this.showFooter = false;
this.title = options.title || '';
this.content = options.content || '';
this.contentType = options.contentType;
this.contentData = options.contentData || {};
this.showHeader = options.showHeader === undefined ? true : options.showHeader;
this.showFooter = options.showFooter === undefined ? true : options.showFooter;
// this.actionButtons = actionButtons;
// this.showLoadingSpinner = showLoadingSpinner;
}
}
export class DialogService {
constructor(dialog, layoutService, overlay) {
this.dialog = dialog;
this.layoutService = layoutService;
this.overlay = overlay;
}
getDialogConfig(options = {}) {
const dialogConfig = new MatDialogConfig();
dialogConfig.autoFocus = false;
dialogConfig.direction = this.layoutService.isRtl() ? 'rtl' : 'ltr';
dialogConfig.disableClose = options.disableClose || false;
dialogConfig.height = options.height || 'auto';
dialogConfig.maxWidth = options.maxWidth || '100vw';
dialogConfig.maxHeight = options.maxHeight || '100vh';
dialogConfig.minWidth = options.minWidth || '0';
dialogConfig.panelClass = ['pepperi-dialog', options.panelClass || ''];
dialogConfig.scrollStrategy = this.overlay.scrollStrategies.noop();
return dialogConfig;
}
openDefaultDialog(data, config = null) {
if (!config) {
config = this.getDialogConfig();
}
config.data = data;
const dialogRef = this.dialog.open(PepperiDefaultDialogComponent, config);
return dialogRef;
}
openDialog(componentOrTemplateRef, data = {}, config = null) {
if (!config) {
config = this.getDialogConfig();
}
config.data = data;
const dialogRef = this.dialog.open(componentOrTemplateRef, config);
return dialogRef;
}
}
DialogService.ɵfac = function DialogService_Factory(t) { return new (t || DialogService)(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.LayoutService), i0.ɵɵinject(i3.Overlay)); };
DialogService.ɵprov = i0.ɵɵdefineInjectable({ token: DialogService, factory: DialogService.ɵfac, providedIn: 'root' });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(DialogService, [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], function () { return [{ type: i1.MatDialog }, { type: i2.LayoutService }, { type: i3.Overlay }]; }, null); })();
export class PepperiDefaultDialogComponent {
constructor(data, dialogRef) {
this.data = data;
this.dialogRef = dialogRef;
this.DialogDataType = DialogDataType;
}
save() {
this.dialogRef.close(this.data ? this.data.content : '');
}
updateContent(e) {
this.data.content = e.target ? e.target.value : (e.currentTarget ? e.currentTarget.value : '');
}
}
PepperiDefaultDialogComponent.ɵfac = function PepperiDefaultDialogComponent_Factory(t) { return new (t || PepperiDefaultDialogComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
PepperiDefaultDialogComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PepperiDefaultDialogComponent, selectors: [["ng-component"]], decls: 5, vars: 4, consts: [["mat-dialog-title", "", "class", "pepperi-border-bottom", 4, "ngIf"], ["mat-dialog-content", ""], [3, "innerHtml", 4, "ngIf"], [3, "readonly", "name", "blur", 4, "ngIf"], ["mat-dialog-actions", "", "class", "pepperi-border-top", 4, "ngIf"], ["mat-dialog-title", "", 1, "pepperi-border-bottom"], ["class", "pull-left flip", 4, "ngIf"], ["mat-button", "", 1, "pepperi-button", "icon-button", "md", "weak", "pull-right", "flip", 3, "mat-dialog-close"], ["name", "system_close"], [1, "pull-left", "flip"], [3, "innerHtml"], [3, "readonly", "name", "blur"], ["mat-dialog-actions", "", 1, "pepperi-border-top"], [1, "spacing-element-negative"], ["mat-button", "", 1, "spacing-element", "pepperi-button", "md", "strong", "pull-right", "flip", 3, "click"], ["mat-button", "", 1, "spacing-element", "pepperi-button", "md", "weak", "pull-right", "flip", 3, "mat-dialog-close"]], template: function PepperiDefaultDialogComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, PepperiDefaultDialogComponent_h2_0_Template, 5, 2, "h2", 0);
i0.ɵɵelementStart(1, "div", 1);
i0.ɵɵtemplate(2, PepperiDefaultDialogComponent_span_2_Template, 2, 3, "span", 2);
i0.ɵɵtemplate(3, PepperiDefaultDialogComponent_textarea_3_Template, 2, 3, "textarea", 3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(4, PepperiDefaultDialogComponent_div_4_Template, 8, 7, "div", 4);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", ctx.data == null ? null : ctx.data.showHeader);
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngIf", (ctx.data == null ? null : ctx.data.contentType) === ctx.DialogDataType.Text || (ctx.data == null ? null : ctx.data.contentType) === ctx.DialogDataType.Html);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", (ctx.data == null ? null : ctx.data.contentType) === ctx.DialogDataType.TextArea);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.data == null ? null : ctx.data.showFooter);
} }, directives: [i4.NgIf, i1.MatDialogContent, i1.MatDialogTitle, i5.MatButton, i1.MatDialogClose, i6.MatIcon, i7.PepperiIconComponent, i1.MatDialogActions], pipes: [i2.SafeHtmlPipe, i8.TranslatePipe], styles: [".mat-dialog-content{padding:0!important}.mat-dialog-content span{padding:var(--pep-spacing-md,.75rem) 0;width:100%}.mat-dialog-content textarea{border:none;height:13rem;padding:var(--pep-spacing-lg,1rem) var(--pep-spacing-sm,.5rem);resize:none;width:25rem}.mat-dialog-content textarea:focus{outline:none}"], encapsulation: 2 });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PepperiDefaultDialogComponent, [{
type: Component,
args: [{
templateUrl: './dialog.component.html',
styleUrls: ['./dialog.component.scss'],
encapsulation: ViewEncapsulation.None
}]
}], function () { return [{ type: DialogData, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }, { type: i1.MatDialogRef }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BlcHBlcmktbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVwcGVyaS1saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7O0lDQWpHLCtCQUF5RDtJQUFBLFlBQWlCO0lBQUEsaUJBQU87OztJQUF4QixlQUFpQjtJQUFqQixvRUFBaUI7OztJQUQ5RSw2QkFDSTtJQUFBLHFGQUF5RDtJQUN6RCxpQ0FDSTtJQUFBLGdDQUNJO0lBQUEsOEJBQ1c7SUFDZixpQkFBVztJQUNmLGlCQUFTO0lBQ2IsaUJBQUs7OztJQVA0QixlQUEyQjtJQUEzQiwrR0FBMkI7SUFDckMsZUFBeUI7SUFBekIsdUNBQXlCOzs7SUFRNUMsMkJBQ2tEOzs7O0lBQTlDLHFIQUFzQzs7OztJQUMxQyxvQ0FDb0U7SUFBaEMscU5BQStCO0lBQUMsWUFBbUI7SUFBQSxpQkFBVzs7O0lBRGxDLGlJQUF3QywyR0FBQTtJQUNwQyxlQUFtQjtJQUFuQixzRUFBbUI7Ozs7SUFFM0YsK0JBQ0k7SUFBQSwrQkFDSTtJQUFBLGtDQUNJO0lBRGdGLDJMQUFnQjtJQUNoRyxZQUNKOztJQUFBLGlCQUFTO0lBQ1Qsa0NBQ0k7SUFBQSxZQUNKOztJQUFBLGlCQUFTO0lBQ2IsaUJBQU07SUFDVixpQkFBTTs7SUFOTSxlQUNKO0lBREksNkRBQ0o7SUFDbUIsZUFBeUI7SUFBekIsdUNBQXlCO0lBQ3hDLGVBQ0o7SUFESSwrREFDSjs7QURqQlIsTUFBTSxD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OzBHQWRRLDZCQUE2Qix1QkFJMUIsZUFBZTtrRUFKbEIsNkJBQTZCO1FDOUcxQyw0RUFDSTtRQVFKLDhCQUNJO1FBQUEsZ0ZBQzJDO1FBQzNDLHdGQUNvRTtRQUN4RSxpQkFBTTtRQUNOLDhFQUNJOztRQWhCaUIsb0VBQXdCO1FBVW5DLGVBQThGO1FBQTlGLG1MQUE4RjtRQUUxRixlQUFxRDtRQUFyRCx1R0FBcUQ7UUFHM0MsZUFBd0I7UUFBeEIsb0VBQXdCOztrREQrRm5DLDZCQUE2QjtjQUx6QyxTQUFTO2VBQUM7Z0JBQ1AsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDO3NDQUs2QyxVQUFVO3NCQUEvQyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24sIEluamVjdGFibGUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmLCBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS9saWInO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuZXhwb3J0IGVudW0gRGlhbG9nRGF0YVR5cGUge1xyXG4gICAgVGV4dCxcclxuICAgIFRleHRBcmVhLFxyXG4gICAgSHRtbCxcclxuICAgIElmcmFtZVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRGlhbG9nRGF0YSB7XHJcbiAgICB0aXRsZSA9ICcnO1xyXG4gICAgY29udGVudDogYW55O1xyXG4gICAgY29udGVudFR5cGU6IERpYWxvZ0RhdGFUeXBlID0gRGlhbG9nRGF0YVR5cGUuVGV4dDtcclxuICAgIGNvbnRlbnREYXRhPzogYW55O1xyXG4gICAgc2hvd0hlYWRlciA9IHRydWU7XHJcbiAgICBzaG93Rm9vdGVyID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICB0aXRsZT86IHN0cmluZyxcclxuICAgICAgICAgICAgY29udGVudD86IGFueSxcclxuICAgICAgICAgICAgY29udGVudFR5cGU6IERpYWxvZ0RhdGFUeXBlLFxyXG4gICAgICAgICAgICBjb250ZW50RGF0YT86IGFueSxcclxuICAgICAgICAgICAgc2hvd0hlYWRlcj86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgIHNob3dGb290ZXI/OiBib29sZWFuXHJcbiAgICAgICAgfVxyXG4gICAgKSB7XHJcblxyXG4gICAgICAgIHRoaXMudGl0bGUgPSBvcHRpb25zLnRpdGxlIHx8ICcnO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IG9wdGlvbnMuY29udGVudCB8fCAnJztcclxuICAgICAgICB0aGlzLmNvbnRlbnRUeXBlID0gb3B0aW9ucy5jb250ZW50VHlwZTtcclxuICAgICAgICB0aGlzLmNvbnRlbnREYXRhID0gb3B0aW9ucy5jb250ZW50RGF0YSB8fCB7fTtcclxuICAgICAgICB0aGlzLnNob3dIZWFkZXIgPSBvcHRpb25zLnNob3dIZWFkZXIgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRpb25zLnNob3dIZWFkZXI7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gb3B0aW9ucy5zaG93Rm9vdGVyID09PSB1bmRlZmluZWQgPyB0cnVlIDogb3B0aW9ucy5zaG93Rm9vdGVyO1xyXG4gICAgICAgIC8vIHRoaXMuYWN0aW9uQnV0dG9ucyA9IGFjdGlvbkJ1dHRvbnM7XHJcbiAgICAgICAgLy8gdGhpcy5zaG93TG9hZGluZ1NwaW5uZXIgPSBzaG93TG9hZGluZ1NwaW5uZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7IH1cclxuXHJcbiAgICBnZXREaWFsb2dDb25maWcoXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICBoZWlnaHQ/OiBzdHJpbmcsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZT86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgIG1pbldpZHRoPzogc3RyaW5nLFxyXG4gICAgICAgICAgICBtYXhXaWR0aD86IHN0cmluZyxcclxuICAgICAgICAgICAgbWF4SGVpZ2h0Pzogc3RyaW5nLFxyXG4gICAgICAgICAgICBwYW5lbENsYXNzPzogc3RyaW5nLFxyXG4gICAgICAgIH0gPSB7fVxyXG4gICAgKTogTWF0RGlhbG9nQ29uZmlnIHtcclxuXHJcbiAgICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuICAgICAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gZmFsc2U7XHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLmRpcmVjdGlvbiA9IHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpID8gJ3J0bCcgOiAnbHRyJztcclxuICAgICAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gb3B0aW9ucy5kaXNhYmxlQ2xvc2UgfHwgZmFsc2U7XHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9IG9wdGlvbnMuaGVpZ2h0IHx8ICdhdXRvJztcclxuICAgICAgICBkaWFsb2dDb25maWcubWF4V2lkdGggPSBvcHRpb25zLm1heFdpZHRoIHx8ICcxMDB2dyc7XHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLm1heEhlaWdodCA9IG9wdGlvbnMubWF4SGVpZ2h0IHx8ICcxMDB2aCc7XHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLm1pbldpZHRoID0gb3B0aW9ucy5taW5XaWR0aCB8fCAnMCc7XHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSBbJ3BlcHBlcmktZGlhbG9nJywgb3B0aW9ucy5wYW5lbENsYXNzIHx8ICcnXTtcclxuXHJcbiAgICAgICAgZGlhbG9nQ29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGlhbG9nQ29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5EZWZhdWx0RGlhbG9nKGRhdGE6IERpYWxvZ0RhdGEsIGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gbnVsbCk6IE1hdERpYWxvZ1JlZjxhbnk+IHtcclxuICAgICAgICBpZiAoIWNvbmZpZykge1xyXG4gICAgICAgICAgICBjb25maWcgPSB0aGlzLmdldERpYWxvZ0NvbmZpZygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uZmlnLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oUGVwcGVyaURlZmF1bHREaWFsb2dDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuRGlhbG9nPFQ+KFxyXG4gICAgICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcclxuICAgICAgICBkYXRhOiBhbnkgPSB7fSxcclxuICAgICAgICBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IG51bGwpOiBNYXREaWFsb2dSZWY8VD4ge1xyXG5cclxuICAgICAgICBpZiAoIWNvbmZpZykge1xyXG4gICAgICAgICAgICBjb25maWcgPSB0aGlzLmdldERpYWxvZ0NvbmZpZygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uZmlnLmRhdGEgPSBkYXRhO1xyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIGNvbmZpZyk7XHJcbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVwcGVyaURlZmF1bHREaWFsb2dDb21wb25lbnQge1xyXG4gICAgRGlhbG9nRGF0YVR5cGUgPSBEaWFsb2dEYXRhVHlwZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IERpYWxvZ0RhdGEsXHJcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGFueT5cclxuICAgICkgeyB9XHJcblxyXG4gICAgc2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLmRhdGEgPyB0aGlzLmRhdGEuY29udGVudCA6ICcnKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDb250ZW50KGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRhdGEuY29udGVudCA9IGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiAoZS5jdXJyZW50VGFyZ2V0ID8gZS5jdXJyZW50VGFyZ2V0LnZhbHVlIDogJycpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cImRhdGE/LnNob3dIZWFkZXJcIiBjbGFzcz1cInBlcHBlcmktYm9yZGVyLWJvdHRvbVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwdWxsLWxlZnQgZmxpcFwiICpuZ0lmPVwiZGF0YT8udGl0bGU/Lmxlbmd0aFwiPnt7IGRhdGE/LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIiBjbGFzcz1cInBlcHBlcmktYnV0dG9uIGljb24tYnV0dG9uIG1kIHdlYWsgcHVsbC1yaWdodCBmbGlwXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPlxyXG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9jbG9zZVwiPlxyXG4gICAgICAgICAgICA8L3BlcC1pY29uPlxyXG4gICAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9oMj5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8c3BhbiAqbmdJZj1cImRhdGE/LmNvbnRlbnRUeXBlID09PSBEaWFsb2dEYXRhVHlwZS5UZXh0IHx8IGRhdGE/LmNvbnRlbnRUeXBlID09PSBEaWFsb2dEYXRhVHlwZS5IdG1sXCJcclxuICAgICAgICBbaW5uZXJIdG1sXT1cImRhdGE/LmNvbnRlbnQgfCBzYWZlSHRtbFwiPjwvc3Bhbj5cclxuICAgIDx0ZXh0YXJlYSAqbmdJZj1cImRhdGE/LmNvbnRlbnRUeXBlID09PSBEaWFsb2dEYXRhVHlwZS5UZXh0QXJlYVwiIFtyZWFkb25seV09XCJkYXRhPy5jb250ZW50RGF0YT8uZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuYW1lXT1cImRhdGE/LmNvbnRlbnREYXRhPy5rZXlcIiAoYmx1cik9XCJ1cGRhdGVDb250ZW50KCRldmVudCk7XCI+e3sgZGF0YT8uY29udGVudCB9fTwvdGV4dGFyZWE+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyAqbmdJZj1cImRhdGE/LnNob3dGb290ZXJcIiBjbGFzcz1cInBlcHBlcmktYm9yZGVyLXRvcFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZVwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInNwYWNpbmctZWxlbWVudCBwZXBwZXJpLWJ1dHRvbiBtZCBzdHJvbmcgcHVsbC1yaWdodCBmbGlwXCIgKGNsaWNrKT1cInNhdmUoKVwiPlxyXG4gICAgICAgICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiIGNsYXNzPVwic3BhY2luZy1lbGVtZW50IHBlcHBlcmktYnV0dG9uIG1kIHdlYWsgcHVsbC1yaWdodCBmbGlwXCI+XHJcbiAgICAgICAgICAgIHt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==