@chat21/chat21-ionic 3.0.75 → 3.0.76-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/deploy_amazon_beta.sh +1 -1
- package/package.json +1 -1
- package/src/app/app.component.ts +1 -1
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +7 -7
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +8 -8
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +5 -6
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +4 -4
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +0 -10
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +4 -9
- package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +8 -3
- package/src/app/chatlib/conversation-detail/message/image/image.component.ts +2 -2
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +6 -1
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +0 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +1 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.html +22 -6
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +10 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +126 -67
- package/src/app/pages/conversations-list/conversations-list.page.ts +28 -2
- package/src/app/pages/loader-preview/loader-preview.page.ts +8 -27
- package/src/app/services/canned-responses/canned-responses.service.ts +43 -7
- package/src/app/utils/scrollbar-theme.directive.ts +2 -1
- package/src/assets/i18n/ar.json +2 -0
- package/src/assets/i18n/az.json +2 -0
- package/src/assets/i18n/de.json +2 -0
- package/src/assets/i18n/en.json +2 -0
- package/src/assets/i18n/es.json +2 -0
- package/src/assets/i18n/fr.json +2 -0
- package/src/assets/i18n/it.json +2 -0
- package/src/assets/i18n/kk.json +2 -0
- package/src/assets/i18n/pt.json +2 -0
- package/src/assets/i18n/ru.json +2 -0
- package/src/assets/i18n/sr.json +2 -0
- package/src/assets/i18n/sv.json +2 -0
- package/src/assets/i18n/tr.json +2 -0
- package/src/assets/i18n/uk.json +2 -0
- package/src/assets/i18n/uz.json +2 -0
- package/src/chat-config-pre.json +1 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +14 -4
- package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +22 -0
- package/src/chat21-core/utils/constants.ts +3 -1
- package/src/chat21-core/utils/utils.ts +14 -0
- package/src/global.scss +27 -0
package/src/assets/i18n/pt.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Bate-papo reaberto",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Bate-papo fechado",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Lead atualizado",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"removido do grupo",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Uma nova solicitação de suporte foi atribuída a você",
|
|
69
71
|
"LABEL_PROFILE": "Perfil",
|
|
70
72
|
"LABEL_CLOSE": "Fechadas",
|
package/src/assets/i18n/ru.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Чат снова открыт",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат закрыт",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Интерес обновлен",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"удален из группы",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Вам назначен новый запрос в службу поддержки",
|
|
69
71
|
"LABEL_PROFILE": "Профиль",
|
|
70
72
|
"LABEL_CLOSE": "Закрыто",
|
package/src/assets/i18n/sr.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Ћаскање је поново отворено",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Ћаскање је затворено",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Лид је ажуриран",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"уклоњен из групе",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Додељен вам је нови захтев за подршку",
|
|
69
71
|
"LABEL_PROFILE": "Профил",
|
|
70
72
|
"LABEL_CLOSE": "Затворено",
|
package/src/assets/i18n/sv.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chatten öppnades igen",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chatten stängd",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Lead uppdaterad",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"borttagen från gruppen",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "En ny supportförfrågan har tilldelats dig",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Stängd",
|
package/src/assets/i18n/tr.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Sohbet yeniden açıldı",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "sohbet kapatıldı",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Potansiyel müşteri güncellendi",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"gruptan kaldırıldı",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Size yeni bir destek talebi atandı",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Kapalı",
|
package/src/assets/i18n/uk.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ предмет }} {{ дієслово} {{ доповнення}}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Чат знову відкрився",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат закритий",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Лід оновлено",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"видалено з групи",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Вам призначено новий запит на підтримку",
|
|
69
71
|
"LABEL_PROFILE": "Профіль",
|
|
70
72
|
"LABEL_CLOSE": "зачинено",
|
package/src/assets/i18n/uz.json
CHANGED
|
@@ -66,6 +66,8 @@
|
|
|
66
66
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
67
67
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat qayta ochildi",
|
|
68
68
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat yopildi",
|
|
69
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Etakchi yangilandi",
|
|
70
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"guruhdan olib tashlandi",
|
|
69
71
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Sizga yangi qoʻllab-quvvatlash soʻrovi tayinlandi",
|
|
70
72
|
"LABEL_PROFILE": "Profil",
|
|
71
73
|
"LABEL_CLOSE": "Yopiq",
|
package/src/chat-config-pre.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"apiUrl": "https://tiledesk-server-pre.herokuapp.com/",
|
|
25
25
|
"baseImageUrl": "https://firebasestorage.googleapis.com/v0/b/",
|
|
26
|
-
"dashboardUrl": "
|
|
26
|
+
"dashboardUrl": "/dashboard/",
|
|
27
27
|
"logLevel": "DEBUG",
|
|
28
28
|
"authPersistence": "LOCAL",
|
|
29
29
|
"supportMode": true,
|
|
@@ -18,7 +18,7 @@ import { ConversationHandlerService } from '../abstract/conversation-handler.ser
|
|
|
18
18
|
import { LoggerService } from '../abstract/logger.service';
|
|
19
19
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
20
20
|
// utils
|
|
21
|
-
import { MSG_STATUS_RECEIVED, CHAT_REOPENED, CHAT_CLOSED, MEMBER_JOINED_GROUP, TYPE_DIRECT, MESSAGE_TYPE_INFO, TOUCHING_OPERATOR } from '../../utils/constants';
|
|
21
|
+
import { MSG_STATUS_RECEIVED, CHAT_REOPENED, CHAT_CLOSED, MEMBER_JOINED_GROUP, TYPE_DIRECT, MESSAGE_TYPE_INFO, TOUCHING_OPERATOR, LEAD_UPDATED, MEMBER_LEFT_GROUP } from '../../utils/constants';
|
|
22
22
|
import { compareValues, searchIndexInArrayForUid, conversationMessagesRef } from '../../utils/utils';
|
|
23
23
|
|
|
24
24
|
|
|
@@ -333,6 +333,8 @@ export class FirebaseConversationHandler extends ConversationHandlerService {
|
|
|
333
333
|
const INFO_SUPPORT_USER_ADDED_VERB = this.translationMap.get('INFO_SUPPORT_USER_ADDED_VERB');
|
|
334
334
|
const INFO_SUPPORT_CHAT_REOPENED = this.translationMap.get('INFO_SUPPORT_CHAT_REOPENED');
|
|
335
335
|
const INFO_SUPPORT_CHAT_CLOSED = this.translationMap.get('INFO_SUPPORT_CHAT_CLOSED');
|
|
336
|
+
const INFO_SUPPORT_LEAD_UPDATED = this.translationMap.get('INFO_SUPPORT_LEAD_UPDATED');
|
|
337
|
+
const INFO_SUPPORT_MEMBER_LEFT_GROUP = this.translationMap.get('INFO_SUPPORT_MEMBER_LEFT_GROUP');
|
|
336
338
|
const INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU = this.translationMap.get('INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU');
|
|
337
339
|
|
|
338
340
|
if (message.attributes.messagelabel
|
|
@@ -365,15 +367,23 @@ export class FirebaseConversationHandler extends ConversationHandlerService {
|
|
|
365
367
|
message.text = INFO_SUPPORT_CHAT_REOPENED;
|
|
366
368
|
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === CHAT_CLOSED)) {
|
|
367
369
|
message.text = INFO_SUPPORT_CHAT_CLOSED;
|
|
368
|
-
}
|
|
369
|
-
// ['last_message_text']
|
|
370
|
-
else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
370
|
+
} else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
371
371
|
// console.log('FIREBASEConversationHandlerSERVICE message text', message.text)
|
|
372
372
|
const textAfterColon = message.text.split(":")[1]
|
|
373
373
|
// console.log('FIREBASEConversationHandlerSERVICE message text - textAfterColon', textAfterColon)
|
|
374
374
|
if (textAfterColon !== undefined) {
|
|
375
375
|
message.text = INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU + ': ' + textAfterColon;
|
|
376
376
|
}
|
|
377
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === LEAD_UPDATED)) {
|
|
378
|
+
message.text = INFO_SUPPORT_LEAD_UPDATED;
|
|
379
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === MEMBER_LEFT_GROUP)) {
|
|
380
|
+
let subject: string;
|
|
381
|
+
if (message.attributes.messagelabel.parameters.fullname) {
|
|
382
|
+
subject = message.attributes.messagelabel.parameters.fullname;
|
|
383
|
+
}else{
|
|
384
|
+
subject = message.attributes.messagelabel.parameters.member_id;
|
|
385
|
+
}
|
|
386
|
+
message.text = subject + ' ' + INFO_SUPPORT_MEMBER_LEFT_GROUP ;
|
|
377
387
|
}
|
|
378
388
|
}
|
|
379
389
|
|
|
@@ -617,7 +617,7 @@ export class FirebaseConversationsHandler extends ConversationsHandlerService {
|
|
|
617
617
|
let old_conv = this.conversations.find(conv => conv.uid === conversation.uid)
|
|
618
618
|
let conversation_with_fullname = conversation.recipient_fullname
|
|
619
619
|
if(old_conv){
|
|
620
|
-
if(conversation.recipient_fullname !== old_conv.recipient_fullname && conversation.recipient_fullname !== 'Guest '){
|
|
620
|
+
if(conversation.recipient_fullname !== old_conv.recipient_fullname && (conversation.recipient_fullname !== 'Guest ')){
|
|
621
621
|
conversation_with_fullname = conversation.recipient_fullname
|
|
622
622
|
} else {
|
|
623
623
|
// conversation_with_fullname= old_conv.recipient_fullname
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TOUCHING_OPERATOR, LEAD_UPDATED, MEMBER_LEFT_GROUP } from './../../utils/constants';
|
|
1
2
|
import { Inject, Injectable } from '@angular/core';
|
|
2
3
|
import { BehaviorSubject } from 'rxjs';
|
|
3
4
|
|
|
@@ -330,6 +331,10 @@ export class MQTTConversationHandler extends ConversationHandlerService {
|
|
|
330
331
|
const INFO_SUPPORT_USER_ADDED_VERB = this.translationMap.get('INFO_SUPPORT_USER_ADDED_VERB');
|
|
331
332
|
const INFO_SUPPORT_CHAT_REOPENED = this.translationMap.get('INFO_SUPPORT_CHAT_REOPENED');
|
|
332
333
|
const INFO_SUPPORT_CHAT_CLOSED = this.translationMap.get('INFO_SUPPORT_CHAT_CLOSED');
|
|
334
|
+
const INFO_SUPPORT_LEAD_UPDATED = this.translationMap.get('INFO_SUPPORT_LEAD_UPDATED');
|
|
335
|
+
const INFO_SUPPORT_MEMBER_LEFT_GROUP = this.translationMap.get('INFO_SUPPORT_MEMBER_LEFT_GROUP');
|
|
336
|
+
const INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU = this.translationMap.get('INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU');
|
|
337
|
+
|
|
333
338
|
if (message.attributes.messagelabel
|
|
334
339
|
&& message.attributes.messagelabel.parameters
|
|
335
340
|
&& message.attributes.messagelabel.key === MEMBER_JOINED_GROUP
|
|
@@ -359,6 +364,23 @@ export class MQTTConversationHandler extends ConversationHandlerService {
|
|
|
359
364
|
message.text = INFO_SUPPORT_CHAT_REOPENED;
|
|
360
365
|
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === CHAT_CLOSED)) {
|
|
361
366
|
message.text = INFO_SUPPORT_CHAT_CLOSED;
|
|
367
|
+
} else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
368
|
+
// console.log('FIREBASEConversationHandlerSERVICE message text', message.text)
|
|
369
|
+
const textAfterColon = message.text.split(":")[1]
|
|
370
|
+
// console.log('FIREBASEConversationHandlerSERVICE message text - textAfterColon', textAfterColon)
|
|
371
|
+
if (textAfterColon !== undefined) {
|
|
372
|
+
message.text = INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU + ': ' + textAfterColon;
|
|
373
|
+
}
|
|
374
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === LEAD_UPDATED)) {
|
|
375
|
+
message.text = INFO_SUPPORT_LEAD_UPDATED;
|
|
376
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === MEMBER_LEFT_GROUP)) {
|
|
377
|
+
let subject: string;
|
|
378
|
+
if (message.attributes.messagelabel.parameters.fullname) {
|
|
379
|
+
subject = message.attributes.messagelabel.parameters.fullname;
|
|
380
|
+
}else{
|
|
381
|
+
subject = message.attributes.messagelabel.parameters.member_id;
|
|
382
|
+
}
|
|
383
|
+
message.text = subject + ' ' + INFO_SUPPORT_MEMBER_LEFT_GROUP ;
|
|
362
384
|
}
|
|
363
385
|
}
|
|
364
386
|
|
|
@@ -61,7 +61,9 @@ export const MESSAGE_TYPE_DATE = 'DATE';
|
|
|
61
61
|
export const CHAT_REOPENED = 'CHAT_REOPENED';
|
|
62
62
|
export const CHAT_CLOSED = 'CHAT_CLOSED';
|
|
63
63
|
export const MEMBER_JOINED_GROUP = 'MEMBER_JOINED_GROUP';
|
|
64
|
-
export const
|
|
64
|
+
export const MEMBER_LEFT_GROUP = "MEMBER_LEFT_GROUP"
|
|
65
|
+
export const LEAD_UPDATED = "LEAD_UPDATED";
|
|
66
|
+
export const TOUCHING_OPERATOR = "TOUCHING_OPERATOR";
|
|
65
67
|
|
|
66
68
|
|
|
67
69
|
// URLS
|
|
@@ -406,6 +406,20 @@ export function getFromNow(timestamp): string {
|
|
|
406
406
|
return date_as_string;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
+
export function getDateDifference(startTimestampDate, endTimestampDate){
|
|
410
|
+
// var startTime = moment.unix(startTimestampDate);
|
|
411
|
+
// var endTime = moment.unix(endTimestampDate);
|
|
412
|
+
|
|
413
|
+
const startTime = moment(startTimestampDate);
|
|
414
|
+
const endTime = moment(endTimestampDate);
|
|
415
|
+
const duration = moment.duration(endTime.diff(startTime));
|
|
416
|
+
const days = duration.asDays()
|
|
417
|
+
const hours = duration.asHours();
|
|
418
|
+
const minutes = duration.asMinutes();
|
|
419
|
+
|
|
420
|
+
return {days, hours, minutes}
|
|
421
|
+
}
|
|
422
|
+
|
|
409
423
|
|
|
410
424
|
|
|
411
425
|
export function popupUrl(html, title) {
|
package/src/global.scss
CHANGED
|
@@ -442,6 +442,8 @@ select:-webkit-autofill:focus {
|
|
|
442
442
|
// left: 0;
|
|
443
443
|
// right: 0;
|
|
444
444
|
// overflow: hidden;
|
|
445
|
+
|
|
446
|
+
|
|
445
447
|
}
|
|
446
448
|
|
|
447
449
|
.canned-list {
|
|
@@ -461,6 +463,31 @@ select:-webkit-autofill:focus {
|
|
|
461
463
|
-webkit-font-smoothing: antialiased;
|
|
462
464
|
// list-style: none;
|
|
463
465
|
z-index: 999999;
|
|
466
|
+
|
|
467
|
+
.cannedContent{
|
|
468
|
+
width: 100%;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
ion-input {
|
|
472
|
+
--padding-bottom: 0px;
|
|
473
|
+
--padding-top: 0px;
|
|
474
|
+
&.text{
|
|
475
|
+
font-style: italic;
|
|
476
|
+
}
|
|
477
|
+
&.title {
|
|
478
|
+
font-weight: 500;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
.native-input[disabled] {
|
|
482
|
+
opacity: 10 !important;
|
|
483
|
+
}
|
|
484
|
+
ion-icon {
|
|
485
|
+
zoom: 0.7;
|
|
486
|
+
}
|
|
487
|
+
.no-ripple {
|
|
488
|
+
--ripple-color: transparent;
|
|
489
|
+
--background-activated: transparent;
|
|
490
|
+
}
|
|
464
491
|
}
|
|
465
492
|
|
|
466
493
|
.canned-item {
|