@banta/sdk 4.6.26 → 4.7.0
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/{esm2015/banta-sdk.js → esm2020/banta-sdk.mjs} +0 -0
- package/{esm2015/lib/attachment-scraper.js → esm2020/lib/attachment-scraper.mjs} +0 -0
- package/esm2020/lib/banta/banta.component.mjs +204 -0
- package/esm2020/lib/banta-logo.component.mjs +11 -0
- package/esm2020/lib/banta-sdk.module.mjs +144 -0
- package/esm2020/lib/chat/banta-chat/banta-chat.component.mjs +185 -0
- package/esm2020/lib/chat/chat-message/chat-message.component.mjs +62 -0
- package/esm2020/lib/chat/chat-view/chat-view.component.mjs +170 -0
- package/esm2020/lib/chat/chat.module.mjs +51 -0
- package/{esm2015/lib/chat/index.js → esm2020/lib/chat/index.mjs} +0 -0
- package/esm2020/lib/chat/live-chat-message.component.mjs +80 -0
- package/{esm2015/lib/chat-backend-base.js → esm2020/lib/chat-backend-base.mjs} +0 -0
- package/esm2020/lib/chat-backend.mjs +83 -0
- package/{esm2015/lib/chat-source-base.js → esm2020/lib/chat-source-base.mjs} +0 -0
- package/esm2020/lib/chat-source.mjs +169 -0
- package/esm2020/lib/comments/attachment-button/attachment-button.component.mjs +69 -0
- package/esm2020/lib/comments/attachment-scraper.directive.mjs +107 -0
- package/esm2020/lib/comments/banta-comments/banta-comments.component.mjs +666 -0
- package/esm2020/lib/comments/comment/comment.component.mjs +217 -0
- package/esm2020/lib/comments/comment-field/comment-field.component.mjs +377 -0
- package/esm2020/lib/comments/comment-sort/comment-sort.component.mjs +37 -0
- package/esm2020/lib/comments/comment-view/comment-view.component.mjs +379 -0
- package/esm2020/lib/comments/comments.module.mjs +111 -0
- package/{esm2015/lib/comments/index.js → esm2020/lib/comments/index.mjs} +0 -0
- package/esm2020/lib/comments/live-comment.component.mjs +80 -0
- package/esm2020/lib/comments/reply-send-options.directive.mjs +13 -0
- package/esm2020/lib/common/attachment/attachment.component.mjs +113 -0
- package/esm2020/lib/common/attachments/attachments.component.mjs +72 -0
- package/esm2020/lib/common/common.module.mjs +59 -0
- package/{esm2015/lib/common/index.js → esm2020/lib/common/index.mjs} +0 -0
- package/{esm2015/lib/common/lazy-connection.js → esm2020/lib/common/lazy-connection.mjs} +0 -0
- package/esm2020/lib/common/lightbox/lightbox.component.mjs +31 -0
- package/esm2020/lib/common/markdown-to-html.pipe.mjs +76 -0
- package/esm2020/lib/common/mention-linker.pipe.mjs +35 -0
- package/esm2020/lib/common/timestamp.component.mjs +113 -0
- package/esm2020/lib/common/trust-resource-url.pipe.mjs +22 -0
- package/esm2020/lib/emoji/emoji-selector-button.component.mjs +113 -0
- package/esm2020/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.mjs +88 -0
- package/esm2020/lib/emoji/emoji.module.mjs +55 -0
- package/{esm2015/lib/emoji/emojis.js → esm2020/lib/emoji/emojis.mjs} +0 -0
- package/{esm2015/lib/emoji/index.js → esm2020/lib/emoji/index.mjs} +0 -0
- package/esm2020/lib/giphy-attachments.mjs +16 -0
- package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +0 -0
- package/esm2020/lib/live-message.component.mjs +96 -0
- package/{esm2015/lib/message-menu-item.js → esm2020/lib/message-menu-item.mjs} +0 -0
- package/{esm2015/lib/sdk-options.js → esm2020/lib/sdk-options.mjs} +0 -0
- package/esm2020/lib/tweet-attachments.mjs +13 -0
- package/esm2020/lib/url-attachments.mjs +42 -0
- package/esm2020/lib/youtube-attachments.mjs +22 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{banta-sdk.js → banta-sdk.mjs} +2323 -2008
- package/fesm2015/banta-sdk.mjs.map +1 -0
- package/fesm2020/banta-sdk.mjs +10490 -0
- package/fesm2020/banta-sdk.mjs.map +1 -0
- package/{banta-sdk.d.ts → index.d.ts} +1 -0
- package/lib/banta/banta.component.d.ts +3 -0
- package/lib/banta-logo.component.d.ts +3 -0
- package/lib/banta-sdk.module.d.ts +24 -0
- package/lib/chat/banta-chat/banta-chat.component.d.ts +3 -0
- package/lib/chat/chat-message/chat-message.component.d.ts +3 -0
- package/lib/chat/chat-view/chat-view.component.d.ts +3 -0
- package/lib/chat/chat.module.d.ts +13 -0
- package/lib/chat/live-chat-message.component.d.ts +3 -0
- package/lib/chat-backend.d.ts +3 -0
- package/lib/chat-source.d.ts +3 -3
- package/lib/comments/attachment-button/attachment-button.component.d.ts +3 -0
- package/lib/comments/attachment-scraper.directive.d.ts +3 -0
- package/lib/comments/banta-comments/banta-comments.component.d.ts +3 -0
- package/lib/comments/comment/comment.component.d.ts +3 -0
- package/lib/comments/comment-field/comment-field.component.d.ts +3 -0
- package/lib/comments/comment-sort/comment-sort.component.d.ts +3 -0
- package/lib/comments/comment-view/comment-view.component.d.ts +3 -0
- package/lib/comments/comments.module.d.ts +28 -0
- package/lib/comments/live-comment.component.d.ts +3 -0
- package/lib/comments/reply-send-options.directive.d.ts +3 -0
- package/lib/common/attachment/attachment.component.d.ts +3 -0
- package/lib/common/attachments/attachments.component.d.ts +3 -0
- package/lib/common/common.module.d.ts +15 -0
- package/lib/common/lightbox/lightbox.component.d.ts +3 -0
- package/lib/common/markdown-to-html.pipe.d.ts +3 -0
- package/lib/common/mention-linker.pipe.d.ts +3 -0
- package/lib/common/timestamp.component.d.ts +3 -0
- package/lib/common/trust-resource-url.pipe.d.ts +3 -0
- package/lib/emoji/emoji-selector-button.component.d.ts +3 -0
- package/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.d.ts +3 -0
- package/lib/emoji/emoji.module.d.ts +14 -0
- package/lib/live-message.component.d.ts +3 -0
- package/lib/url-attachments.d.ts +3 -0
- package/package.json +22 -10
- package/banta-sdk.metadata.json +0 -1
- package/bundles/banta-sdk.umd.js +0 -11895
- package/bundles/banta-sdk.umd.js.map +0 -1
- package/bundles/banta-sdk.umd.min.js +0 -2
- package/bundles/banta-sdk.umd.min.js.map +0 -1
- package/esm2015/lib/banta/banta.component.js +0 -201
- package/esm2015/lib/banta-logo.component.js +0 -20
- package/esm2015/lib/banta-sdk.module.js +0 -98
- package/esm2015/lib/chat/banta-chat/banta-chat.component.js +0 -175
- package/esm2015/lib/chat/chat-message/chat-message.component.js +0 -56
- package/esm2015/lib/chat/chat-view/chat-view.component.js +0 -167
- package/esm2015/lib/chat/chat.module.js +0 -32
- package/esm2015/lib/chat/live-chat-message.component.js +0 -71
- package/esm2015/lib/chat-backend.js +0 -92
- package/esm2015/lib/chat-source.js +0 -205
- package/esm2015/lib/comments/attachment-button/attachment-button.component.js +0 -70
- package/esm2015/lib/comments/attachment-scraper.directive.js +0 -109
- package/esm2015/lib/comments/banta-comments/banta-comments.component.js +0 -678
- package/esm2015/lib/comments/comment/comment.component.js +0 -186
- package/esm2015/lib/comments/comment-field/comment-field.component.js +0 -350
- package/esm2015/lib/comments/comment-sort/comment-sort.component.js +0 -34
- package/esm2015/lib/comments/comment-view/comment-view.component.js +0 -364
- package/esm2015/lib/comments/comments.module.js +0 -62
- package/esm2015/lib/comments/live-comment.component.js +0 -71
- package/esm2015/lib/comments/reply-send-options.directive.js +0 -9
- package/esm2015/lib/common/attachment/attachment.component.js +0 -105
- package/esm2015/lib/common/attachments/attachments.component.js +0 -66
- package/esm2015/lib/common/common.module.js +0 -36
- package/esm2015/lib/common/lightbox/lightbox.component.js +0 -30
- package/esm2015/lib/common/markdown-to-html.pipe.js +0 -74
- package/esm2015/lib/common/mention-linker.pipe.js +0 -31
- package/esm2015/lib/common/timestamp.component.js +0 -106
- package/esm2015/lib/common/trust-resource-url.pipe.js +0 -21
- package/esm2015/lib/emoji/emoji-selector-button.component.js +0 -108
- package/esm2015/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.js +0 -86
- package/esm2015/lib/emoji/emoji.module.js +0 -34
- package/esm2015/lib/giphy-attachments.js +0 -20
- package/esm2015/lib/live-message.component.js +0 -74
- package/esm2015/lib/tweet-attachments.js +0 -16
- package/esm2015/lib/url-attachments.js +0 -46
- package/esm2015/lib/youtube-attachments.js +0 -25
- package/fesm2015/banta-sdk.js.map +0 -1
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Output, Input, HostBinding, ElementRef } from "@angular/core";
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { take } from 'rxjs/operators';
|
|
5
|
-
export class CommentComponent {
|
|
6
|
-
constructor(elementRef) {
|
|
7
|
-
this.elementRef = elementRef;
|
|
8
|
-
this._reported = new Subject();
|
|
9
|
-
this._selected = new Subject();
|
|
10
|
-
this._liked = new Subject();
|
|
11
|
-
this._unliked = new Subject();
|
|
12
|
-
this._shared = new Subject();
|
|
13
|
-
this._userSelected = new Subject();
|
|
14
|
-
this._avatarSelected = new Subject();
|
|
15
|
-
this._usernameSelected = new Subject();
|
|
16
|
-
this.maxLength = 1500;
|
|
17
|
-
this.isNew = false;
|
|
18
|
-
this.visible = false;
|
|
19
|
-
this.showReplyAction = true;
|
|
20
|
-
this.loaded = new Subject();
|
|
21
|
-
this.isLoaded = false;
|
|
22
|
-
this.mine = false;
|
|
23
|
-
this.editing = false;
|
|
24
|
-
this._editStarted = new Subject();
|
|
25
|
-
this._deleted = new Subject();
|
|
26
|
-
this._editEnded = new Subject();
|
|
27
|
-
this._edited = new Subject();
|
|
28
|
-
}
|
|
29
|
-
get element() {
|
|
30
|
-
return this.elementRef.nativeElement;
|
|
31
|
-
}
|
|
32
|
-
ngOnInit() {
|
|
33
|
-
let maxTime = 100;
|
|
34
|
-
let minTime = 0;
|
|
35
|
-
let randomTime = minTime + Math.random() * (maxTime - minTime);
|
|
36
|
-
setTimeout(() => {
|
|
37
|
-
this.isNew = true;
|
|
38
|
-
this.visible = true;
|
|
39
|
-
setTimeout(() => this.isNew = false, 1000);
|
|
40
|
-
}, randomTime);
|
|
41
|
-
}
|
|
42
|
-
markAttachmentsLoaded() {
|
|
43
|
-
this.isLoaded = true;
|
|
44
|
-
this.loaded.next();
|
|
45
|
-
}
|
|
46
|
-
get isHighlighted() {
|
|
47
|
-
var _a, _b, _c;
|
|
48
|
-
return (_c = (_b = (_a = this.message) === null || _a === void 0 ? void 0 : _a.transientState) === null || _b === void 0 ? void 0 : _b.highlighted) !== null && _c !== void 0 ? _c : false;
|
|
49
|
-
}
|
|
50
|
-
get message() {
|
|
51
|
-
return this._message;
|
|
52
|
-
}
|
|
53
|
-
set message(value) {
|
|
54
|
-
var _a;
|
|
55
|
-
this._message = value;
|
|
56
|
-
if (((_a = this._message.attachments) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
57
|
-
this.isLoaded = false;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this.isLoaded = true;
|
|
61
|
-
this.loaded.next();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
waitForLoad() {
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
if (this.isLoaded)
|
|
67
|
-
return true;
|
|
68
|
-
yield this.loaded.pipe(take(1)).toPromise();
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
get userSelected() {
|
|
72
|
-
return this._userSelected.asObservable();
|
|
73
|
-
}
|
|
74
|
-
get usernameSelected() {
|
|
75
|
-
return this._usernameSelected.asObservable();
|
|
76
|
-
}
|
|
77
|
-
get avatarSelected() {
|
|
78
|
-
return this._avatarSelected.asObservable();
|
|
79
|
-
}
|
|
80
|
-
get reported() {
|
|
81
|
-
return this._reported.asObservable();
|
|
82
|
-
}
|
|
83
|
-
saveEdit() {
|
|
84
|
-
this._edited.next(this.editedMessage);
|
|
85
|
-
}
|
|
86
|
-
endEditing() {
|
|
87
|
-
this._editEnded.next();
|
|
88
|
-
}
|
|
89
|
-
startEdit() {
|
|
90
|
-
this._editStarted.next();
|
|
91
|
-
this.editedMessage = this.message.message;
|
|
92
|
-
}
|
|
93
|
-
delete() {
|
|
94
|
-
this._deleted.next();
|
|
95
|
-
}
|
|
96
|
-
get liked() {
|
|
97
|
-
return this._liked.asObservable();
|
|
98
|
-
}
|
|
99
|
-
get unliked() {
|
|
100
|
-
return this._unliked.asObservable();
|
|
101
|
-
}
|
|
102
|
-
get selected() {
|
|
103
|
-
return this._selected.asObservable();
|
|
104
|
-
}
|
|
105
|
-
get edited() { return this._edited.asObservable(); }
|
|
106
|
-
get deleted() { return this._deleted.asObservable(); }
|
|
107
|
-
get editStarted() { return this._editStarted.asObservable(); }
|
|
108
|
-
get editEnded() { return this._editEnded.asObservable(); }
|
|
109
|
-
get shared() { return this._shared.asObservable(); }
|
|
110
|
-
get commentId() { var _a; return (_a = this.message) === null || _a === void 0 ? void 0 : _a.id; }
|
|
111
|
-
report() {
|
|
112
|
-
this._reported.next();
|
|
113
|
-
}
|
|
114
|
-
like() {
|
|
115
|
-
this._liked.next();
|
|
116
|
-
}
|
|
117
|
-
unlike() {
|
|
118
|
-
this._unliked.next();
|
|
119
|
-
}
|
|
120
|
-
share() {
|
|
121
|
-
this._shared.next(this.message);
|
|
122
|
-
}
|
|
123
|
-
select() {
|
|
124
|
-
this._selected.next();
|
|
125
|
-
}
|
|
126
|
-
selectUser() {
|
|
127
|
-
this._userSelected.next();
|
|
128
|
-
}
|
|
129
|
-
selectUsername(user) {
|
|
130
|
-
this._usernameSelected.next(user);
|
|
131
|
-
this.selectUser();
|
|
132
|
-
}
|
|
133
|
-
selectAvatar(user) {
|
|
134
|
-
this._avatarSelected.next(user);
|
|
135
|
-
this.selectUser();
|
|
136
|
-
}
|
|
137
|
-
avatarForUser(user) {
|
|
138
|
-
let url = this.genericAvatarUrl;
|
|
139
|
-
if (user && user.avatarUrl) {
|
|
140
|
-
url = user.avatarUrl;
|
|
141
|
-
}
|
|
142
|
-
return `url(${url})`;
|
|
143
|
-
}
|
|
144
|
-
get replyCount() {
|
|
145
|
-
var _a;
|
|
146
|
-
return ((_a = this.message.submessages) === null || _a === void 0 ? void 0 : _a.length) || this.message.submessageCount || 0;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
CommentComponent.decorators = [
|
|
150
|
-
{ type: Component, args: [{
|
|
151
|
-
selector: 'banta-comment',
|
|
152
|
-
template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"share()\">\r\n <mat-icon>share</mat-icon>\r\n Share\r\n </button>\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">\r\n <mat-icon>warning</mat-icon>\r\n Report\r\n </button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">\r\n <mat-icon>edit</mat-icon>\r\n Edit\r\n </button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">\r\n <mat-icon>delete</mat-icon>\r\n Delete\r\n </button>\r\n\r\n <button *ngFor=\"let menuItem of customMenuItems\" mat-menu-item (click)=\"menuItem.action(message)\">\r\n <mat-icon>{{menuItem.icon}}</mat-icon>\r\n {{menuItem.label}}\r\n </button>\r\n\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <div class=\"user-1\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <div class=\"user-identity\">\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n </div>\r\n </div>\r\n <div class=\"user-2\">\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <banta-timestamp [value]=\"message.sentAt\"></banta-timestamp>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n <span class=\"banta-message-content\" [innerHTML]=\"message.message | mentionLinker: message.mentionLinks | markdownToHtml\"></span>\r\n <banta-attachments \r\n [attachments]=\"message.attachments\"\r\n (loaded)=\"markAttachmentsLoaded()\"\r\n ></banta-attachments>\r\n <ul class=\"message-facts\">\r\n <li *ngIf=\"message.edits?.length > 0\">(Edited)</li>\r\n </ul>\r\n </div>\r\n <div class=\"content\" *ngIf=\"editing\" style=\"padding-bottom: 2em;\">\r\n <div>\r\n <mat-form-field floatLabel=\"always\" appearance=\"outline\" style=\"width: 100%;\">\r\n <mat-label>Edit Message</mat-label>\r\n <textarea matInput [(ngModel)]=\"editedMessage\" [maxlength]=\"maxLength\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"saveEdit()\">Save</button> \r\n <button mat-button (click)=\"endEditing()\">Cancel</button>\r\n </div>\r\n\r\n\r\n <div class=\"actions\">\r\n <div class=\"spacer\"></div>\r\n <div class=\"counted-action\" *ngIf=\"showReplyAction\">\r\n <button mat-button [matTooltip]=\"replyCount > 0 ? 'Replies' : 'Reply'\" matTooltipPosition=\"below\" (click)=\"select()\">\r\n <mat-icon [inline]=\"true\">comment</mat-icon>\r\n <span class=\"count-indicator\">\r\n {{replyCount > 0 ? 'Replies' : 'Reply'}}\r\n {{replyCount > 0 ? '(' + replyCount + ')' : ''}}\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"counted-action\" [class.active]=\"message.userState?.liked\">\r\n <button \r\n *ngIf=\"message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"true\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : message.userState?.liked ? 'Unlike' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n >\r\n <mat-spinner [diameter]=\"15\" style=\"margin-left: 1em;\"></mat-spinner>\r\n </button>\r\n <button \r\n *ngIf=\"!message.transientState?.liking\"\r\n mat-button \r\n [matTooltip]=\"permissions?.canLike ? upvoting ? 'Please wait...' : 'Like' : permissions?.canLikeErrorMessage\" \r\n matTooltipPosition=\"below\" \r\n (click)=\"message.userState?.liked ? unlike() : like()\" \r\n >\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n <span class=\"count-indicator\" *ngIf=\"message.likes > 0\">\r\n {{message.likes}}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]=\"pointItemMenu\">\r\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n",
|
|
153
|
-
styles: ["@-webkit-keyframes comment-appear{0%{transform:translate(6em)}to{transform:translate(0)}}@keyframes comment-appear{0%{transform:translate(6em)}to{transform:translate(0)}}:host{display:flex;flex-direction:column;position:relative;padding:.5em;visibility:hidden}:host.new{visibility:visible;-webkit-animation-name:comment-appear;animation-name:comment-appear;-webkit-animation-duration:.25s;animation-duration:.25s;-webkit-animation-fill-mode:both;animation-fill-mode:both}:host.highlighted{background:#00223a;outline:2px solid #003277}:host.visible{visibility:visible}:host:hover{background:#eee}:host .message-content .content{margin-left:60px;margin-right:.5em}:host .message-content .attachments-row{margin-top:15px;display:flex;gap:10px}:host .message-content .attachments-row img{border-radius:10px;width:300px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}:host.abbreviated .message-content .content{text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:60px;align-items:center}:host .actions button,banta-timestamp{color:#666;flex-shrink:0}banta-timestamp{font-size:10pt;margin-left:1em;text-align:right}.user{position:relative;margin:1em 0 0;display:flex;align-items:center;flex-wrap:wrap}.user .user-1,.user .user-2{display:flex;flex-wrap:nowrap;align-items:center;min-width:0}.user .user-2{margin:1em 0}.user .user-identity{display:flex;flex-direction:column;min-width:0}.user .display-name,.user .username{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0;min-width:0}.user .display-name.username.username.username,.user .username.username.username.username{color:#666}.avatar{height:48px;width:48px;background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.counted-action.active .count-indicator,.counted-action.active button{color:#00a5ff}.counted-action button .count-indicator{margin-left:.5em}.count-indicator{font-size:9pt;padding:0 0 0 3px;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}.user-tag,:host-context(.mat-dark-theme) .user .display-name,:host-context(.mat-dark-theme) .user .username{color:#fff}.user-tag{text-transform:uppercase;font-size:12px;border:1px solid #b27373;background:#7a412b;padding:3px 5px;margin:0 .5em 0 1em;border-radius:3px}.spacer{flex-shrink:1;flex-grow:1}ul.message-facts{margin:0;padding:0;color:#666}ul.message-facts li{list-style-type:none;border-left:1px solid #666;font-size:10pt;padding-left:.5em;margin-left:.5em;margin-top:.5em}ul.message-facts li:first-child{border-left:1px solid transparent;margin-left:0;padding-left:0}@media (max-width:400px){.avatar{height:32px;width:32px}:host .actions{margin-left:0;margin-top:.5em}:host .message-content .content{margin-left:44px;margin-right:.5em}}:host-context(.banta-mobile) .avatar{height:32px;width:32px}:host-context(.banta-mobile) :host .actions{margin-left:0;margin-top:.5em}:host-context(.banta-mobile) :host .message-content .content{margin-left:44px;margin-right:.5em}.card-attachment a{display:flex;align-items:flex-start;gap:1em;width:100%;border:1px solid #666;border-radius:4px;padding:1em;box-sizing:border-box;background-color:#191919}.card-attachment a img{width:300px;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border-radius:10px}.card-attachment a h1{margin:0;font-size:30px}"]
|
|
154
|
-
},] }
|
|
155
|
-
];
|
|
156
|
-
CommentComponent.ctorParameters = () => [
|
|
157
|
-
{ type: ElementRef }
|
|
158
|
-
];
|
|
159
|
-
CommentComponent.propDecorators = {
|
|
160
|
-
maxLength: [{ type: Input }],
|
|
161
|
-
isNew: [{ type: HostBinding, args: ['class.new',] }],
|
|
162
|
-
isHighlighted: [{ type: HostBinding, args: ['class.highlighted',] }],
|
|
163
|
-
visible: [{ type: HostBinding, args: ['class.visible',] }],
|
|
164
|
-
message: [{ type: Input }],
|
|
165
|
-
customMenuItems: [{ type: Input }],
|
|
166
|
-
showReplyAction: [{ type: Input }],
|
|
167
|
-
loaded: [{ type: Output }],
|
|
168
|
-
userSelected: [{ type: Output }],
|
|
169
|
-
usernameSelected: [{ type: Output }],
|
|
170
|
-
avatarSelected: [{ type: Output }],
|
|
171
|
-
reported: [{ type: Output }],
|
|
172
|
-
permissions: [{ type: Input }],
|
|
173
|
-
mine: [{ type: Input }],
|
|
174
|
-
editing: [{ type: Input }],
|
|
175
|
-
liked: [{ type: Output }],
|
|
176
|
-
unliked: [{ type: Output }],
|
|
177
|
-
selected: [{ type: Output }],
|
|
178
|
-
edited: [{ type: Output }],
|
|
179
|
-
deleted: [{ type: Output }],
|
|
180
|
-
editStarted: [{ type: Output }],
|
|
181
|
-
editEnded: [{ type: Output }],
|
|
182
|
-
shared: [{ type: Output }],
|
|
183
|
-
genericAvatarUrl: [{ type: Input }],
|
|
184
|
-
commentId: [{ type: HostBinding, args: ['attr.data-comment-id',] }]
|
|
185
|
-
};
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQ1ksVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFRdkMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFFeEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXBDLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFvQmxDLFVBQUssR0FBRyxLQUFLLENBQUM7UUFRZCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JoQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUd2QixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBNkJoQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBN0l4QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBZUQsUUFBUTtRQUNKLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxVQUFVLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQztRQUUvRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUtELElBQ0ksYUFBYTs7UUFDYix5QkFBTyxJQUFJLENBQUMsT0FBTywwQ0FBRSxjQUFjLDBDQUFFLFdBQVcsbUNBQUksS0FBSyxDQUFDO0lBQzlELENBQUM7SUFNRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQUs7O1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxPQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVywwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQWFLLFdBQVc7O1lBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUTtnQkFDYixPQUFPLElBQUksQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hELENBQUM7S0FBQTtJQUVKLElBQ08sWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVKLElBQ0ksY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVFLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBUUQsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFRRCxJQUFjLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlELElBQWMsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsSUFBYyxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxJQUFjLFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLElBQWMsTUFBTSxLQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFJN0QsSUFBeUMsU0FBUyxhQUFLLGFBQU8sSUFBSSxDQUFDLE9BQU8sMENBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVqRixNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUosVUFBVTtRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFVO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFSixZQUFZLENBQUMsSUFBVTtRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVFLGFBQWEsQ0FBQyxJQUFXO1FBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUVoQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7O1FBQ1YsT0FBTyxPQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVywwQ0FBRSxNQUFNLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OztZQWpOSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHExSkFBdUM7O2FBRTFDOzs7WUFWK0MsVUFBVTs7O3dCQWdDckQsS0FBSztvQkFtQkwsV0FBVyxTQUFDLFdBQVc7NEJBR3ZCLFdBQVcsU0FBQyxtQkFBbUI7c0JBSy9CLFdBQVcsU0FBQyxlQUFlO3NCQUkzQixLQUFLOzhCQWVMLEtBQUs7OEJBR0wsS0FBSztxQkFHTCxNQUFNOzJCQVdULE1BQU07K0JBS0gsTUFBTTs2QkFLVCxNQUFNO3VCQUtILE1BQU07MEJBS04sS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7b0JBb0JMLE1BQU07c0JBS04sTUFBTTt1QkFLTixNQUFNO3FCQVdOLE1BQU07c0JBQ04sTUFBTTswQkFDTixNQUFNO3dCQUNOLE1BQU07cUJBQ04sTUFBTTsrQkFFTixLQUFLO3dCQUVMLFdBQVcsU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VNZW51SXRlbSB9IGZyb20gXCIuLi8uLi9tZXNzYWdlLW1lbnUtaXRlbVwiO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JhbnRhLWNvbW1lbnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29tbWVudC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50Q29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZXBvcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9saWtlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF91bmxpa2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuXHJcblx0cHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHRwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblx0cHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblxyXG4gICAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXIgPSAxNTAwO1xyXG4gICAgXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBsZXQgbWF4VGltZSA9IDEwMDtcclxuICAgICAgICBsZXQgbWluVGltZSA9IDA7XHJcbiAgICAgICAgbGV0IHJhbmRvbVRpbWUgPSBtaW5UaW1lICsgTWF0aC5yYW5kb20oKSAqIChtYXhUaW1lIC0gbWluVGltZSk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlzTmV3ID0gZmFsc2UsIDEwMDApO1xyXG4gICAgICAgIH0sIHJhbmRvbVRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmtBdHRhY2htZW50c0xvYWRlZCgpIHtcclxuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uZXcnKVxyXG4gICAgaXNOZXcgPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZ2hsaWdodGVkJylcclxuICAgIGdldCBpc0hpZ2hsaWdodGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2U/LnRyYW5zaWVudFN0YXRlPy5oaWdobGlnaHRlZCA/PyBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpc2libGUnKVxyXG4gICAgdmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgX21lc3NhZ2UgOiBDaGF0TWVzc2FnZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbWVzc2FnZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbWVzc2FnZSh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX21lc3NhZ2UgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5fbWVzc2FnZS5hdHRhY2htZW50cz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGVkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGN1c3RvbU1lbnVJdGVtczogTWVzc2FnZU1lbnVJdGVtW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNob3dSZXBseUFjdGlvbiA9IHRydWU7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBsb2FkZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIHByaXZhdGUgaXNMb2FkZWQgPSBmYWxzZTtcclxuXHJcbiAgICBhc3luYyB3YWl0Rm9yTG9hZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5pc0xvYWRlZClcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkZWQucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcbiAgICBnZXQgdXNlclNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcblx0Z2V0IGF2YXRhclNlbGVjdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F2YXRhclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCByZXBvcnRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbnM6IENoYXRQZXJtaXNzaW9ucztcclxuICAgIEBJbnB1dCgpIG1pbmUgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgZWRpdGVkTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHNhdmVFZGl0KCkge1xyXG4gICAgICAgIHRoaXMuX2VkaXRlZC5uZXh0KHRoaXMuZWRpdGVkTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kRWRpdGluZygpIHtcclxuICAgICAgICB0aGlzLl9lZGl0RW5kZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0RWRpdCgpIHtcclxuICAgICAgICB0aGlzLl9lZGl0U3RhcnRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5lZGl0ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuX2RlbGV0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IGxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9saWtlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCB1bmxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91bmxpa2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lZGl0U3RhcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9kZWxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX2VkaXRFbmRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBcclxuXHJcbiAgICBAT3V0cHV0KCkgZ2V0IGVkaXRlZCgpIHsgcmV0dXJuIHRoaXMuX2VkaXRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBkZWxldGVkKCkgeyByZXR1cm4gdGhpcy5fZGVsZXRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0U3RhcnRlZCgpIHsgcmV0dXJuIHRoaXMuX2VkaXRTdGFydGVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IGVkaXRFbmRlZCgpIHsgcmV0dXJuIHRoaXMuX2VkaXRFbmRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBzaGFyZWQoKXsgcmV0dXJuIHRoaXMuX3NoYXJlZC5hc09ic2VydmFibGUoKTsgfVxyXG5cclxuICAgIEBJbnB1dCgpIGdlbmVyaWNBdmF0YXJVcmw6IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1jb21tZW50LWlkJykgZ2V0IGNvbW1lbnRJZCgpIHsgcmV0dXJuIHRoaXMubWVzc2FnZT8uaWQ7IH1cclxuXHJcbiAgICByZXBvcnQoKSB7XHJcbiAgICAgICAgdGhpcy5fcmVwb3J0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxpa2UoKSB7XHJcbiAgICAgICAgdGhpcy5fbGlrZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHVubGlrZSgpIHtcclxuICAgICAgICB0aGlzLl91bmxpa2VkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzaGFyZSgpIHtcclxuICAgICAgICB0aGlzLl9zaGFyZWQubmV4dCh0aGlzLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cdHNlbGVjdFVzZXIoKSB7XHJcbiAgICAgICAgdGhpcy5fdXNlclNlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RVc2VybmFtZSh1c2VyOiBVc2VyKSB7XHJcbiAgICAgICAgdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5uZXh0KHVzZXIpO1xyXG5cdFx0dGhpcy5zZWxlY3RVc2VyKCk7XHJcbiAgICB9XHJcblxyXG5cdHNlbGVjdEF2YXRhcih1c2VyOiBVc2VyKSB7XHJcblx0XHR0aGlzLl9hdmF0YXJTZWxlY3RlZC5uZXh0KHVzZXIpO1xyXG5cdFx0dGhpcy5zZWxlY3RVc2VyKCk7XHJcblx0fVxyXG5cclxuICAgIGF2YXRhckZvclVzZXIodXNlciA6IFVzZXIpIHtcclxuICAgICAgICBsZXQgdXJsID0gdGhpcy5nZW5lcmljQXZhdGFyVXJsO1xyXG5cclxuICAgICAgICBpZiAodXNlciAmJiB1c2VyLmF2YXRhclVybCkge1xyXG4gICAgICAgICAgICB1cmwgPSB1c2VyLmF2YXRhclVybDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgdXJsKCR7dXJsfSlgO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZXBseUNvdW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2Uuc3VibWVzc2FnZXM/Lmxlbmd0aCB8fCB0aGlzLm1lc3NhZ2Uuc3VibWVzc2FnZUNvdW50IHx8IDA7XHJcbiAgICB9XHJcbn1cclxuIl19
|