@chat21/chat21-ionic 3.4.30-rc2 → 3.4.30

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 (75) hide show
  1. package/CHANGELOG.md +4 -119
  2. package/angular.json +0 -1
  3. package/package.json +1 -1
  4. package/src/app/app.component.html +1 -3
  5. package/src/app/app.component.ts +16 -71
  6. package/src/app/chatlib/conversation-detail/message/image/image.component.html +0 -1
  7. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +0 -19
  8. package/src/app/components/canned-response/canned-response.component.html +23 -26
  9. package/src/app/components/canned-response/canned-response.component.scss +2 -0
  10. package/src/app/components/canned-response/canned-response.component.ts +1 -3
  11. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +1 -24
  12. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +0 -30
  13. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +9 -39
  14. package/src/app/components/conversation-info/info-content/info-content.component.ts +2 -2
  15. package/src/app/components/conversation-info/info-group/info-group.component.ts +21 -23
  16. package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.html +1 -1
  17. package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.ts +1 -5
  18. package/src/app/components/navbar/navbar.component.html +3 -3
  19. package/src/app/components/navbar/navbar.component.ts +38 -29
  20. package/src/app/components/project-item/project-item.component.ts +11 -11
  21. package/src/app/components/sidebar/sidebar.component.html +45 -65
  22. package/src/app/components/sidebar/sidebar.component.ts +117 -110
  23. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +2 -2
  24. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +7 -10
  25. package/src/app/modals/create-ticket/create-ticket.page.ts +2 -4
  26. package/src/app/pages/conversation-detail/conversation-detail.page.html +3 -7
  27. package/src/app/pages/conversation-detail/conversation-detail.page.ts +7 -95
  28. package/src/app/pages/conversations-list/conversations-list.page.html +0 -2
  29. package/src/app/pages/conversations-list/conversations-list.page.ts +2 -40
  30. package/src/app/services/global-settings/global-settings.service.ts +3 -11
  31. package/src/app/services/nav-proxy.service.ts +1 -0
  32. package/src/app/services/tiledesk/tiledesk.service.ts +16 -0
  33. package/src/app/services/triggerEvents/triggerEvents.ts +0 -28
  34. package/src/app/services/websocket/websocket-js.ts +534 -59
  35. package/src/app/services/websocket/websocket.service.ts +10 -9
  36. package/src/app/shared/shared.module.ts +2 -11
  37. package/src/app/utils/globals.ts +0 -2
  38. package/src/app/utils/project-utils.ts +2 -2
  39. package/src/app/utils/utils.ts +1 -18
  40. package/src/assets/i18n/ar.json +1 -11
  41. package/src/assets/i18n/az.json +1 -11
  42. package/src/assets/i18n/de.json +1 -11
  43. package/src/assets/i18n/en.json +1 -11
  44. package/src/assets/i18n/es.json +1 -11
  45. package/src/assets/i18n/fr.json +1 -11
  46. package/src/assets/i18n/it.json +3 -13
  47. package/src/assets/i18n/kk.json +1 -11
  48. package/src/assets/i18n/pt.json +1 -11
  49. package/src/assets/i18n/ru.json +1 -11
  50. package/src/assets/i18n/sr.json +1 -11
  51. package/src/assets/i18n/sv.json +1 -11
  52. package/src/assets/i18n/tr.json +1 -11
  53. package/src/assets/i18n/uk.json +1 -11
  54. package/src/assets/i18n/uz.json +1 -12
  55. package/src/assets/js/chat21client.js +0 -36
  56. package/src/assets/test.html +2 -5
  57. package/src/chat-config-template.json +0 -1
  58. package/src/chat-config.json +0 -1
  59. package/src/chat21-core/providers/abstract/upload.service.ts +1 -5
  60. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
  61. package/src/chat21-core/providers/firebase/firebase-upload.service.ts +9 -136
  62. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
  63. package/src/chat21-core/providers/native/native-image-repo.ts +1 -1
  64. package/src/chat21-core/providers/native/native-upload-service.ts +45 -143
  65. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +0 -3
  66. package/src/chat21-core/utils/utils.ts +2 -16
  67. package/src/app/services/project_users/project-users.service.spec.ts +0 -16
  68. package/src/app/services/project_users/project-users.service.ts +0 -63
  69. package/src/app/services/websocket/websocket-js_old.ts +0 -578
  70. package/src/app/services/websocket/websocket.worker.ts +0 -242
  71. package/src/app/utils/permissions.constants.ts +0 -138
  72. package/src/assets/img/no_data_found.png +0 -0
  73. package/src/assets/js/agentDesktop-sdk.js +0 -55
  74. package/src/assets/js/mqtt-keepalive-worker.js +0 -53
  75. package/src/chat21-core/models/projectUsers.ts +0 -19
