@chat21/chat21-ionic 3.0.60 → 3.0.61-rc11
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 +75 -0
- package/README.md +2 -0
- package/angular.json +3 -0
- package/config.xml +5 -5
- package/deploy_pre.sh +10 -10
- package/deploy_prod.sh +5 -1
- package/env.sample +3 -1
- package/package.json +12 -7
- 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 +10 -0
- package/src/app/app.component.html +14 -4
- package/src/app/app.component.scss +18 -1
- package/src/app/app.component.ts +50 -16
- package/src/app/app.module.ts +7 -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 +103 -12
- 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 +5 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +147 -65
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -3
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +12 -2
- 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/project-item/project-item.component.html +8 -7
- package/src/app/components/project-item/project-item.component.scss +6 -1
- package/src/app/components/project-item/project-item.component.ts +15 -2
- package/src/app/components/sidebar/sidebar.component.html +274 -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 +493 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +110 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +318 -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 +486 -0
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.html +7 -5
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +1285 -790
- package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
- package/src/app/pages/conversations-list/conversations-list.page.html +18 -9
- package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
- package/src/app/pages/conversations-list/conversations-list.page.ts +753 -428
- 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 +137 -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 +423 -0
- package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
- package/src/app/pages/profile-info/profile-info.page.html +2 -2
- package/src/app/pages/profile-info/profile-info.page.scss +1 -1
- package/src/app/pages/profile-info/profile-info.page.ts +23 -21
- package/src/app/services/tiledesk/tiledesk.service.ts +181 -0
- package/src/app/shared/shared.module.ts +13 -0
- package/src/app/utils/scrollbar-theme.directive.ts +58 -24
- package/src/assets/i18n/de.json +55 -13
- package/src/assets/i18n/en.json +48 -6
- package/src/assets/i18n/es.json +47 -5
- package/src/assets/i18n/fr.json +50 -8
- package/src/assets/i18n/it.json +47 -5
- package/src/assets/i18n/pt.json +47 -5
- package/src/assets/i18n/ru.json +48 -6
- package/src/assets/i18n/sr.json +251 -0
- package/src/assets/i18n/tr.json +47 -5
- 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/tiledesk-solo-logo.png +0 -0
- package/src/chat-config-pre-test.json +3 -1
- package/src/chat-config-template.json +3 -1
- package/src/chat-config.json +4 -2
- package/src/chat21-core/utils/constants.ts +6 -1
- package/src/global.scss +397 -3
- package/src/index.html +7 -0
- package/publish_pre.sh +0 -33
- package/publish_prod.sh +0 -33
package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts
CHANGED
|
@@ -54,6 +54,7 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
54
54
|
@Output() hasClickedOpenCannedResponses = new EventEmitter<boolean>();
|
|
55
55
|
@Output() eventSendMessage = new EventEmitter<object>();
|
|
56
56
|
@Output() onPresentModalScrollToBottom = new EventEmitter<boolean>();
|
|
57
|
+
@Input() disableTextarea: boolean;
|
|
57
58
|
|
|
58
59
|
public conversationEnabled = false;
|
|
59
60
|
public messageString: string;
|
|
@@ -69,6 +70,7 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
69
70
|
public IS_SUPPORT_GROUP_CONVERSATION: boolean;
|
|
70
71
|
|
|
71
72
|
TYPE_MSG_TEXT = TYPE_MSG_TEXT;
|
|
73
|
+
msg : string
|
|
72
74
|
|
|
73
75
|
tooltipOptions = {
|
|
74
76
|
'show-delay': 500,
|
|
@@ -123,6 +125,7 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
123
125
|
// this.SHORTER_TEXAREA_PLACEHOLDER = this.translationMap.get('LABEL_ENTER_MSG_SHORTER')
|
|
124
126
|
|
|
125
127
|
this.TEXAREA_PLACEHOLDER = this.translationMap.get('LABEL_ENTER_MSG_SHORT')
|
|
128
|
+
|
|
126
129
|
}
|
|
127
130
|
|
|
128
131
|
if (this.conversationWith.startsWith("support-group")) {
|
|
@@ -130,7 +133,7 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
130
133
|
} else {
|
|
131
134
|
this.IS_SUPPORT_GROUP_CONVERSATION = false
|
|
132
135
|
}
|
|
133
|
-
|
|
136
|
+
this.logger.log('[CONVS-DETAIL][MSG-TEXT-AREA] ngOnChanges disableTextarea ', this.disableTextarea)
|
|
134
137
|
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] ngOnChanges DROP EVENT ", this.dropEvent);
|
|
135
138
|
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] ngOnChanges tagsCannedFilter ", this.tagsCannedFilter);
|
|
136
139
|
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] ngOnChanges areVisibleCAR; ", this.areVisibleCAR);
|
|
@@ -269,6 +272,8 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
269
272
|
|
|
270
273
|
let content = event.clipboardData.getData('text/plain');
|
|
271
274
|
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] onPaste content ", content);
|
|
275
|
+
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] onPaste this.messageString ", this.messageString);
|
|
276
|
+
this.msg = this.messageString
|
|
272
277
|
setTimeout(() => {
|
|
273
278
|
this.messageString = "";
|
|
274
279
|
}, 100);
|
|
@@ -301,6 +306,11 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
301
306
|
|
|
302
307
|
onFileSelected(e: any) {
|
|
303
308
|
this.logger.log('[CONVS-DETAIL][MSG-TEXT-AREA] - onFileSelected event', e);
|
|
309
|
+
this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] - onFileSelected this.messageString ", this.messageString);
|
|
310
|
+
this.msg = this.messageString
|
|
311
|
+
setTimeout(() => {
|
|
312
|
+
this.messageString = "";
|
|
313
|
+
}, 100);
|
|
304
314
|
this.presentModal(e);
|
|
305
315
|
|
|
306
316
|
}
|
|
@@ -339,7 +349,7 @@ export class MessageTextAreaComponent implements OnInit, AfterViewInit, OnChange
|
|
|
339
349
|
}
|
|
340
350
|
// this.logger.log('presentModal e.target.files.length', e.target.files.length);
|
|
341
351
|
|
|
342
|
-
const attributes = { files: dataFiles, enableBackdropDismiss: false };
|
|
352
|
+
const attributes = { files: dataFiles, enableBackdropDismiss: false , msg: this.msg};
|
|
343
353
|
this.logger.log('[CONVS-DETAIL][MSG-TEXT-AREA] attributes', attributes);
|
|
344
354
|
const modal: HTMLIonModalElement =
|
|
345
355
|
await this.modalController.create({
|
|
@@ -1,24 +1,38 @@
|
|
|
1
|
+
<ion-toolbar style="height:60px" [ngClass]="{'bottom-border-on-mobile':IS_ON_MOBILE_DEVICE === true }">
|
|
1
2
|
|
|
2
|
-
<ion-
|
|
3
|
-
|
|
4
|
-
<ion-buttons slot="start">
|
|
3
|
+
<ion-buttons *ngIf="IS_ON_MOBILE_DEVICE === true || supportMode === false" slot="start" style="height:60px">
|
|
5
4
|
<ion-button ion-button icon-only fill="clear" (click)="onOpenProfileInfo($event)">
|
|
6
5
|
<ion-icon slot="icon-only" name="reorder-three-outline"></ion-icon>
|
|
7
6
|
</ion-button>
|
|
8
7
|
</ion-buttons>
|
|
9
8
|
|
|
10
9
|
<ion-title>
|
|
11
|
-
<img src="assets/chat21-logo.svg" class="header-logo" alt="header-logo">
|
|
10
|
+
<!-- <img src="assets/chat21-logo.svg" class="header-logo" alt="header-logo"> -->
|
|
12
11
|
<div *ngIf="numberOpenConv > 0" class="number-open-conv">({{numberOpenConv}})</div>
|
|
13
12
|
</ion-title>
|
|
14
13
|
|
|
15
14
|
<ion-buttons slot="end">
|
|
16
15
|
|
|
17
|
-
<ion-button
|
|
16
|
+
<ion-button ion-button fill="clear" (click)="presentCreateTicketModal()"
|
|
17
|
+
tooltip="{{translationMap?.get('CreateTicket')}}" [options]="tooltipOptions" placement="bottom">
|
|
18
|
+
<ion-icon slot="icon-only" name="ticket-outline"></ion-icon>
|
|
19
|
+
</ion-button>
|
|
20
|
+
|
|
21
|
+
<ion-button *ngIf="archived_btn" ion-button fill="clear" (click)="onClickArchivedConversation()"
|
|
22
|
+
tooltip="{{translationMap?.get('ViewArchivedConversations')}}" [options]="tooltipOptions" placement="bottom">
|
|
23
|
+
<ion-icon slot="icon-only" name="file-tray-full-outline"></ion-icon>
|
|
24
|
+
<!-- <ion-icon name="file-tray-stacked-outline"></ion-icon> -->
|
|
25
|
+
<!-- <ion-icon name="file-tray-full-outline"></ion-icon> -->
|
|
26
|
+
</ion-button>
|
|
27
|
+
|
|
28
|
+
<ion-button *ngIf="writeto_btn" ion-button fill="clear" (click)="onOpenContactsDirectory($event)"
|
|
29
|
+
tooltip="{{translationMap?.get('ViewContactsList')}}" [options]="tooltipOptions" placement="bottom">
|
|
18
30
|
<ion-icon slot="icon-only" name="create-outline"></ion-icon>
|
|
31
|
+
<!-- <ion-icon slot="icon-only" name="people-outline"></ion-icon> -->
|
|
32
|
+
|
|
19
33
|
</ion-button>
|
|
20
34
|
|
|
21
|
-
<!--
|
|
35
|
+
<!-- <button ion-button icon-only (click)="onOpenArchivedConversationsPage()">
|
|
22
36
|
<span class="material-icons">history</span>
|
|
23
37
|
</button>
|
|
24
38
|
|
|
@@ -1,18 +1,77 @@
|
|
|
1
|
-
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'
|
|
2
|
-
|
|
1
|
+
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'
|
|
2
|
+
import { ModalController } from '@ionic/angular'
|
|
3
|
+
import { EventsService } from 'src/app/services/events-service'
|
|
4
|
+
import { CreateTicketPage } from 'src/app/pages/create-ticket/create-ticket.page'
|
|
5
|
+
import { CustomTranslateService } from 'src/chat21-core/providers/custom-translate.service'
|
|
3
6
|
@Component({
|
|
4
7
|
selector: 'app-ddp-header',
|
|
5
8
|
templateUrl: './ddp-header.component.html',
|
|
6
9
|
styleUrls: ['./ddp-header.component.scss'],
|
|
7
10
|
})
|
|
8
11
|
export class DdpHeaderComponent implements OnInit {
|
|
9
|
-
@Input() numberOpenConv: number
|
|
10
|
-
@Input() supportMode: boolean
|
|
11
|
-
@
|
|
12
|
-
@
|
|
13
|
-
|
|
12
|
+
@Input() numberOpenConv: number
|
|
13
|
+
@Input() supportMode: boolean
|
|
14
|
+
@Input() archived_btn: boolean
|
|
15
|
+
@Input() writeto_btn: boolean
|
|
16
|
+
@Output() openContactsDirectory = new EventEmitter()
|
|
17
|
+
@Output() openProfileInfo = new EventEmitter()
|
|
18
|
+
IS_ON_MOBILE_DEVICE: boolean
|
|
19
|
+
createTicketModal = null
|
|
20
|
+
public translationMap: Map<string, string>;
|
|
21
|
+
tooltipOptions = {
|
|
22
|
+
'show-delay': 0,
|
|
23
|
+
'tooltip-class': 'chat-tooltip',
|
|
24
|
+
'theme': 'light',
|
|
25
|
+
'shadow': false,
|
|
26
|
+
'hide-delay-mobile': 0,
|
|
27
|
+
'hideDelayAfterClick': 3000,
|
|
28
|
+
'hide-delay': 0
|
|
29
|
+
};
|
|
14
30
|
constructor(
|
|
15
|
-
|
|
31
|
+
public events: EventsService,
|
|
32
|
+
public modalController: ModalController,
|
|
33
|
+
private translateService: CustomTranslateService,
|
|
34
|
+
) {
|
|
35
|
+
this.isOnMobileDevice();
|
|
36
|
+
this.translations();
|
|
37
|
+
// this.listenToCloseCreateTicketModal() // published from create ticket page
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public translations() {
|
|
41
|
+
const keys = [
|
|
42
|
+
'CreateTicket',
|
|
43
|
+
'ViewArchivedConversations',
|
|
44
|
+
'ViewContactsList'
|
|
45
|
+
];
|
|
46
|
+
this.translationMap = this.translateService.translateLanguage(keys);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// listenToCloseCreateTicketModal() {
|
|
50
|
+
// this.events.subscribe('closeModalCreateTicket', (bool) => {
|
|
51
|
+
// console.log('[HEADER-CONV] closeModalCreateTicket ', bool)
|
|
52
|
+
// if (bool === true) {
|
|
53
|
+
// this.closeCreateTicketModal()
|
|
54
|
+
|
|
55
|
+
// }
|
|
56
|
+
// })
|
|
57
|
+
// }
|
|
58
|
+
|
|
59
|
+
// closeCreateTicketModal() {
|
|
60
|
+
// if (this.createTicketModal) {
|
|
61
|
+
// this.createTicketModal.dismiss().then(() => {
|
|
62
|
+
// this.createTicketModal = null;
|
|
63
|
+
// });
|
|
64
|
+
// }
|
|
65
|
+
// }
|
|
66
|
+
|
|
67
|
+
isOnMobileDevice() {
|
|
68
|
+
this.IS_ON_MOBILE_DEVICE = false
|
|
69
|
+
if (/Android|iPhone/i.test(window.navigator.userAgent)) {
|
|
70
|
+
this.IS_ON_MOBILE_DEVICE = true
|
|
71
|
+
}
|
|
72
|
+
// console.log('[DDP-HEADER] IS_ON_MOBILE_DEVICE', this.IS_ON_MOBILE_DEVICE)
|
|
73
|
+
return this.IS_ON_MOBILE_DEVICE
|
|
74
|
+
}
|
|
16
75
|
|
|
17
76
|
ngOnInit() {
|
|
18
77
|
// console.log('DDP HEADER SUPPORT MODE ', this.supportMode)
|
|
@@ -21,13 +80,48 @@ export class DdpHeaderComponent implements OnInit {
|
|
|
21
80
|
// START @Output() //
|
|
22
81
|
/** */
|
|
23
82
|
onOpenProfileInfo(e: any) {
|
|
24
|
-
this.openProfileInfo.emit(e)
|
|
83
|
+
this.openProfileInfo.emit(e)
|
|
25
84
|
}
|
|
26
85
|
|
|
27
86
|
/** */
|
|
28
87
|
onOpenContactsDirectory(e: any) {
|
|
29
|
-
this.openContactsDirectory.emit(e)
|
|
88
|
+
this.openContactsDirectory.emit(e)
|
|
30
89
|
}
|
|
31
90
|
// END @Output() //
|
|
32
91
|
|
|
92
|
+
onClickArchivedConversation() {
|
|
93
|
+
this.events.publish('profileInfoButtonClick:changed', 'displayArchived')
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// PRESENT MODAL CREATE TICKET
|
|
97
|
+
// async presentCreateTicketModal(): Promise<any>{
|
|
98
|
+
|
|
99
|
+
// // const attributes = { enableBackdropDismiss: false };
|
|
100
|
+
// const modal: HTMLIonModalElement =
|
|
101
|
+
// await this.modalController.create({
|
|
102
|
+
// component: CreateTicketPage,
|
|
103
|
+
// // componentProps: attributes,
|
|
104
|
+
// swipeToClose: false,
|
|
105
|
+
// backdropDismiss: false
|
|
106
|
+
// });
|
|
107
|
+
// modal.onDidDismiss().then((detail: any) => {
|
|
108
|
+
// console.log('[DDP-HEADER] ', detail.data);
|
|
109
|
+
// });
|
|
110
|
+
// return await modal.present();
|
|
111
|
+
// }
|
|
112
|
+
|
|
113
|
+
async presentCreateTicketModal() {
|
|
114
|
+
// const attributes = { enableBackdropDismiss: false };
|
|
115
|
+
const modal = await this.modalController.create({
|
|
116
|
+
component: CreateTicketPage,
|
|
117
|
+
// componentProps: attributes,
|
|
118
|
+
swipeToClose: false,
|
|
119
|
+
backdropDismiss: false,
|
|
120
|
+
})
|
|
121
|
+
modal.onDidDismiss().then((detail: any) => {
|
|
122
|
+
// console.log('[DDP-HEADER] ', detail.data)
|
|
123
|
+
})
|
|
124
|
+
modal.present()
|
|
125
|
+
this.createTicketModal = modal
|
|
126
|
+
}
|
|
33
127
|
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
</g>
|
|
24
24
|
</svg>
|
|
25
25
|
</div>
|
|
26
|
-
<div class="unassigned-notifications-badge">
|
|
26
|
+
<div class="unassigned-notifications-badge" *ngIf="unservedRequestCount > 0">
|
|
27
27
|
<!-- || currentUserRequestCount > 0 -->
|
|
28
28
|
<!-- <span *ngIf="unservedRequestCount > 0 "> -->
|
|
29
29
|
<!-- + currentUserRequestCount -->
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
<div class="flex-child-right">
|
|
51
|
-
<div class="project-name-project-for-panel" [tooltip]="conversationsInQueueOnProjectName"
|
|
51
|
+
<div class="project-name-project-for-panel" [ngClass]="{'project-name-project-for-panel-on-desktop': IS_ON_MOBILE_DEVICE === false}" [tooltip]="conversationsInQueueOnProjectName"
|
|
52
52
|
[options]="tooltipOptions" placement="top" content-type="template" (click)="openUnservedConvs()">
|
|
53
53
|
<div class="project---name"> {{ project?.id_project?.name }} </div>
|
|
54
54
|
</div>
|
|
@@ -87,7 +87,9 @@
|
|
|
87
87
|
[ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
|
|
88
88
|
{{translationMap?.get('Unavailable')}}
|
|
89
89
|
</span>
|
|
90
|
-
|
|
90
|
+
|
|
91
|
+
<div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true" tooltip="{{translationMap?.get('Busy')}}"
|
|
92
|
+
[options]="tooltipOptions" placement="top" >
|
|
91
93
|
<!-- <span class="material-icons project-item--isBusy-icon">
|
|
92
94
|
access_time
|
|
93
95
|
</span> -->
|
|
@@ -102,14 +104,14 @@
|
|
|
102
104
|
</g>
|
|
103
105
|
</svg>
|
|
104
106
|
</div>
|
|
105
|
-
<span *ngIf="project?.ws_projct_user_isBusy === true"
|
|
107
|
+
<!-- <span *ngIf="project?.ws_projct_user_isBusy === true"
|
|
106
108
|
class="project-item--isBusy-busy-text text-pulse-animation">
|
|
107
109
|
{{translationMap?.get('Busy')}}
|
|
108
|
-
</span>
|
|
110
|
+
</span> -->
|
|
109
111
|
</div>
|
|
110
112
|
</div>
|
|
111
113
|
|
|
112
|
-
<div class="flex-child-view-all-convs">
|
|
114
|
+
<div *ngIf="IS_ON_MOBILE_DEVICE === true" class="flex-child-view-all-convs">
|
|
113
115
|
<div class="view-all-convs-icon-wpr" style="cursor: pointer;" [tooltip]="viewAllConvs"
|
|
114
116
|
[options]="tooltipOptions" placement="top" content-type="template">
|
|
115
117
|
|
|
@@ -153,7 +155,6 @@
|
|
|
153
155
|
</div>
|
|
154
156
|
<ng-template #viewAllConvs>
|
|
155
157
|
<span>
|
|
156
|
-
|
|
157
158
|
{{translationMap?.get('CHANGE_PINNED_PROJECT') }}</span>
|
|
158
159
|
</ng-template>
|
|
159
160
|
</div>
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
color: #1e2129;
|
|
312
312
|
font-weight: 400;
|
|
313
313
|
margin-left: 10px;
|
|
314
|
-
width: 185px
|
|
314
|
+
width: 185px ;
|
|
315
315
|
// width: 220px !important;
|
|
316
316
|
white-space: nowrap !important;
|
|
317
317
|
overflow: hidden !important;
|
|
@@ -323,6 +323,11 @@
|
|
|
323
323
|
cursor: pointer;
|
|
324
324
|
}
|
|
325
325
|
|
|
326
|
+
|
|
327
|
+
.project-name-project-for-panel-on-desktop {
|
|
328
|
+
width: 217px
|
|
329
|
+
}
|
|
330
|
+
|
|
326
331
|
// .project-name-project-for-panel:hover span {
|
|
327
332
|
// color: rgba(0, 0, 0, 0.35);
|
|
328
333
|
// // display: none;
|
|
@@ -17,6 +17,8 @@ import { AppConfigProvider } from 'src/app/services/app-config';
|
|
|
17
17
|
styleUrls: ['./project-item.component.scss'],
|
|
18
18
|
})
|
|
19
19
|
export class ProjectItemComponent implements OnInit {
|
|
20
|
+
private logger: LoggerService = LoggerInstance.getInstance();
|
|
21
|
+
|
|
20
22
|
@Output() projectIdEvent = new EventEmitter<string>()
|
|
21
23
|
@Output() openUnsevedConvsEvent = new EventEmitter<any>()
|
|
22
24
|
|
|
@@ -29,7 +31,7 @@ export class ProjectItemComponent implements OnInit {
|
|
|
29
31
|
ROLE_IS_AGENT: boolean;
|
|
30
32
|
currentUserId: string;
|
|
31
33
|
public translationMap: Map<string, string>;
|
|
32
|
-
|
|
34
|
+
|
|
33
35
|
window_width_is_60: boolean;
|
|
34
36
|
newInnerWidth: any;
|
|
35
37
|
avaialble_status_for_tooltip: string;
|
|
@@ -42,7 +44,7 @@ export class ProjectItemComponent implements OnInit {
|
|
|
42
44
|
'hideDelayAfterClick': 3000,
|
|
43
45
|
'hide-delay': 200
|
|
44
46
|
};
|
|
45
|
-
|
|
47
|
+
IS_ON_MOBILE_DEVICE: boolean;
|
|
46
48
|
constructor(
|
|
47
49
|
public wsService: WebsocketService,
|
|
48
50
|
public appStorageService: AppStorageService,
|
|
@@ -59,9 +61,20 @@ export class ProjectItemComponent implements OnInit {
|
|
|
59
61
|
this.translations();
|
|
60
62
|
this.listenToPostMsgs();
|
|
61
63
|
this.onInitWindowWidth();
|
|
64
|
+
|
|
65
|
+
this.isOnMobileDevice()
|
|
62
66
|
// console.log('[PROJECT-ITEM] - on INIT')
|
|
63
67
|
}
|
|
64
68
|
|
|
69
|
+
isOnMobileDevice() {
|
|
70
|
+
this.IS_ON_MOBILE_DEVICE = false;
|
|
71
|
+
if (/Android|iPhone/i.test(window.navigator.userAgent)) {
|
|
72
|
+
this.IS_ON_MOBILE_DEVICE = true;
|
|
73
|
+
}
|
|
74
|
+
// console.log('[PROJECT-ITEM] IS_ON_MOBILE_DEVICE', this.IS_ON_MOBILE_DEVICE)
|
|
75
|
+
return this.IS_ON_MOBILE_DEVICE;
|
|
76
|
+
}
|
|
77
|
+
|
|
65
78
|
openUnservedConvs() {
|
|
66
79
|
this.openUnsevedConvsEvent.emit('notificationsorprjctbtn')
|
|
67
80
|
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
<!-- *ngIf="project" -->
|
|
2
|
+
<div class="logo">
|
|
3
|
+
<!-- <a class="logo-img-wpr" [ngClass]="{'small-sidebar-logo-img-wpr' : SIDEBAR_IS_SMALL === true }">
|
|
4
|
+
<div class="logo-img" (click)="goToHome()" style="cursor: pointer;">
|
|
5
|
+
<img class="small-sidebar__logo" src="assets/tiledesk-solo-logo.png" />
|
|
6
|
+
</div>
|
|
7
|
+
</a> -->
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
<div id="sidebaravatar-img-wpr" class="sidebar-avatar-container tiledesk-nav-avatar" (click)="openUserDetailSidePanel()"
|
|
12
|
+
style="cursor: pointer;" [ngClass]="{'small-sidebar-avatar' : SIDEBAR_IS_SMALL === true, 'small-sidebar-avatar-with-avatar': SIDEBAR_IS_SMALL === true && !USER_PHOTO_PROFILE_EXIST}">
|
|
13
|
+
|
|
14
|
+
<img *ngIf="USER_PHOTO_PROFILE_EXIST" id="sidebaravatar-img" class="sidebar-avatar" [src]="photo_profile_URL"
|
|
15
|
+
onerror="this.src='assets/images/no_image_user.png'" />
|
|
16
|
+
|
|
17
|
+
<div *ngIf="!USER_PHOTO_PROFILE_EXIST" id="sidebaravatar-no-img" class="sidebar-avatar"
|
|
18
|
+
[ngStyle]="{'background': 'linear-gradient(rgb(255,255,255) -125%,' + currentUser?.fillColour + ')'}">
|
|
19
|
+
<span id="sidebaravatar-altenative-user-avatar" class="sidebar-altenative-user-avatar">
|
|
20
|
+
{{ currentUser?.fullname_initial }}
|
|
21
|
+
</span>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<!-- matTooltipClass="custom-mat-tooltip" matTooltip="{{ tooltip_text_for_availability_status}}" #tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" -->
|
|
25
|
+
<!-- (click)="changeAvailabilityState(IS_AVAILABLE = !IS_AVAILABLE)" -->
|
|
26
|
+
<div id="sidebaravatar-status-icon" class="status-icon"
|
|
27
|
+
[ngClass]="{'is-user-online' : IS_AVAILABLE === true, 'is-user-offline' : IS_AVAILABLE === false, 'small-sidebar-status-icon' : SIDEBAR_IS_SMALL === true }">
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<!-- matTooltipClass="custom-mat-tooltip" matTooltip="{{ 'Busy' | translate }}" #tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" -->
|
|
31
|
+
<div id="sidebaravatar-isbusy-icon-wpr" class="sidebar--isBusy-icon-wpr" [ngClass]="{'sidebar--isBusy-icon-wpr-with-image': USER_PHOTO_PROFILE_EXIST}" *ngIf="IS_BUSY === true"
|
|
32
|
+
style="cursor:pointer">
|
|
33
|
+
<span id="sidebaravatar-isbusy-icon" class="material-icons sidebar-is-busy-icon">
|
|
34
|
+
access_time
|
|
35
|
+
</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="sidebar-wrapper">
|
|
42
|
+
|
|
43
|
+
<div class="nav-container">
|
|
44
|
+
<!-- [ngClass]="{'is-desktop-menu' : IS_MOBILE_MENU === false, 'is-mobile-menu' : IS_MOBILE_MENU === true }" -->
|
|
45
|
+
<!-- padding-bottom: 65px; -->
|
|
46
|
+
<ul style="margin-top: 0px;" class="nav">
|
|
47
|
+
|
|
48
|
+
<!-- ------------------------------------------- -->
|
|
49
|
+
<!-- CHAT -->
|
|
50
|
+
<!-- ------------------------------------------- -->
|
|
51
|
+
<li class="item-active" style="cursor: unset;" matTooltipClass="custom-mat-tooltip" matTooltip="Chat"
|
|
52
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center; ">
|
|
53
|
+
<a class="customAncor" style="margin-right: 0px !important">
|
|
54
|
+
<!-- <i class="material-icons sidebar-icons">chat</i> -->
|
|
55
|
+
<span id="openchat-span" style="position: relative;top: 10px;vertical-align: middle;">
|
|
56
|
+
<svg id="openchat-svg" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
|
57
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 23 21"
|
|
58
|
+
style="enable-background:new 0 0 23 21;" xml:space="preserve"
|
|
59
|
+
style="width:20px;height:20px; vertical-align: middle;">
|
|
60
|
+
<style type="text/css">
|
|
61
|
+
.chat21-icon {
|
|
62
|
+
fill: #fff;
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
65
|
+
<path id="openchat-path" class="chat21-icon" d="M11.5,0.5C5.8,0.5,1.3,5,1.3,10.5c0,1.8,0.5,3.5,1.4,5l-0.8,4.3l4.4-0.8c1.5,0.9,3.3,1.4,5.3,1.4
|
|
66
|
+
c5.7,0,10.2-4.5,10.2-10S17.2,0.5,11.5,0.5z M11.5,17.2c-2.5,0-4.6-1.3-5.7-2.6c0.6-0.2,0.8-0.8,1.4-1c0.7,0.9,2.5,2.1,4.4,2.1
|
|
67
|
+
c1.9,0,3.6-1.2,4.2-2.1c0.5,0.2,0.9,0.6,1.4,0.9C16.1,15.8,14,17.2,11.5,17.2z" />
|
|
68
|
+
</svg>
|
|
69
|
+
</span>
|
|
70
|
+
</a>
|
|
71
|
+
</li>
|
|
72
|
+
|
|
73
|
+
<!-- ------------------------------------------- -->
|
|
74
|
+
<!-- HOME -->
|
|
75
|
+
<!-- ------------------------------------------- -->
|
|
76
|
+
<li (click)="goToHome()" matTooltip="Home" #tooltip="matTooltip" matTooltipPosition='right'
|
|
77
|
+
matTooltipHideDelay="100" matTooltipClass="custom-mat-tooltip">
|
|
78
|
+
<a class="customAncor">
|
|
79
|
+
<i class="material-icons sidebar-icons">
|
|
80
|
+
home
|
|
81
|
+
</i>
|
|
82
|
+
</a>
|
|
83
|
+
</li>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<!-- ---------------------------------- -->
|
|
87
|
+
<!-- Bot -->
|
|
88
|
+
<!-- ---------------------------------- -->
|
|
89
|
+
<ng-container *ngIf="USER_ROLE !== 'agent'">
|
|
90
|
+
<li (click)="goToBots()" id="bot-anchor-wpr" matTooltipClass="custom-mat-tooltip" matTooltip="Bots"
|
|
91
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
92
|
+
<a id="bot-anchor" #botbtn class="customAncor" style="height: 40px;margin-right: 0px !important;">
|
|
93
|
+
<span class="bot-icon-wpr">
|
|
94
|
+
<svg version="1.1" id="Objects" xmlns="http://www.w3.org/2000/svg"
|
|
95
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30"
|
|
96
|
+
style="enable-background:new 0 0 30 30;" xml:space="preserve" style="width: 25px;height: 25px;margin-top: 6px;">
|
|
97
|
+
<g>
|
|
98
|
+
<g>
|
|
99
|
+
<path class="chat-bot-icon-st0" d="M24.6,12.6c-0.1,0-0.2,0-0.3,0c-1.6-2.9-4.5-5.8-9.2-5.8c-4.7,0-7.6,2.9-9.2,5.8c-0.2,0-0.4-0.1-0.6-0.1
|
|
100
|
+
c-2,0-3.5,2.3-3.5,5c0,2.8,1.6,5,3.5,5c0.1,0,0.3,0,0.4,0c2.3,3.6,7,3.9,9.4,3.9c2.3,0,6.9-0.5,9.2-3.9c0.1,0,0.1,0,0.2,0
|
|
101
|
+
c2,0,3.5-2.3,3.5-5C28.1,14.8,26.6,12.6,24.6,12.6z M22,21.1c0,0-7.8,2.3-14.3-0.1c0,0-0.8-4.1-0.5-7.2c0,0,8.1-3.2,15.6,0.3
|
|
102
|
+
C22.8,14.1,23.3,19.1,22,21.1z" />
|
|
103
|
+
<ellipse class="chat-bot-icon-st0" cx="11.9" cy="17.4" rx="0.7" ry="1.4" />
|
|
104
|
+
<ellipse class="chat-bot-icon-st0" cx="18.1" cy="17.4" rx="0.7" ry="1.4" />
|
|
105
|
+
<path class="chat-bot-icon-st0" d="M14.5,5.3v1.1h1V5.3c0.3-0.2,0.5-0.5,0.5-0.8c0-0.5-0.4-0.9-1-0.9c-0.5,0-0.9,0.4-0.9,0.9
|
|
106
|
+
C14.1,4.8,14.2,5.1,14.5,5.3z" />
|
|
107
|
+
</g>
|
|
108
|
+
<rect class="chat-bot-icon-st1" width="30" height="30" />
|
|
109
|
+
</g>
|
|
110
|
+
</svg>
|
|
111
|
+
</span>
|
|
112
|
+
</a>
|
|
113
|
+
</li>
|
|
114
|
+
</ng-container>
|
|
115
|
+
|
|
116
|
+
<!-- ------------------------------------------- -->
|
|
117
|
+
<!-- Conversations (VISITORS) {{ conversations_lbl }} -->
|
|
118
|
+
<!-- ------------------------------------------- -->
|
|
119
|
+
<ng-container *ngIf="USER_ROLE !== 'agent'">
|
|
120
|
+
<li (click)="goToConversations()" matTooltipClass="custom-mat-tooltip" matTooltip="Monitor"
|
|
121
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
122
|
+
<a class="customAncor" style="height: 40px;margin-right: 0px !important;">
|
|
123
|
+
<!-- <i class="material-icons sidebar-icons">forum</i> -->
|
|
124
|
+
<span class="realtime-icon-wpr" >
|
|
125
|
+
|
|
126
|
+
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
127
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 30px;height: 30px;margin-top: 6px;">
|
|
128
|
+
|
|
129
|
+
<path class="realtime-icon-st3" d="M17.9,11.6l-1.4,1.9l-3.2-5.6l-1-2l-0.2,0.2l-3.7,6.4l-3-4.8L2.7,9.9v2.4l2.4-1.8L9,16.2l3.3-6.2l4,6.7l2.7-3.3
|
|
130
|
+
l0.9,0c0.5-0.7,1-1.4,1.4-2L17.9,11.6z"/>
|
|
131
|
+
</svg>
|
|
132
|
+
</span>
|
|
133
|
+
|
|
134
|
+
</a>
|
|
135
|
+
</li>
|
|
136
|
+
</ng-container>
|
|
137
|
+
|
|
138
|
+
<!-- ------------------------------------------- -->
|
|
139
|
+
<!-- CONTACTS (LEADS) -->
|
|
140
|
+
<!-- ------------------------------------------- -->
|
|
141
|
+
<li (click)="goToContacts()" matTooltipClass="custom-mat-tooltip" matTooltip="{{ contacts_lbl }}"
|
|
142
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
143
|
+
<a class="customAncor">
|
|
144
|
+
<i class="material-icons sidebar-icons">contacts</i>
|
|
145
|
+
</a>
|
|
146
|
+
</li>
|
|
147
|
+
|
|
148
|
+
<!-- ------------------------------------------- -->
|
|
149
|
+
<!-- APPS -->
|
|
150
|
+
<!-- ------------------------------------------- -->
|
|
151
|
+
<ng-container *ngIf="isVisibleAPP && USER_ROLE !== 'agent'">
|
|
152
|
+
<li (click)="goToAppStore()" matTooltipClass="custom-mat-tooltip" matTooltip="{{ apps_lbl }}"
|
|
153
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
154
|
+
<a class="customAncor" style="margin-right: 0px !important;">
|
|
155
|
+
<!-- <i class="material-icons sidebar-icons">apps</i> -->
|
|
156
|
+
<!-- <i class="material-icons sidebar-icons">dashboard_customize</i> -->
|
|
157
|
+
<span class="dashboard-customize-icon-wpr">
|
|
158
|
+
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
159
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 20px;height: 20px;margin-top: 9px;">
|
|
160
|
+
<path class="dashboard_customize-st0" d="M0,0h24v24H0V0z"/>
|
|
161
|
+
<path class="dashboard_customize-st1" d="M3,3h8v8H3V3z M13,3h8v8h-8V3z M3,13h8v8H3V13z M18,13h-2v3h-3v2h3v3h2v-3h3v-2h-3V13z"/>
|
|
162
|
+
</svg>
|
|
163
|
+
</span>
|
|
164
|
+
</a>
|
|
165
|
+
</li>
|
|
166
|
+
</ng-container>
|
|
167
|
+
|
|
168
|
+
<!-- ------------------------------------------- -->
|
|
169
|
+
<!-- ANALYTICS -->
|
|
170
|
+
<!-- ------------------------------------------- -->
|
|
171
|
+
<ng-container *ngIf="isVisibleANA && USER_ROLE !== 'agent'">
|
|
172
|
+
<li (click)="goToAnalytics()" matTooltipClass="custom-mat-tooltip" matTooltip="{{ analytics_lbl }}"
|
|
173
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
174
|
+
<a class="customAncor" style="margin-right: 0px !important;">
|
|
175
|
+
<!-- <i class="material-icons sidebar-icons">trending_up</i> -->
|
|
176
|
+
<!-- <i class="material-icons sidebar-icons"> analytics </i> -->
|
|
177
|
+
<!-- <i class="material-icons sidebar-icons"> bar_chart </i> -->
|
|
178
|
+
<span class="bar-chart-icon-wpr">
|
|
179
|
+
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
180
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 20px;height: 20px;margin-top: 9px;">
|
|
181
|
+
<path class="bar-chart-icon-st0" d="M0,0h24v24H0V0z"/>
|
|
182
|
+
<path class="bar-chart-icon-st1" d="M5,9.2h3V19H5V9.2z M10.6,5h2.8v14h-2.8V5z M16.2,13H19v6h-2.8V13z"/>
|
|
183
|
+
</svg>
|
|
184
|
+
</span>
|
|
185
|
+
</a>
|
|
186
|
+
</li>
|
|
187
|
+
</ng-container>
|
|
188
|
+
|
|
189
|
+
<!-- ------------------------------------------- -->
|
|
190
|
+
<!-- ACTIVITIES -->
|
|
191
|
+
<!-- ------------------------------------------- -->
|
|
192
|
+
<ng-container *ngIf="isVisibleACT">
|
|
193
|
+
<li *ngIf="USER_ROLE !== 'agent'" (click)="goToActivities()" matTooltipClass="custom-mat-tooltip"
|
|
194
|
+
matTooltip="{{ activities_lbl }}" #tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
195
|
+
<a class="customAncor">
|
|
196
|
+
<i class="material-icons sidebar-icons">assignment</i>
|
|
197
|
+
</a>
|
|
198
|
+
</li>
|
|
199
|
+
</ng-container>
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
<!-- ------------------------------------------- -->
|
|
203
|
+
<!-- REQUESTS HISTORY -->
|
|
204
|
+
<!-- ------------------------------------------- -->
|
|
205
|
+
<li (click)="goToHistory()" matTooltipClass="custom-mat-tooltip" matTooltip="{{ history_lbl }}"
|
|
206
|
+
#tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
207
|
+
<a class="customAncor">
|
|
208
|
+
<i class="material-icons sidebar-icons">history</i>
|
|
209
|
+
</a>
|
|
210
|
+
</li>
|
|
211
|
+
|
|
212
|
+
<!-- ------------------------------------------- -->
|
|
213
|
+
<!-- SETTINGS -->
|
|
214
|
+
<!-- ------------------------------------------- -->
|
|
215
|
+
<li *ngIf="USER_ROLE !== 'agent'" (click)="goToSettings_CannedResponses()" matTooltipClass="custom-mat-tooltip"
|
|
216
|
+
matTooltip="{{ settings_lbl }}" #tooltip="matTooltip" matTooltipPosition='right' matTooltipHideDelay="100" style="text-align: center;">
|
|
217
|
+
<a class="customAncor">
|
|
218
|
+
<i class="material-icons sidebar-icons">settings</i>
|
|
219
|
+
</a>
|
|
220
|
+
</li>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
<!-- [_prjct_profile_name]="_prjct_profile_name" [plan_subscription_is_active]="plan_subscription_is_active"
|
|
224
|
+
[plan_name]="plan_name"
|
|
225
|
+
[plan_type]="plan_type"
|
|
226
|
+
[isVisiblePAY]="isVisiblePAY"
|
|
227
|
+
[prjct_name]="prjct_name" -->
|
|
228
|
+
<!-- HAS_CLICKED_OPEN_USER_DETAIL {{ HAS_CLICKED_OPEN_USER_DETAIL }} -->
|
|
229
|
+
<!-- [HAS_CLICKED_OPEN_USER_DETAIL]='HAS_CLICKED_OPEN_USER_DETAIL' -->
|
|
230
|
+
<!-- tabindex="-1" style="z-index: 20001;" -->
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
<!-- <app-sidebar-user-details
|
|
234
|
+
(onCloseUserDetailsSidebar)='onCloseUserDetailsSidebar($event)'>
|
|
235
|
+
</app-sidebar-user-details> -->
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
</ul>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|