barsa-sap-ui 1.0.321 → 1.0.323
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/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +129 -11
- package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +11 -3
- package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +9 -4
- package/esm2020/lib/form-dialog/form-dialog.component.mjs +9 -4
- package/fesm2015/barsa-sap-ui.mjs +144 -14
- package/fesm2015/barsa-sap-ui.mjs.map +1 -1
- package/fesm2020/barsa-sap-ui.mjs +143 -14
- package/fesm2020/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.d.ts +56 -6
- package/lib/blob-viewer/blob-viewer.component.d.ts +3 -2
- package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +3 -1
- package/lib/form-dialog/form-dialog.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
2
|
+
import { FieldBaseComponent, DateService, getDateService, LogService, BarsaApi } from 'barsa-novin-ray-core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@fundamental-ngx/core/avatar";
|
|
6
6
|
import * as i3 from "@fundamental-ngx/core/link";
|
|
7
7
|
import * as i4 from "@fundamental-ngx/core/button";
|
|
8
8
|
import * as i5 from "@fundamental-ngx/core/card";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/
|
|
10
|
-
import * as i7 from "@fundamental-ngx/core/
|
|
11
|
-
import * as i8 from "@fundamental-ngx/core/
|
|
9
|
+
import * as i6 from "@fundamental-ngx/core/info-label";
|
|
10
|
+
import * as i7 from "@fundamental-ngx/core/list";
|
|
11
|
+
import * as i8 from "@fundamental-ngx/core/title";
|
|
12
|
+
import * as i9 from "@fundamental-ngx/core/message-strip";
|
|
13
|
+
import * as i10 from "@fundamental-ngx/core/object-identifier";
|
|
14
|
+
import * as i11 from "@fundamental-ngx/core/panel";
|
|
15
|
+
import * as i12 from "@fundamental-ngx/core/popover";
|
|
16
|
+
import * as i13 from "../file-viewer-popover/file-viewer-popover.component";
|
|
17
|
+
import * as i14 from "../download-files.directive";
|
|
18
|
+
import * as i15 from "barsa-novin-ray-core";
|
|
12
19
|
export class BarsaPishnamayeshPayamComponent extends FieldBaseComponent {
|
|
13
20
|
constructor() {
|
|
14
21
|
super(...arguments);
|
|
@@ -18,15 +25,126 @@ export class BarsaPishnamayeshPayamComponent extends FieldBaseComponent {
|
|
|
18
25
|
super.ngOnInit();
|
|
19
26
|
const mo = this.context.formControl.Mo;
|
|
20
27
|
const { $FieldDict } = mo;
|
|
21
|
-
this.data = mo[$FieldDict['محتوای پیام']];
|
|
22
|
-
this.data.$ContentHtml = this._domSanitizer.bypassSecurityTrustHtml(this.data.ContentHtml);
|
|
23
|
-
this.data.$SendDate = 'امروز 11:45';
|
|
28
|
+
this.data = new PayamClassType(mo[$FieldDict['محتوای پیام']], this._domSanitizer, this._dateService);
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
BarsaPishnamayeshPayamComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaPishnamayeshPayamComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
BarsaPishnamayeshPayamComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaPishnamayeshPayamComponent, selector: "bsu-barsa-pishnamayesh-payam",
|
|
32
|
+
BarsaPishnamayeshPayamComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaPishnamayeshPayamComponent, selector: "bsu-barsa-pishnamayesh-payam", providers: [
|
|
33
|
+
{
|
|
34
|
+
provide: DateService,
|
|
35
|
+
useFactory: getDateService,
|
|
36
|
+
deps: [LogService]
|
|
37
|
+
}
|
|
38
|
+
], usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">{{ 'Recievers' | bbbTranslate }}</button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let rec of toText\">\n <a fd-list-link>{{ rec }}</a>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n <fd-popover *ngIf=\"importance.icon\">\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n <fd-popover *ngIf=\"accessLevel.icon\">\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n <fd-info-label\n *ngIf=\"todo\"\n [label]=\"todo.text\"\n [color]=\"todo.color\"\n [title]=\"todo.text\"\n ></fd-info-label>\n </div>\n </div>\n <div fd-panel-content>\n <div *ngIf=\"customText\">\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n <div *ngIf=\"attachments?.length\" class=\"attachments\">\n <ng-container *ngFor=\"let file of attachments\">\n <bsu-file-viewer-popover\n *ngIf=\"!file.IsDeleted\"\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n </ng-container>\n <ng-container *ngIf=\"attachments.length > 1\">\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n </ng-container>\n </div>\n <div class=\"readAt\">\n <fd-object-identifier\n *ngIf=\"readDate\"\n [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\"\n >\n </fd-object-identifier>\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n <ng-contianer *ngFor=\"let detail of details\">\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.attachments{display:flex;flex-wrap:wrap;column-gap:5px;row-gap:5px}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]" }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i6.InfoLabelComponent, selector: "fd-info-label", inputs: ["class", "type", "glyph", "font", "color", "label", "title", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i8.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }, { kind: "component", type: i10.ObjectIdentifierComponent, selector: "fd-object-identifier", inputs: ["description", "bold", "medium"] }, { kind: "component", type: i11.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i11.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "directive", type: i11.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i12.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i12.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i12.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i13.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove"], outputs: ["remove"] }, { kind: "directive", type: i14.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaPishnamayeshPayamComponent, decorators: [{
|
|
29
40
|
type: Component,
|
|
30
|
-
args: [{ selector: 'bsu-barsa-pishnamayesh-payam', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
41
|
+
args: [{ selector: 'bsu-barsa-pishnamayesh-payam', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
42
|
+
{
|
|
43
|
+
provide: DateService,
|
|
44
|
+
useFactory: getDateService,
|
|
45
|
+
deps: [LogService]
|
|
46
|
+
}
|
|
47
|
+
], template: "<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">{{ 'Recievers' | bbbTranslate }}</button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let rec of toText\">\n <a fd-list-link>{{ rec }}</a>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n <fd-popover *ngIf=\"importance.icon\">\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n <fd-popover *ngIf=\"accessLevel.icon\">\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n <fd-info-label\n *ngIf=\"todo\"\n [label]=\"todo.text\"\n [color]=\"todo.color\"\n [title]=\"todo.text\"\n ></fd-info-label>\n </div>\n </div>\n <div fd-panel-content>\n <div *ngIf=\"customText\">\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n <div *ngIf=\"attachments?.length\" class=\"attachments\">\n <ng-container *ngFor=\"let file of attachments\">\n <bsu-file-viewer-popover\n *ngIf=\"!file.IsDeleted\"\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n </ng-container>\n <ng-container *ngIf=\"attachments.length > 1\">\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n </ng-container>\n </div>\n <div class=\"readAt\">\n <fd-object-identifier\n *ngIf=\"readDate\"\n [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\"\n >\n </fd-object-identifier>\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n <ng-contianer *ngFor=\"let detail of details\">\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.attachments{display:flex;flex-wrap:wrap;column-gap:5px;row-gap:5px}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"] }]
|
|
31
48
|
}] });
|
|
32
|
-
|
|
49
|
+
class PayamClassType {
|
|
50
|
+
constructor(payam, _domSanitizer, _dateService) {
|
|
51
|
+
this.payam = payam;
|
|
52
|
+
this._domSanitizer = _domSanitizer;
|
|
53
|
+
this._dateService = _dateService;
|
|
54
|
+
this.$content = this._domSanitizer.bypassSecurityTrustHtml(payam.ContentHtml);
|
|
55
|
+
this.$sendDate = this._getDateString(payam.SendDate);
|
|
56
|
+
this.$readDate = !payam.ReadDate ? '' : this._getDateString(payam.ReadDate);
|
|
57
|
+
this.$toText = payam.ToText.split(';');
|
|
58
|
+
this.$ccText = payam.CcText?.split(';');
|
|
59
|
+
this.$bccText = payam.BccText?.split(';');
|
|
60
|
+
this.$fromPhoto = BarsaApi.Common.Util.GetIconUrl(payam.FromPhoto, null, null, 64);
|
|
61
|
+
this.$details = payam.Details?.map((c) => new PayamClassType(c, _domSanitizer, _dateService));
|
|
62
|
+
this.$attachments = payam.Attachments?.map((c) => ({
|
|
63
|
+
Id: c.Id,
|
|
64
|
+
IsNew: false,
|
|
65
|
+
IsDeleted: false,
|
|
66
|
+
Type: c.Extension,
|
|
67
|
+
FileName: `${c.Name}.${c.Extension}`
|
|
68
|
+
}));
|
|
69
|
+
this.$importance = {
|
|
70
|
+
icon: this._iconImportance(payam.Importance),
|
|
71
|
+
text: this._textImportance(payam.Importance)
|
|
72
|
+
};
|
|
73
|
+
this.$accessLevel = {
|
|
74
|
+
icon: this._iconAccessLevel(payam.AccessLevel),
|
|
75
|
+
text: this._textAccessLevel(payam.AccessLevel)
|
|
76
|
+
};
|
|
77
|
+
if (payam.Todo?.DueDate) {
|
|
78
|
+
this.$todo = this._textTodo(payam.Todo);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
_textTodo(todo) {
|
|
82
|
+
if (!todo || !todo.DueDate) {
|
|
83
|
+
return { text: '', color: '10' };
|
|
84
|
+
}
|
|
85
|
+
let dueDateStr = '';
|
|
86
|
+
let doneDateStr = '';
|
|
87
|
+
if (BarsaApi.Ext.isString(todo.DueDate)) {
|
|
88
|
+
dueDateStr = this._getDateString(todo.DueDate);
|
|
89
|
+
}
|
|
90
|
+
if (todo.DoneDate) {
|
|
91
|
+
doneDateStr = this._getDateString(todo.DoneDate);
|
|
92
|
+
}
|
|
93
|
+
// eslint-disable-next-line no-eval
|
|
94
|
+
const dueDate = eval(todo.DueDate);
|
|
95
|
+
if (todo.State === 2) {
|
|
96
|
+
return { text: BarsaApi.BBB.Mail_TodoCompleted + ': ' + doneDateStr, color: '8' };
|
|
97
|
+
}
|
|
98
|
+
else if (new Date().getTime() < dueDate.getTime()) {
|
|
99
|
+
return { text: BarsaApi.BBB.Mail_TodoDueDate + ': ' + dueDateStr, color: '1' };
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return {
|
|
103
|
+
text: BarsaApi.BBB.Mail_TodoOverdue + ': ' + (doneDateStr ? doneDateStr : dueDateStr),
|
|
104
|
+
color: '2'
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
_textImportance(i) {
|
|
109
|
+
if (i) {
|
|
110
|
+
return BarsaApi.BBB['Mail_Importance' + i];
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
_textAccessLevel(i) {
|
|
115
|
+
if (i) {
|
|
116
|
+
return BarsaApi.BBB['Mail_Sensitivity' + i];
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
_iconImportance(i) {
|
|
121
|
+
if (i) {
|
|
122
|
+
return 'priority_' + i.toString() + '.png';
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
_iconAccessLevel(i) {
|
|
127
|
+
if (i) {
|
|
128
|
+
return 'lock_' + i.toString() + '.png';
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
_getSize(size) {
|
|
133
|
+
size = size.replace('KB', 'کیلوبایت');
|
|
134
|
+
size = size.replace('MB', 'مگابایت');
|
|
135
|
+
size = size.replace('B', 'بایت');
|
|
136
|
+
return size;
|
|
137
|
+
}
|
|
138
|
+
_getAttachmentIcon(extension) {
|
|
139
|
+
if (BarsaApi.Ext.isEmpty(extension) === false) {
|
|
140
|
+
return '/assets/Images/FileTypeIcons/' + '_' + extension + '.PNG';
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
_getDateString(date) {
|
|
145
|
+
// eslint-disable-next-line no-eval
|
|
146
|
+
const dateInfo = this._dateService.getDateInfo(eval(date));
|
|
147
|
+
return `${dateInfo.dayName} ${dateInfo.monthName} ${dateInfo.year} ${dateInfo.hour}:${dateInfo.minutes}`;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGNBQWMsRUFDZCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYzlCLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFidkU7O1FBZUksYUFBUSxHQUFHLElBQUksQ0FBQztLQU9uQjtJQU5HLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekcsQ0FBQzs7NEhBUlEsK0JBQStCO2dIQUEvQiwrQkFBK0IsdURBUjdCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsV0FBVztZ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LGtCQUFrQixDQUFDLFNBQVM7UUFDaEMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLEVBQUU7WUFDM0MsT0FBTywrQkFBK0IsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxjQUFjLENBQUMsSUFBWTtRQUMvQixtQ0FBbUM7UUFDbkMsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdHLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICAgIEZpZWxkQmFzZUNvbXBvbmVudCxcbiAgICBEYXRlU2VydmljZSxcbiAgICBnZXREYXRlU2VydmljZSxcbiAgICBMb2dTZXJ2aWNlLFxuICAgIERhdGVJbmZvLFxuICAgIEJhcnNhQXBpLFxuICAgIEZpbGVBdHRhY2htZW50SW5mb1xufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1waXNobmFtYXllc2gtcGF5YW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldERhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW0xvZ1NlcnZpY2VdXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGRhdGE6IFBheWFtQ2xhc3NUeXBlO1xuICAgIGV4cGFuZGVkID0gdHJ1ZTtcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLmNvbnRleHQuZm9ybUNvbnRyb2wuTW87XG4gICAgICAgIGNvbnN0IHsgJEZpZWxkRGljdCB9ID0gbW87XG4gICAgICAgIHRoaXMuZGF0YSA9IG5ldyBQYXlhbUNsYXNzVHlwZShtb1skRmllbGREaWN0WyfZhdit2KrZiNin24wg2b7bjNin2YUnXV0sIHRoaXMuX2RvbVNhbml0aXplciwgdGhpcy5fZGF0ZVNlcnZpY2UpO1xuICAgIH1cbn1cblxudHlwZSBQYXlhbVR5cGUgPSB7XG4gICAgQWNjZXNzTGV2ZWw6IG51bWJlcjtcbiAgICBBdHRhY2htZW50cz86IFBheWFtQXR0YWNobWVudFtdOyAvLyBudWxsXG4gICAgQmNjVGV4dDogc3RyaW5nO1xuICAgIFN1YmplY3Q6IHN0cmluZztcbiAgICBDYXRlZ29yeVN0cmluZzogc3RyaW5nO1xuICAgIENjVGV4dDogc3RyaW5nO1xuICAgIENvbnRlbnRIdG1sOiBzdHJpbmc7XG4gICAgQ3VzdG9tVGV4dDogc3RyaW5nO1xuICAgIEZyb21UZXh0OiBzdHJpbmc7XG4gICAgRnJvbVBob3RvOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjsgLy8gMVxuICAgIEltcG9ydGFuY2U6IG51bWJlcjtcbiAgICBSZWFkRGF0ZTogc3RyaW5nOyAvLyBcIm5ldyBEYXRlKDIwMjMsNiwyMCwxMSwyMSwxOSlcIlxuICAgIFNlbmREYXRlOiBzdHJpbmc7IC8vIFwibmV3IERhdGUoMjAyMyw2LDIwLDExLDIwLDU1KVwiXG4gICAgVG9UZXh0OiBzdHJpbmc7XG4gICAgVG9kbzogUGF5YW1Ub2RvOyAvLyBudWxsXG4gICAgRGV0YWlscz86IFBheWFtVHlwZVtdO1xufTtcbmNsYXNzIFBheWFtQ2xhc3NUeXBlIHtcbiAgICAkY29udGVudD86IFNhZmVIdG1sO1xuICAgICRzZW5kRGF0ZT86IHN0cmluZztcbiAgICAkcmVhZERhdGU/OiBzdHJpbmc7XG4gICAgJGZyb21QaG90bz86IHN0cmluZztcbiAgICAkdG9UZXh0Pzogc3RyaW5nW107XG4gICAgJGNjVGV4dD86IHN0cmluZ1tdO1xuICAgICRiY2NUZXh0Pzogc3RyaW5nW107XG4gICAgJGRldGFpbHM/OiBQYXlhbUNsYXNzVHlwZVtdO1xuICAgICRhdHRhY2htZW50cz86IEZpbGVBdHRhY2htZW50SW5mb1tdO1xuICAgICRpbXBvcnRhbmNlOiB7IGljb246IHN0cmluZyB8IG51bGw7IHRleHQ6IHN0cmluZyB8IG51bGwgfTtcbiAgICAkYWNjZXNzTGV2ZWw6IHsgaWNvbjogc3RyaW5nIHwgbnVsbDsgdGV4dDogc3RyaW5nIHwgbnVsbCB9O1xuICAgICR0b2RvOiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWFtOiBQYXlhbVR5cGUsIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIF9kYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy4kY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXlhbS5Db250ZW50SHRtbCk7XG4gICAgICAgIHRoaXMuJHNlbmREYXRlID0gdGhpcy5fZ2V0RGF0ZVN0cmluZyhwYXlhbS5TZW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuJHJlYWREYXRlID0gIXBheWFtLlJlYWREYXRlID8gJycgOiB0aGlzLl9nZXREYXRlU3RyaW5nKHBheWFtLlJlYWREYXRlKTtcblxuICAgICAgICB0aGlzLiR0b1RleHQgPSBwYXlhbS5Ub1RleHQuc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kY2NUZXh0ID0gcGF5YW0uQ2NUZXh0Py5zcGxpdCgnOycpO1xuICAgICAgICB0aGlzLiRiY2NUZXh0ID0gcGF5YW0uQmNjVGV4dD8uc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kZnJvbVBob3RvID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuR2V0SWNvblVybChwYXlhbS5Gcm9tUGhvdG8sIG51bGwsIG51bGwsIDY0KTtcbiAgICAgICAgdGhpcy4kZGV0YWlscyA9IHBheWFtLkRldGFpbHM/Lm1hcCgoYykgPT4gbmV3IFBheWFtQ2xhc3NUeXBlKGMsIF9kb21TYW5pdGl6ZXIsIF9kYXRlU2VydmljZSkpO1xuICAgICAgICB0aGlzLiRhdHRhY2htZW50cyA9IHBheWFtLkF0dGFjaG1lbnRzPy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBJZDogYy5JZCxcbiAgICAgICAgICAgIElzTmV3OiBmYWxzZSxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXG4gICAgICAgICAgICBUeXBlOiBjLkV4dGVuc2lvbixcbiAgICAgICAgICAgIEZpbGVOYW1lOiBgJHtjLk5hbWV9LiR7Yy5FeHRlbnNpb259YFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuJGltcG9ydGFuY2UgPSB7XG4gICAgICAgICAgICBpY29uOiB0aGlzLl9pY29uSW1wb3J0YW5jZShwYXlhbS5JbXBvcnRhbmNlKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRJbXBvcnRhbmNlKHBheWFtLkltcG9ydGFuY2UpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuJGFjY2Vzc0xldmVsID0ge1xuICAgICAgICAgICAgaWNvbjogdGhpcy5faWNvbkFjY2Vzc0xldmVsKHBheWFtLkFjY2Vzc0xldmVsKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRBY2Nlc3NMZXZlbChwYXlhbS5BY2Nlc3NMZXZlbClcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocGF5YW0uVG9kbz8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy4kdG9kbyA9IHRoaXMuX3RleHRUb2RvKHBheWFtLlRvZG8pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX3RleHRUb2RvKHRvZG86IFBheWFtVG9kbyk6IHsgdGV4dDogc3RyaW5nOyBjb2xvcjogc3RyaW5nIH0ge1xuICAgICAgICBpZiAoIXRvZG8gfHwgIXRvZG8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogJycsIGNvbG9yOiAnMTAnIH07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGR1ZURhdGVTdHIgPSAnJztcbiAgICAgICAgbGV0IGRvbmVEYXRlU3RyID0gJyc7XG4gICAgICAgIGlmIChCYXJzYUFwaS5FeHQuaXNTdHJpbmcodG9kby5EdWVEYXRlKSkge1xuICAgICAgICAgICAgZHVlRGF0ZVN0ciA9IHRoaXMuX2dldERhdGVTdHJpbmcodG9kby5EdWVEYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9kby5Eb25lRGF0ZSkge1xuICAgICAgICAgICAgZG9uZURhdGVTdHIgPSB0aGlzLl9nZXREYXRlU3RyaW5nKHRvZG8uRG9uZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gICAgICAgIGNvbnN0IGR1ZURhdGUgPSBldmFsKHRvZG8uRHVlRGF0ZSk7XG4gICAgICAgIGlmICh0b2RvLlN0YXRlID09PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvQ29tcGxldGVkICsgJzogJyArIGRvbmVEYXRlU3RyLCBjb2xvcjogJzgnIH07XG4gICAgICAgIH0gZWxzZSBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPCBkdWVEYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogQmFyc2FBcGkuQkJCLk1haWxfVG9kb0R1ZURhdGUgKyAnOiAnICsgZHVlRGF0ZVN0ciwgY29sb3I6ICcxJyB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvT3ZlcmR1ZSArICc6ICcgKyAoZG9uZURhdGVTdHIgPyBkb25lRGF0ZVN0ciA6IGR1ZURhdGVTdHIpLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnMidcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfdGV4dEltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9JbXBvcnRhbmNlJyArIGldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF90ZXh0QWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9TZW5zaXRpdml0eScgKyBpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaWNvbkltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdwcmlvcml0eV8nICsgaS50b1N0cmluZygpICsgJy5wbmcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF9pY29uQWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdsb2NrXycgKyBpLnRvU3RyaW5nKCkgKyAnLnBuZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHByaXZhdGUgX2dldFNpemUoc2l6ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgc2l6ZSA9IHNpemUucmVwbGFjZSgnS0InLCAn2qnbjNmE2YjYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdNQicsICfZhdqv2KfYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdCJywgJ9io2KfbjNiqJyk7XG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIH1cbiAgICBwcml2YXRlIF9nZXRBdHRhY2htZW50SWNvbihleHRlbnNpb24pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0VtcHR5KGV4dGVuc2lvbikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJy9hc3NldHMvSW1hZ2VzL0ZpbGVUeXBlSWNvbnMvJyArICdfJyArIGV4dGVuc2lvbiArICcuUE5HJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ2V0RGF0ZVN0cmluZyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgICAgICBjb25zdCBkYXRlSW5mbzogRGF0ZUluZm8gPSB0aGlzLl9kYXRlU2VydmljZS5nZXREYXRlSW5mbyhldmFsKGRhdGUpKTtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVJbmZvLmRheU5hbWV9ICR7ZGF0ZUluZm8ubW9udGhOYW1lfSAke2RhdGVJbmZvLnllYXJ9ICR7ZGF0ZUluZm8uaG91cn06JHtkYXRlSW5mby5taW51dGVzfWA7XG4gICAgfVxufVxuXG50eXBlIFBheWFtQXR0YWNobWVudCA9IHtcbiAgICBBdHRhY2h0eXBlOiBzdHJpbmc7IC8vIFwiYXR0YWNoQ29udGVudFwiXG4gICAgRXh0ZW5zaW9uOiBzdHJpbmc7IC8vIFwiZG9jeFwiXG4gICAgSWQ6IHN0cmluZzsgLy8gXCJfT1EyWF9TTjBvZzJZNFMtWF9BQ3hCdEpNZjVvaWcxXCJcbiAgICBOYW1lOiBzdHJpbmc7IC8vIFwiRG9jdW1lbnQgMTBcIlxuICAgIFNpemU6IHN0cmluZzsgLy8gXCIxNC45IEtCXCJcbn07XG50eXBlIFBheWFtVG9kbyA9IHsgRHVlRGF0ZTogc3RyaW5nOyBTdGF0ZTogbnVtYmVyOyBEb25lRGF0ZT86IHN0cmluZyB9O1xuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHNob3dQYXlhbUNsYXNzO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEsXG4gICAgICAgICAgICBwcmltYXJ5OiAhZGF0YS4kZGV0YWlscz8ubGVuZ3RoLFxuICAgICAgICAgICAgaXNGaXJzdDogdHJ1ZVxuICAgICAgICB9XG4gICAgXCJcbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNzaG93UGF5YW1DbGFzcyBsZXQtZGF0YSBsZXQtcHJpbWFyeT1cInByaW1hcnlcIiBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBuYW1heWVzaFBheWFtO1xuICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZGF0YS5wYXlhbS5TdWJqZWN0LFxuICAgICAgICAgICAgICAgIGZyb21UZXh0OiBkYXRhLnBheWFtLkZyb21UZXh0LFxuICAgICAgICAgICAgICAgIHRvVGV4dDogZGF0YS4kdG9UZXh0LFxuICAgICAgICAgICAgICAgIGltcG9ydGFuY2U6IGRhdGEuJGltcG9ydGFuY2UsXG4gICAgICAgICAgICAgICAgcmVhZERhdGU6IGRhdGEuJHJlYWREYXRlLFxuICAgICAgICAgICAgICAgIHNlbmREYXRlOiBkYXRhLiRzZW5kRGF0ZSxcbiAgICAgICAgICAgICAgICBjY1RleHQ6IGRhdGEuJGNjVGV4dCxcbiAgICAgICAgICAgICAgICBiY2NUZXh0OiBkYXRhLiRiY2NUZXh0LFxuICAgICAgICAgICAgICAgIGFjY2Vzc0xldmVsOiBkYXRhLiRhY2Nlc3NMZXZlbCxcbiAgICAgICAgICAgICAgICBjb250ZW50OiBkYXRhLiRjb250ZW50LFxuICAgICAgICAgICAgICAgIGZyb21QaG90bzogZGF0YS4kZnJvbVBob3RvLFxuICAgICAgICAgICAgICAgIGRldGFpbHM6IGRhdGEuJGRldGFpbHMsXG4gICAgICAgICAgICAgICAgYXR0YWNobWVudHM6IGRhdGEuJGF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICAgIHRvZG86IGRhdGEuJHRvZG8sXG4gICAgICAgICAgICAgICAgY3VzdG9tVGV4dDogZGF0YS5wYXlhbS5DdXN0b21UZXh0LFxuICAgICAgICAgICAgICAgIHByaW1hcnk6IHByaW1hcnksXG4gICAgICAgICAgICAgICAgaXNGaXJzdDogaXNGaXJzdFxuICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNuYW1heWVzaFBheWFtXG4gICAgbGV0LXN1YmplY3RcbiAgICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxuICAgIGxldC1mcm9tVGV4dD1cImZyb21UZXh0XCJcbiAgICBsZXQtdG9UZXh0PVwidG9UZXh0XCJcbiAgICBsZXQtaW1wb3J0YW5jZT1cImltcG9ydGFuY2VcIlxuICAgIGxldC1yZWFkRGF0ZT1cInJlYWREYXRlXCJcbiAgICBsZXQtc2VuZERhdGU9XCJzZW5kRGF0ZVwiXG4gICAgbGV0LWNjVGV4dD1cImNjVGV4dFwiXG4gICAgbGV0LWJjY1RleHQ9XCJiY2NUZXh0XCJcbiAgICBsZXQtZnJvbVBob3RvPVwiZnJvbVBob3RvXCJcbiAgICBsZXQtZGV0YWlscz1cImRldGFpbHNcIlxuICAgIGxldC1hY2Nlc3NMZXZlbD1cImFjY2Vzc0xldmVsXCJcbiAgICBsZXQtcHJpbWFyeT1cInByaW1hcnlcIlxuICAgIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXG4gICAgbGV0LWF0dGFjaG1lbnRzPVwiYXR0YWNobWVudHNcIlxuICAgIGxldC10b2RvPVwidG9kb1wiXG4gICAgbGV0LWN1c3RvbVRleHQ9XCJjdXN0b21UZXh0XCJcbj5cbiAgICA8ZmQtY2FyZCBjYXJkVHlwZT1cIm9iamVjdFwiPlxuICAgICAgICA8ZmQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8ZmQtYXZhdGFyXG4gICAgICAgICAgICAgICAgW2ltYWdlXT1cImZyb21QaG90b1wiXG4gICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJmcm9tVGV4dFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImZyb21UZXh0XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZnJvbVRleHRcIlxuICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxuICAgICAgICAgICAgPGRpdiBmZC1jYXJkLXRpdGxlIGNsYXNzPVwiaGVhZGVyLWZpZWxkc1wiPlxuICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGluayBbZW1waGFzaXplZF09XCJ0cnVlXCIgYXJpYS1sYWJlbD1cIlNlbmRlclwiPiB7eyBmcm9tVGV4dCB9fTwvYT5cbiAgICAgICAgICAgICAgICA8L2g1PlxuICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtaWRlbnRpZmllciBbZGVzY3JpcHRpb25dPVwiJygnICsgc2VuZERhdGUgKyAnKSdcIj4gPC9mZC1vYmplY3QtaWRlbnRpZmllcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICAgIDxoNSBmZC10aXRsZT57eyBzdWJqZWN0IH19PC9oNT5cbiAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2ZkTWVudV09XCJ0cnVlXCI+e3sgJ1JlY2lldmVycycgfCBiYmJUcmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCByZWMgb2YgdG9UZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluaz57eyByZWMgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxuICAgICAgICA8ZmQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPGZkLXBhbmVsIFtleHBhbmRlZF09XCJpc0ZpcnN0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC10aXRsZSBpZD1cInBhbmVsLWV4cGFuZGFibGUtdGl0bGUtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+e3sgJ9mF2K3YqtmI2KfbjCDZvtuM2KfZhScgfCBiYmJUcmFuc2xhdGUgfX08L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YW1JY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXIgKm5nSWY9XCJpbXBvcnRhbmNlLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiJy9DdXN0b21pemF0aW9uL01haWwvJyArIGltcG9ydGFuY2UuaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPnt7IGltcG9ydGFuY2UudGV4dCB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3ZlciAqbmdJZj1cImFjY2Vzc0xldmVsLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiJy9DdXN0b21pemF0aW9uL01haWwvJyArIGFjY2Vzc0xldmVsLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT57eyBhY2Nlc3NMZXZlbC50ZXh0IH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pbmZvLWxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b2RvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidG9kby50ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidG9kby5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInRvZG8udGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9mZC1pbmZvLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBhbmVsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXN0b21UZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVzc2FnZS1zdHJpcCB0eXBlPVwiaW5mb3JtYXRpb25cIiBbbm9JY29uXT1cInRydWVcIiBbZGlzbWlzc2libGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXN0b21UZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW1lc3NhZ2Utc3RyaXA+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiY29udGVudFwiIFtkaXNhYmxlXT1cIiFwcmltYXJ5IHx8IGF0dGFjaG1lbnRzPy5sZW5ndGhcIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXR0YWNobWVudHM/Lmxlbmd0aFwiIGNsYXNzPVwiYXR0YWNobWVudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgYXR0YWNobWVudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnN1LWZpbGUtdmlld2VyLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmlsZS5Jc0RlbGV0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FuRG93bmxvYWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2JzdS1maWxlLXZpZXdlci1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0YWNobWVudHMubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInRG93bmxvYWQnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidkb3dubG9hZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZEZpbGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlc109XCJhdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVhZEF0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlYWREYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiKCdSZWFkQXQnIHwgYmJiVHJhbnNsYXRlKSArICc6ICgnICsgcmVhZERhdGUgKyAnKSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1vYmplY3QtaWRlbnRpZmllcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLXBhbmVsPlxuICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cbiAgICAgICAgPCEtLSA8ZmQtY2FyZC1mb290ZXI+XG4gICAgICAgICAgICA8YnV0dG9uICpmZENhcmRGb290ZXJBY3Rpb25JdGVtIGZkLWJ1dHRvbiBmZENvbXBhY3Q+QXNzaWduIHRvIFByb2plY3Q8L2J1dHRvbj5cbiAgICAgICAgPC9mZC1jYXJkLWZvb3Rlcj4gLS0+XG4gICAgPC9mZC1jYXJkPlxuICAgIDxuZy1jb250aWFuZXIgKm5nRm9yPVwibGV0IGRldGFpbCBvZiBkZXRhaWxzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgc2hvd1BheWFtQ2xhc3M7XG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGRldGFpbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250aWFuZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -16,6 +16,14 @@ export class BlobViewerComponent extends BaseComponent {
|
|
|
16
16
|
this.fallbackUrl = this.getFallbackUrl(this.file.Id);
|
|
17
17
|
this._downloadFileId(this.file.Id, true, 'pdf', false, false);
|
|
18
18
|
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
super.ngOnChanges(changes);
|
|
21
|
+
const { file } = changes;
|
|
22
|
+
if (file && !file.firstChange) {
|
|
23
|
+
this.fallbackUrl = this.getFallbackUrl(this.file.Id);
|
|
24
|
+
this._downloadFileId(this.file.Id, true, 'pdf', false, false);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
19
27
|
_downloadFileId(fileId, viewInBrowser, convertTo, forOcx, isOfficeOnline) {
|
|
20
28
|
this._setLoading(true);
|
|
21
29
|
BarsaApi.Common.File.DownloadFileContent.bind(this)({
|
|
@@ -36,7 +44,7 @@ export class BlobViewerComponent extends BaseComponent {
|
|
|
36
44
|
});
|
|
37
45
|
}
|
|
38
46
|
getFallbackUrl(fileId) {
|
|
39
|
-
return `امکان نمایش فایل در این مرورگر وجود ندارد.
|
|
47
|
+
return `امکان نمایش فایل در این مرورگر وجود ندارد.
|
|
40
48
|
برای باز کردن فایل از لینک زیر استفاده کنید: </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(fileId, false, true)}'>دانلود فایل بصورت pdf</a> </br> <a href='${BarsaApi.Common.File.CreateAttachmentUrl(fileId, false, false)}'>دانلود فایل بصورت بصورت اصلی</a>`;
|
|
41
49
|
}
|
|
42
50
|
_setLoading(loading) {
|
|
@@ -50,11 +58,11 @@ export class BlobViewerComponent extends BaseComponent {
|
|
|
50
58
|
}
|
|
51
59
|
}
|
|
52
60
|
BlobViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BlobViewerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
BlobViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BlobViewerComponent, selector: "bsu-blob-viewer", inputs: { file: "file" }, usesInheritance: true, ngImport: i0, template: "<bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n<object\r\n *ngIf=\"valueUrl\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n [attr.html]=\"fallbackUrl\"\r\n></object>\r\n", styles: [":host{display:block;position:relative;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
61
|
+
BlobViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BlobViewerComponent, selector: "bsu-blob-viewer", inputs: { file: "file" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n<object\r\n *ngIf=\"valueUrl\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n [attr.html]=\"fallbackUrl\"\r\n></object>\r\n", styles: [":host{display:block;position:relative;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BlobViewerComponent, decorators: [{
|
|
55
63
|
type: Component,
|
|
56
64
|
args: [{ selector: 'bsu-blob-viewer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n<object\r\n *ngIf=\"valueUrl\"\r\n style=\"flex-grow: 1\"\r\n [attr.data]=\"valueUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n [attr.html]=\"fallbackUrl\"\r\n></object>\r\n", styles: [":host{display:block;position:relative;height:100%;width:100%}\n"] }]
|
|
57
65
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, propDecorators: { file: [{
|
|
58
66
|
type: Input
|
|
59
67
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUlSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFzQixNQUFNLHNCQUFzQixDQUFDOzs7OztBQVFuRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUtsRCxZQUFvQixJQUF1QixFQUFVLGFBQTJCO1FBQzVFLEtBQUssRUFBRSxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUZoRixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBSWhCLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjO1FBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMvQztZQUNJLE1BQU07WUFDTixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWE7WUFDYixTQUFTO1lBQ1QsY0FBYztZQUNkLE1BQU07U0FDVCxFQUNELENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDVCxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMzQztZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDTixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUNTLGNBQWMsQ0FBQyxNQUFNO1FBQzNCLE9BQU87bUVBQ29ELFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUNuRyxNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksQ0FDUCxnREFBZ0QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQ2pGLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxDQUNSLG9DQUFvQyxDQUFDO0lBQzFDLENBQUM7SUFDUyxXQUFXLENBQUMsT0FBTztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDUyx3QkFBd0IsQ0FBQyxRQUFRO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDOztnSEFsRVEsbUJBQW1CO29HQUFuQixtQkFBbUIsNkhDbEJoQyw4UUFVQTsyRkRRYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07bUlBR3RDLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCYXJzYUFwaSwgQmFzZUNvbXBvbmVudCwgRmlsZUF0dGFjaG1lbnRJbmZvIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1ibG9iLXZpZXdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Jsb2Itdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ibG9iLXZpZXdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJsb2JWaWV3ZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGZpbGU6IEZpbGVBdHRhY2htZW50SW5mbztcbiAgICB2YWx1ZVVybDogU2FmZVJlc291cmNlVXJsO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBmYWxsYmFja1VybDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZmFsbGJhY2tVcmwgPSB0aGlzLmdldEZhbGxiYWNrVXJsKHRoaXMuZmlsZS5JZCk7XG4gICAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZUlkKHRoaXMuZmlsZS5JZCwgdHJ1ZSwgJ3BkZicsIGZhbHNlLCBmYWxzZSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgZmlsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKGZpbGUgJiYgIWZpbGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tVcmwgPSB0aGlzLmdldEZhbGxiYWNrVXJsKHRoaXMuZmlsZS5JZCk7XG4gICAgICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGVJZCh0aGlzLmZpbGUuSWQsIHRydWUsICdwZGYnLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9kb3dubG9hZEZpbGVJZChmaWxlSWQsIHZpZXdJbkJyb3dzZXIsIGNvbnZlcnRUbywgZm9yT2N4LCBpc09mZmljZU9ubGluZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICBCYXJzYUFwaS5Db21tb24uRmlsZS5Eb3dubG9hZEZpbGVDb250ZW50LmJpbmQodGhpcykoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmlsZUlkLFxuICAgICAgICAgICAgICAgIGZpbGVVcmw6IG51bGwsXG4gICAgICAgICAgICAgICAgdmlld0luQnJvd3NlcixcbiAgICAgICAgICAgICAgICBjb252ZXJ0VG8sXG4gICAgICAgICAgICAgICAgaXNPZmZpY2VPbmxpbmUsXG4gICAgICAgICAgICAgICAgZm9yT2N4XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2NlZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZG93bmxvYWRGaWxlSWRDb21wbGV0ZWQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBhbGVydChlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1VybChmaWxlSWQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYNin2YXaqdin2YYg2YbZhdin24zYtCDZgdin24zZhCDYr9ixINin24zZhiDZhdix2YjYsdqv2LEg2YjYrNmI2K8g2YbYr9in2LHYry5cbiAgICDYqNix2KfbjCDYqNin2LIg2qnYsdiv2YYg2YHYp9uM2YQg2KfYsiDZhNuM2YbaqSDYstuM2LEg2KfYs9iq2YHYp9iv2Ycg2qnZhtuM2K86ICA8L2JyPiA8YSBocmVmPScke0JhcnNhQXBpLkNvbW1vbi5GaWxlLkNyZWF0ZUF0dGFjaG1lbnRVcmwoXG4gICAgICAgIGZpbGVJZCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHRydWVcbiAgICApfSc+2K/Yp9mG2YTZiNivINmB2KfbjNmEINio2LXZiNix2KogcGRmPC9hPiAgPC9icj4gIDxhIGhyZWY9JyR7QmFyc2FBcGkuQ29tbW9uLkZpbGUuQ3JlYXRlQXR0YWNobWVudFVybChcbiAgICAgICAgICAgIGZpbGVJZCxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKX0nPtiv2KfZhtmE2YjYryDZgdin24zZhCDYqNi12YjYsdiqINio2LXZiNix2Kog2KfYtdmE24w8L2E+YDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRMb2FkaW5nKGxvYWRpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9kb3dubG9hZEZpbGVJZENvbXBsZXRlZChyZXNwb25zZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBibG9iID0gQmFyc2FBcGkuQ29tbW9uLkZpbGUuQjY0dG9CbG9iKHJlc3BvbnNlLmNvbnRlbnQsIHJlc3BvbnNlLmNvbnRlbnRUeXBlKTtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xuICAgICAgICB0aGlzLnZhbHVlVXJsID0gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh1cmwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpKTtcbiAgICB9XG59XG4iLCI8YnN1LW1hc2sgKm5nSWY9XCJsb2FkaW5nXCI+PC9ic3UtbWFzaz5cclxuPG9iamVjdFxyXG4gICAgKm5nSWY9XCJ2YWx1ZVVybFwiXHJcbiAgICBzdHlsZT1cImZsZXgtZ3JvdzogMVwiXHJcbiAgICBbYXR0ci5kYXRhXT1cInZhbHVlVXJsXCJcclxuICAgIHR5cGU9XCJhcHBsaWNhdGlvbi9wZGZcIlxyXG4gICAgd2lkdGg9XCIxMDAlXCJcclxuICAgIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgW2F0dHIuaHRtbF09XCJmYWxsYmFja1VybFwiXHJcbj48L29iamVjdD5cclxuIl19
|
|
@@ -8,6 +8,7 @@ import * as i4 from "@fundamental-ngx/core/popover";
|
|
|
8
8
|
import * as i5 from "../file-viewer-content/file-viewer-content.component";
|
|
9
9
|
import * as i6 from "../fullscreen-files.directive";
|
|
10
10
|
import * as i7 from "../download-files.directive";
|
|
11
|
+
import * as i8 from "barsa-novin-ray-core";
|
|
11
12
|
export class FileViewerPopoverComponent extends BaseComponent {
|
|
12
13
|
constructor() {
|
|
13
14
|
super();
|
|
@@ -18,17 +19,21 @@ export class FileViewerPopoverComponent extends BaseComponent {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
FileViewerPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FileViewerPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
FileViewerPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: { file: "file", deviceSize: "deviceSize", canDownload: "canDownload" }, outputs: { remove: "remove" }, usesInheritance: true, ngImport: i0, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\
|
|
22
|
+
FileViewerPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: { files: "files", file: "file", deviceSize: "deviceSize", canDownload: "canDownload", disableRemove: "disableRemove" }, outputs: { remove: "remove" }, usesInheritance: true, ngImport: i0, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\n <button\n fd-button\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\n [label]=\"file.FileName || ''\"\n glyph=\"attachment\"\n [fdMenu]=\"true\"\n class=\"btn-actionsheet\"\n ></button>\n <fd-popover\n #popoverMobile\n [mobile]=\"true\"\n [mobileConfig]=\"{ title: 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\n >\n <ng-template #popoverBodyContent>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\n ></ng-container>\n </ng-template>\n </fd-popover>\n <fd-popover #popoverLarge>\n <fd-popover-body>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <button *ngIf=\"!disableRemove\" fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\n</div>\n\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\n <div fd-popover-body-header>\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\n <div fd-bar-left>\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\n </div>\n </div>\n </div>\n <bsu-file-viewer-content\n [file]=\"file\"\n [width]=\"mobile ? '100vw' : '30vw'\"\n [cardMode]=\"true\"\n [showContent]=\"true\"\n [showFooter]=\"true\"\n [cardContentHeight]=\"mobile ? null : '320px'\"\n ></bsu-file-viewer-content>\n <div fd-popover-body-footer *ngIf=\"canDownload\">\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"transparent\"\n glyph=\"download\"\n downloadFiles\n [files]=\"[file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n <fd-button-bar\n *ngIf=\"!mobile\"\n fdType=\"transparent\"\n glyph=\"resize\"\n fullscreenFiles\n [files]=\"files?.length ? files : [file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:block}.btn-actionsheet{width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "directive", type: i2.DeprecatedBarContentDensityDirective, selector: "[fd-bar][cozy]" }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "directive", type: i4.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i4.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i4.PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: i5.FileViewerContentComponent, selector: "bsu-file-viewer-content", inputs: ["fillWidth", "imageOnly", "cardMode", "showFooter", "showContent", "width", "cardContentHeight", "file"] }, { kind: "directive", type: i6.FullscreenFilesDirective, selector: "[fullscreenFiles]", inputs: ["files", "title", "isImageGallery", "component"] }, { kind: "directive", type: i7.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FileViewerPopoverComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
|
-
args: [{ selector: 'bsu-file-viewer-popover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\
|
|
25
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
25
|
+
args: [{ selector: 'bsu-file-viewer-popover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: flex; align-items: center; column-gap: 1px\">\n <button\n fd-button\n [fdPopoverTrigger]=\"deviceSize === 's' ? popoverMobile : popoverLarge\"\n [label]=\"file.FileName || ''\"\n glyph=\"attachment\"\n [fdMenu]=\"true\"\n class=\"btn-actionsheet\"\n ></button>\n <fd-popover\n #popoverMobile\n [mobile]=\"true\"\n [mobileConfig]=\"{ title: 'ShowFiles' | bbbTranslate, hasCloseButton: true }\"\n >\n <ng-template #popoverBodyContent>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverMobile, mobile: true }\"\n ></ng-container>\n </ng-template>\n </fd-popover>\n <fd-popover #popoverLarge>\n <fd-popover-body>\n <ng-container\n *ngTemplateOutlet=\"popoverbodyTpl; context: { $implicit: popoverLarge, mobile: false }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n\n <button *ngIf=\"!disableRemove\" fd-button glyph=\"delete\" (click)=\"remove.emit()\"></button>\n</div>\n\n<ng-template #popoverbodyTpl let-popover let-mobile=\"mobile\">\n <div fd-popover-body-header>\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-3\">\n <div fd-bar-left>\n <fd-bar-element>{{ file.FileName }}</fd-bar-element>\n </div>\n </div>\n </div>\n <bsu-file-viewer-content\n [file]=\"file\"\n [width]=\"mobile ? '100vw' : '30vw'\"\n [cardMode]=\"true\"\n [showContent]=\"true\"\n [showFooter]=\"true\"\n [cardContentHeight]=\"mobile ? null : '320px'\"\n ></bsu-file-viewer-content>\n <div fd-popover-body-footer *ngIf=\"canDownload\">\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n fdType=\"transparent\"\n glyph=\"download\"\n downloadFiles\n [files]=\"[file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n <fd-button-bar\n *ngIf=\"!mobile\"\n fdType=\"transparent\"\n glyph=\"resize\"\n fullscreenFiles\n [files]=\"files?.length ? files : [file]\"\n (click)=\"popover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:block}.btn-actionsheet{width:100%!important;max-width:100%!important}\n"] }]
|
|
26
|
+
}], ctorParameters: function () { return []; }, propDecorators: { files: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], file: [{
|
|
26
29
|
type: Input
|
|
27
30
|
}], deviceSize: [{
|
|
28
31
|
type: Input
|
|
29
32
|
}], canDownload: [{
|
|
30
33
|
type: Input
|
|
34
|
+
}], disableRemove: [{
|
|
35
|
+
type: Input
|
|
31
36
|
}], remove: [{
|
|
32
37
|
type: Output
|
|
33
38
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3ZXItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9maWxlLXZpZXdlci1wb3BvdmVyL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUF5QixhQUFhLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFRaEcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGFBQWE7SUFPekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUZGLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRzVDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O3VIQWJRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFQQ1R2Qyx3K0VBcUVBOzJGRDVEYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYmJyZXZhdGlvbkRldmljZVNpemUsIEJhc2VDb21wb25lbnQsIEZpbGVBdHRhY2htZW50SW5mbyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtZmlsZS12aWV3ZXItcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGZpbGVzOiBGaWxlQXR0YWNobWVudEluZm9bXTtcbiAgICBASW5wdXQoKSBmaWxlOiBGaWxlQXR0YWNobWVudEluZm87XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGNhbkRvd25sb2FkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRpc2FibGVSZW1vdmU6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY29sdW1uLWdhcDogMXB4XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2ZkUG9wb3ZlclRyaWdnZXJdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gcG9wb3Zlck1vYmlsZSA6IHBvcG92ZXJMYXJnZVwiXG4gICAgICAgIFtsYWJlbF09XCJmaWxlLkZpbGVOYW1lIHx8ICcnXCJcbiAgICAgICAgZ2x5cGg9XCJhdHRhY2htZW50XCJcbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICAgICAgY2xhc3M9XCJidG4tYWN0aW9uc2hlZXRcIlxuICAgID48L2J1dHRvbj5cbiAgICA8ZmQtcG9wb3ZlclxuICAgICAgICAjcG9wb3Zlck1vYmlsZVxuICAgICAgICBbbW9iaWxlXT1cInRydWVcIlxuICAgICAgICBbbW9iaWxlQ29uZmlnXT1cInsgdGl0bGU6ICdTaG93RmlsZXMnIHwgYmJiVHJhbnNsYXRlLCBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSB9XCJcbiAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcG9wb3ZlckJvZHlDb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9wb3ZlcmJvZHlUcGw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwb3BvdmVyTW9iaWxlLCBtb2JpbGU6IHRydWUgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC1wb3BvdmVyPlxuICAgIDxmZC1wb3BvdmVyICNwb3BvdmVyTGFyZ2U+XG4gICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3BvdmVyYm9keVRwbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHBvcG92ZXJMYXJnZSwgbW9iaWxlOiBmYWxzZSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgPC9mZC1wb3BvdmVyPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlUmVtb3ZlXCIgZmQtYnV0dG9uIGdseXBoPVwiZGVsZXRlXCIgKGNsaWNrKT1cInJlbW92ZS5lbWl0KClcIj48L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXJib2R5VHBsIGxldC1wb3BvdmVyIGxldC1tb2JpbGU9XCJtb2JpbGVcIj5cbiAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1oZWFkZXI+XG4gICAgICAgIDxkaXYgZmQtYmFyIFtjb3p5XT1cInRydWVcIiBpZD1cInBvcG92ZXItYmFyLWhlYWRlci0zXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD57eyBmaWxlLkZpbGVOYW1lIH19PC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnN1LWZpbGUtdmlld2VyLWNvbnRlbnRcbiAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXG4gICAgICAgIFt3aWR0aF09XCJtb2JpbGUgPyAnMTAwdncnIDogJzMwdncnXCJcbiAgICAgICAgW2NhcmRNb2RlXT1cInRydWVcIlxuICAgICAgICBbc2hvd0NvbnRlbnRdPVwidHJ1ZVwiXG4gICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIlxuICAgICAgICBbY2FyZENvbnRlbnRIZWlnaHRdPVwibW9iaWxlID8gbnVsbCA6ICczMjBweCdcIlxuICAgID48L2JzdS1maWxlLXZpZXdlci1jb250ZW50PlxuICAgIDxkaXYgZmQtcG9wb3Zlci1ib2R5LWZvb3RlciAqbmdJZj1cImNhbkRvd25sb2FkXCI+XG4gICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRGaWxlc1xuICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiW2ZpbGVdXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtb2JpbGVcIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwicmVzaXplXCJcbiAgICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbkZpbGVzXG4gICAgICAgICAgICAgICAgICAgIFtmaWxlc109XCJmaWxlcz8ubGVuZ3RoID8gZmlsZXMgOiBbZmlsZV1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicG9wb3Zlci5jbG9zZSgpXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -33,6 +33,9 @@ export class FormDialogComponent extends BaseComponent {
|
|
|
33
33
|
this._setCaption(formPanelCtrlr);
|
|
34
34
|
this.formPanelCtrlr = formPanelCtrlr;
|
|
35
35
|
}
|
|
36
|
+
get Adapter() {
|
|
37
|
+
return this.formPanelCtrlr.Adapter;
|
|
38
|
+
}
|
|
36
39
|
ngOnInit() {
|
|
37
40
|
super.ngOnInit();
|
|
38
41
|
const formPanelCtrlr = this.formPanelCtrlr;
|
|
@@ -80,14 +83,16 @@ export class FormDialogComponent extends BaseComponent {
|
|
|
80
83
|
this.dialogRef = this._dialogService.open(this.dialogTemplateRef, setting);
|
|
81
84
|
}
|
|
82
85
|
onCancel() {
|
|
86
|
+
const adapter = this.Adapter;
|
|
87
|
+
adapter.fireEvent('ToolClick', adapter, { Key: 'Cancel' });
|
|
83
88
|
this._close();
|
|
84
89
|
}
|
|
85
90
|
onSave() {
|
|
86
|
-
const adapter = this.
|
|
91
|
+
const adapter = this.Adapter;
|
|
87
92
|
adapter.fireEvent('ToolClick', adapter, { Key: 'SaveAndClose' });
|
|
88
93
|
}
|
|
89
94
|
onOk() {
|
|
90
|
-
const adapter = this.
|
|
95
|
+
const adapter = this.Adapter;
|
|
91
96
|
adapter.fireEvent('ToolClick', adapter, { Key: 'Ok' });
|
|
92
97
|
}
|
|
93
98
|
onFormClose() {
|
|
@@ -103,7 +108,7 @@ export class FormDialogComponent extends BaseComponent {
|
|
|
103
108
|
// @Input() RefreshFormPanelControl = (formpanelCtrlr) => {};
|
|
104
109
|
_close() {
|
|
105
110
|
// this.dialogRef.nativeElement.close();
|
|
106
|
-
this.
|
|
111
|
+
this.Adapter.Control.fireEvent('RequestForClose', this.Adapter.Control);
|
|
107
112
|
// this.dialogRef.close();
|
|
108
113
|
// this.dialogParams.close();
|
|
109
114
|
// this.dialogOpened = false;
|
|
@@ -123,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
123
128
|
type: ViewChild,
|
|
124
129
|
args: ['dialog', { read: TemplateRef, static: true }]
|
|
125
130
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQ0gsUUFBUSxFQUlSLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUF1QmxELFlBQ1ksY0FBNkIsRUFDN0IsWUFBMEIsRUFDMUIsY0FBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKQSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXBCekMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFZbkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBUWYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxj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R2hCLENBQUMsZ0JBQWdCLENBQUMsbUJBQ1osdUJBQXVCLENBQUMsTUFBTTsySkFJL0MsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBEaWFsb2dQYXJhbXMsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIENvbnRhaW5lclNlcnZpY2UsXG4gICAgQmFzZUNvbXBvbmVudFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZvcm0tZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbQ29udGFpbmVyU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGRpYWxvZ1RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZm9ybVBhbmVsQ3RybHI6IGFueTtcbiAgICBmb3JtQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Rm9ybUNvbXBvbmVudD47XG4gICAgY2FwdGlvbiA9ICcnO1xuICAgIGZ1bGxzY3JlZW4gPSBmYWxzZTtcbiAgICBkaWFsb2dPcGVuZWQ6IGJvb2xlYW47XG4gICAgZGlhbG9nUmVmOiBEaWFsb2dSZWY7XG4gICAgaW5EaWFsb2c6IGFueTtcbiAgICBwYXJhbXM6IHtcbiAgICAgICAgbW9JZDogc3RyaW5nO1xuICAgICAgICB0eXBlRGVmSWQ6IHN0cmluZztcbiAgICAgICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICAgICAgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgfTtcbiAgICBwYXJlbnRDb250YWluZXI6IGFueTtcbiAgICBkZXZpY2VTaXplOiBzdHJpbmc7XG4gICAgaXNOb25lUGVyc2lzdGFuY2UgPSBmYWxzZTtcbiAgICBzaG93U2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgc2hvd1Rvb2xiYXIgPSB0cnVlO1xuICAgIHNob3dGb290ZXI6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUGFyYW1zOiBEaWFsb2dQYXJhbXMsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9IGRldmljZVNpemU7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZm9ybXBhbmVsQ3RybHI7XG4gICAgICAgIGNvbnN0IG1vSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmlkO1xuICAgICAgICBjb25zdCB0eXBlRGVmSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LnR5aWQ7XG4gICAgICAgIGNvbnN0IHJlcG9ydElkID0gdGhpcy5kaWFsb2dQYXJhbXMuY29udGV4dC5yZXBpZDtcbiAgICAgICAgdGhpcy5pbkRpYWxvZyA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuaW5EaWFsb2c7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSB7IG1vSWQsIHR5cGVEZWZJZCwgcmVwb3J0SWQsIGluRGlhbG9nOiB0cnVlIH07XG4gICAgICAgIHRoaXMuX3NldENhcHRpb24oZm9ybVBhbmVsQ3RybHIpO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyID0gZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuc2hvd1NhdmVCdXR0b24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLFxuICAgICAgICAgICAgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1NhdmVCdXR0b24nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXInKTtcbiAgICAgICAgdGhpcy5pc05vbmVQZXJzaXN0YW5jZSA9IGZvcm1QYW5lbEN0cmxyPy5TZXR0aW5nPy5WaWV3Py5Jc05vbmVQZXJzaXN0YW5jZTtcbiAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gdGhpcy5pc05vbmVQZXJzaXN0YW5jZVxuICAgICAgICAgICAgPyB0aGlzLnNob3dTYXZlQnV0dG9uICE9PSBmYWxzZSAmJiB0aGlzLnNob3dUb29sYmFyICE9PSBmYWxzZVxuICAgICAgICAgICAgOiB0aGlzLnNob3dTYXZlQnV0dG9uO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2hvd0Zvb3RlciA9PSB0eXBlb2YgbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5EaWFsb2coKTtcbiAgICB9XG4gICAgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc21hbGxEZXZpY2UgPSB0aGlzLmRldmljZVNpemUgPT09ICdzJyB8fCB0aGlzLmRldmljZVNpemUgPT09ICdtJztcbiAgICAgICAgY29uc3Qgd2lkdGggPSBzbWFsbERldmljZSA/ICcxMDB2dycgOiAnMzB2dyc7XG4gICAgICAgIGxldCBoZWlnaHQgPSBzbWFsbERldmljZSA/ICcxMDB2aCcgOiAnYXV0byc7XG4gICAgICAgIGNvbnN0IHZpZXdXaWR0aCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuZm9ybVBhbmVsQ3RybHIsICdTZXR0aW5nLlZpZXcuTWluU2l6ZS53aWR0aCcsIG51bGwpO1xuICAgICAgICBjb25zdCB2aWV3SGllZ2h0ID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5mb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5NaW5TaXplLmhlaWdodCcsIG51bGwpO1xuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHNtYWxsRGV2aWNlID8gJzEwMHZ3JyA6IHZpZXdXaWR0aCA/IHZpZXdXaWR0aCArICdweCcgOiAnYXV0byc7XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodCA9IHNtYWxsRGV2aWNlID8gJzEwMHZ3JyA6IHZpZXdIaWVnaHQgPyB2aWV3SGllZ2h0ICsgJ3B4JyA6ICdhdXRvJztcbiAgICAgICAgaWYgKHZpZXdIaWVnaHQpIHtcbiAgICAgICAgICAgIGhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RhbFNldHRpbmcgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIsXG4gICAgICAgICAgICAnU2V0dGluZy5WaWV3LkN1c3RvbVVpLlBhcmFtZXRlcnMuTW9kYWxTZXR0aW5nJyxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IHNldHRpbmcgPSB7XG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICBiYWNrZHJvcENsaWNrQ2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIG1vYmlsZTogc21hbGxEZXZpY2UsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIC8vIGJvZHlNaW5IZWlnaHQ6IG1pbkhlaWdodCxcbiAgICAgICAgICAgIG1pbkhlaWdodCxcbiAgICAgICAgICAgIG1pbldpZHRoLFxuICAgICAgICAgICAgZnVsbFNjcmVlbjogc21hbGxEZXZpY2UsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxuICAgICAgICAgICAgZGF0YTogeyBjYXB0aW9uOiB0aGlzLmNhcHRpb24gfVxuICAgICAgICB9O1xuICAgICAgICBpZiAobW9kYWxTZXR0aW5nKSB7XG4gICAgICAgICAgICBzZXR0aW5nID0geyAuLi5zZXR0aW5nLCAuLi5tb2RhbFNldHRpbmcgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLmRpYWxvZ1RlbXBsYXRlUmVmLCBzZXR0aW5nKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcbiAgICB9XG4gICAgb25TYXZlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5mb3JtUGFuZWxDdHJsci5BZGFwdGVyO1xuICAgICAgICBhZGFwdGVyLmZpcmVFdmVudCgnVG9vbENsaWNrJywgYWRhcHRlciwgeyBLZXk6ICdTYXZlQW5kQ2xvc2UnIH0pO1xuICAgIH1cbiAgICBvbk9rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5mb3JtUGFuZWxDdHJsci5BZGFwdGVyO1xuICAgICAgICBhZGFwdGVyLmZpcmVFdmVudCgnVG9vbENsaWNrJywgYWRhcHRlciwgeyBLZXk6ICdPaycgfSk7XG4gICAgfVxuXG4gICAgb25Gb3JtQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuZGlhbG9nUGFyYW1zLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuZGlhbG9nT3BlbmVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8vIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgLy8gQElucHV0KCkgU2hvd0Zvcm1QYW5lbENvbnRyb2wgPSAoZm9ybXBhbmVsQ3RybHIpID0+IHt9O1xuICAgIC8vIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgLy8gQElucHV0KCkgRm9yY2VDbG9zZUNoaWxkID0gKCkgPT4ge307XG4gICAgLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBASW5wdXQoKSBSZWZyZXNoRm9ybVBhbmVsQ29udHJvbCA9IChmb3JtcGFuZWxDdHJscikgPT4ge307XG5cbiAgICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5jbG9zZSgpO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuZm9ybVBhbmVsQ3RybHIuQWRhcHRlci5Db250cm9sKTtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dQYXJhbXMuY2xvc2UoKTtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dPcGVuZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDYXB0aW9uKGZvcm1QYW5lbEN0cmxyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdHlwZURlZk5hbWUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ01vLiRUeXBlRGVmTmFtZScsICcnKTtcbiAgICAgICAgY29uc3QgbW9DYXB0aW9uID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoZm9ybVBhbmVsQ3RybHIsICdNby4kQ2FwdGlvbicsICcnKTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gdHlwZURlZk5hbWUgKyAnOicgKyBtb0NhcHRpb247XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2c+XG4gICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCIgI2RpYWxvZ1RwbFJlZj5cbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBkaWFsb2dDb25maWcuZGF0YS5jYXB0aW9uIH19PC9oMT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nQ29uZmlnLmhlaWdodCAhPT0gJzEwMHZoJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJkaWFsb2cuZGF0YS5mdWxsc2NyZWVuID8gJ2V4aXRmdWxsc2NyZWVuJyA6ICdyZXNpemUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5EaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaWFsb2ddPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaWFsb2dDb21wb25lbnRdPVwiZGlhbG9nVHBsUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXIgYXJpYUxhYmVsPVwiY2xvc2VcIiBnbHlwaD1cImRlY2xpbmVcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8Ym5yYy1mb3JtIFtmb3JtUGFuZWxDdHJsXT1cImZvcm1QYW5lbEN0cmxyXCIgW3BhcmFtc109XCJwYXJhbXNcIiAoZm9ybUNsb3NlKT1cIm9uRm9ybUNsb3NlKClcIj48L2JucmMtZm9ybT5cbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXIgW3N0eWxlLmRpc3BsYXldPVwiIXNob3dGb290ZXIgPyAnbm9uZScgOiBudWxsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNOb25lUGVyc2lzdGFuY2U7IGVsc2Ugc2F2ZUJ0blwiPlxuICAgICAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPaycgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT2soKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzYXZlQnRuPlxuICAgICAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTYXZlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgZmQtaW5pdGlhbC1mb2N1c1xuICAgICAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG4gICAgPC9mZC1kaWFsb2c+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQ0gsUUFBUSxFQUlSLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUF1QmxELFlBQ1ksY0FBNkIsRUFDN0IsWUFBMEIsRUFDMUIsY0FBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKQSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXBCekMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFZbkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBUWYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxj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LEdBQUcsU0FBUyxDQUFDO0lBQ2pELENBQUM7O2dIQXpJUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwwQ0FIakIsQ0FBQyxnQkFBZ0IsQ0FBQyxrSEFJQSxXQUFXLGtFQ25CNUMsOGlGQTBEQTsyRkR4Q2EsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixhQUdoQixDQUFDLGdCQUFnQixDQUFDLG1CQUNaLHVCQUF1QixDQUFDLE1BQU07MkpBSS9DLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nUmVmLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7XG4gICAgQmFyc2FBcGksXG4gICAgRGlhbG9nUGFyYW1zLFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBDb250YWluZXJTZXJ2aWNlLFxuICAgIEJhc2VDb21wb25lbnRcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1mb3JtLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW0NvbnRhaW5lclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1EaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdkaWFsb2cnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBkaWFsb2dUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgZm9ybUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEZvcm1Db21wb25lbnQ+O1xuICAgIGNhcHRpb24gPSAnJztcbiAgICBmdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgZGlhbG9nT3BlbmVkOiBib29sZWFuO1xuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmO1xuICAgIGluRGlhbG9nOiBhbnk7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIG1vSWQ6IHN0cmluZztcbiAgICAgICAgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgICAgIGluRGlhbG9nOiBib29sZWFuO1xuICAgIH07XG4gICAgcGFyZW50Q29udGFpbmVyOiBhbnk7XG4gICAgZGV2aWNlU2l6ZTogc3RyaW5nO1xuICAgIGlzTm9uZVBlcnNpc3RhbmNlID0gZmFsc2U7XG4gICAgc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICAgIHNob3dUb29sYmFyID0gdHJ1ZTtcbiAgICBzaG93Rm9vdGVyOiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1BhcmFtczogRGlhbG9nUGFyYW1zLFxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQuc3Vic2NyaWJlKChkZXZpY2VTaXplKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRldmljZVNpemUgPSBkZXZpY2VTaXplO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHIgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmZvcm1wYW5lbEN0cmxyO1xuICAgICAgICBjb25zdCBtb0lkID0gdGhpcy5kaWFsb2dQYXJhbXMuY29udGV4dC5pZDtcbiAgICAgICAgY29uc3QgdHlwZURlZklkID0gdGhpcy5kaWFsb2dQYXJhbXMuY29udGV4dC50eWlkO1xuICAgICAgICBjb25zdCByZXBvcnRJZCA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQucmVwaWQ7XG4gICAgICAgIHRoaXMuaW5EaWFsb2cgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmluRGlhbG9nO1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmZ1bGxzY3JlZW47XG4gICAgICAgIHRoaXMucGFyYW1zID0geyBtb0lkLCB0eXBlRGVmSWQsIHJlcG9ydElkLCBpbkRpYWxvZzogdHJ1ZSB9O1xuICAgICAgICB0aGlzLl9zZXRDYXB0aW9uKGZvcm1QYW5lbEN0cmxyKTtcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsciA9IGZvcm1QYW5lbEN0cmxyO1xuICAgIH1cbiAgICBnZXQgQWRhcHRlcigpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtUGFuZWxDdHJsci5BZGFwdGVyO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybHIgPSB0aGlzLmZvcm1QYW5lbEN0cmxyO1xuICAgICAgICB0aGlzLnNob3dTYXZlQnV0dG9uID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXG4gICAgICAgICAgICBmb3JtUGFuZWxDdHJscixcbiAgICAgICAgICAgICdTZXR0aW5nLlZpZXcuRm9ybVNldHRpbmdzLlNob3dTYXZlQnV0dG9uJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLnNob3dUb29sYmFyID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoZm9ybVBhbmVsQ3RybHIsICdTZXR0aW5nLlZpZXcuRm9ybVNldHRpbmdzLlNob3dUb29sYmFyJyk7XG4gICAgICAgIHRoaXMuaXNOb25lUGVyc2lzdGFuY2UgPSBmb3JtUGFuZWxDdHJscj8uU2V0dGluZz8uVmlldz8uSXNOb25lUGVyc2lzdGFuY2U7XG4gICAgICAgIHRoaXMuc2hvd0Zvb3RlciA9IHRoaXMuaXNOb25lUGVyc2lzdGFuY2VcbiAgICAgICAgICAgID8gdGhpcy5zaG93U2F2ZUJ1dHRvbiAhPT0gZmFsc2UgJiYgdGhpcy5zaG93VG9vbGJhciAhPT0gZmFsc2VcbiAgICAgICAgICAgIDogdGhpcy5zaG93U2F2ZUJ1dHRvbjtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNob3dGb290ZXIgPT0gdHlwZW9mIG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zvb3RlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCk7XG4gICAgfVxuICAgIG9wZW5EaWFsb2coKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNtYWxsRGV2aWNlID0gdGhpcy5kZXZpY2VTaXplID09PSAncycgfHwgdGhpcy5kZXZpY2VTaXplID09PSAnbSc7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc21hbGxEZXZpY2UgPyAnMTAwdncnIDogJzMwdncnO1xuICAgICAgICBsZXQgaGVpZ2h0ID0gc21hbGxEZXZpY2UgPyAnMTAwdmgnIDogJ2F1dG8nO1xuICAgICAgICBjb25zdCB2aWV3V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmZvcm1QYW5lbEN0cmxyLCAnU2V0dGluZy5WaWV3Lk1pblNpemUud2lkdGgnLCBudWxsKTtcbiAgICAgICAgY29uc3Qgdmlld0hpZWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuZm9ybVBhbmVsQ3RybHIsICdTZXR0aW5nLlZpZXcuTWluU2l6ZS5oZWlnaHQnLCBudWxsKTtcbiAgICAgICAgY29uc3QgbWluV2lkdGggPSBzbWFsbERldmljZSA/ICcxMDB2dycgOiB2aWV3V2lkdGggPyB2aWV3V2lkdGggKyAncHgnIDogJ2F1dG8nO1xuICAgICAgICBjb25zdCBtaW5IZWlnaHQgPSBzbWFsbERldmljZSA/ICcxMDB2dycgOiB2aWV3SGllZ2h0ID8gdmlld0hpZWdodCArICdweCcgOiAnYXV0byc7XG4gICAgICAgIGlmICh2aWV3SGllZ2h0KSB7XG4gICAgICAgICAgICBoZWlnaHQgPSAnMTAwJSc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kYWxTZXR0aW5nID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLFxuICAgICAgICAgICAgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzLk1vZGFsU2V0dGluZycsXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBzZXR0aW5nID0ge1xuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBtb2JpbGU6IHNtYWxsRGV2aWNlLFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICAvLyBib2R5TWluSGVpZ2h0OiBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5XaWR0aCxcbiAgICAgICAgICAgIGZ1bGxTY3JlZW46IHNtYWxsRGV2aWNlLFxuICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE6IHsgY2FwdGlvbjogdGhpcy5jYXB0aW9uIH1cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKG1vZGFsU2V0dGluZykge1xuICAgICAgICAgICAgc2V0dGluZyA9IHsgLi4uc2V0dGluZywgLi4ubW9kYWxTZXR0aW5nIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5kaWFsb2dUZW1wbGF0ZVJlZiwgc2V0dGluZyk7XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLkFkYXB0ZXI7XG4gICAgICAgIGFkYXB0ZXIuZmlyZUV2ZW50KCdUb29sQ2xpY2snLCBhZGFwdGVyLCB7IEtleTogJ0NhbmNlbCcgfSk7XG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICAgIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWRhcHRlciA9IHRoaXMuQWRhcHRlcjtcbiAgICAgICAgYWRhcHRlci5maXJlRXZlbnQoJ1Rvb2xDbGljaycsIGFkYXB0ZXIsIHsgS2V5OiAnU2F2ZUFuZENsb3NlJyB9KTtcbiAgICB9XG4gICAgb25PaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWRhcHRlciA9IHRoaXMuQWRhcHRlcjtcbiAgICAgICAgYWRhcHRlci5maXJlRXZlbnQoJ1Rvb2xDbGljaycsIGFkYXB0ZXIsIHsgS2V5OiAnT2snIH0pO1xuICAgIH1cblxuICAgIG9uRm9ybUNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgICB0aGlzLmRpYWxvZ1BhcmFtcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLmRpYWxvZ09wZW5lZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8vIEBJbnB1dCgpIFNob3dGb3JtUGFuZWxDb250cm9sID0gKGZvcm1wYW5lbEN0cmxyKSA9PiB7fTtcbiAgICAvLyAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8vIEBJbnB1dCgpIEZvcmNlQ2xvc2VDaGlsZCA9ICgpID0+IHt9O1xuICAgIC8vIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgLy8gQElucHV0KCkgUmVmcmVzaEZvcm1QYW5lbENvbnRyb2wgPSAoZm9ybXBhbmVsQ3RybHIpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBfY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMuZGlhbG9nUmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5BZGFwdGVyLkNvbnRyb2wuZmlyZUV2ZW50KCdSZXF1ZXN0Rm9yQ2xvc2UnLCB0aGlzLkFkYXB0ZXIuQ29udHJvbCk7XG4gICAgICAgIC8vIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIC8vIHRoaXMuZGlhbG9nUGFyYW1zLmNsb3NlKCk7XG4gICAgICAgIC8vIHRoaXMuZGlhbG9nT3BlbmVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q2FwdGlvbihmb3JtUGFuZWxDdHJscjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHR5cGVEZWZOYW1lID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoZm9ybVBhbmVsQ3RybHIsICdNby4kVHlwZURlZk5hbWUnLCAnJyk7XG4gICAgICAgIGNvbnN0IG1vQ2FwdGlvbiA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGZvcm1QYW5lbEN0cmxyLCAnTW8uJENhcHRpb24nLCAnJyk7XG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IHR5cGVEZWZOYW1lICsgJzonICsgbW9DYXB0aW9uO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjZGlhbG9nPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiICNkaWFsb2dUcGxSZWY+XG4gICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZkVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgICAgICA8aDEgZmQtdGl0bGU+e3sgZGlhbG9nQ29uZmlnLmRhdGEuY2FwdGlvbiB9fTwvaDE+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRpYWxvZ0NvbmZpZy5oZWlnaHQgIT09ICcxMDB2aCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZGlhbG9nLmRhdGEuZnVsbHNjcmVlbiA/ICdleGl0ZnVsbHNjcmVlbicgOiAncmVzaXplJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsc2NyZWVuRGlhbG9nXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlhbG9nXT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlhbG9nQ29tcG9uZW50XT1cImRpYWxvZ1RwbFJlZlwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGFyaWFMYWJlbD1cImNsb3NlXCIgZ2x5cGg9XCJkZWNsaW5lXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICAgICAgPGZkLWRpYWxvZy1ib2R5PlxuICAgICAgICAgICAgPGJucmMtZm9ybSBbZm9ybVBhbmVsQ3RybF09XCJmb3JtUGFuZWxDdHJsclwiIFtwYXJhbXNdPVwicGFyYW1zXCIgKGZvcm1DbG9zZSk9XCJvbkZvcm1DbG9zZSgpXCI+PC9ibnJjLWZvcm0+XG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyIFtzdHlsZS5kaXNwbGF5XT1cIiFzaG93Rm9vdGVyID8gJ25vbmUnIDogbnVsbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTm9uZVBlcnNpc3RhbmNlOyBlbHNlIHNhdmVCdG5cIj5cbiAgICAgICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT2snIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk9rKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2F2ZUJ0bj5cbiAgICAgICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU2F2ZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgICAgIGZkLWluaXRpYWwtZm9jdXNcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|