@chat21/chat21-ionic 3.4.29-rc1 → 3.4.29
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 +6 -109
- package/angular.json +0 -1
- package/package.json +1 -1
- package/src/app/app.component.html +1 -3
- package/src/app/app.component.ts +10 -71
- package/src/app/components/canned-response/canned-response.component.html +23 -26
- package/src/app/components/canned-response/canned-response.component.scss +2 -0
- package/src/app/components/canned-response/canned-response.component.ts +1 -3
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +1 -24
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +0 -30
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +7 -29
- package/src/app/components/conversation-info/info-content/info-content.component.ts +2 -2
- package/src/app/components/conversation-info/info-group/info-group.component.ts +21 -23
- package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.html +1 -1
- package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.ts +1 -5
- package/src/app/components/navbar/navbar.component.html +3 -3
- package/src/app/components/navbar/navbar.component.ts +38 -29
- package/src/app/components/project-item/project-item.component.ts +11 -11
- package/src/app/components/sidebar/sidebar.component.html +45 -65
- package/src/app/components/sidebar/sidebar.component.ts +117 -110
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +2 -2
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +7 -10
- package/src/app/modals/create-ticket/create-ticket.page.ts +2 -4
- package/src/app/pages/conversation-detail/conversation-detail.page.html +3 -7
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +5 -89
- package/src/app/pages/conversations-list/conversations-list.page.html +0 -2
- package/src/app/pages/conversations-list/conversations-list.page.ts +2 -40
- package/src/app/services/global-settings/global-settings.service.ts +3 -11
- package/src/app/services/nav-proxy.service.ts +1 -0
- package/src/app/services/tiledesk/tiledesk.service.ts +16 -0
- package/src/app/services/triggerEvents/triggerEvents.ts +0 -28
- package/src/app/services/websocket/websocket-js.ts +534 -59
- package/src/app/services/websocket/websocket.service.ts +10 -9
- package/src/app/shared/shared.module.ts +2 -11
- package/src/app/utils/globals.ts +0 -2
- package/src/app/utils/project-utils.ts +2 -2
- package/src/app/utils/utils.ts +1 -18
- package/src/assets/i18n/ar.json +1 -11
- package/src/assets/i18n/az.json +1 -11
- package/src/assets/i18n/de.json +1 -11
- package/src/assets/i18n/en.json +1 -11
- package/src/assets/i18n/es.json +1 -11
- package/src/assets/i18n/fr.json +1 -11
- package/src/assets/i18n/it.json +3 -13
- package/src/assets/i18n/kk.json +1 -11
- package/src/assets/i18n/pt.json +1 -11
- package/src/assets/i18n/ru.json +1 -11
- package/src/assets/i18n/sr.json +1 -11
- package/src/assets/i18n/sv.json +1 -11
- package/src/assets/i18n/tr.json +1 -11
- package/src/assets/i18n/uk.json +1 -11
- package/src/assets/i18n/uz.json +1 -12
- package/src/assets/js/chat21client.js +0 -36
- package/src/assets/test.html +2 -5
- package/src/chat-config-template.json +0 -1
- package/src/chat-config.json +0 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +0 -3
- package/src/chat21-core/utils/utils.ts +2 -16
- package/src/app/services/project_users/project-users.service.spec.ts +0 -16
- package/src/app/services/project_users/project-users.service.ts +0 -63
- package/src/app/services/websocket/websocket-js_old.ts +0 -578
- package/src/app/services/websocket/websocket.worker.ts +0 -242
- package/src/app/utils/permissions.constants.ts +0 -138
- package/src/assets/js/agentDesktop-sdk.js +0 -55
- package/src/assets/js/mqtt-keepalive-worker.js +0 -53
- package/src/chat21-core/models/projectUsers.ts +0 -19
|
@@ -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
|
|
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',
|
|
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
|
}
|