raise-common-lib-new 0.0.20 → 0.0.21
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/language/fr.d.ts +3377 -0
- package/assets/language/ja.d.ts +3351 -0
- package/assets/language/ko.d.ts +3351 -0
- package/assets/language/zh-CN.d.ts +3064 -0
- package/assets/language/zh-TW.d.ts +3354 -0
- package/esm2022/assets/language/fr.mjs +3378 -0
- package/esm2022/assets/language/ja.mjs +3352 -0
- package/esm2022/assets/language/ko.mjs +3352 -0
- package/esm2022/assets/language/zh-CN.mjs +3065 -0
- package/esm2022/assets/language/zh-TW.mjs +3355 -0
- package/esm2022/lib/commentary/constants.mjs +2 -0
- package/esm2022/lib/commentary/index.component.mjs +146 -0
- package/esm2022/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.mjs +44 -0
- package/esm2022/lib/common-grid/grid-action/grid-action.component.mjs +18 -0
- package/esm2022/lib/common-grid/index.component.mjs +52 -30
- package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +2 -2
- package/esm2022/lib/dialog/common-dialog/index.component.mjs +4 -4
- package/esm2022/lib/form/checkbox-group/index.component.mjs +2 -2
- package/esm2022/lib/form/drawer-form/constants.mjs +10 -0
- package/esm2022/lib/form/drawer-form/drawer-form.component.mjs +336 -0
- package/esm2022/lib/form/encrypted-input/index.component.mjs +35 -0
- package/esm2022/lib/form/radio-group/index.component.mjs +2 -2
- package/esm2022/lib/form/switch-input/index.component.mjs +2 -2
- package/esm2022/lib/form/tag-input/index.component.mjs +31 -11
- package/esm2022/lib/form/toolbar-item/index.component.mjs +56 -0
- package/esm2022/lib/layout/drawer/index.component.mjs +165 -0
- package/esm2022/lib/layout/grid-box/index.component.mjs +37 -12
- package/esm2022/lib/layout/main-container/index.component.mjs +47 -9
- package/esm2022/lib/layout/multi-tab/index.component.mjs +135 -30
- package/esm2022/lib/layout/nav-card-group/constants.mjs +2 -0
- package/esm2022/lib/layout/nav-card-group/index.component.mjs +37 -0
- package/esm2022/lib/layout/page-list/index.component.mjs +38 -8
- package/esm2022/lib/layout/page-tab/index.component.mjs +25 -6
- package/esm2022/lib/layout/rs-aside/index.component.mjs +54 -9
- package/esm2022/lib/layout/rs-footer/index.component.mjs +2 -2
- package/esm2022/lib/layout/rs-header/index.component.mjs +38 -29
- package/esm2022/lib/layout/toolbar/constants.mjs +2 -0
- package/esm2022/lib/layout/toolbar/index.component.mjs +79 -0
- package/esm2022/lib/raise-common-lib.module.mjs +76 -7
- package/esm2022/lib/service/common-function.service.mjs +87 -1
- package/esm2022/lib/service/dialog.service.mjs +5 -5
- package/esm2022/lib/service/drawer.service.mjs +111 -0
- package/esm2022/lib/service/keep-alive.service.mjs +51 -12
- package/esm2022/lib/service/translation.service.mjs +98 -0
- package/esm2022/lib/utils/decorator.mjs +14 -0
- package/esm2022/public-api.mjs +35 -20
- package/fesm2022/raise-common-lib-new.mjs +18749 -676
- package/fesm2022/raise-common-lib-new.mjs.map +1 -1
- package/lib/commentary/constants.d.ts +15 -0
- package/lib/commentary/index.component.d.ts +38 -0
- package/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.d.ts +10 -0
- package/lib/common-grid/grid-action/grid-action.component.d.ts +14 -0
- package/lib/common-grid/index.component.d.ts +8 -5
- package/lib/form/drawer-form/constants.d.ts +34 -0
- package/lib/form/drawer-form/drawer-form.component.d.ts +67 -0
- package/lib/form/encrypted-input/index.component.d.ts +14 -0
- package/lib/form/tag-input/index.component.d.ts +9 -3
- package/lib/form/toolbar-item/index.component.d.ts +17 -0
- package/lib/layout/drawer/index.component.d.ts +45 -0
- package/lib/layout/grid-box/index.component.d.ts +9 -5
- package/lib/layout/main-container/index.component.d.ts +10 -1
- package/lib/layout/multi-tab/index.component.d.ts +19 -6
- package/lib/layout/nav-card-group/constants.d.ts +14 -0
- package/lib/layout/nav-card-group/index.component.d.ts +16 -0
- package/lib/layout/page-list/index.component.d.ts +9 -3
- package/lib/layout/page-tab/index.component.d.ts +6 -2
- package/lib/layout/rs-aside/index.component.d.ts +8 -3
- package/lib/layout/rs-header/index.component.d.ts +12 -12
- package/lib/layout/toolbar/constants.d.ts +8 -0
- package/lib/layout/toolbar/index.component.d.ts +22 -0
- package/lib/raise-common-lib.module.d.ts +48 -37
- package/lib/service/common-function.service.d.ts +9 -0
- package/lib/service/drawer.service.d.ts +46 -0
- package/lib/service/keep-alive.service.d.ts +4 -0
- package/lib/service/translation.service.d.ts +12 -0
- package/lib/utils/decorator.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +34 -19
- package/src/assets/img/comment-cancel.svg +4 -0
- package/src/assets/img/comment-check.svg +5 -0
- package/src/assets/img/down-arrow.svg +3 -0
- package/src/assets/img/drawer-back.svg +4 -0
- package/src/assets/img/eye-close.svg +4 -0
- package/src/assets/img/eye-open.svg +4 -0
- package/src/assets/img/grid-action-copy.svg +6 -0
- package/src/assets/img/grid-action-delete.svg +14 -0
- package/src/assets/img/grid-action-detail.svg +7 -0
- package/src/assets/img/grid-action-download.svg +7 -0
- package/src/assets/img/grid-action-edit.svg +4 -0
- package/src/assets/img/grid-action-export.svg +12 -0
- package/src/assets/img/grid-action-move.svg +8 -0
- package/src/assets/img/grid-action-note.svg +10 -0
- package/src/assets/img/grid-action-send.svg +5 -0
- package/src/assets/img/grid-action-settle.svg +13 -0
- package/src/assets/img/grid-menu-arrow-right.svg +3 -0
- package/src/assets/img/grid-pager-arrow-left.svg +3 -0
- package/src/assets/img/grid-pager-arrows-left.svg +4 -0
- package/src/assets/img/more.svg +5 -0
- package/src/assets/img/table-column-menu.svg +5 -0
- package/src/assets/img/table-sort-arrow.svg +6 -0
- package/src/assets/img/toolbar-action-add.svg +4 -0
- package/src/assets/img/toolbar-action-delete.svg +14 -0
- package/src/assets/img/toolbar-action-download.svg +5 -0
- package/src/assets/img/toolbar-action-duplicate.svg +6 -0
- package/src/assets/img/toolbar-action-export.svg +5 -0
- package/src/assets/img/toolbar-action-import.svg +5 -0
- package/src/assets/img/toolbar-action-refresh.svg +14 -0
- package/src/assets/img/toolbar-action-upload.svg +5 -0
- package/src/assets/img/tooltip-icon.svg +4 -0
- package/src/assets/language/fr.ts +3603 -0
- package/src/assets/language/ja.ts +3501 -0
- package/src/assets/language/ko.ts +3478 -0
- package/src/assets/language/zh-CN.ts +3115 -0
- package/src/assets/language/zh-TW.ts +3411 -0
- package/src/assets/style/reset/button.scss +41 -8
- package/src/assets/style/reset/checkbox.scss +33 -0
- package/src/assets/style/reset/dropdown.scss +42 -10
- package/src/assets/style/reset/grid.scss +733 -132
- package/src/assets/style/reset/input.scss +45 -12
- package/src/assets/style/reset/mat-dialog.scss +6 -2
- package/src/assets/style/reset/radio.scss +37 -0
- package/src/assets/style/reset/switch.scss +32 -0
- package/src/assets/style/style.scss +6 -0
- package/src/assets/style/syncfusion.min.css +1 -1
- package/src/assets/style/variables.scss +4 -4
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2NvbW1lbnRhcnkvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VJdGVtIHtcclxuICBtZXNzYWdlSWQ6IHN0cmluZztcclxuICBtZXNzYWdlQm9keTogc3RyaW5nO1xyXG4gIG93bmVyTmFtZTogc3RyaW5nO1xyXG4gIGxhc3RNb2RpZmllZE9uOiBhbnk7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VHcm91cCB7XHJcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XHJcbiAgbWVzc2FnZUJvZHk6IHN0cmluZztcclxuICBvd25lck5hbWU6IHN0cmluZztcclxuICBsYXN0TW9kaWZpZWRPbjogYW55O1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxuICBjb21tZW50YXJpZXM6IE1lc3NhZ2VJdGVtW107XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
// 组件类
|
|
3
|
+
import { Component, EventEmitter, Input, Output, } from "@angular/core";
|
|
4
|
+
import { Debounce } from "../utils/decorator";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../service/common-function.service";
|
|
7
|
+
import * as i2 from "../service/dialog.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/forms";
|
|
10
|
+
import * as i5 from "../common-grid/grid-action/grid-action.component";
|
|
11
|
+
import * as i6 from "../common-grid/grid-action/grid-action-item/grid-action-item.component";
|
|
12
|
+
export class RsCommentaryComponent {
|
|
13
|
+
cf;
|
|
14
|
+
dialog;
|
|
15
|
+
ref;
|
|
16
|
+
constructor(cf, dialog, ref) {
|
|
17
|
+
this.cf = cf;
|
|
18
|
+
this.dialog = dialog;
|
|
19
|
+
this.ref = ref;
|
|
20
|
+
}
|
|
21
|
+
displayName;
|
|
22
|
+
commentData = [];
|
|
23
|
+
editPermission = true; // edit权限
|
|
24
|
+
deletePermission = true; // delete权限
|
|
25
|
+
isReadOnly = false;
|
|
26
|
+
actionComplete = new EventEmitter();
|
|
27
|
+
commentVal = "";
|
|
28
|
+
replyVal = "";
|
|
29
|
+
editCommentVal = "";
|
|
30
|
+
dateTimePipeFormat = "dd-MMM-yyyy hh:mm:a";
|
|
31
|
+
translation;
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this.getInfo();
|
|
34
|
+
}
|
|
35
|
+
getInfo() {
|
|
36
|
+
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
37
|
+
}
|
|
38
|
+
addComment() {
|
|
39
|
+
this.actionComplete.emit({
|
|
40
|
+
action: "addComment",
|
|
41
|
+
data: { inputValue: this.commentVal },
|
|
42
|
+
callback: (res) => {
|
|
43
|
+
this.commentData.unshift({
|
|
44
|
+
messageId: res.messageId,
|
|
45
|
+
commentaries: [],
|
|
46
|
+
ownerName: this.displayName,
|
|
47
|
+
lastModifiedOn: Date.now(),
|
|
48
|
+
messageBody: this.commentVal,
|
|
49
|
+
});
|
|
50
|
+
this.commentVal = "";
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
editComment(item) {
|
|
55
|
+
this.editCommentVal = item.messageBody;
|
|
56
|
+
item.showCommentEdit = true;
|
|
57
|
+
}
|
|
58
|
+
async updateComment(item) {
|
|
59
|
+
this.actionComplete.emit({
|
|
60
|
+
action: "updateComment",
|
|
61
|
+
data: { ...item, inputValue: this.editCommentVal },
|
|
62
|
+
callback: (res) => {
|
|
63
|
+
item.messageBody = this.editCommentVal;
|
|
64
|
+
item.showCommentEdit = false;
|
|
65
|
+
this.ref.markForCheck();
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
deleteComment(item) {
|
|
70
|
+
const dialogRef = this.dialog.showCommonDilaog({
|
|
71
|
+
title: "Delete Comment?",
|
|
72
|
+
description: "Are you sure you want to delete this Comment?",
|
|
73
|
+
saveBtnLabel: this.translation.DELETE,
|
|
74
|
+
});
|
|
75
|
+
dialogRef.afterClosed().subscribe((res) => {
|
|
76
|
+
if (!res) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const idx = this.commentData.findIndex((ele) => ele.messageId === item.messageId);
|
|
80
|
+
this.actionComplete.emit({
|
|
81
|
+
action: "deleteComment",
|
|
82
|
+
data: item,
|
|
83
|
+
callback: (res) => {
|
|
84
|
+
this.commentData.splice(idx, 1);
|
|
85
|
+
this.ref.detectChanges();
|
|
86
|
+
this.ref.markForCheck();
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
addReply(item) {
|
|
92
|
+
this.actionComplete.emit({
|
|
93
|
+
action: "replyComment",
|
|
94
|
+
data: { ...item, inputValue: this.replyVal },
|
|
95
|
+
callback: (res) => {
|
|
96
|
+
item.commentaries.unshift({
|
|
97
|
+
messageId: res.messageId,
|
|
98
|
+
commentaries: [],
|
|
99
|
+
ownerName: this.displayName,
|
|
100
|
+
lastModifiedOn: Date.now(),
|
|
101
|
+
messageBody: this.replyVal,
|
|
102
|
+
});
|
|
103
|
+
this.replyVal = "";
|
|
104
|
+
item.showReplyInput = false;
|
|
105
|
+
this.ref.detectChanges();
|
|
106
|
+
this.ref.markForCheck();
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
adjustTextareaHeight(e) {
|
|
111
|
+
const textarea = e.target;
|
|
112
|
+
textarea.style.height = "auto";
|
|
113
|
+
textarea.style.height = textarea.scrollHeight + "px";
|
|
114
|
+
}
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsCommentaryComponent, deps: [{ token: i1.CommonFunctionService }, { token: i2.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RsCommentaryComponent, selector: "rs-commentary", inputs: { displayName: "displayName", commentData: "commentData", editPermission: "editPermission", deletePermission: "deletePermission", isReadOnly: "isReadOnly" }, outputs: { actionComplete: "actionComplete" }, ngImport: i0, template: "<div class=\"rs-commentary-wrap\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'comment' }\"\r\n ></ng-container>\r\n <div class=\"reply-box\">\r\n <div *ngFor=\"let item of commentData\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"replyItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'comment', item: item }\"\r\n ></ng-container>\r\n <div class=\"sub-reply-list\">\r\n <ng-container\r\n *ngFor=\"\r\n let sub of item.isExpanded\r\n ? item.commentaries\r\n : item.commentaries.slice(0, 3)\r\n \"\r\n [ngTemplateOutlet]=\"replyItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'sub', item: sub }\"\r\n ></ng-container>\r\n </div>\r\n <button\r\n class=\"e-btn text\"\r\n *ngIf=\"item.commentaries.length > 3\"\r\n (click)=\"item.isExpanded = !item.isExpanded\"\r\n style=\"margin-bottom: 8px;\"\r\n >\r\n {{\r\n item.isExpanded\r\n ? \"Collapse\"\r\n : \"View All \" + item.commentaries.length + \" Replies\"\r\n }}\r\n <img\r\n class=\"arrow\"\r\n [ngClass]=\"{ collapse: item.isExpanded }\"\r\n src=\"../../assets/img/dropdown-arrow.svg\"\r\n alt=\"\"\r\n />\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #commentBoxTemplate let-type=\"type\" let-item=\"item\">\r\n <div class=\"comment-box\">\r\n <div class=\"comment-input-wrap\">\r\n <div class=\"avatar\" *ngIf=\"type !== 'editComment'\">\r\n {{ cf.rtn(displayName) }}\r\n </div>\r\n <textarea\r\n *ngIf=\"type === 'comment'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"commentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'reply'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"replyVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'editComment'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"editCommentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n </div>\r\n <div class=\"btn-wrap\">\r\n <button\r\n *ngIf=\"type === 'comment'\"\r\n class=\"e-btn e-primary small\"\r\n [disabled]=\"commentVal === ''|| isReadOnly || !editPermission\"\r\n (click)=\"addComment()\"\r\n >\r\n {{ translation.COMMENT || \".COMMENT\" }}\r\n </button>\r\n <ng-container *ngIf=\"type === 'reply'\">\r\n <button\r\n class=\"e-btn small\"\r\n (click)=\"item.showReplyInput = false; replyVal = ''\"\r\n >\r\n {{ translation.CANCEL || \".CANCEL\" }}\r\n </button>\r\n <button\r\n class=\"e-btn e-primary small\"\r\n [disabled]=\"replyVal === ''\"\r\n (click)=\"addReply(item)\"\r\n >\r\n {{ translation.REPLY || \".REPLY\" }}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === 'editComment'\">\r\n <button class=\"e-btn text\" (click)=\"item.showCommentEdit = false\">\r\n <img src=\"../../assets/img/comment-cancel.svg\" alt=\"\" />\r\n </button>\r\n <button\r\n class=\"e-btn text\"\r\n [disabled]=\"editCommentVal === ''\"\r\n (click)=\"updateComment(item)\"\r\n >\r\n <img src=\"../../assets/img/comment-check.svg\" alt=\"\" />\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #replyItemTemplate let-type=\"type\" let-item=\"item\">\r\n <div class=\"reply-item\" [ngClass]=\"{ comment: type === 'comment' }\">\r\n <div class=\"avatar\">\r\n {{ cf.rtn(item.ownerName) }}\r\n </div>\r\n <div class=\"owner-wrap\">\r\n <div class=\"owner-info\">\r\n <div class=\"name\">\r\n {{ item.ownerName }}\r\n </div>\r\n <div class=\"time\">\r\n {{ item.lastModifiedOn | date : dateTimePipeFormat }}\r\n </div>\r\n </div>\r\n <div class=\"message-wrap\">\r\n <div class=\"message\" *ngIf=\"!item.showCommentEdit\">\r\n {{ item.messageBody }}\r\n </div>\r\n <ng-container\r\n *ngIf=\"item.showCommentEdit\"\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'editComment', item: item }\"\r\n ></ng-container>\r\n </div>\r\n\r\n <button\r\n *ngIf=\"\r\n type === 'comment' && !item.showReplyInput && !item.showCommentEdit\r\n \"\r\n class=\"e-btn text\"\r\n (click)=\"item.showReplyInput = true\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n >\r\n {{ translation.REPLY || \".REPLY\" }}\r\n </button>\r\n <ng-container\r\n *ngIf=\"item.showReplyInput\"\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'reply', item: item }\"\r\n ></ng-container>\r\n\r\n <rs-grid-action *ngIf=\"type === 'comment'\">\r\n <rs-grid-action-item\r\n image=\"Edit\"\r\n [text]=\"translation.EDIT\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n (click)=\"editComment(item)\"\r\n ></rs-grid-action-item>\r\n <rs-grid-action-item\r\n image=\"Delete\"\r\n [text]=\"translation.DELETE\"\r\n [disabled]=\"isReadOnly || !deletePermission\"\r\n (click)=\"deleteComment(item)\"\r\n ></rs-grid-action-item>\r\n </rs-grid-action>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".rs-commentary-wrap{width:100%;height:100%;padding:32px;display:flex;flex-direction:column}.rs-commentary-wrap .comment-box{width:100%}.rs-commentary-wrap .comment-box .comment-input-wrap{margin-bottom:12px;display:flex;gap:12px}.rs-commentary-wrap .comment-box .comment-input-wrap .e-input{flex:1;width:0;height:44px}.rs-commentary-wrap .comment-box .btn-wrap{display:flex;justify-content:flex-end;gap:12px}.rs-commentary-wrap .comment-box .btn-wrap .e-btn.text{padding:4px}.rs-commentary-wrap .reply-box{height:0;flex:1;overflow:auto;margin-top:16px;margin-right:-32px;padding-right:32px}.rs-commentary-wrap .reply-box .sub-reply-list{padding-left:40px}.rs-commentary-wrap .reply-box .e-btn.text{padding:0!important;min-width:auto;height:auto;color:#6c7c90!important}.rs-commentary-wrap .reply-box .e-btn.text:hover{background:transparent!important;color:#1364b3!important}.rs-commentary-wrap .reply-box .e-btn.text:focus{background:transparent!important;color:#6c7c90!important}.rs-commentary-wrap .reply-box .arrow.collapse{transform:rotate(180deg)}.rs-commentary-wrap .reply-box .reply-item{display:flex;gap:12px;padding:12px 0}.rs-commentary-wrap .reply-box .reply-item.comment{border-top:1px solid #eaedf0}.rs-commentary-wrap .reply-box .reply-item.comment:hover{background-color:#f6faff}.rs-commentary-wrap .reply-box .reply-item.comment:hover rs-grid-action{display:block}.rs-commentary-wrap .reply-box .reply-item rs-grid-action{display:none;position:absolute;cursor:pointer;top:-4px;right:8px}.rs-commentary-wrap .reply-box .owner-wrap{flex:1;width:0;position:relative}.rs-commentary-wrap .reply-box .owner-wrap .owner-info{display:flex;align-items:center;gap:12px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .name{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:700;line-height:14px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .time{color:#6c7c90;font-family:Arial;font-size:10px;font-style:normal;font-weight:400;line-height:12px}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap{padding:8px 0}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap .message{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.rs-commentary-wrap .avatar{width:32px;height:32px;border-radius:100%;border:1px solid rgba(108,124,144,.4);color:#44566c;display:flex;align-items:center;justify-content:center;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.GridActionComponent, selector: "rs-grid-action" }, { kind: "component", type: i6.GridActionItemComponent, selector: "rs-grid-action-item", inputs: ["image", "text", "disabled"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
117
|
+
}
|
|
118
|
+
__decorate([
|
|
119
|
+
Debounce(300)
|
|
120
|
+
], RsCommentaryComponent.prototype, "addComment", null);
|
|
121
|
+
__decorate([
|
|
122
|
+
Debounce(300)
|
|
123
|
+
], RsCommentaryComponent.prototype, "deleteComment", null);
|
|
124
|
+
__decorate([
|
|
125
|
+
Debounce(300)
|
|
126
|
+
], RsCommentaryComponent.prototype, "addReply", null);
|
|
127
|
+
__decorate([
|
|
128
|
+
Debounce(300)
|
|
129
|
+
], RsCommentaryComponent.prototype, "adjustTextareaHeight", null);
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsCommentaryComponent, decorators: [{
|
|
131
|
+
type: Component,
|
|
132
|
+
args: [{ selector: "rs-commentary", template: "<div class=\"rs-commentary-wrap\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'comment' }\"\r\n ></ng-container>\r\n <div class=\"reply-box\">\r\n <div *ngFor=\"let item of commentData\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"replyItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'comment', item: item }\"\r\n ></ng-container>\r\n <div class=\"sub-reply-list\">\r\n <ng-container\r\n *ngFor=\"\r\n let sub of item.isExpanded\r\n ? item.commentaries\r\n : item.commentaries.slice(0, 3)\r\n \"\r\n [ngTemplateOutlet]=\"replyItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'sub', item: sub }\"\r\n ></ng-container>\r\n </div>\r\n <button\r\n class=\"e-btn text\"\r\n *ngIf=\"item.commentaries.length > 3\"\r\n (click)=\"item.isExpanded = !item.isExpanded\"\r\n style=\"margin-bottom: 8px;\"\r\n >\r\n {{\r\n item.isExpanded\r\n ? \"Collapse\"\r\n : \"View All \" + item.commentaries.length + \" Replies\"\r\n }}\r\n <img\r\n class=\"arrow\"\r\n [ngClass]=\"{ collapse: item.isExpanded }\"\r\n src=\"../../assets/img/dropdown-arrow.svg\"\r\n alt=\"\"\r\n />\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #commentBoxTemplate let-type=\"type\" let-item=\"item\">\r\n <div class=\"comment-box\">\r\n <div class=\"comment-input-wrap\">\r\n <div class=\"avatar\" *ngIf=\"type !== 'editComment'\">\r\n {{ cf.rtn(displayName) }}\r\n </div>\r\n <textarea\r\n *ngIf=\"type === 'comment'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"commentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'reply'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"replyVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n <textarea\r\n *ngIf=\"type === 'editComment'\"\r\n class=\"e-input\"\r\n rows=\"2\"\r\n [(ngModel)]=\"editCommentVal\"\r\n (input)=\"adjustTextareaHeight($event)\"\r\n placeholder=\"Write your comment...\"\r\n ></textarea>\r\n </div>\r\n <div class=\"btn-wrap\">\r\n <button\r\n *ngIf=\"type === 'comment'\"\r\n class=\"e-btn e-primary small\"\r\n [disabled]=\"commentVal === ''|| isReadOnly || !editPermission\"\r\n (click)=\"addComment()\"\r\n >\r\n {{ translation.COMMENT || \".COMMENT\" }}\r\n </button>\r\n <ng-container *ngIf=\"type === 'reply'\">\r\n <button\r\n class=\"e-btn small\"\r\n (click)=\"item.showReplyInput = false; replyVal = ''\"\r\n >\r\n {{ translation.CANCEL || \".CANCEL\" }}\r\n </button>\r\n <button\r\n class=\"e-btn e-primary small\"\r\n [disabled]=\"replyVal === ''\"\r\n (click)=\"addReply(item)\"\r\n >\r\n {{ translation.REPLY || \".REPLY\" }}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === 'editComment'\">\r\n <button class=\"e-btn text\" (click)=\"item.showCommentEdit = false\">\r\n <img src=\"../../assets/img/comment-cancel.svg\" alt=\"\" />\r\n </button>\r\n <button\r\n class=\"e-btn text\"\r\n [disabled]=\"editCommentVal === ''\"\r\n (click)=\"updateComment(item)\"\r\n >\r\n <img src=\"../../assets/img/comment-check.svg\" alt=\"\" />\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #replyItemTemplate let-type=\"type\" let-item=\"item\">\r\n <div class=\"reply-item\" [ngClass]=\"{ comment: type === 'comment' }\">\r\n <div class=\"avatar\">\r\n {{ cf.rtn(item.ownerName) }}\r\n </div>\r\n <div class=\"owner-wrap\">\r\n <div class=\"owner-info\">\r\n <div class=\"name\">\r\n {{ item.ownerName }}\r\n </div>\r\n <div class=\"time\">\r\n {{ item.lastModifiedOn | date : dateTimePipeFormat }}\r\n </div>\r\n </div>\r\n <div class=\"message-wrap\">\r\n <div class=\"message\" *ngIf=\"!item.showCommentEdit\">\r\n {{ item.messageBody }}\r\n </div>\r\n <ng-container\r\n *ngIf=\"item.showCommentEdit\"\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'editComment', item: item }\"\r\n ></ng-container>\r\n </div>\r\n\r\n <button\r\n *ngIf=\"\r\n type === 'comment' && !item.showReplyInput && !item.showCommentEdit\r\n \"\r\n class=\"e-btn text\"\r\n (click)=\"item.showReplyInput = true\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n >\r\n {{ translation.REPLY || \".REPLY\" }}\r\n </button>\r\n <ng-container\r\n *ngIf=\"item.showReplyInput\"\r\n [ngTemplateOutlet]=\"commentBoxTemplate\"\r\n [ngTemplateOutletContext]=\"{ type: 'reply', item: item }\"\r\n ></ng-container>\r\n\r\n <rs-grid-action *ngIf=\"type === 'comment'\">\r\n <rs-grid-action-item\r\n image=\"Edit\"\r\n [text]=\"translation.EDIT\"\r\n [disabled]=\"isReadOnly || !editPermission\"\r\n (click)=\"editComment(item)\"\r\n ></rs-grid-action-item>\r\n <rs-grid-action-item\r\n image=\"Delete\"\r\n [text]=\"translation.DELETE\"\r\n [disabled]=\"isReadOnly || !deletePermission\"\r\n (click)=\"deleteComment(item)\"\r\n ></rs-grid-action-item>\r\n </rs-grid-action>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".rs-commentary-wrap{width:100%;height:100%;padding:32px;display:flex;flex-direction:column}.rs-commentary-wrap .comment-box{width:100%}.rs-commentary-wrap .comment-box .comment-input-wrap{margin-bottom:12px;display:flex;gap:12px}.rs-commentary-wrap .comment-box .comment-input-wrap .e-input{flex:1;width:0;height:44px}.rs-commentary-wrap .comment-box .btn-wrap{display:flex;justify-content:flex-end;gap:12px}.rs-commentary-wrap .comment-box .btn-wrap .e-btn.text{padding:4px}.rs-commentary-wrap .reply-box{height:0;flex:1;overflow:auto;margin-top:16px;margin-right:-32px;padding-right:32px}.rs-commentary-wrap .reply-box .sub-reply-list{padding-left:40px}.rs-commentary-wrap .reply-box .e-btn.text{padding:0!important;min-width:auto;height:auto;color:#6c7c90!important}.rs-commentary-wrap .reply-box .e-btn.text:hover{background:transparent!important;color:#1364b3!important}.rs-commentary-wrap .reply-box .e-btn.text:focus{background:transparent!important;color:#6c7c90!important}.rs-commentary-wrap .reply-box .arrow.collapse{transform:rotate(180deg)}.rs-commentary-wrap .reply-box .reply-item{display:flex;gap:12px;padding:12px 0}.rs-commentary-wrap .reply-box .reply-item.comment{border-top:1px solid #eaedf0}.rs-commentary-wrap .reply-box .reply-item.comment:hover{background-color:#f6faff}.rs-commentary-wrap .reply-box .reply-item.comment:hover rs-grid-action{display:block}.rs-commentary-wrap .reply-box .reply-item rs-grid-action{display:none;position:absolute;cursor:pointer;top:-4px;right:8px}.rs-commentary-wrap .reply-box .owner-wrap{flex:1;width:0;position:relative}.rs-commentary-wrap .reply-box .owner-wrap .owner-info{display:flex;align-items:center;gap:12px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .name{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:700;line-height:14px}.rs-commentary-wrap .reply-box .owner-wrap .owner-info .time{color:#6c7c90;font-family:Arial;font-size:10px;font-style:normal;font-weight:400;line-height:12px}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap{padding:8px 0}.rs-commentary-wrap .reply-box .owner-wrap .message-wrap .message{color:#44566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.rs-commentary-wrap .avatar{width:32px;height:32px;border-radius:100%;border:1px solid rgba(108,124,144,.4);color:#44566c;display:flex;align-items:center;justify-content:center;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}\n"] }]
|
|
133
|
+
}], ctorParameters: function () { return [{ type: i1.CommonFunctionService }, { type: i2.DialogService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { displayName: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], commentData: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], editPermission: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], deletePermission: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], isReadOnly: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], actionComplete: [{
|
|
144
|
+
type: Output
|
|
145
|
+
}], addComment: [], deleteComment: [], addReply: [], adjustTextareaHeight: [] } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2NvbW1lbnRhcnkvaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2NvbW1lbnRhcnkvaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU07QUFDTixPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLHFCQUFxQjtJQUV2QjtJQUNDO0lBQ0E7SUFIVixZQUNTLEVBQXlCLEVBQ3hCLE1BQXFCLEVBQ3JCLEdBQXNCO1FBRnZCLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFDN0IsQ0FBQztJQUVLLFdBQVcsQ0FBUztJQUNwQixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUNqQyxjQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUztJQUNoQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxXQUFXO0lBQ3BDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHNUIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUk3QixDQUFDO0lBRUwsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUNwQixrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztJQUMzQyxXQUFXLENBQUM7SUFDWixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lB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QXFCO2tCQUxqQyxTQUFTOytCQUNFLGVBQWU7d0tBV2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsTUFBTTtnQkFxQlAsVUFBVSxNQWtDVixhQUFhLE1BMEJiLFFBQVEsTUFxQlIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbkZ1bmN0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlL2NvbW1vbi1mdW5jdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gXCIuLi91dGlscy9kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgTWVzc2FnZUdyb3VwIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1jb21tZW50YXJ5XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJzQ29tbWVudGFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBASW5wdXQoKSBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbW1lbnREYXRhOiBNZXNzYWdlR3JvdXBbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGVkaXRQZXJtaXNzaW9uID0gdHJ1ZTsgLy8gZWRpdOadg+mZkFxyXG4gIEBJbnB1dCgpIGRlbGV0ZVBlcm1pc3Npb24gPSB0cnVlOyAvLyBkZWxldGXmnYPpmZBcclxuICBASW5wdXQoKSBpc1JlYWRPbmx5ID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGFjdGlvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBhY3Rpb246IFwiYWRkQ29tbWVudFwiIHwgXCJ1cGRhdGVDb21tZW50XCIgfCBcImRlbGV0ZUNvbW1lbnRcIiB8IFwicmVwbHlDb21tZW50XCI7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBjYWxsYmFjazogKHJlc3VsdDogeyBtZXNzYWdlSWQ6IHN0cmluZyB9KSA9PiB2b2lkO1xyXG4gIH0+KCk7XHJcblxyXG4gIGNvbW1lbnRWYWwgPSBcIlwiO1xyXG4gIHJlcGx5VmFsID0gXCJcIjtcclxuICBlZGl0Q29tbWVudFZhbCA9IFwiXCI7XHJcbiAgZGF0ZVRpbWVQaXBlRm9ybWF0ID0gXCJkZC1NTU0teXl5eSBoaDptbTphXCI7XHJcbiAgdHJhbnNsYXRpb247XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldEluZm8oKTtcclxuICB9XHJcblxyXG4gIGdldEluZm8oKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKTtcclxuICB9XHJcblxyXG4gIEBEZWJvdW5jZSgzMDApXHJcbiAgYWRkQ29tbWVudCgpIHtcclxuICAgIHRoaXMuYWN0aW9uQ29tcGxldGUuZW1pdCh7XHJcbiAgICAgIGFjdGlvbjogXCJhZGRDb21tZW50XCIsXHJcbiAgICAgIGRhdGE6IHsgaW5wdXRWYWx1ZTogdGhpcy5jb21tZW50VmFsIH0sXHJcbiAgICAgIGNhbGxiYWNrOiAocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb21tZW50RGF0YS51bnNoaWZ0KHtcclxuICAgICAgICAgIG1lc3NhZ2VJZDogcmVzLm1lc3NhZ2VJZCxcclxuICAgICAgICAgIGNvbW1lbnRhcmllczogW10sXHJcbiAgICAgICAgICBvd25lck5hbWU6IHRoaXMuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICBsYXN0TW9kaWZpZWRPbjogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIG1lc3NhZ2VCb2R5OiB0aGlzLmNvbW1lbnRWYWwsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21tZW50VmFsID0gXCJcIjtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZWRpdENvbW1lbnQoaXRlbSkge1xyXG4gICAgdGhpcy5lZGl0Q29tbWVudFZhbCA9IGl0ZW0ubWVzc2FnZUJvZHk7XHJcbiAgICBpdGVtLnNob3dDb21tZW50RWRpdCA9IHRydWU7XHJcbiAgfVxyXG4gIGFzeW5jIHVwZGF0ZUNvbW1lbnQoaXRlbSkge1xyXG4gICAgdGhpcy5hY3Rpb25Db21wbGV0ZS5lbWl0KHtcclxuICAgICAgYWN0aW9uOiBcInVwZGF0ZUNvbW1lbnRcIixcclxuICAgICAgZGF0YTogeyAuLi5pdGVtLCBpbnB1dFZhbHVlOiB0aGlzLmVkaXRDb21tZW50VmFsIH0sXHJcbiAgICAgIGNhbGxiYWNrOiAocmVzKSA9PiB7XHJcbiAgICAgICAgaXRlbS5tZXNzYWdlQm9keSA9IHRoaXMuZWRpdENvbW1lbnRWYWw7XHJcbiAgICAgICAgaXRlbS5zaG93Q29tbWVudEVkaXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQERlYm91bmNlKDMwMClcclxuICBkZWxldGVDb21tZW50KGl0ZW0pIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLnNob3dDb21tb25EaWxhb2coe1xyXG4gICAgICB0aXRsZTogXCJEZWxldGUgQ29tbWVudD9cIixcclxuICAgICAgZGVzY3JpcHRpb246IFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIENvbW1lbnQ/XCIsXHJcbiAgICAgIHNhdmVCdG5MYWJlbDogdGhpcy50cmFuc2xhdGlvbi5ERUxFVEUsXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmICghcmVzKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGlkeCA9IHRoaXMuY29tbWVudERhdGEuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGUpID0+IGVsZS5tZXNzYWdlSWQgPT09IGl0ZW0ubWVzc2FnZUlkXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoe1xyXG4gICAgICAgIGFjdGlvbjogXCJkZWxldGVDb21tZW50XCIsXHJcbiAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21tZW50RGF0YS5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBEZWJvdW5jZSgzMDApXHJcbiAgYWRkUmVwbHkoaXRlbSkge1xyXG4gICAgdGhpcy5hY3Rpb25Db21wbGV0ZS5lbWl0KHtcclxuICAgICAgYWN0aW9uOiBcInJlcGx5Q29tbWVudFwiLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlucHV0VmFsdWU6IHRoaXMucmVwbHlWYWwgfSxcclxuICAgICAgY2FsbGJhY2s6IChyZXMpID0+IHtcclxuICAgICAgICBpdGVtLmNvbW1lbnRhcmllcy51bnNoaWZ0KHtcclxuICAgICAgICAgIG1lc3NhZ2VJZDogcmVzLm1lc3NhZ2VJZCxcclxuICAgICAgICAgIGNvbW1lbnRhcmllczogW10sXHJcbiAgICAgICAgICBvd25lck5hbWU6IHRoaXMuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICBsYXN0TW9kaWZpZWRPbjogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIG1lc3NhZ2VCb2R5OiB0aGlzLnJlcGx5VmFsLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVwbHlWYWwgPSBcIlwiO1xyXG4gICAgICAgIGl0ZW0uc2hvd1JlcGx5SW5wdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBEZWJvdW5jZSgzMDApXHJcbiAgYWRqdXN0VGV4dGFyZWFIZWlnaHQoZSkge1xyXG4gICAgY29uc3QgdGV4dGFyZWEgPSBlLnRhcmdldDtcclxuICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9IFwiYXV0b1wiO1xyXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0ICsgXCJweFwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicnMtY29tbWVudGFyeS13cmFwXCI+XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29tbWVudEJveFRlbXBsYXRlXCJcclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHR5cGU6ICdjb21tZW50JyB9XCJcclxuICA+PC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cInJlcGx5LWJveFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb21tZW50RGF0YVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVwbHlJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHR5cGU6ICdjb21tZW50JywgaXRlbTogaXRlbSB9XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3ViLXJlcGx5LWxpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgbGV0IHN1YiBvZiBpdGVtLmlzRXhwYW5kZWRcclxuICAgICAgICAgICAgICA/IGl0ZW0uY29tbWVudGFyaWVzXHJcbiAgICAgICAgICAgICAgOiBpdGVtLmNvbW1lbnRhcmllcy5zbGljZSgwLCAzKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlcGx5SXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHR5cGU6ICdzdWInLCBpdGVtOiBzdWIgfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiZS1idG4gdGV4dFwiXHJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmNvbW1lbnRhcmllcy5sZW5ndGggPiAzXCJcclxuICAgICAgICAoY2xpY2spPVwiaXRlbS5pc0V4cGFuZGVkID0gIWl0ZW0uaXNFeHBhbmRlZFwiXHJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA4cHg7XCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7XHJcbiAgICAgICAgICBpdGVtLmlzRXhwYW5kZWRcclxuICAgICAgICAgICAgPyBcIkNvbGxhcHNlXCJcclxuICAgICAgICAgICAgOiBcIlZpZXcgQWxsIFwiICsgaXRlbS5jb21tZW50YXJpZXMubGVuZ3RoICsgXCIgUmVwbGllc1wiXHJcbiAgICAgICAgfX1cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBjbGFzcz1cImFycm93XCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgY29sbGFwc2U6IGl0ZW0uaXNFeHBhbmRlZCB9XCJcclxuICAgICAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWcvZHJvcGRvd24tYXJyb3cuc3ZnXCJcclxuICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbW1lbnRCb3hUZW1wbGF0ZSBsZXQtdHlwZT1cInR5cGVcIiBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib3hcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWlucHV0LXdyYXBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiICpuZ0lmPVwidHlwZSAhPT0gJ2VkaXRDb21tZW50J1wiPlxyXG4gICAgICAgIHt7IGNmLnJ0bihkaXNwbGF5TmFtZSkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2NvbW1lbnQnXCJcclxuICAgICAgICBjbGFzcz1cImUtaW5wdXRcIlxyXG4gICAgICAgIHJvd3M9XCIyXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImNvbW1lbnRWYWxcIlxyXG4gICAgICAgIChpbnB1dCk9XCJhZGp1c3RUZXh0YXJlYUhlaWdodCgkZXZlbnQpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seSB8fCAhZWRpdFBlcm1pc3Npb25cIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiV3JpdGUgeW91ciBjb21tZW50Li4uXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JlcGx5J1wiXHJcbiAgICAgICAgY2xhc3M9XCJlLWlucHV0XCJcclxuICAgICAgICByb3dzPVwiMlwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyZXBseVZhbFwiXHJcbiAgICAgICAgKGlucHV0KT1cImFkanVzdFRleHRhcmVhSGVpZ2h0KCRldmVudClcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiV3JpdGUgeW91ciBjb21tZW50Li4uXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2VkaXRDb21tZW50J1wiXHJcbiAgICAgICAgY2xhc3M9XCJlLWlucHV0XCJcclxuICAgICAgICByb3dzPVwiMlwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q29tbWVudFZhbFwiXHJcbiAgICAgICAgKGlucHV0KT1cImFkanVzdFRleHRhcmVhSGVpZ2h0KCRldmVudClcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiV3JpdGUgeW91ciBjb21tZW50Li4uXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4td3JhcFwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnY29tbWVudCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZS1idG4gZS1wcmltYXJ5IHNtYWxsXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tbWVudFZhbCA9PT0gJyd8fCBpc1JlYWRPbmx5IHx8ICFlZGl0UGVybWlzc2lvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFkZENvbW1lbnQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyB0cmFuc2xhdGlvbi5DT01NRU5UIHx8IFwiLkNPTU1FTlRcIiB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdyZXBseSdcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cImUtYnRuIHNtYWxsXCJcclxuICAgICAgICAgIChjbGljayk9XCJpdGVtLnNob3dSZXBseUlucHV0ID0gZmFsc2U7IHJlcGx5VmFsID0gJydcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IHRyYW5zbGF0aW9uLkNBTkNFTCB8fCBcIi5DQU5DRUxcIiB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIGNsYXNzPVwiZS1idG4gZS1wcmltYXJ5IHNtYWxsXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXBseVZhbCA9PT0gJydcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFkZFJlcGx5KGl0ZW0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyB0cmFuc2xhdGlvbi5SRVBMWSB8fCBcIi5SRVBMWVwiIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2VkaXRDb21tZW50J1wiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJlLWJ0biB0ZXh0XCIgKGNsaWNrKT1cIml0ZW0uc2hvd0NvbW1lbnRFZGl0ID0gZmFsc2VcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiLi4vLi4vYXNzZXRzL2ltZy9jb21tZW50LWNhbmNlbC5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIGNsYXNzPVwiZS1idG4gdGV4dFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZWRpdENvbW1lbnRWYWwgPT09ICcnXCJcclxuICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVDb21tZW50KGl0ZW0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWcvY29tbWVudC1jaGVjay5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3JlcGx5SXRlbVRlbXBsYXRlIGxldC10eXBlPVwidHlwZVwiIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyZXBseS1pdGVtXCIgW25nQ2xhc3NdPVwieyBjb21tZW50OiB0eXBlID09PSAnY29tbWVudCcgfVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPlxyXG4gICAgICB7eyBjZi5ydG4oaXRlbS5vd25lck5hbWUpIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJvd25lci13cmFwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvd25lci1pbmZvXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cclxuICAgICAgICAgIHt7IGl0ZW0ub3duZXJOYW1lIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVcIj5cclxuICAgICAgICAgIHt7IGl0ZW0ubGFzdE1vZGlmaWVkT24gfCBkYXRlIDogZGF0ZVRpbWVQaXBlRm9ybWF0IH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS13cmFwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIiAqbmdJZj1cIiFpdGVtLnNob3dDb21tZW50RWRpdFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5tZXNzYWdlQm9keSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ0lmPVwiaXRlbS5zaG93Q29tbWVudEVkaXRcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29tbWVudEJveFRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHR5cGU6ICdlZGl0Q29tbWVudCcsIGl0ZW06IGl0ZW0gfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdHlwZSA9PT0gJ2NvbW1lbnQnICYmICFpdGVtLnNob3dSZXBseUlucHV0ICYmICFpdGVtLnNob3dDb21tZW50RWRpdFxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgY2xhc3M9XCJlLWJ0biB0ZXh0XCJcclxuICAgICAgICAoY2xpY2spPVwiaXRlbS5zaG93UmVwbHlJbnB1dCA9IHRydWVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1JlYWRPbmx5IHx8ICFlZGl0UGVybWlzc2lvblwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyB0cmFuc2xhdGlvbi5SRVBMWSB8fCBcIi5SRVBMWVwiIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCJpdGVtLnNob3dSZXBseUlucHV0XCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb21tZW50Qm94VGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHR5cGU6ICdyZXBseScsIGl0ZW06IGl0ZW0gfVwiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxycy1ncmlkLWFjdGlvbiAqbmdJZj1cInR5cGUgPT09ICdjb21tZW50J1wiPlxyXG4gICAgICAgIDxycy1ncmlkLWFjdGlvbi1pdGVtXHJcbiAgICAgICAgICBpbWFnZT1cIkVkaXRcIlxyXG4gICAgICAgICAgW3RleHRdPVwidHJhbnNsYXRpb24uRURJVFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWFkT25seSB8fCAhZWRpdFBlcm1pc3Npb25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImVkaXRDb21tZW50KGl0ZW0pXCJcclxuICAgICAgICA+PC9ycy1ncmlkLWFjdGlvbi1pdGVtPlxyXG4gICAgICAgIDxycy1ncmlkLWFjdGlvbi1pdGVtXHJcbiAgICAgICAgICBpbWFnZT1cIkRlbGV0ZVwiXHJcbiAgICAgICAgICBbdGV4dF09XCJ0cmFuc2xhdGlvbi5ERUxFVEVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzUmVhZE9ubHkgfHwgIWRlbGV0ZVBlcm1pc3Npb25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUNvbW1lbnQoaXRlbSlcIlxyXG4gICAgICAgID48L3JzLWdyaWQtYWN0aW9uLWl0ZW0+XHJcbiAgICAgIDwvcnMtZ3JpZC1hY3Rpb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/menu";
|
|
5
|
+
export class GridActionItemComponent {
|
|
6
|
+
image;
|
|
7
|
+
text;
|
|
8
|
+
disabled;
|
|
9
|
+
get hostDisabled() {
|
|
10
|
+
return !!this.disabled;
|
|
11
|
+
}
|
|
12
|
+
ImageType = [
|
|
13
|
+
"Detail",
|
|
14
|
+
"Edit",
|
|
15
|
+
"Download",
|
|
16
|
+
"Delete",
|
|
17
|
+
"Note",
|
|
18
|
+
"Send",
|
|
19
|
+
"Copy",
|
|
20
|
+
"Settle",
|
|
21
|
+
"Preview",
|
|
22
|
+
"Export",
|
|
23
|
+
"Move",
|
|
24
|
+
];
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridActionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridActionItemComponent, selector: "rs-grid-action-item", inputs: { image: "image", text: "text", disabled: "disabled" }, host: { properties: { "class.disabled": "this.hostDisabled" } }, ngImport: i0, template: "<button\r\n\tclass=\"grid-action-item\"\r\n\tmat-menu-item\r\n\ttype=\"button\"\r\n\t[disabled]=\"!!disabled\"\r\n>\r\n\t<span class=\"grid-action-image\" [attr.data-type]=\"image\">\r\n\t\t<img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n\t</span>\r\n\t<span>{{ text }}</span>\r\n</button>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }] });
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridActionItemComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: "rs-grid-action-item", template: "<button\r\n\tclass=\"grid-action-item\"\r\n\tmat-menu-item\r\n\ttype=\"button\"\r\n\t[disabled]=\"!!disabled\"\r\n>\r\n\t<span class=\"grid-action-image\" [attr.data-type]=\"image\">\r\n\t\t<img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n\t</span>\r\n\t<span>{{ text }}</span>\r\n</button>\r\n" }]
|
|
31
|
+
}], propDecorators: { image: [{
|
|
32
|
+
type: Input,
|
|
33
|
+
args: ["image"]
|
|
34
|
+
}], text: [{
|
|
35
|
+
type: Input,
|
|
36
|
+
args: ["text"]
|
|
37
|
+
}], disabled: [{
|
|
38
|
+
type: Input,
|
|
39
|
+
args: ["disabled"]
|
|
40
|
+
}], hostDisabled: [{
|
|
41
|
+
type: HostBinding,
|
|
42
|
+
args: ["class.disabled"]
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvY29tbW9uLWdyaWQvZ3JpZC1hY3Rpb24vZ3JpZC1hY3Rpb24taXRlbS9ncmlkLWFjdGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhaXNlLWNvbW1vbi1saWIvc3JjL2xpYi9jb21tb24tZ3JpZC9ncmlkLWFjdGlvbi9ncmlkLWFjdGlvbi1pdGVtL2dyaWQtYWN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTlELE1BQU0sT0FBTyx1QkFBdUI7SUFDbkIsS0FBSyxDQUFTO0lBQ2YsSUFBSSxDQUFTO0lBQ1QsUUFBUSxDQUFVO0lBRXJDLElBQW1DLFlBQVk7UUFDOUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxHQUFHO1FBQ1gsUUFBUTtRQUNSLE1BQU07UUFDTixVQUFVO1FBQ1YsUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixTQUFTO1FBQ1QsUUFBUTtRQUNSLE1BQU07S0FDTixDQUFDO3dHQXJCVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw0TENOcEMsdVRBV0E7OzRGRExhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDQyxxQkFBcUI7OEJBSWYsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNDLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDTSxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBRWtCLFlBQVk7c0JBQTlDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6IFwicnMtZ3JpZC1hY3Rpb24taXRlbVwiLFxyXG5cdHRlbXBsYXRlVXJsOiBcIi4vZ3JpZC1hY3Rpb24taXRlbS5jb21wb25lbnQuaHRtbFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZEFjdGlvbkl0ZW1Db21wb25lbnQge1xyXG5cdEBJbnB1dChcImltYWdlXCIpIGltYWdlOiBzdHJpbmc7XHJcblx0QElucHV0KFwidGV4dFwiKSB0ZXh0OiBzdHJpbmc7XHJcblx0QElucHV0KFwiZGlzYWJsZWRcIikgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmRpc2FibGVkXCIpIGdldCBob3N0RGlzYWJsZWQoKSB7XHJcblx0XHRyZXR1cm4gISF0aGlzLmRpc2FibGVkO1xyXG5cdH1cclxuXHJcblx0SW1hZ2VUeXBlID0gW1xyXG5cdFx0XCJEZXRhaWxcIixcclxuXHRcdFwiRWRpdFwiLFxyXG5cdFx0XCJEb3dubG9hZFwiLFxyXG5cdFx0XCJEZWxldGVcIixcclxuXHRcdFwiTm90ZVwiLFxyXG5cdFx0XCJTZW5kXCIsXHJcblx0XHRcIkNvcHlcIixcclxuXHRcdFwiU2V0dGxlXCIsXHJcblx0XHRcIlByZXZpZXdcIixcclxuXHRcdFwiRXhwb3J0XCIsXHJcblx0XHRcIk1vdmVcIixcclxuXHRdO1xyXG59XHJcbiIsIjxidXR0b25cclxuXHRjbGFzcz1cImdyaWQtYWN0aW9uLWl0ZW1cIlxyXG5cdG1hdC1tZW51LWl0ZW1cclxuXHR0eXBlPVwiYnV0dG9uXCJcclxuXHRbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXHJcbj5cclxuXHQ8c3BhbiBjbGFzcz1cImdyaWQtYWN0aW9uLWltYWdlXCIgW2F0dHIuZGF0YS10eXBlXT1cImltYWdlXCI+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIUltYWdlVHlwZS5pbmNsdWRlcyhpbWFnZSlcIiBbc3JjXT1cImltYWdlXCIgLz5cclxuXHQ8L3NwYW4+XHJcblx0PHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/menu";
|
|
4
|
+
import * as i2 from "@angular/material/tooltip";
|
|
5
|
+
import * as i3 from "@angular/material/icon";
|
|
6
|
+
export class GridActionComponent {
|
|
7
|
+
translation;
|
|
8
|
+
constructor() {
|
|
9
|
+
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridActionComponent, selector: "rs-grid-action", ngImport: i0, template: "<button\r\n\tclass=\"grid-action-toggle\"\r\n\tmat-button\r\n\ttype=\"button\"\r\n\t[matMenuTriggerFor]=\"menu\"\r\n\tmatTooltip=\"{{ translation.ACTIONS }}\"\r\n>\r\n\t<mat-icon svgIcon=\"more\"></mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"grid-action-menu-content\">\r\n\t<ng-content></ng-content>\r\n</mat-menu>\r\n", styles: [":host{flex:none;display:block;margin-left:auto}.grid-action-toggle{width:24px;height:24px;min-width:24px;max-width:24px;padding:0;border-radius:4px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;background:transparent}.grid-action-toggle:hover{background:#d6e3f533}.grid-action-toggle .mat-button-wrapper{max-height:24px;height:24px}.grid-action-toggle ::ng-deep .mat-icon{width:16px;height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}::ng-deep .grid-action-menu-content.mat-menu-panel{padding:8px;border-radius:8px;background-color:#fff;box-shadow:0 0 8px #00000040}::ng-deep .grid-action-menu-content.mat-menu-panel rs-grid-action-item.disabled{pointer-events:none}::ng-deep .grid-action-menu-content.mat-menu-panel rs-grid-action-item.disabled button.grid-action-item{opacity:.4}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;height:28px!important;padding:0 16px 0 8px;border-radius:4px;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:14px}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item:hover{background-color:#0000000a}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item:hover .mat-menu-ripple{background:none!important}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image:before{display:block;width:16px;height:16px;line-height:16px}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Detail]:before{content:url(/assets/img/grid-action-detail.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Delete]:before{content:url(/assets/img/grid-action-delete.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Send]:before{content:url(/assets/img/grid-action-send.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Copy]:before{content:url(/assets/img/grid-action-copy.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Edit]:before{content:url(/assets/img/grid-action-edit.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Note]:before{content:url(/assets/img/grid-action-note.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Settle]:before{content:url(/assets/img/grid-action-settle.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Download]:before{content:url(/assets/img/grid-action-download.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Preview]:before{content:url(/assets/img/grid-action-detail.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Export]:before{content:url(/assets/img/grid-action-export.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Move]:before{content:url(/assets/img/grid-action-move.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image img{height:16px;display:block}\n"], dependencies: [{ kind: "component", type: i1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridActionComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: "rs-grid-action", template: "<button\r\n\tclass=\"grid-action-toggle\"\r\n\tmat-button\r\n\ttype=\"button\"\r\n\t[matMenuTriggerFor]=\"menu\"\r\n\tmatTooltip=\"{{ translation.ACTIONS }}\"\r\n>\r\n\t<mat-icon svgIcon=\"more\"></mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"grid-action-menu-content\">\r\n\t<ng-content></ng-content>\r\n</mat-menu>\r\n", styles: [":host{flex:none;display:block;margin-left:auto}.grid-action-toggle{width:24px;height:24px;min-width:24px;max-width:24px;padding:0;border-radius:4px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;background:transparent}.grid-action-toggle:hover{background:#d6e3f533}.grid-action-toggle .mat-button-wrapper{max-height:24px;height:24px}.grid-action-toggle ::ng-deep .mat-icon{width:16px;height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}::ng-deep .grid-action-menu-content.mat-menu-panel{padding:8px;border-radius:8px;background-color:#fff;box-shadow:0 0 8px #00000040}::ng-deep .grid-action-menu-content.mat-menu-panel rs-grid-action-item.disabled{pointer-events:none}::ng-deep .grid-action-menu-content.mat-menu-panel rs-grid-action-item.disabled button.grid-action-item{opacity:.4}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;height:28px!important;padding:0 16px 0 8px;border-radius:4px;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:14px}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item:hover{background-color:#0000000a}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item:hover .mat-menu-ripple{background:none!important}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image:before{display:block;width:16px;height:16px;line-height:16px}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Detail]:before{content:url(/assets/img/grid-action-detail.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Delete]:before{content:url(/assets/img/grid-action-delete.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Send]:before{content:url(/assets/img/grid-action-send.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Copy]:before{content:url(/assets/img/grid-action-copy.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Edit]:before{content:url(/assets/img/grid-action-edit.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Note]:before{content:url(/assets/img/grid-action-note.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Settle]:before{content:url(/assets/img/grid-action-settle.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Download]:before{content:url(/assets/img/grid-action-download.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Preview]:before{content:url(/assets/img/grid-action-detail.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Export]:before{content:url(/assets/img/grid-action-export.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image[data-type=Move]:before{content:url(/assets/img/grid-action-move.svg)}::ng-deep .grid-action-menu-content.mat-menu-panel button.grid-action-item.mat-menu-item .grid-action-image img{height:16px;display:block}\n"] }]
|
|
17
|
+
}], ctorParameters: function () { return []; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2NvbW1vbi1ncmlkL2dyaWQtYWN0aW9uL2dyaWQtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhaXNlLWNvbW1vbi1saWIvc3JjL2xpYi9jb21tb24tZ3JpZC9ncmlkLWFjdGlvbi9ncmlkLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQWVqRCxNQUFNLE9BQU8sbUJBQW1CO0lBQy9CLFdBQVcsQ0FBeUI7SUFFcEM7UUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7d0dBTFcsbUJBQW1COzRGQUFuQixtQkFBbUIsc0RDZmhDLG1WQVlBOzs0RkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0MsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5leHBvcnQgdHlwZSBHcmlkQWN0aW9uSXRlbSA9IHtcclxuXHR0ZXh0S2V5OiBzdHJpbmc7XHJcblx0aW1hZ2U/OiBzdHJpbmc7XHJcblx0ZGlzYWJsZWQ/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xyXG5cdHNob3c/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xyXG5cdG9uQ2xpY2s6IChkYXRhOiBhbnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogXCJycy1ncmlkLWFjdGlvblwiLFxyXG5cdHRlbXBsYXRlVXJsOiBcIi4vZ3JpZC1hY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcclxuXHRzdHlsZVVybHM6IFtcIi4vZ3JpZC1hY3Rpb24uY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcmlkQWN0aW9uQ29tcG9uZW50IHtcclxuXHR0cmFuc2xhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKTtcclxuXHR9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG5cdGNsYXNzPVwiZ3JpZC1hY3Rpb24tdG9nZ2xlXCJcclxuXHRtYXQtYnV0dG9uXHJcblx0dHlwZT1cImJ1dHRvblwiXHJcblx0W21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG5cdG1hdFRvb2x0aXA9XCJ7eyB0cmFuc2xhdGlvbi5BQ1RJT05TIH19XCJcclxuPlxyXG5cdDxtYXQtaWNvbiBzdmdJY29uPVwibW9yZVwiPjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJncmlkLWFjdGlvbi1tZW51LWNvbnRlbnRcIj5cclxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
|