@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.
- package/CHANGELOG.md +4 -119
- package/angular.json +0 -1
- package/package.json +1 -1
- package/src/app/app.component.html +1 -3
- package/src/app/app.component.ts +16 -71
- package/src/app/chatlib/conversation-detail/message/image/image.component.html +0 -1
- package/src/app/chatlib/conversation-detail/message/image/image.component.ts +0 -19
- 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 +9 -39
- 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 +7 -95
- 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/abstract/upload.service.ts +1 -5
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-upload.service.ts +9 -136
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/native/native-image-repo.ts +1 -1
- package/src/chat21-core/providers/native/native-upload-service.ts +45 -143
- 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/img/no_data_found.png +0 -0
- 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
|
@@ -41,18 +41,18 @@ export class WebsocketService {
|
|
|
41
41
|
return new Promise(function (resolve, reject) {
|
|
42
42
|
|
|
43
43
|
self.webSocketJs.ref(path, 'subscriptionToWsCurrentUser_allProject',
|
|
44
|
-
function (data) {
|
|
44
|
+
function (data, notification) {
|
|
45
45
|
// console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - CREATE - data ", data);
|
|
46
46
|
resolve(data)
|
|
47
47
|
// self.currentUserWsAvailability$.next(data.user_available);
|
|
48
48
|
self.currentProjectUserAvailability$.next(data)
|
|
49
49
|
|
|
50
|
-
}, function (data) {
|
|
50
|
+
}, function (data, notification) {
|
|
51
51
|
resolve(data)
|
|
52
52
|
// console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - UPDATE - data ", data);
|
|
53
53
|
self.currentProjectUserAvailability$.next(data)
|
|
54
54
|
|
|
55
|
-
}, function (data) {
|
|
55
|
+
}, function (data, notification) {
|
|
56
56
|
resolve(data)
|
|
57
57
|
if (data) {
|
|
58
58
|
// console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - UPDATE - data", data);
|
|
@@ -94,7 +94,7 @@ export class WebsocketService {
|
|
|
94
94
|
|
|
95
95
|
this.webSocketJs.ref('/' + project_id + '/requests', 'getCurrentProjectAndSubscribeTo_WsRequests',
|
|
96
96
|
|
|
97
|
-
function (data) {
|
|
97
|
+
function (data, notification) {
|
|
98
98
|
// console.log("[WS-SERV] - CONVS - CREATE DATA ", data);
|
|
99
99
|
if (data) {
|
|
100
100
|
// ------------------------------------------------
|
|
@@ -183,7 +183,7 @@ export class WebsocketService {
|
|
|
183
183
|
// }
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
}, function (data) {
|
|
186
|
+
}, function (data, notification) {
|
|
187
187
|
|
|
188
188
|
// console.log("[WS-SERV] - CONVS - UPDATE DATA ", data);
|
|
189
189
|
|
|
@@ -201,8 +201,9 @@ export class WebsocketService {
|
|
|
201
201
|
self.updateWsRequests(data)
|
|
202
202
|
|
|
203
203
|
|
|
204
|
-
}, function (data) {
|
|
204
|
+
}, function (data, notification) {
|
|
205
205
|
self.logger.log("[WS-SERV] CHAT - CONVS - ON-DATA - DATA ", data);
|
|
206
|
+
self.logger.log("[WS-SERV] CHAT - CONVS - ON-DATA - notification ", notification);
|
|
206
207
|
|
|
207
208
|
// console.log("[WS-SERV] CHAT - CONVS - ON-DATA - DATA notification > event > method ", notification.event.method);
|
|
208
209
|
// if (notification.event.method === 'CREATE') {
|
|
@@ -305,17 +306,17 @@ export class WebsocketService {
|
|
|
305
306
|
|
|
306
307
|
this.webSocketJs.ref(path, 'subscribeToWS_RequesterPresence',
|
|
307
308
|
|
|
308
|
-
function (data) {
|
|
309
|
+
function (data, notification) {
|
|
309
310
|
// this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - CREATE data ", data);
|
|
310
311
|
|
|
311
312
|
self.wsRequesterStatus$.next(data);
|
|
312
313
|
|
|
313
|
-
}, function (data) {
|
|
314
|
+
}, function (data, notification) {
|
|
314
315
|
// this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - UPDATE data ", data);
|
|
315
316
|
|
|
316
317
|
self.wsRequesterStatus$.next(data);
|
|
317
318
|
|
|
318
|
-
}, function (data) {
|
|
319
|
+
}, function (data, notification) {
|
|
319
320
|
|
|
320
321
|
if (data) {
|
|
321
322
|
// this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - ON-DATA data ", data);
|
|
@@ -22,9 +22,8 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
22
22
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
23
23
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
24
24
|
import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
import { HttpClient } from '@angular/common/http';
|
|
25
|
+
|
|
26
|
+
// import { MessageTextAreaComponent } from '../components/conversation-detail/message-text-area/message-text-area.component'; // MessageTextAreaComponent is part of the declarations ConversationDetailPageModule
|
|
28
27
|
|
|
29
28
|
@NgModule({
|
|
30
29
|
declarations: [
|
|
@@ -141,14 +140,6 @@ import { HttpClient } from '@angular/common/http';
|
|
|
141
140
|
NgSelectModule,
|
|
142
141
|
FormsModule,
|
|
143
142
|
|
|
144
|
-
TranslateModule.forChild({
|
|
145
|
-
loader: {
|
|
146
|
-
provide: TranslateLoader,
|
|
147
|
-
useFactory: (createTranslateLoader),
|
|
148
|
-
deps: [HttpClient]
|
|
149
|
-
}
|
|
150
|
-
})
|
|
151
|
-
|
|
152
143
|
],
|
|
153
144
|
schemas: [
|
|
154
145
|
CUSTOM_ELEMENTS_SCHEMA,
|
package/src/app/utils/globals.ts
CHANGED
|
@@ -15,7 +15,6 @@ export class Globals {
|
|
|
15
15
|
jwt: string;
|
|
16
16
|
fileUploadAccept: string;
|
|
17
17
|
projectID: string;
|
|
18
|
-
logOut: boolean
|
|
19
18
|
|
|
20
19
|
constructor(
|
|
21
20
|
) { }
|
|
@@ -37,7 +36,6 @@ export class Globals {
|
|
|
37
36
|
this.lang = 'en'
|
|
38
37
|
this.fileUploadAccept = 'image/*,.pdf,.txt'
|
|
39
38
|
this.projectID = null;
|
|
40
|
-
this.logOut = true;
|
|
41
39
|
|
|
42
40
|
}
|
|
43
41
|
|
|
@@ -129,9 +129,9 @@ export class ProjectPlanUtils {
|
|
|
129
129
|
|
|
130
130
|
//case PAYMENT plan
|
|
131
131
|
if(project && project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
132
|
-
check = false
|
|
133
|
-
}else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
134
132
|
check = true
|
|
133
|
+
}else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
134
|
+
check = false
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
return check
|
package/src/app/utils/utils.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { ProjectUser } from "src/chat21-core/models/projectUsers";
|
|
2
|
-
|
|
3
1
|
export function getOSCode(key: string, token: string): boolean {
|
|
4
2
|
|
|
5
3
|
if (token) {
|
|
6
4
|
const keys: String[] = token.split("-");
|
|
7
5
|
|
|
8
6
|
let element = keys.find(el => el.includes(key))
|
|
9
|
-
|
|
7
|
+
console.log('keys', keys)
|
|
10
8
|
if(element){
|
|
11
9
|
element = element.split(":")[1]
|
|
12
10
|
if(element && element === "F"){
|
|
@@ -23,19 +21,4 @@ export function getOSCode(key: string, token: string): boolean {
|
|
|
23
21
|
}
|
|
24
22
|
|
|
25
23
|
return false
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export function hasRole(projectUser: ProjectUser, role: string ): boolean {
|
|
30
|
-
let roles = ['owner', 'admin', 'agent'];
|
|
31
|
-
if(roles.includes(projectUser.role)){
|
|
32
|
-
return true
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if(Array.isArray(projectUser.rolePermissions) && projectUser.rolePermissions.includes(role)){
|
|
36
|
-
return true
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return false
|
|
40
|
-
|
|
41
24
|
}
|
package/src/assets/i18n/ar.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "مدير",
|
|
226
226
|
"agent": "وكيل",
|
|
227
227
|
"Conversations": "المحادثات",
|
|
228
|
-
"Monitor": "شاشة",
|
|
229
|
-
"Flows": "التدفّقات",
|
|
230
|
-
"Knowledgebases": "قواعد المعرفة",
|
|
231
|
-
"Whatsappbroadcasts": "نشرات WhatsApp",
|
|
232
228
|
"Apps": "تطبيقات",
|
|
233
229
|
"Analytics": "تحليلات",
|
|
234
230
|
"Activities": "أنشطة",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"تم إرسال الرسالة أيضًا عبر البريد الإلكتروني 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "الرموز التعبيرية غير مسموح بها",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "افتح تذكرة",
|
|
316
|
-
"DESCRIPTION": "هل تؤكد أنك تريد فتح تذكرة لهذه المحادثة؟",
|
|
317
|
-
"CONFIRM": "تأكيد",
|
|
318
|
-
"CLOSE": "إغلاق"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح"
|
|
320
310
|
}
|
package/src/assets/i18n/az.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Söhbətlər",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Axınlar",
|
|
230
|
-
"Knowledgebases": "Bilik bazaları",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp Yayınları",
|
|
232
228
|
"Apps": "Proqramlar",
|
|
233
229
|
"Analytics": "Analitika",
|
|
234
230
|
"Activities": "Fəaliyyətlər",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj e-poçt vasitəsilə də göndərilib 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji icazə verilmir",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Bilet aç",
|
|
316
|
-
"DESCRIPTION": "Bu söhbət üçün bilet açmaq istədiyinizi təsdiqləyirsinizmi?",
|
|
317
|
-
"CONFIRM": "Təsdiqlə",
|
|
318
|
-
"CLOSE": "Bağla"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir"
|
|
320
310
|
}
|
package/src/assets/i18n/de.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Gespräche",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flows",
|
|
230
|
-
"Knowledgebases": "Wissensdatenbanken",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-Broadcasts",
|
|
232
228
|
"Apps": "Anwendungen",
|
|
233
229
|
"Analytics": "Analytik",
|
|
234
230
|
"Activities": "Aktivitäten",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Nachricht auch per E-Mail gesendet 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji nicht erlaubt",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Ticket öffnen",
|
|
316
|
-
"DESCRIPTION": "Bestätigen Sie, dass Sie ein Ticket für dieses Gespräch eröffnen möchten?",
|
|
317
|
-
"CONFIRM": "Bestätigen",
|
|
318
|
-
"CLOSE": "Schließen"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain"
|
|
320
310
|
}
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Conversations",
|
|
228
|
-
"Monitor":"Monitor",
|
|
229
|
-
"Flows": "Flows",
|
|
230
|
-
"Knowledgebases": "Knowledge Bases",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp Broadcasts",
|
|
232
228
|
"Apps": "Apps",
|
|
233
229
|
"Analytics": "Analytics",
|
|
234
230
|
"Activities": "Activities",
|
|
@@ -318,11 +314,5 @@
|
|
|
318
314
|
"HOW_CAN_I_HELP_YOU":"How can i help you?"
|
|
319
315
|
},
|
|
320
316
|
"EMOJI_NOT_ELLOWED":"Emoji not allowed",
|
|
321
|
-
"DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain"
|
|
322
|
-
"TICKET": {
|
|
323
|
-
"OPEN_TICKET": "Open Ticket",
|
|
324
|
-
"DESCRIPTION": "Do you confirm you want to open a ticket for this conversation?",
|
|
325
|
-
"CONFIRM": "Confirm",
|
|
326
|
-
"CLOSE": "Close"
|
|
327
|
-
}
|
|
317
|
+
"DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain"
|
|
328
318
|
}
|
package/src/assets/i18n/es.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrador",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversaciones",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flujos",
|
|
230
|
-
"Knowledgebases": "Bases de Conocimiento",
|
|
231
|
-
"Whatsappbroadcasts": "Difusiones de WhatsApp",
|
|
232
228
|
"Apps":"Aplicaciones",
|
|
233
229
|
"Analytics":"Analíticas",
|
|
234
230
|
"Activities": "Actividades",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensaje también enviado por correo electrónico 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji no permitido",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Abrir Ticket",
|
|
316
|
-
"DESCRIPTION": "¿Confirmas que deseas abrir un ticket para esta conversación?",
|
|
317
|
-
"CONFIRM": "Confirmar",
|
|
318
|
-
"CLOSE": "Cerrar"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido"
|
|
320
310
|
}
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrateur",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Conversations",
|
|
228
|
-
"Monitor": "Moniteur",
|
|
229
|
-
"Flows": "Flux",
|
|
230
|
-
"Knowledgebases": "Bases de Connaissances",
|
|
231
|
-
"Whatsappbroadcasts": "Diffusions WhatsApp",
|
|
232
228
|
"Apps":"Applications",
|
|
233
229
|
"Analytics":"Analytique",
|
|
234
230
|
"Activities": "Activités",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Message également envoyé par mail 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji non autorisé",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Ouvrir un Ticket",
|
|
316
|
-
"DESCRIPTION": "Confirmez-vous vouloir ouvrir un ticket pour cette conversation ?",
|
|
317
|
-
"CONFIRM": "Confirmer",
|
|
318
|
-
"CLOSE": "Fermer"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé"
|
|
320
310
|
}
|
package/src/assets/i18n/it.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Amministratore",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversazioni",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flussi",
|
|
230
|
-
"Knowledgebases": "Basi di Conoscenza",
|
|
231
|
-
"Whatsappbroadcasts": "Trasmissioni WhatsApp",
|
|
232
228
|
"Apps":"App",
|
|
233
229
|
"Analytics":"Analitica",
|
|
234
230
|
"Activities": "Attività",
|
|
@@ -316,13 +312,7 @@
|
|
|
316
312
|
"NO_SUGGESTIONS_PRESENT":"Nessun suggerimento trovato",
|
|
317
313
|
"INSERT_PROMPT_HERE":"Inserisci un prompt qui",
|
|
318
314
|
"HOW_CAN_I_HELP_YOU":"Come posso aiutarti?"
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
"TICKET": {
|
|
323
|
-
"OPEN_TICKET": "Apri Ticket",
|
|
324
|
-
"DESCRIPTION": "Confermi di voler aprire un ticket per questa conversazione?",
|
|
325
|
-
"CONFIRM": "Conferma",
|
|
326
|
-
"CLOSE": "Chiudi"
|
|
327
|
-
}
|
|
315
|
+
},
|
|
316
|
+
"EMOJI_NOT_ELLOWED": "Emoji non consentite",
|
|
317
|
+
"DOMAIN_NOT_ALLOWED": "L'URL contiene un dominio non consentito"
|
|
328
318
|
}
|
package/src/assets/i18n/kk.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Әкімші",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Әңгімелер",
|
|
228
|
-
"Monitor": "Монитор",
|
|
229
|
-
"Flows": "Ағындар",
|
|
230
|
-
"Knowledgebases": "Білім базалары",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp хабарламалары",
|
|
232
228
|
"Apps": "Қолданбалар",
|
|
233
229
|
"Analytics": "Аналитика",
|
|
234
230
|
"Activities": "Іс-шаралар",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Хабарлама электрондық пошта арқылы да жіберілді 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Эмодзи рұқсат етілмеген",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Тапсырма ашу",
|
|
316
|
-
"DESCRIPTION": "Осы әңгіме үшін тапсырма ашқыңыз келетінін растайсыз ба?",
|
|
317
|
-
"CONFIRM": "Растау",
|
|
318
|
-
"CLOSE": "Жабу"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды"
|
|
320
310
|
}
|
package/src/assets/i18n/pt.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrador",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversas",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Fluxos",
|
|
230
|
-
"Knowledgebases": "Bases de Conhecimento",
|
|
231
|
-
"Whatsappbroadcasts": "Transmissões do WhatsApp",
|
|
232
228
|
"Apps":"Aplicativos",
|
|
233
229
|
"Analytics":"Análise",
|
|
234
230
|
"Activities": "Atividades",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensagem também enviada por e-mail 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji não permitido",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Abrir Ticket",
|
|
316
|
-
"DESCRIPTION": "Confirma que deseja abrir um ticket para esta conversa?",
|
|
317
|
-
"CONFIRM": "Confirmar",
|
|
318
|
-
"CLOSE": "Fechar"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido"
|
|
320
310
|
}
|
package/src/assets/i18n/ru.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Администратор",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Разговоры",
|
|
228
|
-
"Monitor": "Монитор",
|
|
229
|
-
"Flows": "Потоки",
|
|
230
|
-
"Knowledgebases": "Базы знаний",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-рассылки",
|
|
232
228
|
"Apps":"Приложения",
|
|
233
229
|
"Analytics":"Аналитика",
|
|
234
230
|
"Activities": "Виды деятельности",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Сообщение также отправлено по электронной почте 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Эмодзи не разрешены",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Открыть тикет",
|
|
316
|
-
"DESCRIPTION": "Вы подтверждаете, что хотите открыть тикет для этого разговора?",
|
|
317
|
-
"CONFIRM": "Подтвердить",
|
|
318
|
-
"CLOSE": "Закрыть"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен"
|
|
320
310
|
}
|
package/src/assets/i18n/sr.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Aдминистратор",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Разговори",
|
|
228
|
-
"Monitor": "Монитор",
|
|
229
|
-
"Flows": "Токови",
|
|
230
|
-
"Knowledgebases": "Baze znanja",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp emitovanja",
|
|
232
228
|
"Apps":"Аппс",
|
|
233
229
|
"Analytics":"Аналитика",
|
|
234
230
|
"Activities": "Активности",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Порука је такође послата е-поштом 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emodžiji nisu dozvoljeni",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Otvori tiket",
|
|
316
|
-
"DESCRIPTION": "Da li potvrđujete da želite da otvorite tiket za ovaj razgovor?",
|
|
317
|
-
"CONFIRM": "Potvrdi",
|
|
318
|
-
"CLOSE": "Zatvori"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu"
|
|
320
310
|
}
|
package/src/assets/i18n/sv.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administratör",
|
|
226
226
|
"agent": "Ombud",
|
|
227
227
|
"Conversations": "Samtal",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flöden",
|
|
230
|
-
"Knowledgebases": "Kunskapsbaser",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-sändningar",
|
|
232
228
|
"Apps": "Appar",
|
|
233
229
|
"Analytics": "Analytics",
|
|
234
230
|
"Activities": "Aktiviteter",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Meddelande skickas även via mail 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji är inte tillåtna",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Öppna Ärende",
|
|
316
|
-
"DESCRIPTION": "Bekräftar du att du vill öppna ett ärende för den här konversationen?",
|
|
317
|
-
"CONFIRM": "Bekräfta",
|
|
318
|
-
"CLOSE": "Stäng"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän"
|
|
320
310
|
}
|
package/src/assets/i18n/tr.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Yönetici",
|
|
226
226
|
"agent": "Ajan",
|
|
227
227
|
"Conversations": "Konuşmalar",
|
|
228
|
-
"Monitor": "Monitör",
|
|
229
|
-
"Flows": "Akışlar",
|
|
230
|
-
"Knowledgebases": "Bilgi Tabanları",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp Yayınları",
|
|
232
228
|
"Apps":"Uygulamalar",
|
|
233
229
|
"Analytics":"Analitik",
|
|
234
230
|
"Activities": "Faaliyetler",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj ayrıca e-posta ile gönderilir 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji'ye izin verilmiyor",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Bilet Aç",
|
|
316
|
-
"DESCRIPTION": "Bu görüşme için bir bilet açmak istediğinizi onaylıyor musunuz?",
|
|
317
|
-
"CONFIRM": "Onayla",
|
|
318
|
-
"CLOSE": "Kapat"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor"
|
|
320
310
|
}
|
package/src/assets/i18n/uk.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Адміністратор",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Бесіди",
|
|
228
|
-
"Monitor": "Монітор",
|
|
229
|
-
"Flows": "Потоки",
|
|
230
|
-
"Knowledgebases": "Бази знань",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-розсилки",
|
|
232
228
|
"Apps": "Програми",
|
|
233
229
|
"Analytics": "Аналітика",
|
|
234
230
|
"Activities": "Діяльність",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Повідомлення також надіслано електронною поштою 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Емодзі не дозволені",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL містить недозволений домен"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Відкрити тікет",
|
|
316
|
-
"DESCRIPTION": "Підтверджуєте, що хочете відкрити тікет для цієї розмови?",
|
|
317
|
-
"CONFIRM": "Підтвердити",
|
|
318
|
-
"CLOSE": "Закрити"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL містить недозволений домен"
|
|
320
310
|
}
|
package/src/assets/i18n/uz.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Suhbatlar",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Oqimlar",
|
|
230
|
-
"Knowledgebases": "Bilim bazalari",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp efirlarini yuborish",
|
|
232
228
|
"Apps": "Ilovalar",
|
|
233
229
|
"Analytics": "Analitika",
|
|
234
230
|
"Activities": "Faoliyatlar",
|
|
@@ -310,12 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Xabar elektron pochta orqali ham yuborildi 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji'ga ruxsat berilmagan",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Chiptani ochish",
|
|
316
|
-
"DESCRIPTION": "Ushbu suhbat uchun chipta ochmoqchi ekanligingizni tasdiqlaysizmi?",
|
|
317
|
-
"CONFIRM": "Tasdiqlash",
|
|
318
|
-
"CLOSE": "Yopish"
|
|
319
|
-
}
|
|
320
|
-
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi"
|
|
321
310
|
}
|
|
@@ -1010,7 +1010,6 @@ class Chat21Client {
|
|
|
1010
1010
|
this.start( () => {
|
|
1011
1011
|
// callback();
|
|
1012
1012
|
});
|
|
1013
|
-
this.initKeepAliveWorker()
|
|
1014
1013
|
}
|
|
1015
1014
|
this.client.publish(
|
|
1016
1015
|
this.presence_topic,
|
|
@@ -1028,36 +1027,6 @@ class Chat21Client {
|
|
|
1028
1027
|
console.error("Chat client error event", error);
|
|
1029
1028
|
}
|
|
1030
1029
|
);
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
}
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
initKeepAliveWorker(){
|
|
1037
|
-
this.worker= new Worker('assets/js/mqtt-keepalive-worker.js');
|
|
1038
|
-
if (this.log) {
|
|
1039
|
-
console.log("Chat21Client - initKeepAliveWorker() - worker created", this.worker);
|
|
1040
|
-
}
|
|
1041
|
-
// this.worker.postMessage({
|
|
1042
|
-
// action: 'start',
|
|
1043
|
-
// user_id: this.user_id,
|
|
1044
|
-
// client_id: this.client_id,
|
|
1045
|
-
// jwt: this.jwt,
|
|
1046
|
-
// endpoint: this.endpoint
|
|
1047
|
-
// });
|
|
1048
|
-
this.worker.onmessage = (event) => {
|
|
1049
|
-
if (event.data.action === 'ping') {
|
|
1050
|
-
if (this.client && this.client.connected) {
|
|
1051
|
-
// questo non causa refresh di niente
|
|
1052
|
-
this.client.publish(
|
|
1053
|
-
`apps/tilechat/users/${this.user_id}/keepalive`,
|
|
1054
|
-
JSON.stringify({ ts: Date.now() })
|
|
1055
|
-
);
|
|
1056
|
-
}
|
|
1057
|
-
}
|
|
1058
|
-
};
|
|
1059
|
-
|
|
1060
|
-
this.worker.postMessage({ action: 'ping' });
|
|
1061
1030
|
}
|
|
1062
1031
|
|
|
1063
1032
|
onDisconnect(callback){
|
|
@@ -1072,11 +1041,6 @@ class Chat21Client {
|
|
|
1072
1041
|
this.connected = false
|
|
1073
1042
|
if (this.log) {console.log("Chat client close event");}
|
|
1074
1043
|
callback('close')
|
|
1075
|
-
if (this.worker) {
|
|
1076
|
-
this.worker.postMessage({ action: 'stop' });
|
|
1077
|
-
this.worker.terminate();
|
|
1078
|
-
this.worker = null;
|
|
1079
|
-
}
|
|
1080
1044
|
}
|
|
1081
1045
|
);
|
|
1082
1046
|
this.client.on('offline',
|
package/src/assets/test.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width">
|
|
7
|
-
<title>
|
|
7
|
+
<title>replit</title>
|
|
8
8
|
</head>
|
|
9
9
|
|
|
10
10
|
<body style="height: 100%;">
|
|
@@ -20,10 +20,7 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
|
|
22
22
|
<iframe id="myIFrame" frameBorder="0" width="100%" style="display: flex; height: 95vh" onload="onLoad()"
|
|
23
|
-
|
|
24
|
-
allow="autoplay; fullscreen; geolocation; microphone; camera; display-capture; encrypted-media; clipboard-read; clipboard-write;"
|
|
25
|
-
loading="eager" importance="high">
|
|
26
|
-
</iframe>
|
|
23
|
+
src="http://localhost:8080/#/conversation-detail?tiledesk_supportMode=true&jwt=JWT eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZmQzNGU0MjQ5NjEwZTAwMzQ5ODUwNzgiLCJlbWFpbCI6ImdhYnJpZWxlLnBhbmljb0Bmcm9udGllcmUyMS5pdCIsImZpcnN0bmFtZSI6IkdhYnJpZWxlMiIsImxhc3RuYW1lIjoiUGFuaWNvIC1wcmUiLCJlbWFpbHZlcmlmaWVkIjp0cnVlLCJpYXQiOjE2OTgzMzYyMTMsImF1ZCI6Imh0dHBzOi8vdGlsZWRlc2suY29tIiwiaXNzIjoiaHR0cHM6Ly90aWxlZGVzay5jb20iLCJzdWIiOiJ1c2VyIiwianRpIjoiNjAzZGY3NDQtZWY0OS00Mjg2LWJlMWQtYWM5OGYyYTNkMTJiIn0.bof5QPQP262yCQfpeSjqyoYPkSCttg5NQFkcV8d634xzeq7wJBdhtiO7IJY6hS81a1YyXrAsxlK7RiNS-UZdYiTXR81UXurQd1fnE9jtaggB82tyNL8vmiZEOs6xh4TqO3-kkBzRxQIp74bY53fk_mu5RmNbAjIgUWEufaNDiv8"></iframe>
|
|
27
24
|
|
|
28
25
|
<script>
|
|
29
26
|
// window.addEventListener('message', event => {
|
|
@@ -37,7 +37,6 @@
|
|
|
37
37
|
"wsUrlRel": "${WS_URL_RELATIVE}",
|
|
38
38
|
"storage_prefix": "${CHAT_STORAGE_PREFIX}",
|
|
39
39
|
"emailSection": "${EMAIL_SECTION}",
|
|
40
|
-
"ticketSection": "${TICKET_SECTION}",
|
|
41
40
|
"whatsappTemplatesSection":"${WHATSAPP_TEMPLATES_SECTION}",
|
|
42
41
|
"googleMapsApiKey":"${GOOGLE_MAPS_APIKEY}"
|
|
43
42
|
}
|
package/src/chat-config.json
CHANGED
|
@@ -34,13 +34,9 @@ export abstract class UploadService {
|
|
|
34
34
|
// abstract tenant = environment.tenant;
|
|
35
35
|
|
|
36
36
|
// functions
|
|
37
|
-
abstract initialize(
|
|
37
|
+
abstract initialize(): void;
|
|
38
38
|
abstract upload(userId: string, upload: UploadModel): Promise<{downloadURL: string, src: string}>;
|
|
39
|
-
abstract uploadFile(userId: string, upload: UploadModel): Promise<{downloadURL: string, src: string}>;
|
|
40
|
-
abstract uploadAsset(userId: string, upload: UploadModel, expiration?: number): Promise<{downloadURL: string, src: string}>;
|
|
41
39
|
abstract uploadProfile(userId: string, upload: UploadModel): Promise<any>;
|
|
42
40
|
abstract delete(userId: string, path: string): Promise<any>;
|
|
43
|
-
abstract deleteFile(userId: string, path: string): Promise<any>;
|
|
44
|
-
abstract deleteAsset(userId: string, path: string): Promise<any>
|
|
45
41
|
abstract deleteProfile(userId: string, path: string): Promise<any>
|
|
46
42
|
}
|