UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

163 lines 15 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ChangeDetectionStrategy, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { E5ConfigurationService as e5Config } from 'e5core-angular-services'; import { E5coreUiWorkAttachmentsMaterialComponent } from './component/e5core-ui-work-attachments-material.component'; import { UiStyleService } from '../../services/ui-style.service'; // <e5core-ui-work-attachments-box *ngSwitchCase='0' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes'></e5core-ui-work-attachments-box> // <e5core-ui-work-attachments-bootstrap *ngSwitchCase='1' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes'></e5core-ui-work-attachments-bootstrap> var E5coreUiWorkAttachmentsComponent = /** @class */ (function () { function E5coreUiWorkAttachmentsComponent(style, config, changeDetectorRef) { this.style = style; this.config = config; this.changeDetectorRef = changeDetectorRef; this.attachmentDownloadEvent = new EventEmitter(); this.attachmentSelectEvent = new EventEmitter(); this.downloadUrl = ''; } /** * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (typeof this.workItem$ == 'undefined') { console.error('e5core-ui-work-attachments [workItem$] must have a BehaviorSubject<WorkItemModel>'); return; } if (typeof this.workItem$ != 'undefined') { this.workItem$.subscribe(function (w) { _this.updateData(); }); } if (typeof this.fileUpload$ != 'undefined') { this.fileUpload$.subscribe(function (w) { _this.updateData(); }); } }; /** * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { }; /** * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.refresh = /** * @return {?} */ function () { this.workAttachmentsMaterialComponent.refresh(); }; /** * @param {?} event * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.onAttachmentDownload = /** * @param {?} event * @return {?} */ function (event) { var _this = this; /** @type {?} */ var baseUrl = this.config.settings.apiServer.baseUrl; /** @type {?} */ var scope = this.config.settings.apiServer.scope; /** @type {?} */ var w = this.workItem$.getValue(); this.downloadUrl = baseUrl + "/" + scope + "/api/ui/Attachment/Download/" + w.workId + "/" + event.element.Id; this.changeDetectorRef.detectChanges(); setTimeout(function () { _this.downloadUrl = ""; }, 200); this.attachmentDownloadEvent.emit(event); }; /** * @param {?} viewerDisplayEvent * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.onAttachmentSelect = /** * @param {?} viewerDisplayEvent * @return {?} */ function (viewerDisplayEvent) { this.attachmentSelectEvent.emit(viewerDisplayEvent); }; /** * @private * @return {?} */ E5coreUiWorkAttachmentsComponent.prototype.updateData = /** * @private * @return {?} */ function () { }; E5coreUiWorkAttachmentsComponent.decorators = [ { type: Component, args: [{ selector: 'e5core-ui-work-attachments', template: "\n <span *ngIf=\"workItem$\" [ngSwitch]=\"style.current()\">\n <e5core-ui-work-attachments-material *ngSwitchCase='2' [workItem$]='workItem$' [readonly]='readonly' [pagesizes]='pagesizes' (attachmentDownloadEvent)='onAttachmentDownload($event)' (attachmentSelectEvent)='onAttachmentSelect($event)' ></e5core-ui-work-attachments-material>\n </span>\n <div *ngIf=\"!(workItem$)\" class=\"e5core-component-error\">&lt;e5core-ui-work-attachments&gt; [workItem$] must have a BehaviorSubject&lt;WorkItemModel&gt;</div>\n <iframe width=\"0\" height=\"0\" *ngIf=\"!(downloadUrl == '')\" [src]=\"downloadUrl | safe\" style=\"width:0;height:0;border:0; border:none; position: absolute;\"></iframe>", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ E5coreUiWorkAttachmentsComponent.ctorParameters = function () { return [ { type: UiStyleService }, { type: e5Config }, { type: ChangeDetectorRef } ]; }; E5coreUiWorkAttachmentsComponent.propDecorators = { workItem$: [{ type: Input }], fileUpload$: [{ type: Input }], readonly: [{ type: Input }], pagesizes: [{ type: Input }], attachmentDownloadEvent: [{ type: Output }], attachmentSelectEvent: [{ type: Output }], workAttachmentsMaterialComponent: [{ type: ViewChild, args: [E5coreUiWorkAttachmentsMaterialComponent,] }] }; return E5coreUiWorkAttachmentsComponent; }()); export { E5coreUiWorkAttachmentsComponent }; if (false) { /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.workItem$; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.fileUpload$; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.readonly; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.pagesizes; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.attachmentDownloadEvent; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.attachmentSelectEvent; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.workId; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.downloadUrl; /** * @type {?} * @private */ E5coreUiWorkAttachmentsComponent.prototype.workAttachmentsMaterialComponent; /** @type {?} */ E5coreUiWorkAttachmentsComponent.prototype.style; /** * @type {?} * @private */ E5coreUiWorkAttachmentsComponent.prototype.config; /** * @type {?} * @private */ E5coreUiWorkAttachmentsComponent.prototype.changeDetectorRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQU1qRTtJQXdCRSwwQ0FDUyxLQUFvQixFQUNuQixNQUFnQixFQUNoQixpQkFBb0M7UUFGckMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYcEMsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUV6RSxnQkFBVyxHQUFTLEVBQUUsQ0FBQztJQVNuQixDQUFDOzs7O0lBRUwsbURBQVE7OztJQUFSO1FBQUEsaUJBcUJDO1FBcEJDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLFdBQVcsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLG1GQUFtRixDQUFDLENBQUM7WUFDbkcsT0FBUTtTQUNUO1FBRUQsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksV0FBVyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUN0QixVQUFBLENBQUM7Z0JBQ0MsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FDRixDQUFBO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3hCLFVBQUEsQ0FBQztnQkFDQyxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUNGLENBQUE7U0FDRjtJQUNILENBQUM7Ozs7SUFFRCwwREFBZTs7O0lBQWY7SUFDQSxDQUFDOzs7O0lBRUQsa0RBQU87OztJQUFQO1FBQ0UsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xELENBQUM7Ozs7O0lBRUQsK0RBQW9COzs7O0lBQXBCLFVBQXFCLEtBQUs7UUFBMUIsaUJBV0M7O1lBVkssT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPOztZQUNoRCxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUs7O1lBRTVDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFNLE9BQU8sU0FBSSxLQUFLLG9DQUErQixDQUFDLENBQUMsTUFBTSxTQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBSSxDQUFDO1FBRXBHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxVQUFVLENBQUMsY0FBTSxLQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7O0lBRUQsNkRBQWtCOzs7O0lBQWxCLFVBQW1CLGtCQUFrQjtRQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7SUFFTyxxREFBVTs7OztJQUFsQjtJQUNBLENBQUM7O2dCQTlFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLHdyQkFLeUo7b0JBQ25LLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7OztnQkFmUSxjQUFjO2dCQUxZLFFBQVE7Z0JBRmlFLGlCQUFpQjs7OzRCQXlCMUgsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQ0FDTCxNQUFNO3dDQUNOLE1BQU07bURBSU4sU0FBUyxTQUFDLHdDQUF3Qzs7SUEwRHJELHVDQUFDO0NBQUEsQUEvRUQsSUErRUM7U0FyRVksZ0NBQWdDOzs7SUFFM0MscURBQW9EOztJQUNwRCx1REFBdUQ7O0lBQ3ZELG9EQUE2Qjs7SUFDN0IscURBQThCOztJQUM5QixtRUFBdUQ7O0lBQ3ZELGlFQUF5RTs7SUFDekUsa0RBQWlCOztJQUNqQix1REFBdUI7Ozs7O0lBRXZCLDRFQUNtRjs7SUFHakYsaURBQTJCOzs7OztJQUMzQixrREFBd0I7Ozs7O0lBQ3hCLDZEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEU1Q29uZmlndXJhdGlvblNlcnZpY2UgYXMgZTVDb25maWcgfSBmcm9tICdlNWNvcmUtYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXb3JrSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmstaXRlbSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQubW9kZWwnO1xuaW1wb3J0IHsgRTVjb3JlVWlXb3JrQXR0YWNobWVudHNNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLW1hdGVyaWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJEaXNwbGF5RXZlbnQgfSBmcm9tICcuLi8uLi9ldmVudHMvdmlld2VyLWRpc3BsYXktZXZlbnQnO1xuaW1wb3J0IHsgVWlTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91aS1zdHlsZS5zZXJ2aWNlJztcblxuLy8gPGU1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLWJveCAqbmdTd2l0Y2hDYXNlPScwJyBbd29ya0l0ZW0kXT0nd29ya0l0ZW0kJyBbcmVhZG9ubHldPSdyZWFkb25seScgW3BhZ2VzaXplc109J3BhZ2VzaXplcyc+PC9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1ib3g+XG4vLyA8ZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMtYm9vdHN0cmFwICpuZ1N3aXRjaENhc2U9JzEnIFt3b3JrSXRlbSRdPSd3b3JrSXRlbSQnIFtyZWFkb25seV09J3JlYWRvbmx5JyBbcGFnZXNpemVzXT0ncGFnZXNpemVzJz48L2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzLWJvb3RzdHJhcD5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlNWNvcmUtdWktd29yay1hdHRhY2htZW50cycsXG4gIHRlbXBsYXRlOiBgXG4gIDxzcGFuICpuZ0lmPVwid29ya0l0ZW0kXCIgW25nU3dpdGNoXT1cInN0eWxlLmN1cnJlbnQoKVwiPlxuICAgIDxlNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1tYXRlcmlhbCAqbmdTd2l0Y2hDYXNlPScyJyBbd29ya0l0ZW0kXT0nd29ya0l0ZW0kJyBbcmVhZG9ubHldPSdyZWFkb25seScgW3BhZ2VzaXplc109J3BhZ2VzaXplcycgKGF0dGFjaG1lbnREb3dubG9hZEV2ZW50KT0nb25BdHRhY2htZW50RG93bmxvYWQoJGV2ZW50KScgKGF0dGFjaG1lbnRTZWxlY3RFdmVudCk9J29uQXR0YWNobWVudFNlbGVjdCgkZXZlbnQpJyA+PC9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy1tYXRlcmlhbD5cbiAgPC9zcGFuPlxuICA8ZGl2ICpuZ0lmPVwiISh3b3JrSXRlbSQpXCIgY2xhc3M9XCJlNWNvcmUtY29tcG9uZW50LWVycm9yXCI+Jmx0O2U1Y29yZS11aS13b3JrLWF0dGFjaG1lbnRzJmd0OyBbd29ya0l0ZW0kXSBtdXN0IGhhdmUgYSBCZWhhdmlvclN1YmplY3QmbHQ7V29ya0l0ZW1Nb2RlbCZndDs8L2Rpdj5cbiAgPGlmcmFtZSB3aWR0aD1cIjBcIiBoZWlnaHQ9XCIwXCIgKm5nSWY9XCIhKGRvd25sb2FkVXJsID09ICcnKVwiIFtzcmNdPVwiZG93bmxvYWRVcmwgfCBzYWZlXCIgc3R5bGU9XCJ3aWR0aDowO2hlaWdodDowO2JvcmRlcjowOyBib3JkZXI6bm9uZTsgcG9zaXRpb246IGFic29sdXRlO1wiPjwvaWZyYW1lPmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEU1Y29yZVVpV29ya0F0dGFjaG1lbnRzQ29tcG9uZW50ICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgd29ya0l0ZW0kIDogQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+O1xuICBASW5wdXQoKSBmaWxlVXBsb2FkJDogQmVoYXZpb3JTdWJqZWN0PEZpbGVVcGxvYWRNb2RlbD47XG4gIEBJbnB1dCgpIHJlYWRvbmx5IDogYm9vbGVhbiA7XG4gIEBJbnB1dCgpIHBhZ2VzaXplcyA6IG51bWJlcltdOyAgXG4gIEBPdXRwdXQoKSBhdHRhY2htZW50RG93bmxvYWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGF0dGFjaG1lbnRTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRGlzcGxheUV2ZW50PigpO1xuICB3b3JrSWQgOiBzdHJpbmcgO1xuICBkb3dubG9hZFVybCA6IGFueSA9ICcnO1xuICBcbiAgQFZpZXdDaGlsZChFNWNvcmVVaVdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50KVxuICBwcml2YXRlIHdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50OiBFNWNvcmVVaVdvcmtBdHRhY2htZW50c01hdGVyaWFsQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdHlsZTpVaVN0eWxlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBjb25maWc6IGU1Q29uZmlnLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLndvcmtJdGVtJCA9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcignZTVjb3JlLXVpLXdvcmstYXR0YWNobWVudHMgW3dvcmtJdGVtJF0gbXVzdCBoYXZlIGEgQmVoYXZpb3JTdWJqZWN0PFdvcmtJdGVtTW9kZWw+Jyk7XG4gICAgICByZXR1cm4gO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdGhpcy53b3JrSXRlbSQgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMud29ya0l0ZW0kLnN1YnNjcmliZShcbiAgICAgICAgdyA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gICAgXG4gICAgaWYgKHR5cGVvZiB0aGlzLmZpbGVVcGxvYWQkICE9ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWQkLnN1YnNjcmliZShcbiAgICAgICAgdyA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cbiAgXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy53b3JrQXR0YWNobWVudHNNYXRlcmlhbENvbXBvbmVudC5yZWZyZXNoKCk7XG4gIH1cblxuICBvbkF0dGFjaG1lbnREb3dubG9hZChldmVudCkge1xuICAgIHZhciBiYXNlVXJsID0gdGhpcy5jb25maWcuc2V0dGluZ3MuYXBpU2VydmVyLmJhc2VVcmw7XG4gICAgdmFyIHNjb3BlID0gdGhpcy5jb25maWcuc2V0dGluZ3MuYXBpU2VydmVyLnNjb3BlO1xuXG4gICAgdmFyIHcgPSB0aGlzLndvcmtJdGVtJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuZG93bmxvYWRVcmwgPSBgJHtiYXNlVXJsfS8ke3Njb3BlfS9hcGkvdWkvQXR0YWNobWVudC9Eb3dubG9hZC8ke3cud29ya0lkfS8ke2V2ZW50LmVsZW1lbnQuSWR9YDtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHNldFRpbWVvdXQoKCk9PnsgdGhpcy5kb3dubG9hZFVybCA9IFwiXCI7IH0sIDIwMCk7XG4gICAgXG4gICAgdGhpcy5hdHRhY2htZW50RG93bmxvYWRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQXR0YWNobWVudFNlbGVjdCh2aWV3ZXJEaXNwbGF5RXZlbnQpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRTZWxlY3RFdmVudC5lbWl0KHZpZXdlckRpc3BsYXlFdmVudCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURhdGEoKTp2b2lkIHtcbiAgfVxufSJdfQ==