@cometchat/chat-uikit-angular 4.3.2 → 4.3.4
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/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.d.ts +1 -0
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +1 -0
- package/README.md +0 -25
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +3 -2
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +8 -2
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +3 -3
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +2 -2
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +2 -1
- package/esm2020/CometChatList/cometchat-list.component.mjs +3 -3
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +3 -6
- package/esm2020/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.mjs +11 -4
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +34 -55
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +17 -4
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +2 -2
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +2 -2
- package/esm2020/Shared/Utils/MessageUtils.mjs +35 -28
- package/esm2020/public-api.mjs +1 -7
- package/fesm2015/cometchat-chat-uikit-angular.mjs +115 -105
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/fesm2020/cometchat-chat-uikit-angular.mjs +111 -101
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -22,7 +22,7 @@ class MessageUtils {
|
|
|
22
22
|
getEditOption(theme) {
|
|
23
23
|
return new CometChatMessageOption({
|
|
24
24
|
id: CometChatUIKitConstants.MessageOption.editMessage,
|
|
25
|
-
title: localize("
|
|
25
|
+
title: localize("EDIT"),
|
|
26
26
|
iconURL: "assets/editicon.svg",
|
|
27
27
|
onClick: null,
|
|
28
28
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -39,7 +39,7 @@ class MessageUtils {
|
|
|
39
39
|
getReactionOption(theme) {
|
|
40
40
|
return new CometChatMessageOption({
|
|
41
41
|
id: CometChatUIKitConstants.MessageOption.reactToMessage,
|
|
42
|
-
title: localize("
|
|
42
|
+
title: localize("REACT"),
|
|
43
43
|
iconURL: "assets/addreaction.svg",
|
|
44
44
|
onClick: undefined,
|
|
45
45
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -56,7 +56,7 @@ class MessageUtils {
|
|
|
56
56
|
getMessageInfoOption(theme) {
|
|
57
57
|
return new CometChatMessageOption({
|
|
58
58
|
id: CometChatUIKitConstants.MessageOption.messageInformation,
|
|
59
|
-
title: localize("
|
|
59
|
+
title: localize("INFO"),
|
|
60
60
|
iconURL: "assets/Info.svg",
|
|
61
61
|
onClick: null,
|
|
62
62
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -73,7 +73,7 @@ class MessageUtils {
|
|
|
73
73
|
getMessagePrivatelyOption(theme) {
|
|
74
74
|
return new CometChatMessageOption({
|
|
75
75
|
id: CometChatUIKitConstants.MessageOption.sendMessagePrivately,
|
|
76
|
-
title: localize("
|
|
76
|
+
title: localize("MESSAGE_PRIVATELY"),
|
|
77
77
|
iconURL: "assets/message-privately.svg",
|
|
78
78
|
onClick: null,
|
|
79
79
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -107,7 +107,7 @@ class MessageUtils {
|
|
|
107
107
|
getReplyInThreadOption(theme) {
|
|
108
108
|
return new CometChatMessageOption({
|
|
109
109
|
id: CometChatUIKitConstants.MessageOption.replyInThread,
|
|
110
|
-
title: localize("
|
|
110
|
+
title: localize("REPLY"),
|
|
111
111
|
iconURL: "assets/threadicon.svg",
|
|
112
112
|
onClick: null,
|
|
113
113
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -124,7 +124,7 @@ class MessageUtils {
|
|
|
124
124
|
getCopyOption(theme) {
|
|
125
125
|
return new CometChatMessageOption({
|
|
126
126
|
id: CometChatUIKitConstants.MessageOption.copyMessage,
|
|
127
|
-
title: localize("
|
|
127
|
+
title: localize("COPY"),
|
|
128
128
|
iconURL: "assets/Copy.svg",
|
|
129
129
|
onClick: null,
|
|
130
130
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -151,17 +151,28 @@ class MessageUtils {
|
|
|
151
151
|
* @return {Array<CometChatMessageOption>} - Returns an array of message options.
|
|
152
152
|
*/
|
|
153
153
|
getTextMessageOptions(loggedInUser, messageObject, theme, group) {
|
|
154
|
-
let
|
|
155
|
-
let
|
|
156
|
-
if ((group === null || group === void 0 ? void 0 : group.getScope()) == CometChatUIKitConstants.groupMemberScope.
|
|
157
|
-
|
|
154
|
+
let isSentByMe = this.isSentByMe(loggedInUser, messageObject);
|
|
155
|
+
let isParticipant = false;
|
|
156
|
+
if ((group === null || group === void 0 ? void 0 : group.getScope()) == CometChatUIKitConstants.groupMemberScope.participant) {
|
|
157
|
+
isParticipant = true;
|
|
158
158
|
}
|
|
159
159
|
let messageOptionList = [];
|
|
160
|
-
messageOptionList
|
|
161
|
-
if (
|
|
162
|
-
messageOptionList.
|
|
160
|
+
messageOptionList.push(this.getReactionOption(theme));
|
|
161
|
+
if (!messageObject.getParentMessageId()) {
|
|
162
|
+
messageOptionList.push(this.getReplyInThreadOption(theme));
|
|
163
|
+
}
|
|
164
|
+
messageOptionList.push(this.getCopyOption(theme));
|
|
165
|
+
if (isSentByMe || (!isParticipant && group)) {
|
|
166
|
+
messageOptionList.push(this.getEditOption(theme));
|
|
167
|
+
}
|
|
168
|
+
if (isSentByMe) {
|
|
169
|
+
messageOptionList.push(this.getMessageInfoOption(theme));
|
|
170
|
+
}
|
|
171
|
+
if (isSentByMe || (!isParticipant && group))
|
|
172
|
+
messageOptionList.push(this.getDeleteOption(theme));
|
|
173
|
+
if (group && !isSentByMe) {
|
|
174
|
+
messageOptionList.push(this.getMessagePrivatelyOption(theme));
|
|
163
175
|
}
|
|
164
|
-
messageOptionList.unshift(this.getCopyOption(theme));
|
|
165
176
|
return messageOptionList;
|
|
166
177
|
}
|
|
167
178
|
/**
|
|
@@ -334,12 +345,7 @@ class MessageUtils {
|
|
|
334
345
|
return _template;
|
|
335
346
|
}
|
|
336
347
|
getMessageOptions(loggedInUser, messageObject, theme, group) {
|
|
337
|
-
var _a;
|
|
338
348
|
let _optionList = [];
|
|
339
|
-
let _isSentByMe = false;
|
|
340
|
-
if (loggedInUser.getUid() == ((_a = messageObject.getSender()) === null || _a === void 0 ? void 0 : _a.getUid())) {
|
|
341
|
-
_isSentByMe = true;
|
|
342
|
-
}
|
|
343
349
|
if (messageObject.getCategory() ==
|
|
344
350
|
CometChatUIKitConstants.MessageCategory.message) {
|
|
345
351
|
switch (messageObject.getType()) {
|
|
@@ -372,23 +378,23 @@ class MessageUtils {
|
|
|
372
378
|
return _optionList;
|
|
373
379
|
}
|
|
374
380
|
getCommonOptions(loggedInUser, messageObject, theme, group) {
|
|
375
|
-
let
|
|
376
|
-
let
|
|
377
|
-
if ((group === null || group === void 0 ? void 0 : group.getScope()) == CometChatUIKitConstants.groupMemberScope.
|
|
378
|
-
|
|
381
|
+
let isSentByMe = this.isSentByMe(loggedInUser, messageObject);
|
|
382
|
+
let isParticipant = false;
|
|
383
|
+
if ((group === null || group === void 0 ? void 0 : group.getScope()) == CometChatUIKitConstants.groupMemberScope.participant)
|
|
384
|
+
isParticipant = true;
|
|
379
385
|
let messageOptionList = [];
|
|
380
386
|
messageOptionList.push(this.getReactionOption(theme));
|
|
381
|
-
if (!messageObject.getParentMessageId()) {
|
|
387
|
+
if (!(messageObject === null || messageObject === void 0 ? void 0 : messageObject.getParentMessageId())) {
|
|
382
388
|
messageOptionList.push(this.getReplyInThreadOption(theme));
|
|
383
389
|
}
|
|
384
|
-
if (
|
|
390
|
+
if (isSentByMe) {
|
|
385
391
|
messageOptionList.push(this.getMessageInfoOption(theme));
|
|
386
392
|
}
|
|
387
|
-
if (
|
|
393
|
+
if (isSentByMe || (!isParticipant && group))
|
|
394
|
+
messageOptionList.push(this.getDeleteOption(theme));
|
|
395
|
+
if (group && !isSentByMe) {
|
|
388
396
|
messageOptionList.push(this.getMessagePrivatelyOption(theme));
|
|
389
397
|
}
|
|
390
|
-
if (_isSentByMe == true || _isModerator == true)
|
|
391
|
-
messageOptionList.push(this.getDeleteOption(theme));
|
|
392
398
|
return messageOptionList;
|
|
393
399
|
}
|
|
394
400
|
getAllMessageTypes() {
|
|
@@ -1199,7 +1205,7 @@ class MessageTranslationExtensionDecorator extends DataSourceDecorator {
|
|
|
1199
1205
|
if (!this.checkIfOptionExist(options, CometChatUIKitConstants.MessageOption.translateMessage)) {
|
|
1200
1206
|
let newOption = new CometChatMessageOption({
|
|
1201
1207
|
id: CometChatUIKitConstants.MessageOption.translateMessage,
|
|
1202
|
-
title: localize("
|
|
1208
|
+
title: localize("TRANSLATE"),
|
|
1203
1209
|
iconURL: "assets/translation.svg",
|
|
1204
1210
|
onClick: null,
|
|
1205
1211
|
iconTint: theme.palette.getAccent600(),
|
|
@@ -1916,7 +1922,7 @@ class CometChatUIKit {
|
|
|
1916
1922
|
if (window) {
|
|
1917
1923
|
window.CometChatUiKit = {
|
|
1918
1924
|
name: "@cometchat/chat-uikit-angular",
|
|
1919
|
-
version: "4.3.
|
|
1925
|
+
version: "4.3.4",
|
|
1920
1926
|
};
|
|
1921
1927
|
}
|
|
1922
1928
|
if (CometChatUIKitSharedSettings) {
|
|
@@ -3249,10 +3255,10 @@ class CometchatListComponent {
|
|
|
3249
3255
|
ngOnChanges(changes) { }
|
|
3250
3256
|
}
|
|
3251
3257
|
CometchatListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometchatListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3252
|
-
CometchatListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometchatListComponent, selector: "cometchat-list", inputs: { listItemView: "listItemView", onScrolledToBottom: "onScrolledToBottom", onScrolledToTop: "onScrolledToTop", list: "list", onSearch: "onSearch", getSectionHeader: "getSectionHeader", searchText: "searchText", searchIconURL: "searchIconURL", listStyle: "listStyle", searchPlaceholderText: "searchPlaceholderText", hideSearch: "hideSearch", hideError: "hideError", title: "title", titleAlignment: "titleAlignment", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", state: "state", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", DateSeparatorPattern: "DateSeparatorPattern", dateSeparatorStyle: "dateSeparatorStyle" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\"
|
|
3258
|
+
CometchatListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometchatListComponent, selector: "cometchat-list", inputs: { listItemView: "listItemView", onScrolledToBottom: "onScrolledToBottom", onScrolledToTop: "onScrolledToTop", list: "list", onSearch: "onSearch", getSectionHeader: "getSectionHeader", searchText: "searchText", searchIconURL: "searchIconURL", listStyle: "listStyle", searchPlaceholderText: "searchPlaceholderText", hideSearch: "hideSearch", hideError: "hideError", title: "title", titleAlignment: "titleAlignment", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", state: "state", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", DateSeparatorPattern: "DateSeparatorPattern", dateSeparatorStyle: "dateSeparatorStyle" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}\n </div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\"\n [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\"\n (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !hideError && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"custom__view--error\"\n *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\"\n *ngIf=\"state == states.empty && !emptyStateView\"\n [text]=\"emptyStateText\">\n </cometchat-label>\n <span class=\"custom__view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"!getSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"getSectionHeader && getSectionHeader(item,i)\"\n [ngStyle]=\"sectionHeaderStyle()\">\n <cometchat-date [timestamp]=\"getSectionHeader(item,i)\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </div>\n\n </div>\n <ng-container\n *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>\n", styles: [".cc-list{display:flex;flex-direction:column;width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.listitem__view{display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center;width:100%;text-overflow:ellipsis;text-wrap:balance}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3253
3259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometchatListComponent, decorators: [{
|
|
3254
3260
|
type: Component,
|
|
3255
|
-
args: [{ selector: "cometchat-list", template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\"
|
|
3261
|
+
args: [{ selector: "cometchat-list", template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}\n </div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\"\n [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\"\n (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !hideError && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"custom__view--error\"\n *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\"\n *ngIf=\"state == states.empty && !emptyStateView\"\n [text]=\"emptyStateText\">\n </cometchat-label>\n <span class=\"custom__view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"!getSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"getSectionHeader && getSectionHeader(item,i)\"\n [ngStyle]=\"sectionHeaderStyle()\">\n <cometchat-date [timestamp]=\"getSectionHeader(item,i)\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </div>\n\n </div>\n <ng-container\n *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>\n", styles: [".cc-list{display:flex;flex-direction:column;width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.listitem__view{display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center;width:100%;text-overflow:ellipsis;text-wrap:balance}\n"] }]
|
|
3256
3262
|
}], ctorParameters: function () { return []; }, propDecorators: { listScroll: [{
|
|
3257
3263
|
type: ViewChild,
|
|
3258
3264
|
args: ["listScroll", { static: false }]
|
|
@@ -3898,6 +3904,7 @@ class CometChatUsersComponent {
|
|
|
3898
3904
|
this.firstReload = false;
|
|
3899
3905
|
this.connectionListenerId = "connection_" + new Date().getTime();
|
|
3900
3906
|
this.previousSearchKeyword = "";
|
|
3907
|
+
this.isWebsocketReconnected = false;
|
|
3901
3908
|
this.onScrolledToBottom = null;
|
|
3902
3909
|
this.fetchUsersOnSearchKeyWordChange = () => {
|
|
3903
3910
|
if (this.fetchingUsers) {
|
|
@@ -4008,7 +4015,13 @@ class CometChatUsersComponent {
|
|
|
4008
4015
|
}
|
|
4009
4016
|
else {
|
|
4010
4017
|
if (!this.disableLoadingState) {
|
|
4011
|
-
|
|
4018
|
+
if (this.isWebsocketReconnected) {
|
|
4019
|
+
this.usersList = userList;
|
|
4020
|
+
this.isWebsocketReconnected = false;
|
|
4021
|
+
}
|
|
4022
|
+
else {
|
|
4023
|
+
this.usersList = [...this.usersList, ...userList];
|
|
4024
|
+
}
|
|
4012
4025
|
}
|
|
4013
4026
|
else {
|
|
4014
4027
|
if (this.searchKeyword != this.previousSearchKeyword ||
|
|
@@ -4060,9 +4073,11 @@ class CometChatUsersComponent {
|
|
|
4060
4073
|
this.setRequestBuilder();
|
|
4061
4074
|
if (!this.disableLoadingState) {
|
|
4062
4075
|
this.usersList = [];
|
|
4076
|
+
this.ref.detectChanges();
|
|
4077
|
+
}
|
|
4078
|
+
if (!this.fetchingUsers) {
|
|
4079
|
+
this.fetchNextUsersList();
|
|
4063
4080
|
}
|
|
4064
|
-
this.ref.detectChanges();
|
|
4065
|
-
this.fetchNextUsersList();
|
|
4066
4081
|
}, 500);
|
|
4067
4082
|
}
|
|
4068
4083
|
catch (error) {
|
|
@@ -4085,6 +4100,7 @@ class CometChatUsersComponent {
|
|
|
4085
4100
|
ngOnInit() {
|
|
4086
4101
|
this.firstReload = true;
|
|
4087
4102
|
this.state = States.loading;
|
|
4103
|
+
this.isWebsocketReconnected = false;
|
|
4088
4104
|
this.setThemeStyle();
|
|
4089
4105
|
this.subscribeToEvents();
|
|
4090
4106
|
CometChat.getLoggedinUser()
|
|
@@ -4155,6 +4171,7 @@ class CometChatUsersComponent {
|
|
|
4155
4171
|
attachConnectionListeners() {
|
|
4156
4172
|
CometChat.addConnectionListener(this.connectionListenerId, new CometChat.ConnectionListener({
|
|
4157
4173
|
onConnected: () => {
|
|
4174
|
+
this.isWebsocketReconnected = true;
|
|
4158
4175
|
console.log("ConnectionListener =>connected");
|
|
4159
4176
|
this.fetchNewUsers();
|
|
4160
4177
|
},
|
|
@@ -4162,6 +4179,7 @@ class CometChatUsersComponent {
|
|
|
4162
4179
|
console.log("ConnectionListener => In connecting");
|
|
4163
4180
|
},
|
|
4164
4181
|
onDisconnected: () => {
|
|
4182
|
+
this.isWebsocketReconnected = false;
|
|
4165
4183
|
console.log("ConnectionListener => On Disconnected");
|
|
4166
4184
|
},
|
|
4167
4185
|
}));
|
|
@@ -4184,6 +4202,7 @@ class CometChatUsersComponent {
|
|
|
4184
4202
|
removeListener() {
|
|
4185
4203
|
CometChat.removeUserListener(this.userListenerId);
|
|
4186
4204
|
this.userListenerId = "";
|
|
4205
|
+
CometChat.removeConnectionListener(this.connectionListenerId);
|
|
4187
4206
|
}
|
|
4188
4207
|
setRequestBuilder() {
|
|
4189
4208
|
if (!this.searchKeyword) {
|
|
@@ -4585,8 +4604,9 @@ class CometChatAddMembersComponent {
|
|
|
4585
4604
|
actionMessage.setSender(this.loggedInUser);
|
|
4586
4605
|
actionMessage.setConversationId("group_" + this.group.getGuid());
|
|
4587
4606
|
actionMessage.setMuid(CometChatUIKitUtility.ID());
|
|
4588
|
-
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} added ${actionOn.
|
|
4607
|
+
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} added ${actionOn.getName()}`);
|
|
4589
4608
|
actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());
|
|
4609
|
+
console.log(this.actionMessagesList);
|
|
4590
4610
|
this.actionMessagesList.push(actionMessage);
|
|
4591
4611
|
}
|
|
4592
4612
|
setAddMembersStyle() {
|
|
@@ -6224,6 +6244,11 @@ class CometChatConversationsComponent {
|
|
|
6224
6244
|
!this.disableUsersPresence) {
|
|
6225
6245
|
return this.statusColor[user.getStatus()];
|
|
6226
6246
|
}
|
|
6247
|
+
else if (conversation.getConversationType() ==
|
|
6248
|
+
CometChatUIKitConstants.MessageReceiverType.group) {
|
|
6249
|
+
let group = conversation.getConversationWith();
|
|
6250
|
+
return this.statusColor[group.getType()];
|
|
6251
|
+
}
|
|
6227
6252
|
}
|
|
6228
6253
|
getExtensionData(messageObject) {
|
|
6229
6254
|
let messageText;
|
|
@@ -6264,7 +6289,8 @@ class CometChatConversationsComponent {
|
|
|
6264
6289
|
let image = "";
|
|
6265
6290
|
if (conversation.getConversationType() ==
|
|
6266
6291
|
CometChatUIKitConstants.MessageReceiverType.group) {
|
|
6267
|
-
|
|
6292
|
+
let group = conversation.getConversationWith();
|
|
6293
|
+
switch (group.getType()) {
|
|
6268
6294
|
case CometChatUIKitConstants.GroupTypes.password:
|
|
6269
6295
|
image = this.protectedGroupIcon;
|
|
6270
6296
|
break;
|
|
@@ -7920,6 +7946,7 @@ class CometChatMessageInformationComponent {
|
|
|
7920
7946
|
textColor: "black"
|
|
7921
7947
|
};
|
|
7922
7948
|
this.dateStyle = {};
|
|
7949
|
+
this.loggedInUser = null;
|
|
7923
7950
|
this.dividerStyle = {};
|
|
7924
7951
|
this.states = States.loading;
|
|
7925
7952
|
this.closeButtonStyle = () => {
|
|
@@ -7960,8 +7987,13 @@ class CometChatMessageInformationComponent {
|
|
|
7960
7987
|
}
|
|
7961
7988
|
ngOnInit() {
|
|
7962
7989
|
this.setTheme();
|
|
7963
|
-
|
|
7964
|
-
|
|
7990
|
+
CometChatUIKit.getLoggedinUser().then((user) => {
|
|
7991
|
+
if (user) {
|
|
7992
|
+
this.loggedInUser = user;
|
|
7993
|
+
this.getMessageReceipts();
|
|
7994
|
+
this.addMessageEventListeners();
|
|
7995
|
+
}
|
|
7996
|
+
});
|
|
7965
7997
|
}
|
|
7966
7998
|
setTheme() {
|
|
7967
7999
|
this.setMessageInfoStyle();
|
|
@@ -8075,7 +8107,7 @@ class CometChatMessageInformationComponent {
|
|
|
8075
8107
|
this.states = States.loading;
|
|
8076
8108
|
this.isUserType = false;
|
|
8077
8109
|
CometChat.getMessageReceipts(this.message.getId()).then((receipts) => {
|
|
8078
|
-
this.receipts = receipts;
|
|
8110
|
+
this.receipts = receipts.filter((receipt) => { var _a; return receipt.getSender().getUid() !== ((_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getUid()); });
|
|
8079
8111
|
this.states = this.receipts.length > 0 ? States.loaded : States.empty;
|
|
8080
8112
|
this.ref.detectChanges();
|
|
8081
8113
|
})
|
|
@@ -8821,7 +8853,7 @@ class CometChatMessageListComponent {
|
|
|
8821
8853
|
* @param
|
|
8822
8854
|
*/
|
|
8823
8855
|
this.fetchPreviousMessages = () => {
|
|
8824
|
-
var _a, _b;
|
|
8856
|
+
var _a, _b, _c, _d;
|
|
8825
8857
|
if (this.reinitialized) {
|
|
8826
8858
|
if (this.messagesRequestBuilder) {
|
|
8827
8859
|
this.requestBuilder = this.user
|
|
@@ -8835,25 +8867,17 @@ class CometChatMessageListComponent {
|
|
|
8835
8867
|
.build();
|
|
8836
8868
|
}
|
|
8837
8869
|
else {
|
|
8870
|
+
this.requestBuilder = new CometChat.MessagesRequestBuilder()
|
|
8871
|
+
.setLimit(this.limit)
|
|
8872
|
+
.setTypes(this.types)
|
|
8873
|
+
.setMessageId(this.messagesList[0].getId())
|
|
8874
|
+
.setCategories(this.categories)
|
|
8875
|
+
.hideReplies(true);
|
|
8838
8876
|
if (this.user) {
|
|
8839
|
-
this.requestBuilder =
|
|
8840
|
-
.setUID(this.user.getUid())
|
|
8841
|
-
.setLimit(this.limit)
|
|
8842
|
-
.setTypes(this.types)
|
|
8843
|
-
.setMessageId(this.messagesList[0].getId())
|
|
8844
|
-
.setCategories(this.categories)
|
|
8845
|
-
.hideReplies(true)
|
|
8846
|
-
.build();
|
|
8877
|
+
this.requestBuilder.setUID((_c = this.user) === null || _c === void 0 ? void 0 : _c.getUid()).build();
|
|
8847
8878
|
}
|
|
8848
|
-
else {
|
|
8849
|
-
this.requestBuilder =
|
|
8850
|
-
.setGUID(this.group.getGuid())
|
|
8851
|
-
.setLimit(this.limit)
|
|
8852
|
-
.setTypes(this.types)
|
|
8853
|
-
.setMessageId(this.messagesList[0].getId())
|
|
8854
|
-
.setCategories(this.categories)
|
|
8855
|
-
.hideReplies(true)
|
|
8856
|
-
.build();
|
|
8879
|
+
else if (this.group) {
|
|
8880
|
+
this.requestBuilder.setGUID((_d = this.group) === null || _d === void 0 ? void 0 : _d.getGuid()).build();
|
|
8857
8881
|
}
|
|
8858
8882
|
}
|
|
8859
8883
|
}
|
|
@@ -8893,8 +8917,9 @@ class CometChatMessageListComponent {
|
|
|
8893
8917
|
this.lastMessageId = Number(messageList[messageList.length - 1].getId());
|
|
8894
8918
|
}
|
|
8895
8919
|
let lastMessage = messageList[messageList.length - 1];
|
|
8896
|
-
|
|
8897
|
-
((_b = this.loggedInUser) === null || _b === void 0 ? void 0 : _b.getUid())
|
|
8920
|
+
let isSentByMe = ((_a = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.getSender()) === null || _a === void 0 ? void 0 : _a.getUid()) ==
|
|
8921
|
+
((_b = this.loggedInUser) === null || _b === void 0 ? void 0 : _b.getUid());
|
|
8922
|
+
if (!isSentByMe &&
|
|
8898
8923
|
!lastMessage.getDeliveredAt()) {
|
|
8899
8924
|
//mark the message as delivered
|
|
8900
8925
|
if (!this.disableReceipt) {
|
|
@@ -8906,7 +8931,7 @@ class CometChatMessageListComponent {
|
|
|
8906
8931
|
});
|
|
8907
8932
|
}
|
|
8908
8933
|
}
|
|
8909
|
-
if (!(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.getReadAt())) {
|
|
8934
|
+
if (!(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.getReadAt()) && !isSentByMe) {
|
|
8910
8935
|
if (!this.disableReceipt) {
|
|
8911
8936
|
CometChat.markAsRead(lastMessage)
|
|
8912
8937
|
.then((receipt) => {
|
|
@@ -8966,7 +8991,7 @@ class CometChatMessageListComponent {
|
|
|
8966
8991
|
});
|
|
8967
8992
|
};
|
|
8968
8993
|
this.fetchNextMessage = () => {
|
|
8969
|
-
var _a, _b;
|
|
8994
|
+
var _a, _b, _c, _d;
|
|
8970
8995
|
let index = this.messagesList.length - 1;
|
|
8971
8996
|
let messageId;
|
|
8972
8997
|
if (this.reinitialized ||
|
|
@@ -8990,25 +9015,17 @@ class CometChatMessageListComponent {
|
|
|
8990
9015
|
.build();
|
|
8991
9016
|
}
|
|
8992
9017
|
else {
|
|
9018
|
+
this.requestBuilder = new CometChat.MessagesRequestBuilder()
|
|
9019
|
+
.setLimit(this.limit)
|
|
9020
|
+
.setTypes(this.types)
|
|
9021
|
+
.setMessageId(messageId)
|
|
9022
|
+
.setCategories(this.categories)
|
|
9023
|
+
.hideReplies(true);
|
|
8993
9024
|
if (this.user) {
|
|
8994
|
-
this.requestBuilder =
|
|
8995
|
-
.setUID(this.user.getUid())
|
|
8996
|
-
.setLimit(this.limit)
|
|
8997
|
-
.setTypes(this.types)
|
|
8998
|
-
.setMessageId(messageId)
|
|
8999
|
-
.setCategories(this.categories)
|
|
9000
|
-
.hideReplies(true)
|
|
9001
|
-
.build();
|
|
9025
|
+
this.requestBuilder.setUID((_c = this.user) === null || _c === void 0 ? void 0 : _c.getUid()).build();
|
|
9002
9026
|
}
|
|
9003
|
-
else {
|
|
9004
|
-
this.requestBuilder =
|
|
9005
|
-
.setGUID(this.group.getGuid())
|
|
9006
|
-
.setLimit(this.limit)
|
|
9007
|
-
.setTypes(this.types)
|
|
9008
|
-
.setMessageId(messageId)
|
|
9009
|
-
.setCategories(this.categories)
|
|
9010
|
-
.hideReplies(true)
|
|
9011
|
-
.build();
|
|
9027
|
+
else if (this.group) {
|
|
9028
|
+
this.requestBuilder.setGUID((_d = this.group) === null || _d === void 0 ? void 0 : _d.getGuid()).build();
|
|
9012
9029
|
}
|
|
9013
9030
|
}
|
|
9014
9031
|
this.requestBuilder
|
|
@@ -9943,6 +9960,7 @@ class CometChatMessageListComponent {
|
|
|
9943
9960
|
//Removing Previous Conversation Listeners
|
|
9944
9961
|
CometChat.removeGroupListener(this.groupListenerId);
|
|
9945
9962
|
CometChat.removeCallListener(this.callListenerId);
|
|
9963
|
+
CometChat.removeConnectionListener(this.connectionListenerId);
|
|
9946
9964
|
this.groupListenerId = "group_" + new Date().getTime();
|
|
9947
9965
|
this.callListenerId = "call_" + new Date().getTime();
|
|
9948
9966
|
// Attach MessageListeners for the new conversation
|
|
@@ -10002,6 +10020,7 @@ class CometChatMessageListComponent {
|
|
|
10002
10020
|
//Removing Message Listeners
|
|
10003
10021
|
CometChat.removeGroupListener(this.groupListenerId);
|
|
10004
10022
|
CometChat.removeCallListener(this.callListenerId);
|
|
10023
|
+
CometChat.removeConnectionListener(this.connectionListenerId);
|
|
10005
10024
|
(_a = this.onTextMessageReceived) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
10006
10025
|
(_b = this.onMediaMessageReceived) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
10007
10026
|
(_c = this.onMessageReactionAdded) === null || _c === void 0 ? void 0 : _c.unsubscribe();
|
|
@@ -11124,26 +11143,19 @@ class CometChatMessageListComponent {
|
|
|
11124
11143
|
}
|
|
11125
11144
|
}
|
|
11126
11145
|
fetchActionMessages() {
|
|
11127
|
-
|
|
11146
|
+
var _a, _b;
|
|
11147
|
+
let requestBuilder = new CometChat.MessagesRequestBuilder()
|
|
11148
|
+
.setType(CometChatUIKitConstants.MessageCategory.message)
|
|
11149
|
+
.setCategory(CometChatUIKitConstants.MessageCategory.action)
|
|
11150
|
+
.setMessageId(this.lastMessageId)
|
|
11151
|
+
.setLimit(this.limit);
|
|
11128
11152
|
if (this.user) {
|
|
11129
|
-
requestBuilder =
|
|
11130
|
-
.setUID(this.user.getUid())
|
|
11131
|
-
.setType(CometChatUIKitConstants.MessageCategory.message)
|
|
11132
|
-
.setCategory(CometChatUIKitConstants.MessageCategory.action)
|
|
11133
|
-
.setMessageId(this.lastMessageId)
|
|
11134
|
-
.setLimit(this.limit)
|
|
11135
|
-
.build();
|
|
11153
|
+
requestBuilder.setUID((_a = this.user) === null || _a === void 0 ? void 0 : _a.getUid());
|
|
11136
11154
|
}
|
|
11137
11155
|
else if (this.group) {
|
|
11138
|
-
requestBuilder =
|
|
11139
|
-
.setGUID(this.group.getGuid())
|
|
11140
|
-
.setType(CometChatUIKitConstants.MessageCategory.message)
|
|
11141
|
-
.setMessageId(this.lastMessageId)
|
|
11142
|
-
.setLimit(this.limit)
|
|
11143
|
-
.setCategory(CometChatUIKitConstants.MessageCategory.action)
|
|
11144
|
-
.build();
|
|
11156
|
+
requestBuilder.setGUID((_b = this.group) === null || _b === void 0 ? void 0 : _b.getGuid());
|
|
11145
11157
|
}
|
|
11146
|
-
requestBuilder
|
|
11158
|
+
requestBuilder.build()
|
|
11147
11159
|
.fetchNext()
|
|
11148
11160
|
.then((messages) => {
|
|
11149
11161
|
if (messages && messages.length > 0) {
|
|
@@ -11180,7 +11192,7 @@ class CometChatMessageListComponent {
|
|
|
11180
11192
|
console.log("ConnectionListener => connected");
|
|
11181
11193
|
},
|
|
11182
11194
|
onDisconnected: () => {
|
|
11183
|
-
this.isWebsocketReconnected =
|
|
11195
|
+
this.isWebsocketReconnected = false;
|
|
11184
11196
|
console.log("ConnectionListener => On Disconnected");
|
|
11185
11197
|
},
|
|
11186
11198
|
}));
|
|
@@ -12878,7 +12890,7 @@ class CometChatGroupMembersComponent {
|
|
|
12878
12890
|
actionMessage.setSender(this.loggedInUser);
|
|
12879
12891
|
actionMessage.setConversationId("group_" + this.group.getGuid());
|
|
12880
12892
|
actionMessage.setMuid(CometChatUIKitUtility.ID());
|
|
12881
|
-
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action} ${actionOn.
|
|
12893
|
+
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action} ${actionOn.getName()}`);
|
|
12882
12894
|
actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());
|
|
12883
12895
|
actionMessage.setReceiverType(CometChatUIKitConstants.MessageReceiverType.group);
|
|
12884
12896
|
actionMessage.data = {
|
|
@@ -14124,7 +14136,7 @@ class CometChatMessageComposerComponent {
|
|
|
14124
14136
|
(_b = this.ccShowMentionsCountWarning) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
14125
14137
|
}
|
|
14126
14138
|
closeModals() {
|
|
14127
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
14139
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
14128
14140
|
if (this.showActionSheetItem) {
|
|
14129
14141
|
(_b = (_a = this.actionSheetRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.click();
|
|
14130
14142
|
this.showActionSheetItem = false;
|
|
@@ -14146,9 +14158,6 @@ class CometChatMessageComposerComponent {
|
|
|
14146
14158
|
this.showAiFeatures = false;
|
|
14147
14159
|
this.showAiBotList = false;
|
|
14148
14160
|
}
|
|
14149
|
-
else {
|
|
14150
|
-
(_m = (_l = this.aiButtonRef) === null || _l === void 0 ? void 0 : _l.nativeElement) === null || _m === void 0 ? void 0 : _m.click();
|
|
14151
|
-
}
|
|
14152
14161
|
}
|
|
14153
14162
|
callConversationSummaryMethod() {
|
|
14154
14163
|
this.showAiFeatures = false;
|
|
@@ -14885,10 +14894,10 @@ class CometChatMessageComposerComponent {
|
|
|
14885
14894
|
}
|
|
14886
14895
|
}
|
|
14887
14896
|
CometChatMessageComposerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14888
|
-
CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", backButtonIconURL: "backButtonIconURL", mentionsWarningText: "mentionsWarningText", mentionsWarningStyle: "mentionsWarningStyle", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle", actionSheetStyle: "actionSheetStyle", aiActionSheetStyle: "aiActionSheetStyle", hideVoiceRecording: "hideVoiceRecording", mediaRecorderStyle: "mediaRecorderStyle", aiOptionsStyle: "aiOptionsStyle", aiIconURL: "aiIconURL", voiceRecordingIconURL: "voiceRecordingIconURL", voiceRecordingCloseIconURL: "voiceRecordingCloseIconURL", voiceRecordingStartIconURL: "voiceRecordingStartIconURL", voiceRecordingStopIconURL: "voiceRecordingStopIconURL", voiceRecordingSubmitIconURL: "voiceRecordingSubmitIconURL", userMemberWrapperConfiguration: "userMemberWrapperConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, outputs: { childEvent: "childEvent" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }, { propertyName: "mediaRecordedRef", first: true, predicate: ["mediaRecordedRef"], descendants: true }, { propertyName: "aiButtonRef", first: true, predicate: ["aiButtonRef"], descendants: true }, { propertyName: "userMemberWrapperRef", first: true, predicate: ["userMemberWrapperRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" #userMemberWrapperRef>\n <cometchat-user-member-wrapper *ngIf=\"showListForMentions\"\n [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openActionSheet($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"isAiEnabled\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button [hoverText]=\"localize('AI')\" slot=\"children\"\n #aiButtonRef (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openEmojiKeyboard($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover [closeOnOutsideClick]=\"false\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"], components: [{ type: CometChatUserMemberWrapperComponent, selector: "cometchat-user-member-wrapper", inputs: ["userMemberListType", "onItemClick", "listItemView", "avatarStyle", "statusIndicatorStyle", "searchKeyword", "group", "subtitleView", "usersRequestBuilder", "disableUsersPresence", "userPresencePlacement", "hideSeperator", "loadingStateView", "onEmpty", "onError", "groupMemberRequestBuilder", "loadingIconUrl", "disableLoadingState"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14897
|
+
CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", backButtonIconURL: "backButtonIconURL", mentionsWarningText: "mentionsWarningText", mentionsWarningStyle: "mentionsWarningStyle", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle", actionSheetStyle: "actionSheetStyle", aiActionSheetStyle: "aiActionSheetStyle", hideVoiceRecording: "hideVoiceRecording", mediaRecorderStyle: "mediaRecorderStyle", aiOptionsStyle: "aiOptionsStyle", aiIconURL: "aiIconURL", voiceRecordingIconURL: "voiceRecordingIconURL", voiceRecordingCloseIconURL: "voiceRecordingCloseIconURL", voiceRecordingStartIconURL: "voiceRecordingStartIconURL", voiceRecordingStopIconURL: "voiceRecordingStopIconURL", voiceRecordingSubmitIconURL: "voiceRecordingSubmitIconURL", userMemberWrapperConfiguration: "userMemberWrapperConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, outputs: { childEvent: "childEvent" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }, { propertyName: "mediaRecordedRef", first: true, predicate: ["mediaRecordedRef"], descendants: true }, { propertyName: "aiButtonRef", first: true, predicate: ["aiButtonRef"], descendants: true }, { propertyName: "userMemberWrapperRef", first: true, predicate: ["userMemberWrapperRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" #userMemberWrapperRef>\n <cometchat-user-member-wrapper *ngIf=\"showListForMentions\"\n [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openActionSheet($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openEmojiKeyboard($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover [closeOnOutsideClick]=\"false\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"], components: [{ type: CometChatUserMemberWrapperComponent, selector: "cometchat-user-member-wrapper", inputs: ["userMemberListType", "onItemClick", "listItemView", "avatarStyle", "statusIndicatorStyle", "searchKeyword", "group", "subtitleView", "usersRequestBuilder", "disableUsersPresence", "userPresencePlacement", "hideSeperator", "loadingStateView", "onEmpty", "onError", "groupMemberRequestBuilder", "loadingIconUrl", "disableLoadingState"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14889
14898
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, decorators: [{
|
|
14890
14899
|
type: Component,
|
|
14891
|
-
args: [{ selector: "cometchat-message-composer", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" #userMemberWrapperRef>\n <cometchat-user-member-wrapper *ngIf=\"showListForMentions\"\n [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openActionSheet($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"isAiEnabled\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button [hoverText]=\"localize('AI')\" slot=\"children\"\n #aiButtonRef (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openEmojiKeyboard($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover [closeOnOutsideClick]=\"false\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"] }]
|
|
14900
|
+
args: [{ selector: "cometchat-message-composer", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" #userMemberWrapperRef>\n <cometchat-user-member-wrapper *ngIf=\"showListForMentions\"\n [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openActionSheet($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover\n (cc-popover-outside-click)=\"openEmojiKeyboard($event)\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover [closeOnOutsideClick]=\"false\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"] }]
|
|
14892
14901
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { inputElementRef: [{
|
|
14893
14902
|
type: ViewChild,
|
|
14894
14903
|
args: ["inputElement", { static: false }]
|
|
@@ -16133,7 +16142,7 @@ class CometChatDetailsComponent {
|
|
|
16133
16142
|
actionMessage.setSender(this.loggedInUser);
|
|
16134
16143
|
actionMessage.setConversationId("group_" + this.group.getGuid());
|
|
16135
16144
|
actionMessage.setMuid(CometChatUIKitUtility.ID());
|
|
16136
|
-
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action} ${actionOn.
|
|
16145
|
+
actionMessage.setMessage(`${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action} ${actionOn.getName()}`);
|
|
16137
16146
|
actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());
|
|
16138
16147
|
actionMessage.setNewScope(actionOn.getScope());
|
|
16139
16148
|
actionMessage.setReceiverType(CometChatUIKitConstants.MessageReceiverType.group);
|
|
@@ -16152,7 +16161,7 @@ class CometChatDetailsComponent {
|
|
|
16152
16161
|
actionMessage.setMuid(CometChatUIKitUtility.ID());
|
|
16153
16162
|
actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());
|
|
16154
16163
|
actionMessage.setReceiverType(CometChatUIKitConstants.MessageReceiverType.group);
|
|
16155
|
-
let message = CometChatUIKitConstants.groupMemberAction.LEFT ? `${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action}` : `${(_b = this.loggedInUser) === null || _b === void 0 ? void 0 : _b.getName()} ${action} ${actionOn.
|
|
16164
|
+
let message = CometChatUIKitConstants.groupMemberAction.LEFT ? `${(_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getName()} ${action}` : `${(_b = this.loggedInUser) === null || _b === void 0 ? void 0 : _b.getName()} ${action} ${actionOn.getName()}`;
|
|
16156
16165
|
actionMessage.setMessage(message);
|
|
16157
16166
|
return actionMessage;
|
|
16158
16167
|
}
|
|
@@ -17324,6 +17333,7 @@ class CometChatGroupsComponent {
|
|
|
17324
17333
|
}
|
|
17325
17334
|
removeListener() {
|
|
17326
17335
|
CometChat.removeGroupListener(this.groupsListenerId);
|
|
17336
|
+
CometChat.removeConnectionListener(this.connectionListenerId);
|
|
17327
17337
|
}
|
|
17328
17338
|
/**
|
|
17329
17339
|
* @param {CometChat.Group} group
|