@chat21/chat21-ionic 3.0.60-rc8 → 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 +83 -1
- package/LICENSE +661 -21
- 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 +56 -22
- 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 +35 -15
- 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 +40 -50
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +1302 -774
- package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
- package/src/app/pages/conversations-list/conversations-list.page.html +18 -11
- 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 +56 -13
- package/src/assets/i18n/en.json +49 -6
- package/src/assets/i18n/es.json +48 -5
- package/src/assets/i18n/fr.json +51 -8
- package/src/assets/i18n/it.json +48 -5
- package/src/assets/i18n/pt.json +49 -6
- package/src/assets/i18n/ru.json +50 -7
- package/src/assets/i18n/sr.json +251 -0
- package/src/assets/i18n/tr.json +48 -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/providers/firebase/firebase-conversations-handler.ts +1 -1
- 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>
|
|
@@ -20,10 +20,7 @@
|
|
|
20
20
|
// .main-content-project-for-panel:hover {
|
|
21
21
|
// background-color: rgb(244, 243, 244);
|
|
22
22
|
// }
|
|
23
|
-
|
|
24
|
-
padding: 0px !important;
|
|
25
|
-
width: 296px;
|
|
26
|
-
}
|
|
23
|
+
|
|
27
24
|
|
|
28
25
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
29
26
|
.main-content-projects-for-panel::-webkit-scrollbar {
|
|
@@ -218,24 +215,38 @@
|
|
|
218
215
|
}
|
|
219
216
|
}
|
|
220
217
|
|
|
218
|
+
.container-project-for-panel {
|
|
219
|
+
padding: 0px !important;
|
|
220
|
+
width: 296px;
|
|
221
|
+
}
|
|
222
|
+
|
|
221
223
|
.flex-container-project-for-panel {
|
|
222
224
|
display: flex;
|
|
223
225
|
width: 100%;
|
|
224
226
|
justify-content: center;
|
|
225
227
|
align-items: center;
|
|
226
|
-
position: relative;
|
|
228
|
+
// position: relative;
|
|
227
229
|
// cursor: pointer;
|
|
228
230
|
-moz-transition: all 0.2s ease-in;
|
|
229
231
|
-o-transition: all 0.2s ease-in;
|
|
230
232
|
-webkit-transition: all 0.2s ease-in;
|
|
231
233
|
transition: all 0.2s ease-in;
|
|
232
|
-
height:
|
|
234
|
+
height: 64px;
|
|
233
235
|
}
|
|
234
236
|
|
|
235
237
|
.flex-container:hover {
|
|
236
238
|
background-color: rgba(200, 200, 200, 0.2);
|
|
237
239
|
}
|
|
238
240
|
|
|
241
|
+
.flex-child-right {
|
|
242
|
+
flex: 1;
|
|
243
|
+
padding: 18px 0px;
|
|
244
|
+
// width: 227px;
|
|
245
|
+
// width: 207px;
|
|
246
|
+
height: 100%;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
|
|
239
250
|
.flex-child-left {
|
|
240
251
|
// flex: 0 0 20%;
|
|
241
252
|
width: 60px;
|
|
@@ -245,14 +256,6 @@
|
|
|
245
256
|
}
|
|
246
257
|
// border: 2px solid yellow;
|
|
247
258
|
|
|
248
|
-
.flex-child-right {
|
|
249
|
-
flex: 1;
|
|
250
|
-
padding: 18px 0px;
|
|
251
|
-
// width: 227px;
|
|
252
|
-
width: 207px;
|
|
253
|
-
height: 100%;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
259
|
.flex-child-view-all-convs {
|
|
257
260
|
width: 40px;
|
|
258
261
|
text-align: center;
|
|
@@ -262,6 +265,18 @@
|
|
|
262
265
|
margin-right: 10px;
|
|
263
266
|
}
|
|
264
267
|
|
|
268
|
+
@media (max-width: 768px) {
|
|
269
|
+
.container-project-for-panel {
|
|
270
|
+
width: 100%;
|
|
271
|
+
}
|
|
272
|
+
.flex-child-view-all-convs {
|
|
273
|
+
margin-right: 20px;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
265
280
|
.status--icon-project-for-panel {
|
|
266
281
|
width: 13px;
|
|
267
282
|
height: 13px;
|
|
@@ -296,7 +311,7 @@
|
|
|
296
311
|
color: #1e2129;
|
|
297
312
|
font-weight: 400;
|
|
298
313
|
margin-left: 10px;
|
|
299
|
-
width: 185px
|
|
314
|
+
width: 185px ;
|
|
300
315
|
// width: 220px !important;
|
|
301
316
|
white-space: nowrap !important;
|
|
302
317
|
overflow: hidden !important;
|
|
@@ -308,6 +323,11 @@
|
|
|
308
323
|
cursor: pointer;
|
|
309
324
|
}
|
|
310
325
|
|
|
326
|
+
|
|
327
|
+
.project-name-project-for-panel-on-desktop {
|
|
328
|
+
width: 217px
|
|
329
|
+
}
|
|
330
|
+
|
|
311
331
|
// .project-name-project-for-panel:hover span {
|
|
312
332
|
// color: rgba(0, 0, 0, 0.35);
|
|
313
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
|
}
|