@chat21/chat21-ionic 3.0.79-rc.1 → 3.0.79-rc.3
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 +14 -0
- package/README.md +1 -0
- package/env.sample +1 -0
- package/package.json +1 -1
- package/src/app/app.component.html +7 -1
- package/src/app/app.component.scss +16 -1
- package/src/app/app.component.ts +182 -11
- package/src/app/app.module.ts +3 -1
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +37 -12
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +55 -50
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +24 -0
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +0 -18
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +1 -10
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +1 -22
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -3
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +1 -0
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +1 -2
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +8 -5
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +6 -5
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +3 -82
- package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.html +1 -1
- package/src/app/components/navbar/navbar.component.html +103 -0
- package/src/app/components/navbar/navbar.component.scss +249 -0
- package/src/app/components/{conversation-detail/bubble-my-message/bubble-my-message.component.spec.ts → navbar/navbar.component.spec.ts} +6 -6
- package/src/app/components/navbar/navbar.component.ts +189 -0
- package/src/app/components/project-item/project-item.component.ts +11 -1
- package/src/app/pages/contacts-directory/contacts-directory.page.scss +1 -1
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +0 -8
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +71 -2
- package/src/app/pages/conversations-list/conversations-list.page.scss +1 -0
- package/src/app/pages/conversations-list/conversations-list.page.ts +51 -22
- package/src/app/pages/create-canned-response/create-canned-response.page.ts +13 -13
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +1 -1
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +42 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +1 -0
- package/src/app/services/canned-responses/canned-responses.service.ts +26 -0
- package/src/app/services/projects/projects.service.spec.ts +12 -0
- package/src/app/services/projects/projects.service.ts +43 -0
- package/src/app/services/tiledesk/tiledesk.service.ts +1 -25
- package/src/app/shared/shared.module.ts +3 -12
- package/src/assets/i18n/ar.json +10 -2
- package/src/assets/i18n/az.json +9 -1
- package/src/assets/i18n/de.json +10 -2
- package/src/assets/i18n/en.json +10 -2
- package/src/assets/i18n/es.json +10 -2
- package/src/assets/i18n/fr.json +9 -1
- package/src/assets/i18n/it.json +9 -1
- package/src/assets/i18n/kk.json +10 -2
- package/src/assets/i18n/pt.json +10 -2
- package/src/assets/i18n/ru.json +9 -1
- package/src/assets/i18n/sr.json +277 -269
- package/src/assets/i18n/sv.json +10 -2
- package/src/assets/i18n/tr.json +10 -2
- package/src/assets/i18n/uk.json +10 -2
- package/src/assets/i18n/uz.json +9 -1
- package/src/assets/sounds/wheep-wheep.mp3 +0 -0
- package/src/chat-config-mqtt-localhost.json +1 -0
- package/src/chat-config-native-mqtt.json +1 -0
- package/src/chat-config-pre.json +2 -1
- package/src/chat-config-template.json +1 -0
- package/src/chat-config.json +1 -0
- package/src/chat21-core/models/conversation.ts +0 -1
- package/src/chat21-core/models/projects.ts +27 -0
- package/src/chat21-core/utils/constants.ts +1 -1
- package/src/chat21-core/utils/convertRequestToConversation.ts +41 -0
- package/src/global.scss +1 -13
- package/src/index.html +6 -47
- package/src/variables.scss +5 -2
- package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.html +0 -3
- package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.scss +0 -21
- package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.spec.ts +0 -24
- package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.ts +0 -14
- package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.html +0 -54
- package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.scss +0 -98
- package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +0 -84
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.html +0 -30
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.scss +0 -83
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.spec.ts +0 -24
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +0 -68
- package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.html +0 -3
- package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.scss +0 -10
- package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.spec.ts +0 -24
- package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.ts +0 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
|
|
2
2
|
import { ArchivedConversationsHandlerService } from 'src/chat21-core/providers/abstract/archivedconversations-handler.service'
|
|
3
|
-
import { Component, OnInit, ViewChild } from '@angular/core'
|
|
3
|
+
import { Component, isDevMode, OnInit, ViewChild } from '@angular/core'
|
|
4
4
|
import { IonContent, ModalController } from '@ionic/angular'
|
|
5
5
|
import { ActivatedRoute, Router, NavigationExtras } from '@angular/router'
|
|
6
6
|
// config
|
|
@@ -47,6 +47,7 @@ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance'
|
|
|
47
47
|
import { NetworkService } from 'src/app/services/network-service/network.service'
|
|
48
48
|
import { Subject } from 'rxjs'
|
|
49
49
|
import { takeUntil } from 'rxjs/operators'
|
|
50
|
+
import { TYPE_DIRECT } from 'src/chat21-core/utils/constants';
|
|
50
51
|
|
|
51
52
|
@Component({
|
|
52
53
|
selector: 'app-conversations-list',
|
|
@@ -479,6 +480,7 @@ export class ConversationListPage implements OnInit {
|
|
|
479
480
|
if (conversation) {
|
|
480
481
|
this.onImageLoaded(conversation)
|
|
481
482
|
this.onConversationLoaded(conversation)
|
|
483
|
+
!isDevMode() && conversation.is_new? this.segmentNewConversationAdded(conversation) : null;
|
|
482
484
|
}
|
|
483
485
|
})
|
|
484
486
|
|
|
@@ -515,27 +517,6 @@ export class ConversationListPage implements OnInit {
|
|
|
515
517
|
this.logger.log('[CONVS-LIST-PAGE] - subscribeLoggedUserLogout uidConvSelected ',this.uidConvSelected)
|
|
516
518
|
}
|
|
517
519
|
|
|
518
|
-
/**
|
|
519
|
-
* ::: subscribeChangedConversationSelected :::
|
|
520
|
-
* evento richiamato quando si seleziona un utente nell'elenco degli user
|
|
521
|
-
* apro dettaglio conversazione
|
|
522
|
-
*/
|
|
523
|
-
// --------------------------------
|
|
524
|
-
// !!!!!! IS USED? ?????
|
|
525
|
-
// ------------------------------
|
|
526
|
-
subscribeChangedConversationSelected = (user: UserModel, type: string) => {
|
|
527
|
-
this.logger.log('[CONVS-LIST-PAGE] ************** subscribeUidConvSelectedChanged navigateByUrl',user, type)
|
|
528
|
-
this.uidConvSelected = user.uid
|
|
529
|
-
this.logger.log('[CONVS-LIST-PAGE] ************** uidConvSelected ', this.uidConvSelected)
|
|
530
|
-
// this.conversationsHandlerService.uidConvSelected = user.uid;
|
|
531
|
-
const conversationSelected = this.conversations.find( (item) => item.uid === this.uidConvSelected)
|
|
532
|
-
if (conversationSelected) {
|
|
533
|
-
this.logger.log('[CONVS-LIST-PAGE] --> uidConvSelected: ',this.conversationSelected, this.uidConvSelected)
|
|
534
|
-
this.conversationSelected = conversationSelected
|
|
535
|
-
}
|
|
536
|
-
// this.router.navigateByUrl('conversation-detail/' + user.uid + '?conversationWithFullname=' + user.fullname);
|
|
537
|
-
}
|
|
538
|
-
|
|
539
520
|
/**
|
|
540
521
|
* ::: subscribeProfileInfoButtonClicked :::
|
|
541
522
|
* evento richiamato quando si seleziona bottone profile-info-modal
|
|
@@ -990,6 +971,54 @@ export class ConversationListPage implements OnInit {
|
|
|
990
971
|
return indexes
|
|
991
972
|
}
|
|
992
973
|
|
|
974
|
+
private segmentNewConversationAdded(conversation: ConversationModel){
|
|
975
|
+
let user = this.tiledeskAuthService.getCurrentUser()
|
|
976
|
+
try {
|
|
977
|
+
window['analytics'].page("Chat List Conversations Page, Conversation Added", {});
|
|
978
|
+
} catch (err) {
|
|
979
|
+
this.logger.error('Event:Conversation Added [page] error', err);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
try {
|
|
983
|
+
window['analytics'].identify(user.uid, {
|
|
984
|
+
name: user.firstname + ' ' + user.lastname,
|
|
985
|
+
email: user.email,
|
|
986
|
+
logins: 5,
|
|
987
|
+
});
|
|
988
|
+
} catch (err) {
|
|
989
|
+
this.logger.error('Event:Conversation Added [identify] error', err);
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
try {
|
|
993
|
+
window['analytics'].track('Conversation Added', {
|
|
994
|
+
"username": user.firstname + ' ' + user.lastname,
|
|
995
|
+
"userId": user.uid,
|
|
996
|
+
"conversation_id": conversation.uid,
|
|
997
|
+
"channel_type": conversation.channel_type,
|
|
998
|
+
"conversation_with": conversation.conversation_with,
|
|
999
|
+
"conversation_with_fullname": conversation.conversation_with_fullname,
|
|
1000
|
+
"department_name":(conversation.channel_type !== TYPE_DIRECT)? conversation.attributes.departmentName: null,
|
|
1001
|
+
"department_id":(conversation.channel_type !== TYPE_DIRECT)? conversation.attributes.departmentId: null,
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"context": {
|
|
1005
|
+
"groupId": (conversation.channel_type !== TYPE_DIRECT)? conversation.attributes.projectId: null
|
|
1006
|
+
}
|
|
1007
|
+
});
|
|
1008
|
+
} catch (err) {
|
|
1009
|
+
this.logger.error('Event:Conversation Added [track] error', err);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
try {
|
|
1013
|
+
window['analytics'].group(conversation.attributes.projectId, {
|
|
1014
|
+
name: (conversation.attributes.project_name)? conversation.attributes.project_name : null,
|
|
1015
|
+
// plan: projectProfileName,
|
|
1016
|
+
});
|
|
1017
|
+
} catch (err) {
|
|
1018
|
+
this.logger.error('Event:Conversation Added [group] error', err);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
|
|
993
1022
|
// ------------------------------------------------------------------
|
|
994
1023
|
// !!! Not used methods !!!
|
|
995
1024
|
// ------------------------------------------------------------------
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CannedResponsesService } from 'src/app/services/canned-responses/canned-responses.service';
|
|
1
2
|
import { Component, Input, OnInit } from '@angular/core';
|
|
2
3
|
import { ModalController } from '@ionic/angular';
|
|
3
4
|
import { Validators, FormBuilder, FormGroup, FormControl } from '@angular/forms';
|
|
@@ -38,6 +39,7 @@ export class CreateCannedResponsePage implements OnInit {
|
|
|
38
39
|
private translate: TranslateService,
|
|
39
40
|
public tiledeskAuthService: TiledeskAuthService,
|
|
40
41
|
public tiledeskService: TiledeskService,
|
|
42
|
+
public cannedResponsesService: CannedResponsesService,
|
|
41
43
|
private menu: MenuController,
|
|
42
44
|
public events: EventsService,
|
|
43
45
|
private route: ActivatedRoute,
|
|
@@ -181,19 +183,17 @@ export class CreateCannedResponsePage implements OnInit {
|
|
|
181
183
|
this.logger.log('[CREATE-CANNED-RES] - CREATE CANNED RESP - MSG ', canned_response_message);
|
|
182
184
|
this.logger.log('[CREATE-CANNED-RES] - CREATE CANNED RESP - TITLE ', canned_response_title);
|
|
183
185
|
|
|
184
|
-
this.
|
|
185
|
-
.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
this.events.publish('newcannedresponse:created', true);
|
|
196
|
-
});
|
|
186
|
+
this.cannedResponsesService.add(this.tiledeskToken, this.prjctID, canned_response_title.trim(), canned_response_message.trim()).subscribe((responses: any) => {
|
|
187
|
+
this.logger.log('[CREATE-CANNED-RES] - CREATE CANNED RESP - RES ', responses);
|
|
188
|
+
}, (error) => {
|
|
189
|
+
this.logger.error('[CREATE-CANNED-RES]- CREATE CANNED RESP - ERROR ', error);
|
|
190
|
+
this.showSpinnerCreateCannedResponse = false;
|
|
191
|
+
}, () => {
|
|
192
|
+
this.logger.log('[CREATE-CANNED-RES] - CREATE CANNED RESP * COMPLETE *');
|
|
193
|
+
this.showSpinnerCreateCannedResponse = false;
|
|
194
|
+
this.closeModalCreateCannedResponseModal()
|
|
195
|
+
this.events.publish('newcannedresponse:created', true);
|
|
196
|
+
});
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
openAddPersonalisationMenu() {
|
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
ion-toolbar {
|
|
2
|
+
height: var(--header-height);
|
|
3
|
+
&:not(.mobile){
|
|
4
|
+
--background: var(--list-bkg-color);
|
|
5
|
+
border: none;
|
|
6
|
+
}
|
|
7
|
+
&.mobile{
|
|
8
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
ion-button{
|
|
12
|
+
--color: var(--basic-blue);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
ion-content {
|
|
17
|
+
// overwrite inline styles
|
|
18
|
+
--overflow: hidden;
|
|
19
|
+
overflow: scroll;
|
|
20
|
+
&:not(.mobile){
|
|
21
|
+
background: var(--list-bkg-color);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&::-webkit-scrollbar {
|
|
25
|
+
width: 6px;
|
|
26
|
+
height: 8px;
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&::-webkit-scrollbar-track {
|
|
31
|
+
background: #f9f9f9;
|
|
32
|
+
}
|
|
33
|
+
&::-webkit-scrollbar-thumb {
|
|
34
|
+
background-color: #b9b9b9;
|
|
35
|
+
border-radius: 0px;
|
|
36
|
+
}
|
|
37
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
38
|
+
background-color: #727272;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
1
43
|
.ion-content-black-background {
|
|
2
44
|
--background: #2d323e;
|
|
3
45
|
}
|
|
@@ -43,6 +43,32 @@ export class CannedResponsesService {
|
|
|
43
43
|
}))
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
// -------------------------------------------------------------------------------------
|
|
47
|
+
// @ Create - Save (POST) new canned response
|
|
48
|
+
// -------------------------------------------------------------------------------------
|
|
49
|
+
public add(token: string, projectid: string, title: string, message: string) {
|
|
50
|
+
const url = this.apiUrl + projectid + '/canned/'
|
|
51
|
+
this.logger.log('[TILEDESK-SERVICE] - CREATE CANNED-RES - URL', url);
|
|
52
|
+
|
|
53
|
+
const httpOptions = {
|
|
54
|
+
headers: new HttpHeaders({
|
|
55
|
+
'Content-Type': 'application/json',
|
|
56
|
+
Authorization: token
|
|
57
|
+
})
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const body = {
|
|
61
|
+
title: title,
|
|
62
|
+
text: message
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return this.http.post(url, JSON.stringify(body), httpOptions).pipe(map((res: any) => {
|
|
66
|
+
this.logger.log('[TILEDESK-SERVICE] - CREATE CANNED-RES - RES ', res);
|
|
67
|
+
return res
|
|
68
|
+
}))
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
46
72
|
public edit(token: string, projectid: string, canned: any){
|
|
47
73
|
const cannedResponsesURL = this.apiUrl + projectid + "/canned/"+ canned._id;
|
|
48
74
|
this.logger.log('[CANNED-RESPONSES-SERVICE] editCannedResponses - URL ', cannedResponsesURL);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { ProjectsService } from './projects.service';
|
|
4
|
+
|
|
5
|
+
describe('ProjectsService', () => {
|
|
6
|
+
beforeEach(() => TestBed.configureTestingModule({}));
|
|
7
|
+
|
|
8
|
+
it('should be created', () => {
|
|
9
|
+
const service: ProjectsService = TestBed.get(ProjectsService);
|
|
10
|
+
expect(service).toBeTruthy();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { Project } from 'src/chat21-core/models/projects';
|
|
5
|
+
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
6
|
+
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
7
|
+
import { AppConfigProvider } from '../app-config';
|
|
8
|
+
|
|
9
|
+
@Injectable({
|
|
10
|
+
providedIn: 'root'
|
|
11
|
+
})
|
|
12
|
+
export class ProjectsService {
|
|
13
|
+
|
|
14
|
+
private apiUrl: string;
|
|
15
|
+
private logger: LoggerService = LoggerInstance.getInstance();
|
|
16
|
+
|
|
17
|
+
constructor(
|
|
18
|
+
public http: HttpClient,
|
|
19
|
+
public appConfigProvider: AppConfigProvider
|
|
20
|
+
) {
|
|
21
|
+
|
|
22
|
+
this.logger.log('[PROJECTS-SERVICE] HELLO !');
|
|
23
|
+
this.apiUrl = appConfigProvider.getConfig().apiUrl;
|
|
24
|
+
this.logger.log('[PROJECTS-SERVICE] apiUrl ', this.apiUrl);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public getProjects(token: string) {
|
|
28
|
+
const url = this.apiUrl + "projects/";
|
|
29
|
+
this.logger.log('[PROJECTS-SERVICE] getProjects - URL ', url);
|
|
30
|
+
|
|
31
|
+
const httpOptions = {
|
|
32
|
+
headers: new HttpHeaders({
|
|
33
|
+
'Content-Type': 'application/json',
|
|
34
|
+
Authorization: token
|
|
35
|
+
})
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return this.http.get(url, httpOptions).pipe(map((res: Project[]) => {
|
|
39
|
+
this.logger.log('[PROJECTS-SERVICE] getProjects - RES ', res);
|
|
40
|
+
return res
|
|
41
|
+
}))
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -252,31 +252,7 @@ export class TiledeskService {
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
|
|
255
|
-
|
|
256
|
-
// @ Create - Save (POST) new canned response
|
|
257
|
-
// -------------------------------------------------------------------------------------
|
|
258
|
-
public createCannedResponse(message: string, title: string, project_id: string, token: string) {
|
|
259
|
-
this.logger.log('[TILEDESK-SERVICE] - CREATE CANNED-RES - token', token);
|
|
260
|
-
const url = this.apiUrl + project_id + '/canned/'
|
|
261
|
-
this.logger.log('[TILEDESK-SERVICE] - CREATE CANNED-RES - URL', url);
|
|
262
|
-
|
|
263
|
-
const httpOptions = {
|
|
264
|
-
headers: new HttpHeaders({
|
|
265
|
-
'Content-Type': 'application/json',
|
|
266
|
-
Authorization: token
|
|
267
|
-
})
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
const body = { 'text': message, 'title': title };
|
|
271
|
-
|
|
272
|
-
this.logger.log('[TILEDESK-SERVICE] CREATE CANNED-RES - BODY ', body);
|
|
273
|
-
|
|
274
|
-
return this.http.post(url, JSON.stringify(body), httpOptions).pipe(map((res: any) => {
|
|
275
|
-
this.logger.log('[TILEDESK-SERVICE] - CREATE CANNED-RES - RES ', res);
|
|
276
|
-
return res
|
|
277
|
-
}))
|
|
278
|
-
|
|
279
|
-
}
|
|
255
|
+
|
|
280
256
|
|
|
281
257
|
// .post(url, JSON.stringify(body), options)
|
|
282
258
|
// .map((res) => res.json());
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { NavbarComponent } from './../components/navbar/navbar.component';
|
|
1
2
|
import { FormsModule } from '@angular/forms';
|
|
2
3
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
3
4
|
import { NetworkOfflineComponent } from './../components/network-offline/network-offline.component';
|
|
4
5
|
import { ContactsDirectoryComponent } from './../components/contacts-directory/contacts-directory.component';
|
|
5
6
|
import { HtmlComponent } from './../chatlib/conversation-detail/message/html/html.component';
|
|
6
|
-
import { BubbleOthersMessageComponent } from './../components/conversation-detail/bubble-others-message/bubble-others-message.component';
|
|
7
7
|
|
|
8
8
|
import { TextComponent } from '../chatlib/conversation-detail/message/text/text.component';
|
|
9
9
|
import { ReturnReceiptComponent } from '../chatlib/conversation-detail/message/return-receipt/return-receipt.component';
|
|
@@ -33,9 +33,6 @@ import { MarkedPipe } from 'src/app/directives/marked.pipe';
|
|
|
33
33
|
import { AutofocusDirective } from 'src/app/directives/autofocus.directive';
|
|
34
34
|
import { HtmlEntitiesEncodePipe } from 'src/app/directives/html-entities-encode.pipe';
|
|
35
35
|
import { IonConversationDetailComponent } from 'src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component';
|
|
36
|
-
import { BubbleMyMessageComponent } from 'src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component';
|
|
37
|
-
import { BubbleDayMessageComponent } from 'src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component';
|
|
38
|
-
import { BubbleSystemMessageComponent } from 'src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component';
|
|
39
36
|
import { InfoContentComponent } from 'src/app/components/conversation-info/info-content/info-content.component';
|
|
40
37
|
import { InfoSupportGroupComponent } from 'src/app/components/conversation-info/info-support-group/info-support-group.component';
|
|
41
38
|
import { InfoDirectComponent } from 'src/app/components/conversation-info/info-direct/info-direct.component';
|
|
@@ -65,6 +62,7 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
|
65
62
|
ListConversationsComponent,
|
|
66
63
|
IonListConversationsComponent,
|
|
67
64
|
ImageViewerComponent,
|
|
65
|
+
NavbarComponent,
|
|
68
66
|
SidebarComponent,
|
|
69
67
|
SidebarUserDetailsComponent,
|
|
70
68
|
ProjectItemComponent,
|
|
@@ -82,10 +80,6 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
|
82
80
|
ReturnReceiptComponent,
|
|
83
81
|
TextComponent,
|
|
84
82
|
HtmlComponent,
|
|
85
|
-
BubbleDayMessageComponent,
|
|
86
|
-
BubbleSystemMessageComponent,
|
|
87
|
-
BubbleMyMessageComponent,
|
|
88
|
-
BubbleOthersMessageComponent,
|
|
89
83
|
InfoContentComponent,
|
|
90
84
|
InfoSupportGroupComponent,
|
|
91
85
|
InfoDirectComponent,
|
|
@@ -104,6 +98,7 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
|
104
98
|
AvatarProfileComponent,
|
|
105
99
|
HeaderConversationsList,
|
|
106
100
|
ImageViewerComponent,
|
|
101
|
+
NavbarComponent,
|
|
107
102
|
SidebarComponent,
|
|
108
103
|
SidebarUserDetailsComponent,
|
|
109
104
|
ProjectItemComponent,
|
|
@@ -123,10 +118,6 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
|
123
118
|
InfoMessageComponent,
|
|
124
119
|
ReturnReceiptComponent,
|
|
125
120
|
TextComponent,
|
|
126
|
-
BubbleDayMessageComponent,
|
|
127
|
-
BubbleSystemMessageComponent,
|
|
128
|
-
BubbleMyMessageComponent,
|
|
129
|
-
BubbleOthersMessageComponent,
|
|
130
121
|
InfoContentComponent,
|
|
131
122
|
InfoSupportGroupComponent,
|
|
132
123
|
InfoDirectComponent,
|
package/src/assets/i18n/ar.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "الدردشة مغلقة",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"تحديث الرصاص",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"تمت إزالته من المجموعة",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"وقد غادر المحادثة",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "تم تعيين طلب دعم جديد لك",
|
|
75
75
|
"LABEL_PROFILE": "الملف الشخصي",
|
|
76
76
|
"LABEL_CLOSE": "مغلق",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "الاسم الأول للوكيل",
|
|
269
269
|
"EnterCannedResponseTitle": "أدخل عنوان الرد الجاهز",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "اكتب رسالة رد جاهزة لإرسالها إلى الزائرين",
|
|
271
|
-
"EditProfile": "تعديل الملف الشخصي"
|
|
271
|
+
"EditProfile": "تعديل الملف الشخصي",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"محاكاة الزائر",
|
|
274
|
+
"PROJECT_SETTINGS":"إعدادات المشروع",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"عرض جميع المشاريع",
|
|
276
|
+
"ADD_PROJECT":"أضف المشروع",
|
|
277
|
+
"RECENT_PROJECTS":"مشاريع حديثه",
|
|
278
|
+
"OTHER_PROJECTS":"مشاريع أخرى"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/az.json
CHANGED
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Agentin adı",
|
|
269
269
|
"EnterCannedResponseTitle": "Hazır cavab başlığını daxil edin",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Ziyarətçilərinizə göndərmək üçün konservləşdirilmiş cavab mesajı yazın",
|
|
271
|
-
"EditProfile": "Profilə düzəliş et"
|
|
271
|
+
"EditProfile": "Profilə düzəliş et",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Ziyarətçini simulyasiya edin",
|
|
274
|
+
"PROJECT_SETTINGS":"Layihə parametrləri",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Bütün layihələrə baxın",
|
|
276
|
+
"ADD_PROJECT":"Layihə əlavə edin",
|
|
277
|
+
"RECENT_PROJECTS":"Son layihələr",
|
|
278
|
+
"OTHER_PROJECTS":"Digər layihələr"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/de.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat geschlossen",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"Leitung aktualisiert",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"aus der Gruppe entfernt",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"hat die Unterhaltung verlassen",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Ihnen wurde eine neue Support-Anfrage zugewiesen",
|
|
75
75
|
"LABEL_PROFILE": "Profil",
|
|
76
76
|
"LABEL_CLOSE": "Abgeschlossen",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Vorname des Betreuers",
|
|
269
269
|
"EnterCannedResponseTitle": "Titel der Vordefinierten Anfrage eingeben",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Verfassen Sie eine vordefinierte Antwort für Ihre Besucher",
|
|
271
|
-
"EditProfile": "Profil bearbeiten"
|
|
271
|
+
"EditProfile": "Profil bearbeiten",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Besucher simulieren",
|
|
274
|
+
"PROJECT_SETTINGS":"Projekt Einstellungen",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Alle Projekte anzeigen",
|
|
276
|
+
"ADD_PROJECT":"Projekt hinzufügen",
|
|
277
|
+
"RECENT_PROJECTS":"Letzte Projekte",
|
|
278
|
+
"OTHER_PROJECTS":"Weitere Projekte"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat closed",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"Lead updated",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"removed from group",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"has left the
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"has left the conversation",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "A new support request has been assigned to you",
|
|
75
75
|
"LABEL_PROFILE": "Profile",
|
|
76
76
|
"LABEL_CLOSE": "Closed",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "First name of agent",
|
|
269
269
|
"EnterCannedResponseTitle": "Enter canned response title",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Write a canned response message to send to your visitors",
|
|
271
|
-
"EditProfile": "Edit profile"
|
|
271
|
+
"EditProfile": "Edit profile",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Simulate visitor",
|
|
274
|
+
"PROJECT_SETTINGS":"Project settings",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"View all projects",
|
|
276
|
+
"ADD_PROJECT":"Add project",
|
|
277
|
+
"RECENT_PROJECTS":"Recent projects",
|
|
278
|
+
"OTHER_PROJECTS":"Other projects"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/es.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat cerrado",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"Cliente potencial actualizado",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"eliminado del grupo",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"ha abandonado la conversación",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU":"Se le ha asignado una nueva solicitud de soporte",
|
|
75
75
|
"LABEL_PROFILE": "Perfil",
|
|
76
76
|
"LABEL_CLOSE": "Cerrado",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Nombre del agente",
|
|
269
269
|
"EnterCannedResponseTitle": "Introduzca el título de la respuesta predefinida",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Escribe un mensaje de respuesta enlatado para enviar a tus visitantes",
|
|
271
|
-
"EditProfile": "Editar perfil"
|
|
271
|
+
"EditProfile": "Editar perfil",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Simular visitante",
|
|
274
|
+
"PROJECT_SETTINGS":"Configuración del proyecto",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Ver todos los proyectos",
|
|
276
|
+
"ADD_PROJECT":"Agregar proyecto",
|
|
277
|
+
"RECENT_PROJECTS":"Proyectos recientes",
|
|
278
|
+
"OTHER_PROJECTS":"Otros proyectos"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Prénom du mandataire",
|
|
269
269
|
"EnterCannedResponseTitle": "Saisissez le titre de la réponse standardisée",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Rédigez un message de réponse standardisé à envoyer à vos visiteurs",
|
|
271
|
-
"EditProfile": "Editer le profil"
|
|
271
|
+
"EditProfile": "Editer le profil",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Simuler un visiteur",
|
|
274
|
+
"PROJECT_SETTINGS":"Paramètres du projet",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Voir tous les projets",
|
|
276
|
+
"ADD_PROJECT":"Ajouter un projet",
|
|
277
|
+
"RECENT_PROJECTS":"Les projets récents",
|
|
278
|
+
"OTHER_PROJECTS":"Autres projets"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/it.json
CHANGED
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Nome dell'agente",
|
|
269
269
|
"EnterCannedResponseTitle": "Inserisci il titolo della risposta predefinita",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Scrivi un messaggio di risposta predefinito da inviare ai tuoi visitatori",
|
|
271
|
-
"EditProfile": "Cambia profilo"
|
|
271
|
+
"EditProfile": "Cambia profilo",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Simula visitatore",
|
|
274
|
+
"PROJECT_SETTINGS":"Impostazioni progetto",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Visualizza tutti i progetti",
|
|
276
|
+
"ADD_PROJECT":"Aggiungi progetto",
|
|
277
|
+
"RECENT_PROJECTS":"Progetti recenti",
|
|
278
|
+
"OTHER_PROJECTS":"Altri progetti"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/kk.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат жабылды",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"Жетекші жаңартылды",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"топтан шығарылды",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"әңгімеден шығып кетті",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Сізге жаңа қолдау сұрауы тағайындалды",
|
|
75
75
|
"LABEL_PROFILE": "Профиль",
|
|
76
76
|
"LABEL_CLOSE": "Жабық",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Агенттің аты-жөні",
|
|
269
269
|
"EnterCannedResponseTitle": "Сақталған жауап тақырыбын енгізіңіз",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Келушілеріңізге жіберу үшін консервіленген жауап хабарын жазыңыз",
|
|
271
|
-
"EditProfile": "Профильді өңдеу"
|
|
271
|
+
"EditProfile": "Профильді өңдеу",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Келушіге ұқсаңыз",
|
|
274
|
+
"PROJECT_SETTINGS":"Жоба параметрлері",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Барлық жобаларды көру",
|
|
276
|
+
"ADD_PROJECT":"Жоба қосу",
|
|
277
|
+
"RECENT_PROJECTS":"Соңғы жобалар",
|
|
278
|
+
"OTHER_PROJECTS":"Басқа жобалар"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/pt.json
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"INFO_SUPPORT_CHAT_CLOSED": "Bate-papo fechado",
|
|
71
71
|
"INFO_SUPPORT_LEAD_UPDATED":"Lead atualizado",
|
|
72
72
|
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"removido do grupo",
|
|
73
|
-
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"
|
|
73
|
+
"INFO_SUPPORT_MEMBER_ABANDONED_GROUP":"deixou a conversa",
|
|
74
74
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Uma nova solicitação de suporte foi atribuída a você",
|
|
75
75
|
"LABEL_PROFILE": "Perfil",
|
|
76
76
|
"LABEL_CLOSE": "Fechadas",
|
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Nome do agente",
|
|
269
269
|
"EnterCannedResponseTitle": "Insira o título da resposta predeterminada",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Escreva uma mensagem de resposta pronta para enviar aos seus visitantes",
|
|
271
|
-
"EditProfile": "Editar Perfil"
|
|
271
|
+
"EditProfile": "Editar Perfil",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Simular visitante",
|
|
274
|
+
"PROJECT_SETTINGS":"Configurações do projeto",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Ver todos os projetos",
|
|
276
|
+
"ADD_PROJECT":"Adicionar projeto",
|
|
277
|
+
"RECENT_PROJECTS":"Projetos Recentes",
|
|
278
|
+
"OTHER_PROJECTS":"Outros projetos"
|
|
279
|
+
}
|
|
272
280
|
}
|
package/src/assets/i18n/ru.json
CHANGED
|
@@ -268,5 +268,13 @@
|
|
|
268
268
|
"First_name_of_agent": "Имя агента",
|
|
269
269
|
"EnterCannedResponseTitle": "Введите готовый заголовок ответа",
|
|
270
270
|
"WriteMsgToSendToYourVisitors": "Напишите готовое ответное сообщение для отправки своим посетителям",
|
|
271
|
-
"EditProfile": "Редактировать профиль"
|
|
271
|
+
"EditProfile": "Редактировать профиль",
|
|
272
|
+
"NAVBAR":{
|
|
273
|
+
"SIMULATE_VISITOR":"Имитация посетителя",
|
|
274
|
+
"PROJECT_SETTINGS":"Настройки проекта",
|
|
275
|
+
"VIEW_ALL_PROJECTS":"Посмотреть все проекты",
|
|
276
|
+
"ADD_PROJECT":"Добавить проект",
|
|
277
|
+
"RECENT_PROJECTS":"Недавние Проекты",
|
|
278
|
+
"OTHER_PROJECTS":"Другие проекты"
|
|
279
|
+
}
|
|
272
280
|
}
|