@bizdoc/core 1.13.0-next.6 → 1.13.1
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/assets/bizdoc-schema.json +1 -14
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +5 -2
- package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -2
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +1 -1
- package/esm2020/lib/app.component.mjs +1 -1
- package/esm2020/lib/browse/browse-items.component.mjs +13 -10
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +84 -57
- package/esm2020/lib/compose/action/action-picker.component.mjs +15 -14
- package/esm2020/lib/compose/action/action.base.mjs +8 -7
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +12 -11
- package/esm2020/lib/compose/action/assign-action.component.mjs +52 -26
- package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -4
- package/esm2020/lib/compose/form.component.mjs +5 -6
- package/esm2020/lib/compose/trace/flow.component.mjs +129 -124
- package/esm2020/lib/compose/trace/trace.component.mjs +46 -44
- package/esm2020/lib/core/controls/file.input.mjs +6 -7
- package/esm2020/lib/core/layout/layout.component.mjs +2 -2
- package/esm2020/lib/core/mailbox.service.mjs +29 -6
- package/esm2020/lib/core/models.mjs +2 -9
- package/esm2020/lib/core/translations.mjs +18 -2
- package/esm2020/lib/cube/cube.service.mjs +5 -5
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +62 -62
- package/fesm2015/bizdoc-core.mjs +579 -477
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +573 -476
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/diff/configuration-diff.component.d.ts +1 -0
- package/lib/app.component.d.ts +2 -2
- package/lib/browse/expanded-item/expanded-item.component.d.ts +7 -6
- package/lib/compose/action/action-picker.component.d.ts +2 -1
- package/lib/compose/action/action.base.d.ts +4 -2
- package/lib/compose/action/action.pane.dialog.exp.d.ts +2 -1
- package/lib/compose/action/assign-action.component.d.ts +16 -5
- package/lib/compose/trace/flow.component.d.ts +0 -1
- package/lib/compose/trace/trace.component.d.ts +5 -4
- package/lib/core/mailbox.service.d.ts +4 -2
- package/lib/core/models.d.ts +6 -13
- package/lib/core/translations.d.ts +16 -0
- package/lib/cube/cube.service.d.ts +1 -1
- package/package.json +1 -2
@@ -1,19 +1,20 @@
|
|
1
1
|
import { tap } from 'rxjs';
|
2
2
|
export class ActionBase {
|
3
|
-
constructor(_mailbox, _accounts, _sb) {
|
3
|
+
constructor(_mailbox, _accounts, _sb, _translate) {
|
4
4
|
this._mailbox = _mailbox;
|
5
5
|
this._accounts = _accounts;
|
6
6
|
this._sb = _sb;
|
7
|
+
this._translate = _translate;
|
7
8
|
}
|
8
9
|
_ok(action, args) {
|
9
10
|
const { id, version, number, model, formId } = this.model;
|
10
11
|
return this._mailbox.send(id, version, formId, model, action.name, args).
|
11
12
|
pipe(tap(r => {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
const origin = r.recipients.filter(r => r.originId === id);
|
14
|
+
if (origin.length)
|
15
|
+
this._accounts.getAll(origin.map(r => r.userId)).subscribe(u => this._sb.toast('SentTo', number, (action.adjective || action.past || action.title).toLowerCase(), this._translate.join(u.map(u => u.name))));
|
16
|
+
else
|
17
|
+
this._sb.toast('Sent', number, (action.adjective || action.past || action.title).toLowerCase());
|
17
18
|
}, e => {
|
18
19
|
this._handleError(e, 'SendErr');
|
19
20
|
}));
|
@@ -45,4 +46,4 @@ export class ActionBase {
|
|
45
46
|
}
|
46
47
|
}
|
47
48
|
}
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPM0IsTUFBTSxPQUFnQixVQUFVO0lBRTlCLFlBQ1UsUUFBd0IsRUFDeEIsU0FBeUIsRUFDdkIsR0FBa0IsRUFDcEIsVUFBNEI7UUFINUIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUNsQyxDQUFDO0lBQ0ssR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFJO1FBQ2hDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksTUFBTSxDQUFDLE1BQU07Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztnQkFFL0ksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUNPLFlBQVksQ0FBQyxRQUFpQyxFQUFFLE9BQWUsRUFBRSxHQUFHLElBQWM7UUFDeEYsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxlQUFlO1lBQy9DLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDckIsS0FBSyxDQUFDO29CQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ25DLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDNUI7O1lBR0QsUUFBUSxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLEdBQUc7b0JBQ04sTUFBTTtnQkFDUixLQUFLLEdBQUcsRUFBRSxpQkFBaUI7b0JBQ3pCO3dCQUNFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsc0JBQTZDLENBQUM7d0JBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNoRCxNQUFNO3FCQUNQO2dCQUNILEtBQUssR0FBRyxFQUFFLHVCQUF1QjtvQkFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNyQyxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3BDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBY3Rpb24sIFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjdGlvbkJhc2Uge1xyXG4gIHB1YmxpYyBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkgeyB9XHJcbiAgcHJvdGVjdGVkIF9vayhhY3Rpb246IEFjdGlvbiwgYXJncykge1xyXG4gICAgY29uc3QgeyBpZCwgdmVyc2lvbiwgbnVtYmVyLCBtb2RlbCwgZm9ybUlkIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guc2VuZChpZCwgdmVyc2lvbiwgZm9ybUlkLCBtb2RlbCwgYWN0aW9uLm5hbWUsIGFyZ3MpLlxyXG4gICAgICBwaXBlKHRhcChyID0+IHtcclxuICAgICAgICBjb25zdCBvcmlnaW4gPSByLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5vcmlnaW5JZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoKVxyXG4gICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKG9yaWdpbi5tYXAociA9PiByLnVzZXJJZCkpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBudW1iZXIsIChhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKSwgdGhpcy5fdHJhbnNsYXRlLmpvaW4odS5tYXAodSA9PiB1Lm5hbWUpKSkpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50JywgbnVtYmVyLCAoYWN0aW9uLmFkamVjdGl2ZSB8fCBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICB9LCBlID0+IHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlLCAnU2VuZEVycicpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUVycm9yKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSwgbWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoIChyZXNwb25zZS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwOTogLy8gdmVyc2lvbiBjaGFuZ2VcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqID0gcmVzcG9uc2UuZXJyb3IgLyogc2VyaWFsaXplZCBtb2RlbCAqLyBhcyBSZWNpcGllbnRNb2RlbDxhbnk+O1xyXG4gICAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVmVyc2lvbkVycicsIHRoaXMubW9kZWwubnVtYmVyKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSA0MDY6IC8vIHZhbGlkYXRpb24gZXhjZXB0aW9uXHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvclN0cmluZyhyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IobWVzc2FnZSwgLi4uYXJncyk7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -9,16 +9,17 @@ import * as i2 from "../../core/mailbox.service";
|
|
9
9
|
import * as i3 from "../../core/component-factory-resolver";
|
10
10
|
import * as i4 from "../../core/account.service";
|
11
11
|
import * as i5 from "../../core/prompt.service";
|
12
|
-
import * as i6 from "../../core/
|
13
|
-
import * as i7 from "
|
14
|
-
import * as i8 from "@angular/material/
|
15
|
-
import * as i9 from "@angular/
|
16
|
-
import * as i10 from "
|
12
|
+
import * as i6 from "../../core/translate.service";
|
13
|
+
import * as i7 from "../../core/session.service";
|
14
|
+
import * as i8 from "@angular/material/button";
|
15
|
+
import * as i9 from "@angular/material/dialog";
|
16
|
+
import * as i10 from "@angular/common";
|
17
|
+
import * as i11 from "../../core/pipes/translate.pipe";
|
17
18
|
/** action-dialog component*/
|
18
19
|
export class ActionPaneComponent extends ActionBase {
|
19
20
|
/** action-dialog ctor */
|
20
|
-
constructor(_pane, mailbox, _fr, _fr2, accounts, sb, session) {
|
21
|
-
super(mailbox, accounts, sb);
|
21
|
+
constructor(_pane, mailbox, _fr, _fr2, accounts, sb, translate, session) {
|
22
|
+
super(mailbox, accounts, sb, translate);
|
22
23
|
this._pane = _pane;
|
23
24
|
this._fr = _fr;
|
24
25
|
this._fr2 = _fr2;
|
@@ -57,15 +58,15 @@ export class ActionPaneComponent extends ActionBase {
|
|
57
58
|
this._destroy.complete();
|
58
59
|
}
|
59
60
|
}
|
60
|
-
ActionPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
61
|
-
ActionPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionPaneComponent, selector: "bizdoc-action-dialog.pane", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type:
|
61
|
+
ActionPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
62
|
+
ActionPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ActionPaneComponent, selector: "bizdoc-action-dialog.pane", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i9.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i9.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i11.TranslatePipe } });
|
62
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ActionPaneComponent, decorators: [{
|
63
64
|
type: Component,
|
64
65
|
args: [{ selector: 'bizdoc-action-dialog.pane', host: {
|
65
66
|
class: 'pane'
|
66
67
|
}, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"] }]
|
67
|
-
}], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.MailboxService }, { type: i3.BizDocComponentFactoryResolver }, { type: i0.ComponentFactoryResolver }, { type: i4.AccountService }, { type: i5.PromptService }, { type: i6.SessionService }]; }, propDecorators: { container: [{
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.MailboxService }, { type: i3.BizDocComponentFactoryResolver }, { type: i0.ComponentFactoryResolver }, { type: i4.AccountService }, { type: i5.PromptService }, { type: i6.TranslateService }, { type: i7.SessionService }]; }, propDecorators: { container: [{
|
68
69
|
type: ViewChild,
|
69
70
|
args: ['container']
|
70
71
|
}] } });
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnBhbmUuZGlhbG9nLmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hY3Rpb24vYWN0aW9uLnBhbmUuZGlhbG9nLmV4cC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hY3Rpb24vYWN0aW9uLnBhbmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsWUFBWSxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUtyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBWTNDLDZCQUE2QjtBQUM3QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQU9qRCx5QkFBeUI7SUFDekIsWUFDVSxLQUFtQyxFQUMzQyxPQUF1QixFQUNmLEdBQW1DLEVBQ25DLElBQThCLEVBQ3RDLFFBQXdCLEVBQ3hCLEVBQWlCLEVBQ2pCLFNBQTJCLEVBQzNCLE9BQXVCO1FBQ3ZCLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQVJoQyxVQUFLLEdBQUwsS0FBSyxDQUE4QjtRQUVuQyxRQUFHLEdBQUgsR0FBRyxDQUFnQztRQUNuQyxTQUFJLEdBQUosSUFBSSxDQUEwQjtRQVZ4QyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBR04sYUFBUSxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFR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O3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkO29VQUl1QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFyYW1NYXAgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25CYXNlIH0gZnJvbSAnLi9hY3Rpb24uYmFzZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1hY3Rpb24tZGlhbG9nLnBhbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24ucGFuZS5kaWFsb2cuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLmRpYWxvZy5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuLyoqIGFjdGlvbi1kaWFsb2cgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEFjdGlvblBhbmVDb21wb25lbnQgZXh0ZW5kcyBBY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBhcmd1bWVudHMgPSB7fTtcclxuICByZWFkb25seSBhY3Rpb246IEFjdGlvbjtcclxuICB2YWxpZDogYm9vbGVhbjtcclxuICByZWFkb25seSBva0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFyYW1NYXA+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIGFjdGlvbi1kaWFsb2cgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxBY3Rpb25QYW5lQ29tcG9uZW50PixcclxuICAgIG1haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZnI6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX2ZyMjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIobWFpbGJveCwgYWNjb3VudHMsIHNiLCB0cmFuc2xhdGUpO1xyXG4gICAgdGhpcy5tb2RlbCA9IF9wYW5lLmRhdGEuaXRlbTtcclxuICAgIHRoaXMuYWN0aW9uID0gc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gX3BhbmUucGFyYW1zLmFjdGlvbik7XHJcbiAgfVxyXG4gIGNsb3NlKCkgeyB0aGlzLl9wYW5lLmNsb3NlKCk7IH1cclxuICBvaygpIHtcclxuICAgIHN1cGVyLl9vayh0aGlzLmFjdGlvbiwgdGhpcy5hcmd1bWVudHMpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLmNsb3NlKClcclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWN0aW9uLnRlbXBsYXRlKSB7XHJcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9mci5yZXNvbHZlKHRoaXMuYWN0aW9uLnRlbXBsYXRlKTtcclxuICAgICAgY29uc3QgY1JlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgKGNSZWYuaW5zdGFuY2UgYXMgQXJndW1lbnRzQ29tcG9uZW50KS5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4gdGhpcy5hcmd1bWVudHMgPSB2KTtcclxuICAgICAgKGNSZWYuaW5zdGFuY2UgYXMgQXJndW1lbnRzQ29tcG9uZW50KS5mb3JtLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICAgIHN1YnNjcmliZSgoKSA9PiB0aGlzLnZhbGlkID0gKGNSZWYuaW5zdGFuY2UgYXMgQXJndW1lbnRzQ29tcG9uZW50KS5mb3JtLnZhbGlkKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5hY3Rpb24uYXJndW1lbnRzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICB0aGlzLnZhbGlkID0gdHJ1ZTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2ZyMi5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShMYXlvdXRDb21wb25lbnQpO1xyXG4gICAgICAgIGNvbnN0IGNSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgICAgY1JlZi5pbnN0YW5jZS5maWVsZHMgPSB0aGlzLmFjdGlvbi5hcmd1bWVudHM7XHJcbiAgICAgICAgY1JlZi5pbnN0YW5jZS5tb2RlbENoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4gdGhpcy5hcmd1bWVudHMgPSB2KTtcclxuICAgICAgICBjUmVmLmluc3RhbmNlLnZhbGlkQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB0aGlzLnZhbGlkID0gdik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3thY3Rpb24udGl0bGV9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgKm5nSWY9XCIhYWN0aW9uLmFyZ3VtZW50cy5sZW5ndGhcIj5cclxuICAgIHt7ICdBY3Rpb25Bc2snIHwgdHJhbnNsYXRlIDogKGFjdGlvbi52ZXJiIHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKSB9fVxyXG4gIDwvcD5cclxuICA8bmctY29udGFpbmVyICNjb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cIiF2YWxpZFwiIChjbGljayk9XCJvaygpXCIgY29sb3I9XCJwcmltYXJ5XCI+e3snWWVzJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPSdjbG9zZSgpJz57eydObycgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
|
@@ -1,56 +1,79 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { Component } from '@angular/core';
|
2
|
+
import { Component, ElementRef, ViewChild } from '@angular/core';
|
3
3
|
import { Validators } from '@angular/forms';
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
4
|
+
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
5
|
+
import { debounceTime, Subject } from 'rxjs';
|
6
|
+
import { takeUntil, map, switchMap } from 'rxjs/operators';
|
7
7
|
import { BizDoc } from '../../core/decorators';
|
8
|
-
import { takeUntil } from 'rxjs';
|
9
8
|
import * as i0 from "@angular/core";
|
10
9
|
import * as i1 from "@angular/forms";
|
11
10
|
import * as i2 from "../../core/session.service";
|
12
11
|
import * as i3 from "../../core/account.service";
|
13
12
|
import * as i4 from "@angular/material/form-field";
|
14
|
-
import * as i5 from "@angular/material/
|
15
|
-
import * as i6 from "@angular/material/
|
16
|
-
import * as i7 from "@angular/material/
|
17
|
-
import * as i8 from "@angular/
|
18
|
-
import * as i9 from "@angular/material/
|
19
|
-
import * as i10 from "@angular/
|
20
|
-
import * as i11 from "@angular/
|
21
|
-
import * as i12 from "
|
13
|
+
import * as i5 from "@angular/material/chips";
|
14
|
+
import * as i6 from "@angular/material/icon";
|
15
|
+
import * as i7 from "@angular/material/autocomplete";
|
16
|
+
import * as i8 from "@angular/material/core";
|
17
|
+
import * as i9 from "@angular/material/checkbox";
|
18
|
+
import * as i10 from "@angular/flex-layout/flex";
|
19
|
+
import * as i11 from "@angular/common";
|
20
|
+
import * as i12 from "@angular/material/input";
|
21
|
+
import * as i13 from "@angular/cdk/text-field";
|
22
|
+
import * as i14 from "../../core/pipes/translate.pipe";
|
23
|
+
import * as i15 from "../../core/pipes/user-name.pipe";
|
22
24
|
let AssignActionComponent = class AssignActionComponent {
|
23
25
|
constructor(_fb, _session, _accounts) {
|
24
26
|
this._fb = _fb;
|
25
27
|
this._session = _session;
|
26
28
|
this._accounts = _accounts;
|
29
|
+
this.separatorKeysCodes = [ENTER, COMMA];
|
27
30
|
this.form = this._fb.group({
|
28
|
-
|
31
|
+
userIds: this._fb.control(null, Validators.required),
|
29
32
|
fyi: this._fb.control(false),
|
30
|
-
|
33
|
+
roundtrip: this._fb.control(false),
|
31
34
|
note: this._fb.control(null, Validators.maxLength(200))
|
32
35
|
});
|
33
|
-
this.
|
36
|
+
this.userIds = this._fb.control([]);
|
34
37
|
this._destroy = new Subject();
|
35
38
|
}
|
36
39
|
ngOnInit() {
|
37
40
|
const me = this._session.userId;
|
38
|
-
this.users = this.
|
39
|
-
pipe(
|
41
|
+
this.users$ = this.userIds.valueChanges.
|
42
|
+
pipe(debounceTime(200), takeUntil(this._destroy), switchMap(v => this._accounts.findAll(v, { take: 20 }).
|
40
43
|
pipe(map(r => r.filter(u => u.id !== me)))));
|
41
44
|
}
|
42
|
-
|
43
|
-
|
45
|
+
/**
|
46
|
+
*
|
47
|
+
* @param inp
|
48
|
+
* @param event
|
49
|
+
*/
|
50
|
+
userSelected(inp, event) {
|
51
|
+
const userIds = this.form.controls['userIds'].value || [];
|
52
|
+
userIds.push(event.option.value);
|
53
|
+
this.form.controls['userIds'].setValue(userIds);
|
54
|
+
inp.value = '';
|
44
55
|
}
|
45
|
-
|
46
|
-
|
56
|
+
/**
|
57
|
+
*
|
58
|
+
* @param id
|
59
|
+
*/
|
60
|
+
removed(id) {
|
61
|
+
const userIds = this.form.controls['userIds'].value;
|
62
|
+
const index = userIds.indexOf(id);
|
63
|
+
if (userIds.length > 1) {
|
64
|
+
index >= 0 &&
|
65
|
+
userIds.splice(index, 1);
|
66
|
+
this.form.updateValueAndValidity();
|
67
|
+
}
|
68
|
+
else
|
69
|
+
this.form.controls['userIds'].setValue(null);
|
47
70
|
}
|
48
71
|
ngOnDestroy() {
|
49
72
|
this._destroy.next();
|
50
73
|
}
|
51
74
|
};
|
52
75
|
AssignActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AssignActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Component });
|
53
|
-
AssignActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AssignActionComponent, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <
|
76
|
+
AssignActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AssignActionComponent, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-chip-list #chipList [attr.aria-label]=\"'AssignTo'|translate\">\r\n <mat-chip *ngFor=\"let u of form.value.userIds\"\r\n [selectable]=\"true\"\r\n [removable]=\"true\"\r\n (removed)=\"removed(u)\">\r\n {{u | userName | async }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input required [placeholder]=\"'AssignTo'|translate\"\r\n [formControl]=userIds\r\n cdkFocusInitial \r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\"> - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"form.controls.userIds.hasError('required')\">{{'Required'|translate:('AssignTo'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=fyi> {{ 'AssignFYI' | translate }}</mat-checkbox>\r\n <!--<mat-checkbox formControlName=roundtrip> {{ 'AssignRoundtrip' | translate }}</mat-checkbox>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\r\n </textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n", components: [{ type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i5.MatChipRemove, selector: "[matChipRemove]" }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i13.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i14.TranslatePipe, "async": i11.AsyncPipe, "userName": i15.UserNamePipe } });
|
54
77
|
AssignActionComponent = __decorate([
|
55
78
|
BizDoc({
|
56
79
|
selector: 'bizdoc-action-assign'
|
@@ -59,6 +82,9 @@ AssignActionComponent = __decorate([
|
|
59
82
|
export { AssignActionComponent };
|
60
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AssignActionComponent, decorators: [{
|
61
84
|
type: Component,
|
62
|
-
args: [{ template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <
|
63
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SessionService }, { type: i3.AccountService }]; }
|
64
|
-
|
85
|
+
args: [{ template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-chip-list #chipList [attr.aria-label]=\"'AssignTo'|translate\">\r\n <mat-chip *ngFor=\"let u of form.value.userIds\"\r\n [selectable]=\"true\"\r\n [removable]=\"true\"\r\n (removed)=\"removed(u)\">\r\n {{u | userName | async }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <input required [placeholder]=\"'AssignTo'|translate\"\r\n [formControl]=userIds\r\n cdkFocusInitial \r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\"> - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"form.controls.userIds.hasError('required')\">{{'Required'|translate:('AssignTo'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=fyi> {{ 'AssignFYI' | translate }}</mat-checkbox>\r\n <!--<mat-checkbox formControlName=roundtrip> {{ 'AssignRoundtrip' | translate }}</mat-checkbox>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\r\n </textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n" }]
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SessionService }, { type: i3.AccountService }]; }, propDecorators: { nameInput: [{
|
87
|
+
type: ViewChild,
|
88
|
+
args: ['nameInput', { static: true, read: ElementRef }]
|
89
|
+
}] } });
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYWN0aW9uL2Fzc2lnbi1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2FjdGlvbi9hc3NpZ24tYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQVUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFZbEMscUJBQXFCLFNBQXJCLHFCQUFxQjtJQVloQyxZQUFvQixHQUFnQixFQUFVLFFBQXdCLEVBQVUsU0FBeUI7UUFBckYsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFYaEcsdUJBQWtCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFOUMsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFB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LEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vYXNzaWduLWFjdGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWN0aW9uLWFzc2lnbidcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2lnbkFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFyZ3VtZW50c0NvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcclxuICBAVmlld0NoaWxkKCduYW1lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBuYW1lSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIHVzZXJJZHM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBmeWk6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgcm91bmR0cmlwOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgIG5vdGU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjAwKSlcclxuICB9KTtcclxuICByZWFkb25seSB1c2VySWRzID0gdGhpcy5fZmIuY29udHJvbChbXSk7XHJcbiAgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+O1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG1lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQ7XHJcbiAgICB0aGlzLnVzZXJzJCA9IHRoaXMudXNlcklkcy52YWx1ZUNoYW5nZXMuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICAgIHN3aXRjaE1hcCh2ID0+XHJcbiAgICAgICAgICB0aGlzLl9hY2NvdW50cy5maW5kQWxsKHYsIHsgdGFrZTogMjAgfSkuXHJcbiAgICAgICAgICAgIHBpcGUobWFwKHIgPT5cclxuICAgICAgICAgICAgICByLmZpbHRlcih1ID0+IHUuaWQgIT09IG1lKSkpKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlucFxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIHVzZXJTZWxlY3RlZChpbnA6IEhUTUxJbnB1dEVsZW1lbnQsIGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB1c2VySWRzID0gdGhpcy5mb3JtLmNvbnRyb2xzWyd1c2VySWRzJ10udmFsdWUgYXMgc3RyaW5nW10gfHwgW107XHJcbiAgICB1c2VySWRzLnB1c2goZXZlbnQub3B0aW9uLnZhbHVlKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1sndXNlcklkcyddLnNldFZhbHVlKHVzZXJJZHMpO1xyXG4gICAgaW5wLnZhbHVlID0gJyc7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkXHJcbiAgICovXHJcbiAgcmVtb3ZlZChpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB1c2VySWRzID0gdGhpcy5mb3JtLmNvbnRyb2xzWyd1c2VySWRzJ10udmFsdWUgYXMgc3RyaW5nW107XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB1c2VySWRzLmluZGV4T2YoaWQpO1xyXG5cclxuICAgIGlmICh1c2VySWRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaW5kZXggPj0gMCAmJlxyXG4gICAgICAgIHVzZXJJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuXHJcbiAgICAgIHRoaXMuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIFxyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbJ3VzZXJJZHMnXS5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWNoaXAtbGlzdCAjY2hpcExpc3QgW2F0dHIuYXJpYS1sYWJlbF09XCInQXNzaWduVG8nfHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IHUgb2YgZm9ybS52YWx1ZS51c2VySWRzXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZWQodSlcIj5cclxuICAgICAgICB7e3UgfCB1c2VyTmFtZSB8IGFzeW5jIH19XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgPGlucHV0IHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCInQXNzaWduVG8nfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPXVzZXJJZHNcclxuICAgICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbCBcclxuICAgICAgICAgICAgICNuYW1lSW5wdXRcclxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCJcclxuICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIj5cclxuICAgIDwvbWF0LWNoaXAtbGlzdD5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cInVzZXJTZWxlY3RlZChuYW1lSW5wdXQsICRldmVudClcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHUgb2YgdXNlcnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwidS5pZFwiPlxyXG4gICAgICAgIHt7dS5uYW1lfX1cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInUuZW1haWxcIj4mbmJzcDsgLSB7e3UuZW1haWx9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMudXNlcklkcy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7J1JlcXVpcmVkJ3x0cmFuc2xhdGU6KCdBc3NpZ25Ubyd8dHJhbnNsYXRlKX19PC9tYXQtZXJyb3I+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1meWk+IHt7ICdBc3NpZ25GWUknIHwgdHJhbnNsYXRlIH19PC9tYXQtY2hlY2tib3g+XHJcbiAgPCEtLTxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPXJvdW5kdHJpcD4ge3sgJ0Fzc2lnblJvdW5kdHJpcCcgfCB0cmFuc2xhdGUgfX08L21hdC1jaGVja2JveD4tLT5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8dGV4dGFyZWEgbWF0SW5wdXQgY2RrVGV4dGFyZWFBdXRvc2l6ZSBmb3JtQ29udHJvbE5hbWU9XCJub3RlXCIgW3BsYWNlaG9sZGVyXT1cIidOb3RlJ3x0cmFuc2xhdGVcIiBtYXhsZW5ndGg9XCIyMDBcIj5cclxuICAgIDwvdGV4dGFyZWE+XHJcbiAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e2Zvcm0uY29udHJvbHNbJ25vdGUnXS52YWx1ZT8ubGVuZ3RoIHx8IDB9fSAvIHt7MjAwfX08L21hdC1oaW50PlxyXG4gICAgPG1hdC1oaW50Pnt7J0Fzc2lnbk5vdGVIaW50J3wgdHJhbnNsYXRlfX08L21hdC1oaW50PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvZm9ybT5cclxuIl19
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Component, Input, Injector } from '@angular/core';
|
2
|
-
import { AttachmentMode } from '../../core/models';
|
3
2
|
import { OverlayRef } from '@angular/cdk/overlay';
|
4
3
|
import { AttachmentPreview, FILE_PREVIEW_DIALOG_DATA } from './preview/attachment-preview.component';
|
5
4
|
import { ComponentPortal } from '@angular/cdk/portal';
|
@@ -38,13 +37,13 @@ export class AttachmentsComponent {
|
|
38
37
|
const attachments = this.model.attachments.sort((a1, a0) => a1.time > a0.time ? 1 : -1);
|
39
38
|
for (const attachment of attachments) {
|
40
39
|
if ((!attachment.deleted || this.includeDeleted) &&
|
41
|
-
|
40
|
+
!attachment.private &&
|
42
41
|
!distinct.find(a => a.fileName === attachment.fileName)) {
|
43
42
|
let log = this.model.log.filter(l => l.fileId == attachment.id && l.userId == this._session.userId), download = log.find(l => l.type === 'Download'), checkedOut = log.find(l => l.type === 'CheckOut');
|
44
43
|
if (download)
|
45
44
|
attachment.viewed = download.time;
|
46
45
|
if (checkedOut)
|
47
|
-
attachment.checkedOut =
|
46
|
+
attachment.checkedOut = true;
|
48
47
|
distinct.push(attachment);
|
49
48
|
}
|
50
49
|
}
|
@@ -125,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
125
124
|
}], includeDeleted: [{
|
126
125
|
type: Input
|
127
126
|
}] } });
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hdHRhY2htZW50cy9hdHRhY2htZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBNkIsY0FBYyxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQzlGLE9BQU8sRUFBVyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQWUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT3pFLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLDRCQUE0QjtJQUM1QixZQUFvQixRQUF3QixFQUNsQyxRQUF3QixFQUN4QixHQUFxQixFQUNyQixHQUFrQixFQUNsQixRQUFpQixFQUNqQixTQUFtQixFQUNuQixJQUFvQjtRQU5WLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQWdCO1FBVnJCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBVWhDLENBQUM7SUFDTSxXQUFXO1FBQ2hCLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEYsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUM5QyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNO2dCQUNsRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDekQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDakcsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxFQUMvQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ25ELElBQUksUUFBUTtvQkFBRyxVQUE4QixDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNyRSxJQUFJLFVBQVU7b0JBQUcsVUFBOEIsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDN0UsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQjtTQUNGO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzdGLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBZ0I7UUFDdkIsNEVBQTRFO1FBQzVFLDREQUE0RDtRQUM1RCxpRUFBaUU7UUFDakUscURBQXFEO1FBQ3JELFVBQVU7UUFDViwrQ0FBK0M7UUFDL0MsK0JBQStCO1FBQy9CLDhEQUE4RDtRQUM5RCxHQUFHO1FBQ0gsS0FBSztRQUNMLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0UsSUFBd0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsSUFBZ0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztZQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBZ0I7UUFDekIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQWdCO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEcsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFnQjtRQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNoQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUU7WUFDM0YsYUFBYSxFQUFFLGVBQWU7WUFDOUIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFpQixFQUFFO1lBQ2pILEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1NBQ3hDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQixJQUF3QixDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBZ0I7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQWdCO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFFLElBQUksQ0FBQyxLQUE2QixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RixzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLElBQUksRUFBRSxDQUFDOztZQUVQLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDNUUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7aUhBL0ZVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGlMQ2pCakMsNDNDQXVCQTsyRkROYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usb0JBQW9CO3VRQU1yQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudE1vZGVsLCBBdHRhY2htZW50LCBBdHRhY2htZW50TW9kZSwgUmVjaXBpZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRQcmV2aWV3LCBGSUxFX1BSRVZJRVdfRElBTE9HX0RBVEEsIFByZXZpZXdEYXRhIH0gZnJvbSAnLi9wcmV2aWV3L2F0dGFjaG1lbnQtcHJldmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RXh0cmEsIE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9pbmZvL2F0dGFjaG1lbnQtaW5mby5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWF0dGFjaG1lbnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2F0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuLyoqIG1haWwtYXR0YWNobWVudHMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBtb2RlbCE6IFJlY2lwaWVudE1vZGVsPGFueT4gfCBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgQElucHV0KCkgdmlld2VkSW5kaWNhdG9yID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xyXG4gIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W107XHJcbiAgLyoqIG1haWwtYXR0YWNobWVudHMgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHkpIHtcclxuICB9XHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGlzdGluY3Q6IEF0dGFjaG1lbnRbXSA9IFtdO1xyXG4gICAgY29uc3QgYXR0YWNobWVudHMgPSB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnNvcnQoKGExLCBhMCkgPT4gYTEudGltZSA+IGEwLnRpbWUgPyAxIDogLTEpO1xyXG4gICAgZm9yIChjb25zdCBhdHRhY2htZW50IG9mIGF0dGFjaG1lbnRzKSB7XHJcbiAgICAgIGlmICgoIWF0dGFjaG1lbnQuZGVsZXRlZCB8fCB0aGlzLmluY2x1ZGVEZWxldGVkKSAmJlxyXG4gICAgICAgIChhdHRhY2htZW50Lm1vZGUgJiBBdHRhY2htZW50TW9kZS5QdWJsaWMpID09IEF0dGFjaG1lbnRNb2RlLlB1YmxpYyAmJlxyXG4gICAgICAgICFkaXN0aW5jdC5maW5kKGEgPT4gYS5maWxlTmFtZSA9PT0gYXR0YWNobWVudC5maWxlTmFtZSkpIHtcclxuICAgICAgICBsZXQgbG9nID0gdGhpcy5tb2RlbC5sb2cuZmlsdGVyKGwgPT4gbC5maWxlSWQgPT0gYXR0YWNobWVudC5pZCAmJiBsLnVzZXJJZCA9PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCksXHJcbiAgICAgICAgICBkb3dubG9hZCA9IGxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnRG93bmxvYWQnKSxcclxuICAgICAgICAgIGNoZWNrZWRPdXQgPSBsb2cuZmluZChsPT4gbC50eXBlID09PSAnQ2hlY2tPdXQnKTtcclxuICAgICAgICBpZiAoZG93bmxvYWQpIChhdHRhY2htZW50IGFzIEF0dGFjaG1lbnRFeHRyYSkudmlld2VkID0gZG93bmxvYWQudGltZTtcclxuICAgICAgICBpZiAoY2hlY2tlZE91dCkgKGF0dGFjaG1lbnQgYXMgQXR0YWNobWVudEV4dHJhKS5jaGVja2VkT3V0ID0gY2hlY2tlZE91dC50aW1lO1xyXG4gICAgICAgIGRpc3RpbmN0LnB1c2goYXR0YWNobWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXR0YWNobWVudHMgPSBkaXN0aW5jdDtcclxuICB9XHJcbiAgaGFzVmVyc2lvbihpdGVtOiBBdHRhY2htZW50KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5maW5kKGEgPT4gYS5maWxlTmFtZSA9PT0gaXRlbS5maWxlTmFtZSAmJiBhICE9IGl0ZW0pICE9IG51bGw7XHJcbiAgfVxyXG4gIGdldFZlcnNpb25zKGl0ZW06IEF0dGFjaG1lbnQpOiBBdHRhY2htZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZWwuYXR0YWNobWVudHMuZmlsdGVyKGEgPT4gYS5maWxlTmFtZSA9PT0gaXRlbS5maWxlTmFtZSAmJiBhICE9IGl0ZW0pO1xyXG4gIH1cclxuICBkb3dubG9hZChpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICAvL3RoaXMuX21haWxib3guZG93bmxvYWQodGhpcy5tb2RlbC5kb2N1bWVudElkLCBpdGVtLmlkKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAvL2NvbnN0IGJsb2IgPSBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogaXRlbS5jb250ZW50VHlwZSB9KTtcclxuICAgIC8vaWYgKHR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZUJsb2IgIT09ICd1bmRlZmluZWQnKSB7IC8vIElFXHJcbiAgICAvLyAgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgLy99IGVsc2Uge1xyXG4gICAgLy9jb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIC8vY29uc3QgcHdhID0gd2luZG93Lm9wZW4odXJsKTtcclxuICAgIC8vaWYgKCFwd2EgfHwgcHdhLmNsb3NlZCB8fCB0eXBlb2YgcHdhLmNsb3NlZCA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAvL31cclxuICAgIC8vfSk7XHJcbiAgICBsb2NhdGlvbi5ocmVmID0gdGhpcy5fbWFpbGJveC5mb3JtYXREb3dubG9hZFVybCh0aGlzLm1vZGVsLmRvY3VtZW50SWQsIGl0ZW0uaWQpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBwcmV2aWV3T3JEb3dubG9hZChpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICBpZiAodGhpcy5jYW5QcmV2aWV3KGl0ZW0pKVxyXG4gICAgICB0aGlzLnByZXZpZXcoaXRlbSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgfVxyXG4gIGNhblByZXZpZXcoaXRlbTogQXR0YWNobWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEF0dGFjaG1lbnRJbmZvLmV4aXN0cyhpdGVtLmNvbnRlbnRUeXBlKTtcclxuICB9XHJcbiAgY2FuRGVsZXRlKGl0ZW06IEF0dGFjaG1lbnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tb2RlbC5jb21wbGV0ZWQgJiYgaXRlbS51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQgJiYgIWl0ZW0uZGVsZXRlZDtcclxuICB9XHJcbiAgcHJldmlldyhpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnZGFyay1iYWNrZHJvcCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbXHJcbiAgICAgIHsgcHJvdmlkZTogRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBLCB1c2VWYWx1ZTogeyBmaWxlOiBpdGVtLCBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWQgfSBhcyBQcmV2aWV3RGF0YSB9LFxyXG4gICAgICB7IHByb3ZpZGU6IE92ZXJsYXlSZWYsIHVzZVZhbHVlOiBvUmVmIH1cclxuICAgIF0sIHRoaXMuX2luamVjdG9yKTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQXR0YWNobWVudFByZXZpZXcsIHRoaXMuX3ZjLCBpbmplY3Rvcik7XHJcbiAgICBvUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBjYW5jZWwoaXRlbTogQXR0YWNobWVudCkge1xyXG4gICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRpc2NhcmQoaXRlbTogQXR0YWNobWVudCkge1xyXG4gICAgY29uc3QgdGFzayA9ICgpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3gucmVtb3ZlYXR0YWNobWVudCgodGhpcy5tb2RlbCBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5pZCwgaXRlbS5pZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAvL2l0ZW0uZGVsZXRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5uZ09uQ2hhbmdlcygpO1xyXG4gICAgICB9LCAoKSA9PlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgaWYgKHRoaXMubW9kZWwuZHJhZnQpXHJcbiAgICAgIHRhc2soKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fc2IuYXNrKCdEZWxldGVGaWxlQXNrJywgJ0RlbGV0ZUZpbGUnLCB7IGNvbG9yOiAnd2FybicgfSkuc3Vic2NyaWJlKG9rID0+XHJcbiAgICAgICAgb2sgJiYgdGFzaygpKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgYSBvZiBhdHRhY2htZW50c1wiPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cImF0dGFjaG1lbnQtbGlua1wiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhdHRhY2htZW50XCIgW2JpemRvY1Rvb2x0aXBdPVwiYS50aW1lIHwgYW1DYWxlbmRhclwiIFtwcm9ncmVzc0luZGljYXRvcl09XCJhLnByb2dyZXNzXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJ2aWV3ZWRJbmRpY2F0b3IgJiYgYS52aWV3ZWRcIj5kb25lX2FsbDwvbWF0LWljb24+XHJcbiAgICA8IS0tW2JpemRvY1Rvb2x0aXBdPVwiYS52aWV3ZWQgfCBhbUNhbGVuZGFyXCItLT5cclxuICAgIDxtYXQtaWNvbj5hdHRhY2htZW50PC9tYXQtaWNvbj4mbmJzcDtcclxuICAgIDxzcGFuIFtjbGFzcy5kZWxldGVkXT1cImEuZGVsZXRlZFwiIFtjbGFzcy5mYWlsZWRdPVwiYS5mYWlsZWRcIj57e2EuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI2F0dGFjaG1lbnQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuZmFpbGVkXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZG93bmxvYWQoYSlcIj57e1wiRG93bmxvYWRcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cImNhblByZXZpZXcoYSlcIiAoY2xpY2spPVwicHJldmlldyhhKVwiPjxtYXQtaWNvbj5sYW5kc2NhcGU8L21hdC1pY29uPiB7e1wiUHJldmlld1wiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1ZlcnNpb24oYSlcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHYgb2YgZ2V0VmVyc2lvbnMoYSlcIiAoY2xpY2spPVwicHJldmlld09yRG93bmxvYWQodilcIj57e3YudGltZSB8ICBhbUNhbGVuZGFyfX08L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5EZWxldGUoYSlcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoYSlcIj57e1wiRGlzY2FyZFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2FuY2VsKGEpXCIgKm5nSWY9XCJhLmZhaWxlZFwiPnt7XCJDYW5jZWxcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcbiJdfQ==
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hdHRhY2htZW50cy9hdHRhY2htZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBVyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQWUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT3pFLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLDRCQUE0QjtJQUM1QixZQUFvQixRQUF3QixFQUNsQyxRQUF3QixFQUN4QixHQUFxQixFQUNyQixHQUFrQixFQUNsQixRQUFpQixFQUNqQixTQUFtQixFQUNuQixJQUFvQjtRQU5WLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQWdCO1FBVnJCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLG1CQUFj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QUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBJbmplY3RvciwgVmlld0NvbnRhaW5lclJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwsIEF0dGFjaG1lbnQsIFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50UHJldmlldywgRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBLCBQcmV2aWV3RGF0YSB9IGZyb20gJy4vcHJldmlldy9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXR0YWNobWVudEV4dHJhLCBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50SW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvaW5mby9hdHRhY2htZW50LWluZm8uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1hdHRhY2htZW50cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdHRhY2htZW50cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiBtYWlsLWF0dGFjaG1lbnRzIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbW9kZWwhOiBSZWNpcGllbnRNb2RlbDxhbnk+IHwgRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIEBJbnB1dCgpIHZpZXdlZEluZGljYXRvciA9IHRydWU7XHJcbiAgQElucHV0KCkgaW5jbHVkZURlbGV0ZWQgPSBmYWxzZTtcclxuICBhdHRhY2htZW50czogQXR0YWNobWVudFtdO1xyXG4gIC8qKiBtYWlsLWF0dGFjaG1lbnRzIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5KSB7XHJcbiAgfVxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpc3RpbmN0OiBBdHRhY2htZW50W10gPSBbXTtcclxuICAgIGNvbnN0IGF0dGFjaG1lbnRzID0gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5zb3J0KChhMSwgYTApID0+IGExLnRpbWUgPiBhMC50aW1lID8gMSA6IC0xKTtcclxuICAgIGZvciAoY29uc3QgYXR0YWNobWVudCBvZiBhdHRhY2htZW50cykge1xyXG4gICAgICBpZiAoKCFhdHRhY2htZW50LmRlbGV0ZWQgfHwgdGhpcy5pbmNsdWRlRGVsZXRlZCkgJiZcclxuICAgICAgICAhYXR0YWNobWVudC5wcml2YXRlICYmXHJcbiAgICAgICAgIWRpc3RpbmN0LmZpbmQoYSA9PiBhLmZpbGVOYW1lID09PSBhdHRhY2htZW50LmZpbGVOYW1lKSkge1xyXG4gICAgICAgIGxldCBsb2cgPSB0aGlzLm1vZGVsLmxvZy5maWx0ZXIobCA9PiBsLmZpbGVJZCA9PSBhdHRhY2htZW50LmlkICYmIGwudXNlcklkID09IHRoaXMuX3Nlc3Npb24udXNlcklkKSxcclxuICAgICAgICAgIGRvd25sb2FkID0gbG9nLmZpbmQobCA9PiBsLnR5cGUgPT09ICdEb3dubG9hZCcpLFxyXG4gICAgICAgICAgY2hlY2tlZE91dCA9IGxvZy5maW5kKGw9PiBsLnR5cGUgPT09ICdDaGVja091dCcpO1xyXG4gICAgICAgIGlmIChkb3dubG9hZCkgKGF0dGFjaG1lbnQgYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBkb3dubG9hZC50aW1lO1xyXG4gICAgICAgIGlmIChjaGVja2VkT3V0KSAoYXR0YWNobWVudCBhcyBBdHRhY2htZW50RXh0cmEpLmNoZWNrZWRPdXQgPSB0cnVlO1xyXG4gICAgICAgIGRpc3RpbmN0LnB1c2goYXR0YWNobWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXR0YWNobWVudHMgPSBkaXN0aW5jdDtcclxuICB9XHJcbiAgaGFzVmVyc2lvbihpdGVtOiBBdHRhY2htZW50KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5maW5kKGEgPT4gYS5maWxlTmFtZSA9PT0gaXRlbS5maWxlTmFtZSAmJiBhICE9IGl0ZW0pICE9IG51bGw7XHJcbiAgfVxyXG4gIGdldFZlcnNpb25zKGl0ZW06IEF0dGFjaG1lbnQpOiBBdHRhY2htZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZWwuYXR0YWNobWVudHMuZmlsdGVyKGEgPT4gYS5maWxlTmFtZSA9PT0gaXRlbS5maWxlTmFtZSAmJiBhICE9IGl0ZW0pO1xyXG4gIH1cclxuICBkb3dubG9hZChpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICAvL3RoaXMuX21haWxib3guZG93bmxvYWQodGhpcy5tb2RlbC5kb2N1bWVudElkLCBpdGVtLmlkKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAvL2NvbnN0IGJsb2IgPSBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogaXRlbS5jb250ZW50VHlwZSB9KTtcclxuICAgIC8vaWYgKHR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZUJsb2IgIT09ICd1bmRlZmluZWQnKSB7IC8vIElFXHJcbiAgICAvLyAgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgLy99IGVsc2Uge1xyXG4gICAgLy9jb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIC8vY29uc3QgcHdhID0gd2luZG93Lm9wZW4odXJsKTtcclxuICAgIC8vaWYgKCFwd2EgfHwgcHdhLmNsb3NlZCB8fCB0eXBlb2YgcHdhLmNsb3NlZCA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAvL31cclxuICAgIC8vfSk7XHJcbiAgICBsb2NhdGlvbi5ocmVmID0gdGhpcy5fbWFpbGJveC5mb3JtYXREb3dubG9hZFVybCh0aGlzLm1vZGVsLmRvY3VtZW50SWQsIGl0ZW0uaWQpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBwcmV2aWV3T3JEb3dubG9hZChpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICBpZiAodGhpcy5jYW5QcmV2aWV3KGl0ZW0pKVxyXG4gICAgICB0aGlzLnByZXZpZXcoaXRlbSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgfVxyXG4gIGNhblByZXZpZXcoaXRlbTogQXR0YWNobWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEF0dGFjaG1lbnRJbmZvLmV4aXN0cyhpdGVtLmNvbnRlbnRUeXBlKTtcclxuICB9XHJcbiAgY2FuRGVsZXRlKGl0ZW06IEF0dGFjaG1lbnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tb2RlbC5jb21wbGV0ZWQgJiYgaXRlbS51c2VySWQgPT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQgJiYgIWl0ZW0uZGVsZXRlZDtcclxuICB9XHJcbiAgcHJldmlldyhpdGVtOiBBdHRhY2htZW50KSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnZGFyay1iYWNrZHJvcCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbXHJcbiAgICAgIHsgcHJvdmlkZTogRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBLCB1c2VWYWx1ZTogeyBmaWxlOiBpdGVtLCBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWQgfSBhcyBQcmV2aWV3RGF0YSB9LFxyXG4gICAgICB7IHByb3ZpZGU6IE92ZXJsYXlSZWYsIHVzZVZhbHVlOiBvUmVmIH1cclxuICAgIF0sIHRoaXMuX2luamVjdG9yKTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQXR0YWNobWVudFByZXZpZXcsIHRoaXMuX3ZjLCBpbmplY3Rvcik7XHJcbiAgICBvUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBjYW5jZWwoaXRlbTogQXR0YWNobWVudCkge1xyXG4gICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRpc2NhcmQoaXRlbTogQXR0YWNobWVudCkge1xyXG4gICAgY29uc3QgdGFzayA9ICgpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3gucmVtb3ZlYXR0YWNobWVudCgodGhpcy5tb2RlbCBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5pZCwgaXRlbS5pZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAvL2l0ZW0uZGVsZXRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5uZ09uQ2hhbmdlcygpO1xyXG4gICAgICB9LCAoKSA9PlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgaWYgKHRoaXMubW9kZWwuZHJhZnQpXHJcbiAgICAgIHRhc2soKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fc2IuYXNrKCdEZWxldGVGaWxlQXNrJywgJ0RlbGV0ZUZpbGUnLCB7IGNvbG9yOiAnd2FybicgfSkuc3Vic2NyaWJlKG9rID0+XHJcbiAgICAgICAgb2sgJiYgdGFzaygpKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgYSBvZiBhdHRhY2htZW50c1wiPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cImF0dGFjaG1lbnQtbGlua1wiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhdHRhY2htZW50XCIgW2JpemRvY1Rvb2x0aXBdPVwiYS50aW1lIHwgYW1DYWxlbmRhclwiIFtwcm9ncmVzc0luZGljYXRvcl09XCJhLnByb2dyZXNzXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJ2aWV3ZWRJbmRpY2F0b3IgJiYgYS52aWV3ZWRcIj5kb25lX2FsbDwvbWF0LWljb24+XHJcbiAgICA8IS0tW2JpemRvY1Rvb2x0aXBdPVwiYS52aWV3ZWQgfCBhbUNhbGVuZGFyXCItLT5cclxuICAgIDxtYXQtaWNvbj5hdHRhY2htZW50PC9tYXQtaWNvbj4mbmJzcDtcclxuICAgIDxzcGFuIFtjbGFzcy5kZWxldGVkXT1cImEuZGVsZXRlZFwiIFtjbGFzcy5mYWlsZWRdPVwiYS5mYWlsZWRcIj57e2EuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI2F0dGFjaG1lbnQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuZmFpbGVkXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZG93bmxvYWQoYSlcIj57e1wiRG93bmxvYWRcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cImNhblByZXZpZXcoYSlcIiAoY2xpY2spPVwicHJldmlldyhhKVwiPjxtYXQtaWNvbj5sYW5kc2NhcGU8L21hdC1pY29uPiB7e1wiUHJldmlld1wiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1ZlcnNpb24oYSlcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHYgb2YgZ2V0VmVyc2lvbnMoYSlcIiAoY2xpY2spPVwicHJldmlld09yRG93bmxvYWQodilcIj57e3YudGltZSB8ICBhbUNhbGVuZGFyfX08L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5EZWxldGUoYSlcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoYSlcIj57e1wiRGlzY2FyZFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2FuY2VsKGEpXCIgKm5nSWY9XCJhLmZhaWxlZFwiPnt7XCJDYW5jZWxcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcbiJdfQ==
|