@@ -83,12 +83,7 @@ import { WebsocketService } from 'src/app/services/websocket/websocket.service';
83
83
  import { Project } from 'src/chat21-core/models/projects';
84
84
  import { Globals } from 'src/app/utils/globals';
85
85
  import { ProjectService } from 'src/app/services/projects/project.service';
86
- import { UploadService } from 'src/chat21-core/providers/abstract/upload.service';
87
- import { ProjectUsersService } from 'src/app/services/project_users/project-users.service';
88
- import { ProjectUser } from 'src/chat21-core/models/projectUsers';
89
- import { getOSCode, hasRole } from 'src/app/utils/utils';
90
- import { PERMISSIONS } from 'src/app/utils/permissions.constants';
91
- import { TriggerEvents } from 'src/app/services/triggerEvents/triggerEvents';
86
+ import { getOSCode } from 'src/app/utils/utils';
92
87
 
93
88
  @Component({
94
89
  selector: 'app-conversation-detail',
@@ -113,7 +108,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
113
108
  private subscriptions: Array<any>
114
109
  public tenant: string;
115
110
  public loggedUser: UserModel
116
- public projectUser: ProjectUser;
117
111
  public conversationWith: string
118
112
  public conversationWithFullname: string
119
113
  public messages: Array<MessageModel> = []
@@ -143,7 +137,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
143
137
  public tagsCannedFilter: Array<any> = [];
144
138
  public SHOW_CANNED_RESPONSES: boolean = false
145
139
  public canShowCanned: boolean = true
146
- public rolesCanned: { [key: string]: boolean }
147
140
 
148
141
  public SHOW_COPILOT_SUGGESTIONS: boolean = false;
149
142
 
@@ -178,10 +171,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
178
171
  copilotQuestion: string = '';
179
172
  /**COPILOT : end */
180
173
 
181
- /** TICKET: start */
182
- isTicketEnabled: boolean = false;
183
- /** TICKET: end */
184
-
185
174
  isMine = isMine
186
175
  isInfo = isInfo
187
176
  isFirstMessage = isFirstMessage
@@ -247,25 +236,22 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
247
236
  public conversationHandlerBuilderService: ConversationHandlerBuilderService,
248
237
  public cannedResponsesService: CannedResponsesService,
249
238
  public imageRepoService: ImageRepoService,
250
- public uploadService: UploadService,
251
239
  public presenceService: PresenceService,
252
240
  public toastController: ToastController,
253
241
  public tiledeskService: TiledeskService,
254
242
  public projectService: ProjectService,
255
- public projectUsersService: ProjectUsersService,
256
243
  private networkService: NetworkService,
257
244
  private events: EventsService,
258
245
  private webSocketService: WebsocketService,
259
246
  public projectPlanUtils: ProjectPlanUtils,
260
- public triggerEvents: TriggerEvents,
261
247
  private g: Globals,
262
248
  ) {
263
249
  // Change list on date change
264
250
  this.route.paramMap.subscribe((params) => {
265
251
  this.logger.log('[CONVS-DETAIL] - constructor -> params: ', params)
266
252
  this.conversationWith = params.get('IDConv')
267
- this.conversationWithFullname = decodeURIComponent(params.get('FullNameConv'))
268
- this.conv_type = decodeURIComponent(params.get('Convtype'))
253
+ this.conversationWithFullname = params.get('FullNameConv')
254
+ this.conv_type = params.get('Convtype')
269
255
 
270
256
  this.events.publish('supportconvid:haschanged', this.conversationWith)
271
257
  })
@@ -432,8 +418,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
432
418
  ionViewDidEnter() {
433
419
  this.logger.log('[CONVS-DETAIL] > ionViewDidEnter')
434
420
  // this.info_content_child_enabled = true;
435
- // Scroll to bottom to show the last message without animation
436
- this.scrollToLastMessage()
437
421
  }
438
422
 
439
423
  // Unsubscibe when new page transition end
@@ -493,10 +477,8 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
493
477
  this.messages = [] // list messages of conversation
494
478
  this.isFileSelected = false // indicates if a file has been selected (image to upload)
495
479
  this.isEmailEnabled = (this.appConfigProvider.getConfig().emailSection === 'true' || this.appConfigProvider.getConfig().emailSection === true) ? true : false;
496
- this.isTicketEnabled = (this.appConfigProvider.getConfig().ticketSection === 'true' || this.appConfigProvider.getConfig().ticketSection === true) ? true : false;
497
480
  this.isWhatsappTemplatesEnabled = (this.appConfigProvider.getConfig().whatsappTemplatesSection === 'true' || this.appConfigProvider.getConfig().whatsappTemplatesSection === true) ? true : false;
498
- this.fileUploadAccept = this.appConfigProvider.getConfig().fileUploadAccept
499
-
481
+
500
482
  this.cannedResponsesService.initialize(appconfig.apiUrl)
501
483
 
502
484
  if (checkPlatformIsMobile()) {
@@ -525,10 +507,10 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
525
507
  // this.initConversationsHandler(); // nk
526
508
  if (this.conversationWith) {
527
509
  this.disableTextarea = false
528
- this.startConversation();
529
510
  this._getProjectIdByConversationWith(this.conversationWith)
530
511
  this.initConversationHandler()
531
512
  this.initGroupsHandler();
513
+ this.startConversation();
532
514
  this.initSubscriptions();
533
515
  this.getLeadDetail();
534
516
  this.initializeTyping();
@@ -539,7 +521,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
539
521
  }
540
522
 
541
523
  _getProjectIdByConversationWith(conversationWith: string) {
542
- console.log('[CONVS-DETAIL] - _getProjectIdByConversationWith conversationWith', conversationWith, this.channelType)
543
524
  if (this.channelType !== TYPE_DIRECT && !this.conversationWith.startsWith('group-')) {
544
525
  this.tiledeskService.getProjectIdByConvRecipient(conversationWith).subscribe((res) => {
545
526
  this.logger.log('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT RES + projectId', res, res.id_project)
@@ -553,6 +534,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
553
534
  this.logger.log('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT * COMPLETE *',)
554
535
  })
555
536
  }else {
537
+ this.canShowCanned = false;
556
538
  this.offlineMsgEmail = false;
557
539
  }
558
540
 
@@ -563,13 +545,10 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
563
545
  this.logger.log('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT RES', project)
564
546
  if (project) {
565
547
  const projectId = project.id_project
566
- this.projectUser = await this.projectUsersService.getProjectUserByProjectId(project._id)
548
+ this.canShowCanned = this.projectPlanUtils.checkPlanIsExpired(project)
567
549
  this.offlineMsgEmail = this.checkOfflineMsgEmailIsEnabled(project)
568
550
  this.isCopilotEnabled = this.projectPlanUtils.checkProjectProfileFeature(project, 'copilot');
569
551
  this.fileUploadAccept = this.checkAcceptedUploadFile(project)
570
- this.rolesCanned = this.checkCannedResponsesRoles()
571
- this.canShowCanned = this.checkCannedResponses(project)
572
- this.logger.log('[CONVS-DETAIL] this.rolesCanned ', this.canShowCanned)
573
552
  }
574
553
  }, (error) => {
575
554
  this.logger.error('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT - ERROR ', error)
@@ -607,40 +586,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
607
586
  return this.appConfigProvider.getConfig().fileUploadAccept
608
587
  }
609
588
 
610
- checkCannedResponses(project: Project): boolean {
611
- let expires = this.projectPlanUtils.checkPlanIsExpired(project)
612
- this.logger.log('[CONVS-DETAIL] checkCannedResponses expires ', expires)
613
- if(expires){
614
- return false
615
- }
616
-
617
- let hasRoleToShowCanned = this.rolesCanned[PERMISSIONS.CANNED_RESPONSES_READ]
618
- this.logger.log('[CONVS-DETAIL] checkCannedResponses hasRoleToShowCanned ', hasRoleToShowCanned)
619
- if(!hasRoleToShowCanned){
620
- return false
621
- }
622
-
623
- return true
624
- }
625
-
626
- checkCannedResponsesRoles(): { [key: string]: boolean } {
627
- const permissionKeys = [
628
- 'CANNED_RESPONSES_CREATE',
629
- 'CANNED_RESPONSES_READ',
630
- 'CANNED_RESPONSES_UPDATE',
631
- 'CANNED_RESPONSES_DELETE',
632
- ] as const;
633
-
634
- const roles: { [key: string]: boolean } = {};
635
- for (const key of permissionKeys) {
636
- const permission = PERMISSIONS[key];
637
- roles[permission] = hasRole(this.projectUser, permission);
638
- }
639
-
640
- return roles;
641
-
642
- }
643
-
644
589
  // getProjectIdSelectedConversation(conversationWith: string): string{
645
590
  // const conversationWith_segments = conversationWith.split('-')
646
591
  // // Removes the last element of the array if is = to the separator
@@ -724,11 +669,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
724
669
  "WHATSAPP.ERROR_WHATSAPP_NOT_INSTALLED",
725
670
  "WHATSAPP.ERROR_WHATSAPP_GENERIC_ERROR",
726
671
 
727
- "TICKET.OPEN_TICKET",
728
- "TICKET.DESCRIPTION",
729
- "TICKET.CONFIRM",
730
- "TICKET.CLOSE",
731
-
732
672
  "COPILOT.ASK_AI",
733
673
  "COPILOT.NO_SUGGESTIONS_PRESENT",
734
674
 
@@ -1944,11 +1884,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
1944
1884
  }
1945
1885
 
1946
1886
 
1947
- onOpenTicket(event) {
1948
- this.logger.debug('[CONVS-DETAIL] openTicketOnExternalService - conversationWith ', this.conversationWith)
1949
- const detailOBJ = { event: 'onOpenTicketExternally', request_id: this.conversationWith, conversation: this.conversation }
1950
- this.triggerEvents.triggerOnOpenTicketExternally(detailOBJ)
1951
- }
1952
1887
  // -------------- START SCROLL/RESIZE -------------- //
1953
1888
  /** */
1954
1889
  resizeTextArea() {
@@ -1992,29 +1927,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
1992
1927
  }
1993
1928
  }
1994
1929
 
1995
- /**
1996
- * Scroll to last message without animation using requestAnimationFrame
1997
- * This is a best practice alternative to setTimeout
1998
- */
1999
- private scrollToLastMessage() {
2000
- this.showIonContent = true
2001
- if (this.ionContentChatArea) {
2002
- // Use requestAnimationFrame for better performance
2003
- requestAnimationFrame(() => {
2004
- requestAnimationFrame(() => {
2005
- // Double RAF ensures DOM is fully rendered
2006
- this.ionContentChatArea.scrollToBottom(0).then(() => {
2007
- this.logger.log('[CONVS-DETAIL] scroll posizionato all\'ultimo messaggio')
2008
- }).catch((error) => {
2009
- this.logger.error('[CONVS-DETAIL] errore durante lo scroll:', error)
2010
- })
2011
- })
2012
- })
2013
- } else {
2014
- this.logger.warn('[CONVS-DETAIL] ionContentChatArea non disponibile')
2015
- }
2016
- }
2017
-
2018
1930
  /**
2019
1931
  * detectBottom
2020
1932
  */
@@ -7,8 +7,6 @@
7
7
  [sound_btn]="sound_btn"
8
8
  [isMobile]="isMobile"
9
9
  [isVisibleTKT]="isVisibleTKT"
10
- [isVisibleCNT]="isVisibleCNT"
11
- [roles]="rolesHeader"
12
10
  (onSoundChange)="onSoundChange($event)"
13
11
  (openContactsDirectory)=openContactsDirectory($event)
14
12
  (openProfileInfo)=openProfileInfo($event)>
@@ -53,10 +53,7 @@ import { Globals } from 'src/app/utils/globals';
53
53
  import { TriggerEvents } from 'src/app/services/triggerEvents/triggerEvents';
54
54
  import { MessageModel } from 'src/chat21-core/models/message';
55
55
  import { Project } from 'src/chat21-core/models/projects';
56
- import { getOSCode, hasRole } from 'src/app/utils/utils';
57
- import { PERMISSIONS } from 'src/app/utils/permissions.constants';
58
- import { ProjectUser } from 'src/chat21-core/models/projectUsers';
59
- import { ProjectUsersService } from 'src/app/services/project_users/project-users.service';
56
+ import { getOSCode } from 'src/app/utils/utils';
60
57
 
61
58
  @Component({
62
59
  selector: 'app-conversations-list',
@@ -85,7 +82,6 @@ export class ConversationListPage implements OnInit {
85
82
  public archived_btn: boolean
86
83
  public sound_btn: string
87
84
  public isVisibleTKT: boolean = true;
88
- public isVisibleCNT: boolean = true;;
89
85
  public convertMessage = convertMessage
90
86
  private isShowMenuPage = false
91
87
  private logger: LoggerService = LoggerInstance.getInstance()
@@ -108,9 +104,6 @@ export class ConversationListPage implements OnInit {
108
104
  public isMobile: boolean = false;
109
105
  public isInitialized: boolean = false;
110
106
 
111
- public projectUser: ProjectUser;
112
- public rolesHeader: { [key: string]: boolean }
113
-
114
107
  // PROJECT AVAILABILITY INFO: start
115
108
  project: Project
116
109
  profile_name_translated: string;
@@ -137,7 +130,6 @@ export class ConversationListPage implements OnInit {
137
130
  private translateService: CustomTranslateService,
138
131
  public tiledeskService: TiledeskService,
139
132
  public tiledeskAuthService: TiledeskAuthService,
140
- public projectUsersService: ProjectUsersService,
141
133
  public appConfigProvider: AppConfigProvider,
142
134
  public platform: Platform,
143
135
  public wsService: WebsocketService,
@@ -379,11 +371,6 @@ export class ConversationListPage implements OnInit {
379
371
  // save conversationHandler in chatManager
380
372
  this.chatManager.setConversationsHandler(this.conversationsHandlerService)
381
373
  this.showPlaceholder = false
382
-
383
- // Hide loading spinner if there are no conversations
384
- if (this.conversations.length === 0) {
385
- this.loadingIsActive = false
386
- }
387
374
  }
388
375
 
389
376
  // private manageStoredConversations() {
@@ -484,7 +471,7 @@ export class ConversationListPage implements OnInit {
484
471
  }
485
472
 
486
473
  listenToCurrentStoredProject() {
487
- this.events.subscribe('storage:last_project', async(projectObjct) => {
474
+ this.events.subscribe('storage:last_project', projectObjct => {
488
475
  if (projectObjct && projectObjct !== 'undefined') {
489
476
  this.logger.log('[CONVS-LIST-PAGE] - GET STORED PROJECT ', projectObjct)
490
477
 
@@ -509,10 +496,6 @@ export class ConversationListPage implements OnInit {
509
496
  } else if (this.project.profile.type === 'payment' && this.project.profile.name === 'enterprise') {
510
497
  this.profile_name_translated = this.translationMapHeader.get('PaydPlanNameEnterprise');
511
498
  }
512
-
513
- this.projectUser = await this.projectUsersService.getProjectUserByProjectId(this.project._id)
514
- this.rolesHeader = this.checkCannedResponsesRoles();
515
- this.logger.log('[CONVS-LIST-PAGE] - GET PROJECT USER ROLES ', this.rolesHeader)
516
499
  }
517
500
  })
518
501
  }
@@ -648,24 +631,8 @@ export class ConversationListPage implements OnInit {
648
631
  const public_Key = this.appConfigProvider.getConfig().t2y12PruGU9wUtEGzBJfolMIgK
649
632
  this.logger.log('[CONVS-LIST-PAGE] AppConfigService getAppConfig public_Key', public_Key)
650
633
  this.isVisibleTKT = getOSCode("TKT", public_Key);
651
- this.isVisibleCNT = getOSCode("CNT", public_Key);
652
634
  }
653
635
 
654
- checkCannedResponsesRoles(): { [key: string]: boolean } {
655
- const permissionKeys = [
656
- 'LEADS_READ',
657
- ] as const;
658
-
659
- const roles: { [key: string]: boolean } = {};
660
- for (const key of permissionKeys) {
661
- const permission = PERMISSIONS[key];
662
- roles[permission] = hasRole(this.projectUser, permission);
663
- }
664
-
665
- return roles;
666
-
667
- }
668
-
669
636
  onBackButtonFN(event) {
670
637
  this.conversationType = 'active'
671
638
 
@@ -916,10 +883,6 @@ export class ConversationListPage implements OnInit {
916
883
 
917
884
  this.logger.log('[CONVS-LIST-PAGE] navigateByUrl this.uidConvSelected ', this.uidConvSelected)
918
885
 
919
- const queryParams = this.route.snapshot.queryParams;
920
- const queryString = new URLSearchParams(queryParams).toString();
921
-
922
-
923
886
  this.setUidConvSelected(uidConvSelected, converationType)
924
887
  if (checkPlatformIsMobile()) {
925
888
  this.logger.log('[CONVS-LIST-PAGE] checkPlatformIsMobile(): ', checkPlatformIsMobile())
@@ -937,7 +900,6 @@ export class ConversationListPage implements OnInit {
937
900
  if (this.conversationSelected && this.conversationSelected.conversation_with_fullname) {
938
901
  pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + encodeURIComponent(this.conversationSelected.conversation_with_fullname) + '/' + converationType
939
902
  }
940
- pageUrl += queryString ? `?${queryString}` : '';
941
903
  this.logger.log('[CONVS-LIST-PAGE] setUidConvSelected navigateByUrl--->: ', pageUrl)
942
904
  // replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
943
905
  this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'), {replaceUrl: true})
@@ -88,14 +88,14 @@ export class GlobalSettingsService {
88
88
  this.logger.debug('[GLOBAL-SET] setVariableFromStorage :::::::: SET VARIABLE ---------->', Object.keys(globals));
89
89
  for (const key of Object.keys(globals)) {
90
90
  const val = this.appStorageService.getItem(key);
91
- this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals KEY ---------->', key);
92
- this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals VAL ---------->', val);
91
+ // this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals KEY ---------->', key);
92
+ // this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals VAL ---------->', val);
93
93
  if (val && val !== null) {
94
94
  // globals.setParameter(key, val);
95
95
  globals[key] = stringToBoolean(val);
96
96
  }
97
97
  // this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals == ---------->', globals);
98
- }
98
+ }
99
99
  }
100
100
 
101
101
  /**
@@ -113,7 +113,6 @@ export class GlobalSettingsService {
113
113
  TEMP = getParameterByName(windowContext, 'tiledesk_supportMode');
114
114
  if (TEMP) {
115
115
  globals.supportMode = stringToBoolean(TEMP);
116
- this.appStorageService.setItem('supportMode', String(globals.supportMode))
117
116
  }
118
117
 
119
118
  TEMP = getParameterByName(windowContext, 'tiledesk_lang');
@@ -139,13 +138,6 @@ export class GlobalSettingsService {
139
138
  TEMP = getParameterByName(windowContext, 'tiledesk_projectID');
140
139
  if (TEMP) {
141
140
  globals.projectID = TEMP;
142
- this.appStorageService.setItem('projectID', TEMP)
143
- }
144
-
145
- TEMP = getParameterByName(windowContext, 'tiledesk_logOut');
146
- if (TEMP) {
147
- globals.logOut = stringToBoolean(TEMP);
148
- this.appStorageService.setItem('logOut', TEMP)
149
141
  }
150
142
 
151
143
  }
@@ -4,6 +4,7 @@ import { Router, NavigationExtras } from '@angular/router';
4
4
 
5
5
  // utils
6
6
  import { checkPlatformIsMobile } from '../../chat21-core/utils/utils';
7
+ // import { ConversationDetailPage } from '../pages/conversation-detail/conversation-detail.page';
7
8
 
8
9
  import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
9
10
  import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
@@ -93,6 +93,22 @@ export class TiledeskService {
93
93
  }))
94
94
  }
95
95
 
96
+ public getProjectUsersByProjectId(project_id: string) {
97
+ const url = this.SERVER_BASE_URL + project_id + '/project_users/';
98
+ this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER URL', url);
99
+
100
+ const httpOptions = {
101
+ headers: new HttpHeaders({
102
+ 'Content-Type': 'application/json',
103
+ Authorization: this.tiledeskToken
104
+ })
105
+ };
106
+ return this.http.get(url, httpOptions).pipe(map((res: any) => {
107
+ this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER RES ', res);
108
+ return res
109
+ }))
110
+ }
111
+
96
112
  public getAllLeadsActiveWithLimit(project_id: string, limit: number) {
97
113
  const url = this.SERVER_BASE_URL + project_id + '/leads?limit=' + limit + '&with_fullname=true';
98
114
  this.logger.log('[TILEDESK-SERVICE] - GET ALL ACTIVE LEADS (LIMIT 10000) - URL', url);
@@ -102,33 +102,5 @@ export class TriggerEvents {
102
102
  }
103
103
  }
104
104
 
105
- public triggerOnUpdateNewConversationBadge(detailObj: {}) {
106
- this.logger.debug(' ---------------- triggerOnUpdateNewConversationBadge ---------------- ', detailObj);
107
- try {
108
- const onBeforeInit = new CustomEvent('onUpdateNewConversationBadge', { detail: detailObj });
109
- const windowContext = this.windowContext;
110
- if (windowContext){
111
- // windowContext.document.dispatchEvent(onNewConversation);
112
- windowContext.postMessage({type: "onUpdateNewConversationBadge", detail: detailObj }, '*')
113
- }
114
- } catch (e) {
115
- this.logger.error('[TRIGGER-HANDLER] > Error:' + e);
116
- }
117
- }
118
-
119
- public triggerOnOpenTicketExternally(detailObj: {}) {
120
- this.logger.debug(' ---------------- triggerOnOpenTicketExternally ---------------- ', detailObj);
121
- try {
122
- const onBeforeInit = new CustomEvent('onOpenTicketExternally', { detail: detailObj });
123
- const windowContext = this.windowContext;
124
- if (windowContext){
125
- // windowContext.document.dispatchEvent(onNewConversation);
126
- windowContext.postMessage({type: "onOpenTicketExternally", detail: detailObj }, '*')
127
- }
128
- } catch (e) {
129
- this.logger.error('[TRIGGER-HANDLER] > Error:' + e);
130
- }
131
- }
132
-
133
105
 
134
106
  }