@chat21/chat21-ionic 3.0.5-9.2 → 3.0.6-2.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 +202 -0
- package/LICENSE +661 -21
- package/README.md +13 -1
- package/angular.json +4 -0
- package/config.xml +4 -5
- package/deploy_pre.sh +44 -5
- package/deploy_prod.sh +36 -7
- package/env.sample +4 -2
- package/package.json +12 -8
- package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash.png +0 -0
- package/src/app/app-routing.module.ts +15 -0
- package/src/app/app.component.html +14 -4
- package/src/app/app.component.scss +18 -1
- package/src/app/app.component.ts +98 -37
- package/src/app/app.module.ts +14 -5
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -25
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +160 -50
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +108 -18
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +21 -36
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +19 -7
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +63 -42
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +141 -21
- package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.ts +13 -10
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +7 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +148 -63
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +101 -39
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +73 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +168 -98
- package/src/app/components/ddp-header/ddp-header.component.html +20 -6
- package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
- package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
- package/src/app/components/image-viewer/image-viewer.component.scss +2 -2
- package/src/app/components/project-item/project-item.component.html +141 -118
- package/src/app/components/project-item/project-item.component.scss +173 -91
- package/src/app/components/project-item/project-item.component.ts +59 -25
- package/src/app/components/sidebar/sidebar.component.html +275 -0
- package/src/app/components/sidebar/sidebar.component.scss +79 -0
- package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
- package/src/app/components/sidebar/sidebar.component.ts +541 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +137 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +389 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +530 -0
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +9 -2
- package/src/app/pages/conversation-detail/conversation-detail.page.html +53 -49
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +1254 -753
- package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
- package/src/app/pages/conversations-list/conversations-list.page.html +24 -11
- package/src/app/pages/conversations-list/conversations-list.page.scss +20 -1
- package/src/app/pages/conversations-list/conversations-list.page.ts +687 -420
- package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
- package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
- package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
- package/src/app/pages/create-requester/create-requester.module.ts +28 -0
- package/src/app/pages/create-requester/create-requester.page.html +67 -0
- package/src/app/pages/create-requester/create-requester.page.scss +30 -0
- package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
- package/src/app/pages/create-requester/create-requester.page.ts +138 -0
- package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
- package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
- package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
- package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
- package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
- package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
- package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
- package/src/app/pages/profile-info/profile-info.page.html +4 -4
- package/src/app/pages/profile-info/profile-info.page.scss +13 -2
- package/src/app/pages/profile-info/profile-info.page.ts +23 -21
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +16 -11
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +157 -63
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +51 -16
- package/src/app/services/app-config.ts +14 -14
- package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
- package/src/app/shared/shared.module.ts +21 -7
- package/src/app/utils/scrollbar-theme.directive.ts +58 -24
- package/src/assets/i18n/de.json +266 -0
- package/src/assets/i18n/en.json +85 -10
- package/src/assets/i18n/es.json +266 -0
- package/src/assets/i18n/fr.json +266 -0
- package/src/assets/i18n/it.json +104 -37
- package/src/assets/i18n/pt.json +266 -0
- package/src/assets/i18n/ru.json +266 -0
- package/src/assets/i18n/sr.json +266 -0
- package/src/assets/i18n/tr.json +266 -0
- package/src/assets/images/default-avatar-x-select.png +0 -0
- package/src/assets/images/language_flag/ar.png +0 -0
- package/src/assets/images/language_flag/bg.png +0 -0
- package/src/assets/images/language_flag/ca.png +0 -0
- package/src/assets/images/language_flag/cs.png +0 -0
- package/src/assets/images/language_flag/da.png +0 -0
- package/src/assets/images/language_flag/de.png +0 -0
- package/src/assets/images/language_flag/el.png +0 -0
- package/src/assets/images/language_flag/en.png +0 -0
- package/src/assets/images/language_flag/es.png +0 -0
- package/src/assets/images/language_flag/fa.png +0 -0
- package/src/assets/images/language_flag/fi.png +0 -0
- package/src/assets/images/language_flag/fr.png +0 -0
- package/src/assets/images/language_flag/he.png +0 -0
- package/src/assets/images/language_flag/hi.png +0 -0
- package/src/assets/images/language_flag/hr.png +0 -0
- package/src/assets/images/language_flag/hu.png +0 -0
- package/src/assets/images/language_flag/id.png +0 -0
- package/src/assets/images/language_flag/it.png +0 -0
- package/src/assets/images/language_flag/ja.png +0 -0
- package/src/assets/images/language_flag/ko.png +0 -0
- package/src/assets/images/language_flag/ml-IN.png +0 -0
- package/src/assets/images/language_flag/ne-NP.png +0 -0
- package/src/assets/images/language_flag/nl.png +0 -0
- package/src/assets/images/language_flag/no.png +0 -0
- package/src/assets/images/language_flag/pl.png +0 -0
- package/src/assets/images/language_flag/pt-BR.png +0 -0
- package/src/assets/images/language_flag/pt.png +0 -0
- package/src/assets/images/language_flag/ro.png +0 -0
- package/src/assets/images/language_flag/ru.png +0 -0
- package/src/assets/images/language_flag/sk.png +0 -0
- package/src/assets/images/language_flag/sl.png +0 -0
- package/src/assets/images/language_flag/sr.png +0 -0
- package/src/assets/images/language_flag/sv-SE.png +0 -0
- package/src/assets/images/language_flag/ta.png +0 -0
- package/src/assets/images/language_flag/th.png +0 -0
- package/src/assets/images/language_flag/tr.png +0 -0
- package/src/assets/images/language_flag/uk.png +0 -0
- package/src/assets/images/language_flag/vi.png +0 -0
- package/src/assets/images/language_flag/zh-CN.png +0 -0
- package/src/assets/images/language_flag/zh-TW.png +0 -0
- package/src/assets/images/no_image_user.png +0 -0
- package/src/assets/images/priority_icons/high.svg +3 -0
- package/src/assets/images/priority_icons/high_v2.svg +14 -0
- package/src/assets/images/priority_icons/low.svg +10 -0
- package/src/assets/images/priority_icons/low_v2.svg +14 -0
- package/src/assets/images/priority_icons/medium.svg +16 -0
- package/src/assets/images/priority_icons/medium_v2.svg +11 -0
- package/src/assets/images/priority_icons/urgent.svg +4 -0
- package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
- package/src/assets/js/chat21client.js +16 -3
- package/src/assets/tiledesk-solo-logo.png +0 -0
- package/src/chat-config-mqtt.json +27 -17
- package/src/chat-config-pre-test.json +5 -1
- package/src/chat-config-pre.json +15 -3
- package/src/chat-config-template.json +6 -2
- package/src/chat-config.json +5 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +61 -45
- package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +23 -0
- package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +1 -1
- package/src/chat21-core/utils/constants.ts +8 -1
- package/src/chat21-core/utils/utils-message.ts +19 -0
- package/src/chat21-core/utils/utils.ts +12 -1
- package/src/global.scss +408 -2
- package/src/index.html +7 -0
- package/publish_pre.sh +0 -33
- package/publish_prod.sh +0 -33
package/src/app/app.component.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { URL_SOUND_LIST_CONVERSATION } from './../chat21-core/utils/constants';
|
|
1
|
+
import { tranlatedLanguage, URL_SOUND_LIST_CONVERSATION } from './../chat21-core/utils/constants';
|
|
2
2
|
import { ArchivedConversationsHandlerService } from 'src/chat21-core/providers/abstract/archivedconversations-handler.service';
|
|
3
3
|
import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
|
|
4
4
|
|
|
@@ -58,6 +58,7 @@ import * as PACKAGE from 'package.json';
|
|
|
58
58
|
import { filter } from 'rxjs/operators'
|
|
59
59
|
import { WebSocketJs } from './services/websocket/websocket-js';
|
|
60
60
|
import { Location } from '@angular/common'
|
|
61
|
+
|
|
61
62
|
// import { filter } from 'rxjs/operators';
|
|
62
63
|
|
|
63
64
|
@Component({
|
|
@@ -77,7 +78,7 @@ export class AppComponent implements OnInit {
|
|
|
77
78
|
public sidebarPage: any;
|
|
78
79
|
public notificationsEnabled: boolean;
|
|
79
80
|
public zone: NgZone;
|
|
80
|
-
|
|
81
|
+
public platformIs: string;
|
|
81
82
|
private doitResize: any;
|
|
82
83
|
private timeModalLogin: any;
|
|
83
84
|
public tenant: string;
|
|
@@ -98,7 +99,9 @@ export class AppComponent implements OnInit {
|
|
|
98
99
|
public missingConnectionToast: any
|
|
99
100
|
public executedInitializeAppByWatchConnection: boolean = false;
|
|
100
101
|
private version: string;
|
|
101
|
-
|
|
102
|
+
IS_ONLINE: boolean;
|
|
103
|
+
IS_ON_MOBILE_DEVICE: boolean;
|
|
104
|
+
SUPPORT_MODE: boolean;
|
|
102
105
|
// private isOnline: boolean = false;
|
|
103
106
|
|
|
104
107
|
wsService: WebSocketJs;
|
|
@@ -145,11 +148,20 @@ export class AppComponent implements OnInit {
|
|
|
145
148
|
|
|
146
149
|
this.saveInStorageNumberOfOpenedChatTab();
|
|
147
150
|
this.listenChatAlreadyOpenWithoutParamsInMobileMode()
|
|
148
|
-
|
|
151
|
+
this.isOnMobileDevice()
|
|
149
152
|
// this.listenToUrlChanges();
|
|
150
153
|
// this.getPageState();
|
|
151
154
|
}
|
|
152
155
|
|
|
156
|
+
isOnMobileDevice() {
|
|
157
|
+
this.IS_ON_MOBILE_DEVICE = false;
|
|
158
|
+
if (/Android|iPhone/i.test(window.navigator.userAgent)) {
|
|
159
|
+
this.IS_ON_MOBILE_DEVICE = true;
|
|
160
|
+
}
|
|
161
|
+
this.logger.log('[APP-COMP] IS_ON_MOBILE_DEVICE', this.IS_ON_MOBILE_DEVICE)
|
|
162
|
+
return this.IS_ON_MOBILE_DEVICE;
|
|
163
|
+
}
|
|
164
|
+
|
|
153
165
|
|
|
154
166
|
|
|
155
167
|
listenChatAlreadyOpenWithoutParamsInMobileMode() {
|
|
@@ -256,7 +268,7 @@ export class AppComponent implements OnInit {
|
|
|
256
268
|
|
|
257
269
|
|
|
258
270
|
saveInStorageNumberOfOpenedChatTab() {
|
|
259
|
-
this.logger.log('Calling saveInStorageChatOpenedTab!');
|
|
271
|
+
// this.logger.log('Calling saveInStorageChatOpenedTab!');
|
|
260
272
|
|
|
261
273
|
// https://jsfiddle.net/jjjs5wd3/3/å
|
|
262
274
|
if (+localStorage.tabCount > 0) {
|
|
@@ -286,6 +298,14 @@ export class AppComponent implements OnInit {
|
|
|
286
298
|
*/
|
|
287
299
|
ngOnInit() {
|
|
288
300
|
const appconfig = this.appConfigProvider.getConfig();
|
|
301
|
+
this.logger.log('[APP-COMP] ngOnInit appconfig', appconfig)
|
|
302
|
+
if (appconfig && appconfig.supportMode && (appconfig.supportMode === true || appconfig.supportMode === 'true' )) {
|
|
303
|
+
this.SUPPORT_MODE = true;
|
|
304
|
+
this.logger.log('[APP-COMP] appconfig > SUPPORT_MODE', this.SUPPORT_MODE)
|
|
305
|
+
} else {
|
|
306
|
+
this.SUPPORT_MODE = false;
|
|
307
|
+
this.logger.log('[APP-COMP] appconfig > SUPPORT_MODE', this.SUPPORT_MODE)
|
|
308
|
+
}
|
|
289
309
|
this.persistence = appconfig.authPersistence;
|
|
290
310
|
this.appStorageService.initialize(environment.storage_prefix, this.persistence, '')
|
|
291
311
|
// this.logger.log('[APP-COMP] HELLO ngOnInit !!!!!!!')
|
|
@@ -416,9 +436,9 @@ export class AppComponent implements OnInit {
|
|
|
416
436
|
// this.logger.log('[APP-COMP] - X - initializeApp !!! CALLED-BY: ', calledby);
|
|
417
437
|
// console.log('[APP-COMP] appconfig platform is cordova: ', this.platform.is('cordova'))
|
|
418
438
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
439
|
+
if (!this.platform.is('desktop')) {
|
|
440
|
+
this.splashScreen.show();
|
|
441
|
+
}
|
|
422
442
|
this.tabTitle = document.title;
|
|
423
443
|
|
|
424
444
|
this.getRouteParamsAndSetLoggerConfig();
|
|
@@ -443,11 +463,11 @@ export class AppComponent implements OnInit {
|
|
|
443
463
|
// console.log("Check platform");
|
|
444
464
|
this.getPlatformName();
|
|
445
465
|
|
|
446
|
-
this.setLanguage();
|
|
466
|
+
// this.setLanguage();
|
|
447
467
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
468
|
+
if (this.splashScreen) {
|
|
469
|
+
this.splashScreen.hide();
|
|
470
|
+
}
|
|
451
471
|
this.statusBar.styleDefault();
|
|
452
472
|
this.navService.init(this.sidebarNav, this.detailNav);
|
|
453
473
|
// this.persistence = appconfig.authPersistence;
|
|
@@ -521,19 +541,53 @@ export class AppComponent implements OnInit {
|
|
|
521
541
|
}
|
|
522
542
|
|
|
523
543
|
/** */
|
|
524
|
-
setLanguage() {
|
|
525
|
-
this.
|
|
526
|
-
this.
|
|
527
|
-
|
|
528
|
-
let
|
|
529
|
-
if (
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
544
|
+
setLanguage(currentUser) {
|
|
545
|
+
// const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
|
|
546
|
+
this.logger.log('[APP-COMP] - setLanguage current_user uid: ', currentUser);
|
|
547
|
+
|
|
548
|
+
let currentUserId = ''
|
|
549
|
+
if (currentUser) {
|
|
550
|
+
currentUserId = currentUser.uid;
|
|
551
|
+
this.logger.log('[APP-COMP] - setLanguage current_user uid: ', currentUserId);
|
|
552
|
+
}
|
|
553
|
+
// this.translate.setDefaultLang('en');
|
|
554
|
+
// this.translate.use('en');
|
|
555
|
+
|
|
556
|
+
const browserLang = this.translate.getBrowserLang();
|
|
557
|
+
this.logger.log('[APP-COMP] browserLang: ', browserLang);
|
|
558
|
+
const stored_preferred_lang = localStorage.getItem(currentUserId + '_lang');
|
|
559
|
+
this.logger.log('[APP-COMP] stored_preferred_lang: ', stored_preferred_lang);
|
|
560
|
+
|
|
561
|
+
let chat_lang = ''
|
|
562
|
+
if (browserLang && !stored_preferred_lang) {
|
|
563
|
+
chat_lang = browserLang
|
|
564
|
+
} else if (browserLang && stored_preferred_lang) {
|
|
565
|
+
chat_lang = stored_preferred_lang
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
this.logger.log('[APP-COMP] - chat_lang', chat_lang)
|
|
569
|
+
|
|
570
|
+
if (tranlatedLanguage.includes(chat_lang)) {
|
|
571
|
+
this.logger.log('[APP-COMP] tranlatedLanguage includes',chat_lang , ': ', tranlatedLanguage.includes(chat_lang))
|
|
572
|
+
this.translate.setDefaultLang(chat_lang)
|
|
573
|
+
this.translate.use(chat_lang);
|
|
535
574
|
}
|
|
536
|
-
|
|
575
|
+
else {
|
|
576
|
+
this.logger.log('[APP-COMP] tranlatedLanguage includes',chat_lang , ': ', tranlatedLanguage.includes(chat_lang))
|
|
577
|
+
this.translate.setDefaultLang('en');
|
|
578
|
+
this.translate.use('en');
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
// this.logger.debug('[APP-COMP] navigator.language: ', navigator.language);
|
|
582
|
+
// let language;
|
|
583
|
+
// if (navigator.language.indexOf('-') !== -1) {
|
|
584
|
+
// language = navigator.language.substring(0, navigator.language.indexOf('-'));
|
|
585
|
+
// } else if (navigator.language.indexOf('_') !== -1) {
|
|
586
|
+
// language = navigator.language.substring(0, navigator.language.indexOf('_'));
|
|
587
|
+
// } else {
|
|
588
|
+
// language = navigator.language;
|
|
589
|
+
// }
|
|
590
|
+
// this.translate.use(language);
|
|
537
591
|
}
|
|
538
592
|
|
|
539
593
|
|
|
@@ -624,7 +678,7 @@ export class AppComponent implements OnInit {
|
|
|
624
678
|
})
|
|
625
679
|
} else {
|
|
626
680
|
this.logger.warn('[APP-COMP] >>> I AM NOT LOGGED IN <<<')
|
|
627
|
-
|
|
681
|
+
this.IS_ONLINE = false;
|
|
628
682
|
// clearTimeout(this.timeModalLogin);
|
|
629
683
|
// this.timeModalLogin = setTimeout(() => {
|
|
630
684
|
if (!this.hadBeenCalledOpenModal) {
|
|
@@ -670,6 +724,7 @@ export class AppComponent implements OnInit {
|
|
|
670
724
|
|
|
671
725
|
this.logger.log('[APP-COMP] checkPlatformIsMobile', checkPlatformIsMobile());
|
|
672
726
|
this.platformIs = PLATFORM_MOBILE;
|
|
727
|
+
this.logger.log('[APP-COMP] this.platformIs', this.platformIs);
|
|
673
728
|
const IDConv = this.route.snapshot.firstChild.paramMap.get('IDConv');
|
|
674
729
|
|
|
675
730
|
// console.log('[APP-COMP] platformIs', this.platformIs);
|
|
@@ -683,7 +738,7 @@ export class AppComponent implements OnInit {
|
|
|
683
738
|
this.chatManager.startApp();
|
|
684
739
|
this.logger.log('[APP-COMP] checkPlatformIsMobile', checkPlatformIsMobile());
|
|
685
740
|
this.platformIs = PLATFORM_DESKTOP;
|
|
686
|
-
|
|
741
|
+
this.logger.log('[APP-COMP] platformIs', this.platformIs);
|
|
687
742
|
// console.log('[APP-COMP] PLATFORM', PLATFORM_DESKTOP, 'route.snapshot', this.route.snapshot);
|
|
688
743
|
this.logger.log('[APP-COMP] PLATFORM_DESKTOP ', this.navService);
|
|
689
744
|
|
|
@@ -699,8 +754,8 @@ export class AppComponent implements OnInit {
|
|
|
699
754
|
if (IDConv && FullNameConv) {
|
|
700
755
|
pageUrl += IDConv + '/' + FullNameConv + '/' + Convtype
|
|
701
756
|
}
|
|
702
|
-
|
|
703
|
-
this.router.navigateByUrl(pageUrl);
|
|
757
|
+
// replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
|
|
758
|
+
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'));
|
|
704
759
|
|
|
705
760
|
|
|
706
761
|
// const DASHBOARD_URL = this.appConfigProvider.getConfig().DASHBOARD_URL;
|
|
@@ -802,15 +857,19 @@ export class AppComponent implements OnInit {
|
|
|
802
857
|
.pipe(filter((state) => state !== null))
|
|
803
858
|
.subscribe((state: any) => {
|
|
804
859
|
this.logger.log('initialize FROM [APP-COMP] - [APP-COMP] ***** BSAuthStateChanged state', state);
|
|
805
|
-
|
|
860
|
+
|
|
806
861
|
if (state && state === AUTH_STATE_ONLINE) {
|
|
807
862
|
// const user = this.tiledeskAuthService.getCurrentUser();
|
|
808
863
|
// if (this.isOnline === false) {
|
|
809
864
|
// if (AUTH_STATE_ONLINE) {
|
|
865
|
+
this.IS_ONLINE = true;
|
|
866
|
+
// console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
810
867
|
this.goOnLine();
|
|
811
868
|
// }
|
|
812
869
|
} else if (state === AUTH_STATE_OFFLINE) {
|
|
813
870
|
// this.checkTokenAndGoOffline() //se c'è un tiledeskToken salvato, allora aspetta, altrimenti vai offline
|
|
871
|
+
this.IS_ONLINE = false;
|
|
872
|
+
// console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
814
873
|
this.goOffLine()
|
|
815
874
|
}
|
|
816
875
|
}, error => {
|
|
@@ -848,12 +907,12 @@ export class AppComponent implements OnInit {
|
|
|
848
907
|
}
|
|
849
908
|
|
|
850
909
|
/**
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
910
|
+
* goOnLine:
|
|
911
|
+
* 1 - nascondo splashscreen
|
|
912
|
+
* 2 - recupero il tiledeskToken e lo salvo in chat manager
|
|
913
|
+
* 3 - carico in d
|
|
914
|
+
* @param user
|
|
915
|
+
*/
|
|
857
916
|
goOnLine = () => {
|
|
858
917
|
this.logger.log('[APP-COMP]- GO-ONLINE ');
|
|
859
918
|
// this.isOnline = true;
|
|
@@ -868,6 +927,7 @@ export class AppComponent implements OnInit {
|
|
|
868
927
|
// }
|
|
869
928
|
this.events.publish('go:online', true);
|
|
870
929
|
const currentUser = this.tiledeskAuthService.getCurrentUser();
|
|
930
|
+
this.setLanguage(currentUser);
|
|
871
931
|
// this.logger.printDebug('APP-COMP - goOnLine****', currentUser);
|
|
872
932
|
this.logger.log('[APP-COMP] - GO-ONLINE - currentUser ', currentUser);
|
|
873
933
|
this.chatManager.setTiledeskToken(tiledeskToken);
|
|
@@ -907,7 +967,7 @@ export class AppComponent implements OnInit {
|
|
|
907
967
|
const supportmode = this.appConfigProvider.getConfig().supportMode;
|
|
908
968
|
this.logger.log('[APP-COMP] - GO-OFFINE - supportmode ', supportmode);
|
|
909
969
|
if (supportmode === true) {
|
|
910
|
-
|
|
970
|
+
this.webSocketClose()
|
|
911
971
|
}
|
|
912
972
|
// this.isOnline = false;
|
|
913
973
|
// this.conversationsHandlerService.conversations = [];
|
|
@@ -947,6 +1007,7 @@ export class AppComponent implements OnInit {
|
|
|
947
1007
|
let platformIsNow = PLATFORM_DESKTOP;
|
|
948
1008
|
if (checkPlatformIsMobile()) {
|
|
949
1009
|
platformIsNow = PLATFORM_MOBILE;
|
|
1010
|
+
this.logger.log('onResize platformIsNow ', platformIsNow)
|
|
950
1011
|
}
|
|
951
1012
|
if (!this.platformIs || this.platformIs === '') {
|
|
952
1013
|
this.platformIs = platformIsNow;
|
|
@@ -1088,7 +1149,7 @@ export class AppComponent implements OnInit {
|
|
|
1088
1149
|
}
|
|
1089
1150
|
|
|
1090
1151
|
private initConversationsHandler(userId: string) {
|
|
1091
|
-
const keys = ['YOU'];
|
|
1152
|
+
const keys = ['YOU', 'INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU'];
|
|
1092
1153
|
const translationMap = this.translateService.translateLanguage(keys);
|
|
1093
1154
|
|
|
1094
1155
|
this.logger.log('[APP-COMP] initConversationsHandler ------------->', userId, this.tenant);
|
package/src/app/app.module.ts
CHANGED
|
@@ -82,7 +82,9 @@ import { ConversationListPageModule } from './pages/conversations-list/conversat
|
|
|
82
82
|
import { ConversationDetailPageModule } from './pages/conversation-detail/conversation-detail.module';
|
|
83
83
|
import { LoginPageModule } from './pages/authentication/login/login.module';
|
|
84
84
|
import { LoaderPreviewPageModule } from './pages/loader-preview/loader-preview.module';
|
|
85
|
-
|
|
85
|
+
import { CreateTicketPageModule } from './pages/create-ticket/create-ticket.module';
|
|
86
|
+
import { CreateRequesterPageModule } from './pages/create-requester/create-requester.module';
|
|
87
|
+
import { CreateCannedResponsePageModule } from './pages/create-canned-response/create-canned-response.module';
|
|
86
88
|
// UTILS
|
|
87
89
|
import { ScrollbarThemeModule } from './utils/scrollbar-theme.directive';
|
|
88
90
|
import { SharedModule } from 'src/app/shared/shared.module';
|
|
@@ -90,12 +92,15 @@ import { ConversationInfoModule } from 'src/app/components/conversation-info/con
|
|
|
90
92
|
|
|
91
93
|
|
|
92
94
|
// Directives
|
|
93
|
-
import {
|
|
95
|
+
// import { HtmlEntitiesEncodePipe } from './directives/html-entities-encode.pipe';
|
|
96
|
+
// import { MarkedPipe } from './directives/marked.pipe';
|
|
97
|
+
|
|
94
98
|
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
95
99
|
import { Network } from '@ionic-native/network/ngx';
|
|
96
100
|
import { ConnectionService } from 'ng-connection-service';
|
|
97
101
|
import { WebSocketJs } from './services/websocket/websocket-js';
|
|
98
102
|
import { UnassignedConversationsPageModule } from './pages/unassigned-conversations/unassigned-conversations.module';
|
|
103
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
99
104
|
|
|
100
105
|
// FACTORIES
|
|
101
106
|
export function createTranslateLoader(http: HttpClient) {
|
|
@@ -114,7 +119,7 @@ export function authenticationFactory(http: HttpClient, appConfig: AppConfigProv
|
|
|
114
119
|
|
|
115
120
|
auth.setBaseUrl(appConfig.getConfig().apiUrl);
|
|
116
121
|
|
|
117
|
-
if (config.pushEngine
|
|
122
|
+
if (config.pushEngine === PUSH_ENGINE_MQTT) {
|
|
118
123
|
// FOR PUSH NOTIFICATIONS INIT FIREBASE APP
|
|
119
124
|
FirebaseInitService.initFirebase(config.firebaseConfig);
|
|
120
125
|
}
|
|
@@ -245,12 +250,13 @@ const appInitializerFn = (appConfig: AppConfigProvider, logger: NGXLogger) => {
|
|
|
245
250
|
|
|
246
251
|
@NgModule({
|
|
247
252
|
declarations: [
|
|
248
|
-
AppComponent
|
|
253
|
+
AppComponent
|
|
249
254
|
],
|
|
250
255
|
entryComponents: [
|
|
251
256
|
],
|
|
252
257
|
imports: [
|
|
253
258
|
BrowserModule,
|
|
259
|
+
BrowserAnimationsModule,
|
|
254
260
|
FormsModule,
|
|
255
261
|
ReactiveFormsModule,
|
|
256
262
|
IonicModule.forRoot(),
|
|
@@ -279,7 +285,10 @@ const appInitializerFn = (appConfig: AppConfigProvider, logger: NGXLogger) => {
|
|
|
279
285
|
SharedModule,
|
|
280
286
|
ConversationInfoModule,
|
|
281
287
|
NgxLinkifyjsModule.forRoot(),
|
|
282
|
-
LoaderPreviewPageModule
|
|
288
|
+
LoaderPreviewPageModule,
|
|
289
|
+
CreateTicketPageModule,
|
|
290
|
+
CreateRequesterPageModule,
|
|
291
|
+
CreateCannedResponsePageModule
|
|
283
292
|
],
|
|
284
293
|
bootstrap: [AppComponent],
|
|
285
294
|
|
|
@@ -54,12 +54,23 @@
|
|
|
54
54
|
<!-- ----------------------------------------------------------- -->
|
|
55
55
|
|
|
56
56
|
<div class="conversation-wpr" style="height: 100%;">
|
|
57
|
-
<div *ngFor="let message of messages; let i = index">
|
|
57
|
+
<div *ngFor="let message of messages; let i = index; let first = first; trackBy: trackByFn">
|
|
58
|
+
|
|
59
|
+
<ng-container *ngIf="first || (messages[i - 1].timestamp | date:'d') !== (message.timestamp | date:'d')">
|
|
60
|
+
<div class="long-date-divider-wpr">
|
|
61
|
+
<div class="long-date-divider-border-b"></div>
|
|
62
|
+
<div class="long-date-divider">
|
|
63
|
+
<!-- {{message.timestamp | date: 'longDate' : 'it'}} -->
|
|
64
|
+
{{message.timestamp | amDateFormat:'LL'}}
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
<div class="long-date-divider-border-b"></div>
|
|
68
|
+
</div>
|
|
69
|
+
</ng-container>
|
|
58
70
|
|
|
59
71
|
<div class="align-center" class="ion-text-center" *ngIf="messageType(MESSAGE_TYPE_INFO, message)"
|
|
60
72
|
class="msg_info_container">
|
|
61
|
-
<chat-info-message class="messages"
|
|
62
|
-
[message]="message">
|
|
73
|
+
<chat-info-message class="messages" [message]="message">
|
|
63
74
|
</chat-info-message>
|
|
64
75
|
</div>
|
|
65
76
|
|
|
@@ -67,13 +78,15 @@
|
|
|
67
78
|
<div role="messaggio" *ngIf="messageType(MESSAGE_TYPE_MINE, message)" class="msg_container base_sent">
|
|
68
79
|
|
|
69
80
|
<!--backgroundColor non viene ancora usato -->
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
[ngClass]="{'
|
|
73
|
-
[
|
|
74
|
-
(onBeforeMessageRender)="returnOnBeforeMessageRender($event)"
|
|
75
|
-
(onAfterMessageRender)="returnOnAfterMessageRender($event)"
|
|
76
|
-
|
|
81
|
+
|
|
82
|
+
<chat-bubble-message style="position: relative;"
|
|
83
|
+
[ngClass]="{'has-metadata': (isImage(message) || isFrame(message))}" class="messages msg_sent"
|
|
84
|
+
id="message_msg_sent" [ngClass]="{'button-in-msg' : message.metadata && message.metadata.button}"
|
|
85
|
+
[message]="message" [textColor]="'col-msg-sent'" (onBeforeMessageRender)="returnOnBeforeMessageRender($event)"
|
|
86
|
+
(onAfterMessageRender)="returnOnAfterMessageRender($event)" (onImageRendered)="onImageRenderedFN($event)"
|
|
87
|
+
[addAsCannedResponseTooltipText]="addAsCannedResponseTooltipText" [areVisibleCAR]="areVisibleCAR"
|
|
88
|
+
[support_mode]="support_mode"
|
|
89
|
+
[class.emoticon]="message?.emoticon">
|
|
77
90
|
</chat-bubble-message>
|
|
78
91
|
|
|
79
92
|
<!-- icon status message -->
|
|
@@ -98,32 +111,30 @@
|
|
|
98
111
|
</chat-avatar-image> -->
|
|
99
112
|
|
|
100
113
|
<!--backgroundColor non viene ancora usato -->
|
|
101
|
-
|
|
102
|
-
<chat-bubble-message
|
|
103
|
-
[
|
|
104
|
-
[textColor]="'black'"
|
|
114
|
+
|
|
115
|
+
<chat-bubble-message style="position: relative;"
|
|
116
|
+
[ngClass]="{'has-metadata': (isImage(message) || isFrame(message))}" class="messages msg_receive"
|
|
117
|
+
id="message_msg_receive" [message]="message" [textColor]="'black'"
|
|
105
118
|
(onBeforeMessageRender)="returnOnBeforeMessageRender($event)"
|
|
106
|
-
(onAfterMessageRender)="returnOnAfterMessageRender($event)"
|
|
107
|
-
|
|
119
|
+
(onAfterMessageRender)="returnOnAfterMessageRender($event)" (onImageRendered)="onImageRenderedFN($event)"
|
|
120
|
+
[addAsCannedResponseTooltipText]="addAsCannedResponseTooltipText" [areVisibleCAR]="areVisibleCAR"
|
|
121
|
+
[support_mode]="support_mode"
|
|
122
|
+
[class.emoticon]="message?.emoticon">
|
|
108
123
|
</chat-bubble-message>
|
|
109
124
|
</div>
|
|
110
125
|
|
|
111
126
|
<!-- message type:: button && -->
|
|
112
|
-
<div *ngIf="message?.attributes && message?.attributes?.attachment " class="slide-in-left"
|
|
113
|
-
<chat-message-attachment
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
[isLastMessage] = "isLastMessage(message?.uid)"
|
|
117
|
-
[stylesMap]="stylesMap"
|
|
118
|
-
(onAttachmentButtonClicked)="returnOnAttachmentButtonClicked($event)">
|
|
127
|
+
<div *ngIf="message?.attributes && message?.attributes?.attachment " class="slide-in-left">
|
|
128
|
+
<chat-message-attachment style="height: 100%; display: block;" [message]="message"
|
|
129
|
+
[isLastMessage]="isLastMessage(message?.uid)" [stylesMap]="stylesMap"
|
|
130
|
+
(onAttachmentButtonClicked)="returnOnAttachmentButtonClicked($event)">
|
|
119
131
|
</chat-message-attachment>
|
|
120
132
|
</div>
|
|
121
133
|
</div>
|
|
122
134
|
<!-- (fileType === 'file' && uploadProgress !== 100) -->
|
|
123
135
|
|
|
124
136
|
<!-- uploadProgress -> {{ uploadProgress }} -->
|
|
125
|
-
<div *ngIf="uploadProgress !== 100" class="msg_container base_sent"
|
|
126
|
-
style="margin-right: 20px;">
|
|
137
|
+
<div *ngIf="uploadProgress !== 100" class="msg_container base_sent" style="margin-right: 20px;">
|
|
127
138
|
<div class="messages msg_sent">
|
|
128
139
|
<div class="spinner">
|
|
129
140
|
<div class="bounce1"></div>
|