@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.
Files changed (44) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/deploy_amazon_beta.sh +1 -1
  3. package/package.json +1 -1
  4. package/src/app/app.component.ts +1 -1
  5. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +7 -7
  6. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +8 -8
  7. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +5 -6
  8. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +4 -4
  9. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +0 -10
  10. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +4 -9
  11. package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +8 -3
  12. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +2 -2
  13. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +6 -1
  14. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +0 -2
  15. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +1 -1
  16. package/src/app/pages/conversation-detail/conversation-detail.page.html +22 -6
  17. package/src/app/pages/conversation-detail/conversation-detail.page.scss +10 -0
  18. package/src/app/pages/conversation-detail/conversation-detail.page.ts +126 -67
  19. package/src/app/pages/conversations-list/conversations-list.page.ts +28 -2
  20. package/src/app/pages/loader-preview/loader-preview.page.ts +8 -27
  21. package/src/app/services/canned-responses/canned-responses.service.ts +43 -7
  22. package/src/app/utils/scrollbar-theme.directive.ts +2 -1
  23. package/src/assets/i18n/ar.json +2 -0
  24. package/src/assets/i18n/az.json +2 -0
  25. package/src/assets/i18n/de.json +2 -0
  26. package/src/assets/i18n/en.json +2 -0
  27. package/src/assets/i18n/es.json +2 -0
  28. package/src/assets/i18n/fr.json +2 -0
  29. package/src/assets/i18n/it.json +2 -0
  30. package/src/assets/i18n/kk.json +2 -0
  31. package/src/assets/i18n/pt.json +2 -0
  32. package/src/assets/i18n/ru.json +2 -0
  33. package/src/assets/i18n/sr.json +2 -0
  34. package/src/assets/i18n/sv.json +2 -0
  35. package/src/assets/i18n/tr.json +2 -0
  36. package/src/assets/i18n/uk.json +2 -0
  37. package/src/assets/i18n/uz.json +2 -0
  38. package/src/chat-config-pre.json +1 -1
  39. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +14 -4
  40. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +1 -1
  41. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +22 -0
  42. package/src/chat21-core/utils/constants.ts +3 -1
  43. package/src/chat21-core/utils/utils.ts +14 -0
  44. package/src/global.scss +27 -0
@@ -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",
@@ -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": "Закрыто",
@@ -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": "Затворено",
@@ -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",
@@ -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ı",
@@ -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": "зачинено",
@@ -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",
@@ -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": "https://support-pre.tiledesk.com/dashboard/",
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 TOUCHING_OPERATOR = "TOUCHING_OPERATOR"
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 {