@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.
Files changed (150) hide show
  1. package/CHANGELOG.md +83 -1
  2. package/LICENSE +661 -21
  3. package/README.md +2 -0
  4. package/angular.json +3 -0
  5. package/config.xml +5 -5
  6. package/deploy_pre.sh +10 -10
  7. package/deploy_prod.sh +5 -1
  8. package/env.sample +3 -1
  9. package/package.json +12 -7
  10. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  14. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  15. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  16. package/resources/{Android → android}/icon.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  27. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  28. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  29. package/resources/{Android → android}/splash.png +0 -0
  30. package/src/app/app-routing.module.ts +10 -0
  31. package/src/app/app.component.html +14 -4
  32. package/src/app/app.component.scss +18 -1
  33. package/src/app/app.component.ts +56 -22
  34. package/src/app/app.module.ts +7 -1
  35. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
  36. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +103 -12
  37. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
  38. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +5 -1
  39. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +147 -65
  40. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -3
  41. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +12 -2
  42. package/src/app/components/ddp-header/ddp-header.component.html +20 -6
  43. package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
  44. package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
  45. package/src/app/components/project-item/project-item.component.html +8 -7
  46. package/src/app/components/project-item/project-item.component.scss +35 -15
  47. package/src/app/components/project-item/project-item.component.ts +15 -2
  48. package/src/app/components/sidebar/sidebar.component.html +274 -0
  49. package/src/app/components/sidebar/sidebar.component.scss +79 -0
  50. package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
  51. package/src/app/components/sidebar/sidebar.component.ts +493 -0
  52. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +110 -0
  53. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +318 -0
  54. package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
  55. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +486 -0
  56. package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -1
  57. package/src/app/pages/conversation-detail/conversation-detail.page.html +40 -50
  58. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1302 -774
  59. package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
  60. package/src/app/pages/conversations-list/conversations-list.page.html +18 -11
  61. package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
  62. package/src/app/pages/conversations-list/conversations-list.page.ts +753 -428
  63. package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
  64. package/src/app/pages/create-requester/create-requester.module.ts +28 -0
  65. package/src/app/pages/create-requester/create-requester.page.html +67 -0
  66. package/src/app/pages/create-requester/create-requester.page.scss +30 -0
  67. package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
  68. package/src/app/pages/create-requester/create-requester.page.ts +137 -0
  69. package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
  70. package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
  71. package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
  72. package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
  73. package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
  74. package/src/app/pages/create-ticket/create-ticket.page.ts +423 -0
  75. package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
  76. package/src/app/pages/profile-info/profile-info.page.html +2 -2
  77. package/src/app/pages/profile-info/profile-info.page.scss +1 -1
  78. package/src/app/pages/profile-info/profile-info.page.ts +23 -21
  79. package/src/app/services/tiledesk/tiledesk.service.ts +181 -0
  80. package/src/app/shared/shared.module.ts +13 -0
  81. package/src/app/utils/scrollbar-theme.directive.ts +58 -24
  82. package/src/assets/i18n/de.json +56 -13
  83. package/src/assets/i18n/en.json +49 -6
  84. package/src/assets/i18n/es.json +48 -5
  85. package/src/assets/i18n/fr.json +51 -8
  86. package/src/assets/i18n/it.json +48 -5
  87. package/src/assets/i18n/pt.json +49 -6
  88. package/src/assets/i18n/ru.json +50 -7
  89. package/src/assets/i18n/sr.json +251 -0
  90. package/src/assets/i18n/tr.json +48 -5
  91. package/src/assets/images/default-avatar-x-select.png +0 -0
  92. package/src/assets/images/language_flag/ar.png +0 -0
  93. package/src/assets/images/language_flag/bg.png +0 -0
  94. package/src/assets/images/language_flag/ca.png +0 -0
  95. package/src/assets/images/language_flag/cs.png +0 -0
  96. package/src/assets/images/language_flag/da.png +0 -0
  97. package/src/assets/images/language_flag/de.png +0 -0
  98. package/src/assets/images/language_flag/el.png +0 -0
  99. package/src/assets/images/language_flag/en.png +0 -0
  100. package/src/assets/images/language_flag/es.png +0 -0
  101. package/src/assets/images/language_flag/fa.png +0 -0
  102. package/src/assets/images/language_flag/fi.png +0 -0
  103. package/src/assets/images/language_flag/fr.png +0 -0
  104. package/src/assets/images/language_flag/he.png +0 -0
  105. package/src/assets/images/language_flag/hi.png +0 -0
  106. package/src/assets/images/language_flag/hr.png +0 -0
  107. package/src/assets/images/language_flag/hu.png +0 -0
  108. package/src/assets/images/language_flag/id.png +0 -0
  109. package/src/assets/images/language_flag/it.png +0 -0
  110. package/src/assets/images/language_flag/ja.png +0 -0
  111. package/src/assets/images/language_flag/ko.png +0 -0
  112. package/src/assets/images/language_flag/ml-IN.png +0 -0
  113. package/src/assets/images/language_flag/ne-NP.png +0 -0
  114. package/src/assets/images/language_flag/nl.png +0 -0
  115. package/src/assets/images/language_flag/no.png +0 -0
  116. package/src/assets/images/language_flag/pl.png +0 -0
  117. package/src/assets/images/language_flag/pt-BR.png +0 -0
  118. package/src/assets/images/language_flag/pt.png +0 -0
  119. package/src/assets/images/language_flag/ro.png +0 -0
  120. package/src/assets/images/language_flag/ru.png +0 -0
  121. package/src/assets/images/language_flag/sk.png +0 -0
  122. package/src/assets/images/language_flag/sl.png +0 -0
  123. package/src/assets/images/language_flag/sr.png +0 -0
  124. package/src/assets/images/language_flag/sv-SE.png +0 -0
  125. package/src/assets/images/language_flag/ta.png +0 -0
  126. package/src/assets/images/language_flag/th.png +0 -0
  127. package/src/assets/images/language_flag/tr.png +0 -0
  128. package/src/assets/images/language_flag/uk.png +0 -0
  129. package/src/assets/images/language_flag/vi.png +0 -0
  130. package/src/assets/images/language_flag/zh-CN.png +0 -0
  131. package/src/assets/images/language_flag/zh-TW.png +0 -0
  132. package/src/assets/images/no_image_user.png +0 -0
  133. package/src/assets/images/priority_icons/high.svg +3 -0
  134. package/src/assets/images/priority_icons/high_v2.svg +14 -0
  135. package/src/assets/images/priority_icons/low.svg +10 -0
  136. package/src/assets/images/priority_icons/low_v2.svg +14 -0
  137. package/src/assets/images/priority_icons/medium.svg +16 -0
  138. package/src/assets/images/priority_icons/medium_v2.svg +11 -0
  139. package/src/assets/images/priority_icons/urgent.svg +4 -0
  140. package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
  141. package/src/assets/tiledesk-solo-logo.png +0 -0
  142. package/src/chat-config-pre-test.json +3 -1
  143. package/src/chat-config-template.json +3 -1
  144. package/src/chat-config.json +4 -2
  145. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +1 -1
  146. package/src/chat21-core/utils/constants.ts +6 -1
  147. package/src/global.scss +397 -3
  148. package/src/index.html +7 -0
  149. package/publish_pre.sh +0 -33
  150. package/publish_prod.sh +0 -33
@@ -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-toolbar>
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 *ngIf="supportMode" ion-button fill="clear" (click)="onOpenContactsDirectory($event)">
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
- <!-- <button ion-button icon-only (click)="onOpenArchivedConversationsPage()">
35
+ <!-- <button ion-button icon-only (click)="onOpenArchivedConversationsPage()">
22
36
  <span class="material-icons">history</span>
23
37
  </button>
24
38
 
@@ -23,4 +23,8 @@ ion-title img {
23
23
 
24
24
  .header-logo {
25
25
  margin-top: 5px;
26
+ }
27
+
28
+ .bottom-border-on-mobile {
29
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
26
30
  }
@@ -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
- @Output() openContactsDirectory = new EventEmitter();
12
- @Output() openProfileInfo = new EventEmitter();
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
- <div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true">
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
- .container-project-for-panel {
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: 60px;
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 !important;
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
- private logger: LoggerService = LoggerInstance.getInstance();
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
  }