@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.
Files changed (148) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +2 -0
  3. package/angular.json +3 -0
  4. package/config.xml +5 -5
  5. package/deploy_pre.sh +10 -10
  6. package/deploy_prod.sh +5 -1
  7. package/env.sample +3 -1
  8. package/package.json +12 -7
  9. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  10. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  14. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  15. package/resources/{Android → android}/icon.png +0 -0
  16. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  27. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  28. package/resources/{Android → android}/splash.png +0 -0
  29. package/src/app/app-routing.module.ts +10 -0
  30. package/src/app/app.component.html +14 -4
  31. package/src/app/app.component.scss +18 -1
  32. package/src/app/app.component.ts +50 -16
  33. package/src/app/app.module.ts +7 -1
  34. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
  35. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +103 -12
  36. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
  37. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +5 -1
  38. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +147 -65
  39. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -3
  40. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +12 -2
  41. package/src/app/components/ddp-header/ddp-header.component.html +20 -6
  42. package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
  43. package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
  44. package/src/app/components/project-item/project-item.component.html +8 -7
  45. package/src/app/components/project-item/project-item.component.scss +6 -1
  46. package/src/app/components/project-item/project-item.component.ts +15 -2
  47. package/src/app/components/sidebar/sidebar.component.html +274 -0
  48. package/src/app/components/sidebar/sidebar.component.scss +79 -0
  49. package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
  50. package/src/app/components/sidebar/sidebar.component.ts +493 -0
  51. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +110 -0
  52. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +318 -0
  53. package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
  54. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +486 -0
  55. package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -1
  56. package/src/app/pages/conversation-detail/conversation-detail.page.html +7 -5
  57. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1285 -790
  58. package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
  59. package/src/app/pages/conversations-list/conversations-list.page.html +18 -9
  60. package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
  61. package/src/app/pages/conversations-list/conversations-list.page.ts +753 -428
  62. package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
  63. package/src/app/pages/create-requester/create-requester.module.ts +28 -0
  64. package/src/app/pages/create-requester/create-requester.page.html +67 -0
  65. package/src/app/pages/create-requester/create-requester.page.scss +30 -0
  66. package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
  67. package/src/app/pages/create-requester/create-requester.page.ts +137 -0
  68. package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
  69. package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
  70. package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
  71. package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
  72. package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
  73. package/src/app/pages/create-ticket/create-ticket.page.ts +423 -0
  74. package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
  75. package/src/app/pages/profile-info/profile-info.page.html +2 -2
  76. package/src/app/pages/profile-info/profile-info.page.scss +1 -1
  77. package/src/app/pages/profile-info/profile-info.page.ts +23 -21
  78. package/src/app/services/tiledesk/tiledesk.service.ts +181 -0
  79. package/src/app/shared/shared.module.ts +13 -0
  80. package/src/app/utils/scrollbar-theme.directive.ts +58 -24
  81. package/src/assets/i18n/de.json +55 -13
  82. package/src/assets/i18n/en.json +48 -6
  83. package/src/assets/i18n/es.json +47 -5
  84. package/src/assets/i18n/fr.json +50 -8
  85. package/src/assets/i18n/it.json +47 -5
  86. package/src/assets/i18n/pt.json +47 -5
  87. package/src/assets/i18n/ru.json +48 -6
  88. package/src/assets/i18n/sr.json +251 -0
  89. package/src/assets/i18n/tr.json +47 -5
  90. package/src/assets/images/default-avatar-x-select.png +0 -0
  91. package/src/assets/images/language_flag/ar.png +0 -0
  92. package/src/assets/images/language_flag/bg.png +0 -0
  93. package/src/assets/images/language_flag/ca.png +0 -0
  94. package/src/assets/images/language_flag/cs.png +0 -0
  95. package/src/assets/images/language_flag/da.png +0 -0
  96. package/src/assets/images/language_flag/de.png +0 -0
  97. package/src/assets/images/language_flag/el.png +0 -0
  98. package/src/assets/images/language_flag/en.png +0 -0
  99. package/src/assets/images/language_flag/es.png +0 -0
  100. package/src/assets/images/language_flag/fa.png +0 -0
  101. package/src/assets/images/language_flag/fi.png +0 -0
  102. package/src/assets/images/language_flag/fr.png +0 -0
  103. package/src/assets/images/language_flag/he.png +0 -0
  104. package/src/assets/images/language_flag/hi.png +0 -0
  105. package/src/assets/images/language_flag/hr.png +0 -0
  106. package/src/assets/images/language_flag/hu.png +0 -0
  107. package/src/assets/images/language_flag/id.png +0 -0
  108. package/src/assets/images/language_flag/it.png +0 -0
  109. package/src/assets/images/language_flag/ja.png +0 -0
  110. package/src/assets/images/language_flag/ko.png +0 -0
  111. package/src/assets/images/language_flag/ml-IN.png +0 -0
  112. package/src/assets/images/language_flag/ne-NP.png +0 -0
  113. package/src/assets/images/language_flag/nl.png +0 -0
  114. package/src/assets/images/language_flag/no.png +0 -0
  115. package/src/assets/images/language_flag/pl.png +0 -0
  116. package/src/assets/images/language_flag/pt-BR.png +0 -0
  117. package/src/assets/images/language_flag/pt.png +0 -0
  118. package/src/assets/images/language_flag/ro.png +0 -0
  119. package/src/assets/images/language_flag/ru.png +0 -0
  120. package/src/assets/images/language_flag/sk.png +0 -0
  121. package/src/assets/images/language_flag/sl.png +0 -0
  122. package/src/assets/images/language_flag/sr.png +0 -0
  123. package/src/assets/images/language_flag/sv-SE.png +0 -0
  124. package/src/assets/images/language_flag/ta.png +0 -0
  125. package/src/assets/images/language_flag/th.png +0 -0
  126. package/src/assets/images/language_flag/tr.png +0 -0
  127. package/src/assets/images/language_flag/uk.png +0 -0
  128. package/src/assets/images/language_flag/vi.png +0 -0
  129. package/src/assets/images/language_flag/zh-CN.png +0 -0
  130. package/src/assets/images/language_flag/zh-TW.png +0 -0
  131. package/src/assets/images/no_image_user.png +0 -0
  132. package/src/assets/images/priority_icons/high.svg +3 -0
  133. package/src/assets/images/priority_icons/high_v2.svg +14 -0
  134. package/src/assets/images/priority_icons/low.svg +10 -0
  135. package/src/assets/images/priority_icons/low_v2.svg +14 -0
  136. package/src/assets/images/priority_icons/medium.svg +16 -0
  137. package/src/assets/images/priority_icons/medium_v2.svg +11 -0
  138. package/src/assets/images/priority_icons/urgent.svg +4 -0
  139. package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
  140. package/src/assets/tiledesk-solo-logo.png +0 -0
  141. package/src/chat-config-pre-test.json +3 -1
  142. package/src/chat-config-template.json +3 -1
  143. package/src/chat-config.json +4 -2
  144. package/src/chat21-core/utils/constants.ts +6 -1
  145. package/src/global.scss +397 -3
  146. package/src/index.html +7 -0
  147. package/publish_pre.sh +0 -33
  148. package/publish_prod.sh +0 -33
@@ -0,0 +1,79 @@
1
+ ::ng-deep .custom-mat-tooltip {
2
+ background-color: #2d323e !important;
3
+ font-size: 12px !important;
4
+ border-radius: 2px !important;
5
+ font-family: 'Poppins' !important;
6
+ }
7
+
8
+ .sidebar-is-busy-icon {
9
+ font-size: 12px;
10
+ color: #feb92c;
11
+ background-color: #2d323e;
12
+ border-radius: 50%;
13
+ }
14
+
15
+ .chat-bot-icon-st0 {
16
+ // fill: #a9afbb;
17
+ fill: #647491
18
+ }
19
+ .chat-bot-icon-st1 {
20
+ fill: none;
21
+ }
22
+
23
+ .realtime-icon-st3 {
24
+ fill: #647491
25
+ }
26
+
27
+ .dashboard_customize-st0{
28
+ fill:none;
29
+ }
30
+ .dashboard_customize-st1{
31
+ fill:#647491;
32
+ }
33
+
34
+ .bar-chart-icon-st0{
35
+ fill:none;
36
+ }
37
+
38
+ .bar-chart-icon-st1{
39
+ fill:#647491;
40
+ }
41
+
42
+ #bot-anchor-wpr:hover > #bot-anchor > .bot-icon-wpr > svg > g > g > .chat-bot-icon-st0 {
43
+ fill: #a9afbb ;
44
+ }
45
+
46
+ li:hover > a > .realtime-icon-wpr > svg > path {
47
+ fill: #a9afbb;
48
+ }
49
+
50
+ li:hover > a > .dashboard-customize-icon-wpr > svg > .dashboard_customize-st1 {
51
+ fill: #a9afbb;
52
+ }
53
+
54
+ li:hover > a > .bar-chart-icon-wpr > svg > .bar-chart-icon-st1{
55
+ fill: #a9afbb;
56
+ }
57
+
58
+ #sidebaravatar-altenative-user-avatar {
59
+ // line-height: 2.9;
60
+ font-weight: 400;
61
+ font-family: "Poppins";
62
+ left: 50%;
63
+ top: 50%;
64
+ -webkit-transform: translate(-50%, -50%);
65
+ transform: translate(-50%, -50%);
66
+ position: absolute;
67
+ font-size:14px
68
+ }
69
+
70
+ // #sidebar_wrapper::-webkit-scrollbar {
71
+ // width: 6px;
72
+ // }
73
+ // #sidebar_wrapper::-webkit-scrollbar-track {
74
+ // background-color: #1c2b45;
75
+ // }
76
+ // #sidebar_wrapper::-webkit-scrollbar-thumb {
77
+ // background-color: #3c485b;
78
+ // border-radius: 3px;
79
+ // }
@@ -0,0 +1,24 @@
1
+ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2
+ import { IonicModule } from '@ionic/angular';
3
+
4
+ import { SidebarComponent } from './sidebar.component';
5
+
6
+ describe('SidebarComponent', () => {
7
+ let component: SidebarComponent;
8
+ let fixture: ComponentFixture<SidebarComponent>;
9
+
10
+ beforeEach(async(() => {
11
+ TestBed.configureTestingModule({
12
+ declarations: [ SidebarComponent ],
13
+ imports: [IonicModule.forRoot()]
14
+ }).compileComponents();
15
+
16
+ fixture = TestBed.createComponent(SidebarComponent);
17
+ component = fixture.componentInstance;
18
+ fixture.detectChanges();
19
+ }));
20
+
21
+ it('should create', () => {
22
+ expect(component).toBeTruthy();
23
+ });
24
+ });
@@ -0,0 +1,493 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { AppConfigProvider } from 'src/app/services/app-config';
4
+ import { WebsocketService } from 'src/app/services/websocket/websocket.service';
5
+ import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
6
+ import { ImageRepoService } from 'src/chat21-core/providers/abstract/image-repo.service';
7
+ import { MessagingAuthService } from 'src/chat21-core/providers/abstract/messagingAuth.service';
8
+ import { CustomTranslateService } from 'src/chat21-core/providers/custom-translate.service';
9
+ import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
10
+ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
11
+ import { TranslateService } from '@ngx-translate/core';
12
+ import { EventsService } from 'src/app/services/events-service';
13
+ import { tranlatedLanguage } from '../../../chat21-core/utils/constants';
14
+
15
+ // utils
16
+ import { avatarPlaceholder, getColorBck} from 'src/chat21-core/utils/utils-user';
17
+
18
+ @Component({
19
+ selector: 'app-sidebar',
20
+ templateUrl: './sidebar.component.html',
21
+ styleUrls: ['./sidebar.component.scss'],
22
+ })
23
+ export class SidebarComponent implements OnInit {
24
+
25
+ private logger: LoggerService = LoggerInstance.getInstance();
26
+
27
+ USER_ROLE: string;
28
+ SIDEBAR_IS_SMALL = true
29
+ IS_AVAILABLE: boolean;
30
+ user: any;
31
+ IS_BUSY: boolean;
32
+
33
+ isVisibleAPP: boolean;
34
+ isVisibleANA: boolean;
35
+ isVisibleACT: boolean;
36
+ photo_profile_URL: string;
37
+ project_id: string;
38
+ DASHBOARD_URL: string;
39
+ // HAS_CLICKED_OPEN_USER_DETAIL: boolean = false
40
+ public translationMap: Map<string, string>;
41
+ public_Key: any;
42
+ conversations_lbl: string;
43
+ contacts_lbl: string;
44
+ apps_lbl: string;
45
+ analytics_lbl: string;
46
+ activities_lbl: string;
47
+ history_lbl: string;
48
+ settings_lbl: string;
49
+ countClickOnOpenUserDetailSidebar: number = 0
50
+ USER_PHOTO_PROFILE_EXIST: boolean;
51
+ currentUser: any;
52
+ constructor(
53
+ public imageRepoService: ImageRepoService,
54
+ public appStorageService: AppStorageService,
55
+ public appConfig: AppConfigProvider,
56
+ private translateService: CustomTranslateService,
57
+ private messagingAuthService: MessagingAuthService,
58
+ public wsService: WebsocketService,
59
+ public appConfigProvider: AppConfigProvider,
60
+ private translate: TranslateService,
61
+ public events: EventsService,
62
+
63
+ ) { }
64
+
65
+ ngOnInit() {
66
+ this.DASHBOARD_URL = this.appConfig.getConfig().dashboardUrl + '#/project/';
67
+ // console.log('[SIDEBAR] DASHBOARD_URL ', this.DASHBOARD_URL)
68
+ this.getStoredProjectAndDashboardBaseUrl()
69
+ this.subcribeToAuthStateChanged()
70
+ this.listenTocurrentProjectUserUserAvailability$()
71
+ this.getOSCODE();
72
+ this.getCurrentChatLangAndTranslateLabels();
73
+
74
+ // this.loggedUser = this.chatManager.getCurrentUser();
75
+ // if (this.loggedUser) {
76
+ // this.itemAvatar = {
77
+ // imageurl: this.imageRepoService.getImagePhotoUrl(this.loggedUser.uid),
78
+ // avatar: this.loggedUser.avatar,
79
+ // color: this.loggedUser.color,
80
+ // online: this.loggedUser.online,
81
+ // lastConnection: this.loggedUser.lastConnection,
82
+ // status: '',
83
+ // width: '35px',
84
+ // height: '35px'
85
+ // };
86
+ // }
87
+ }
88
+
89
+
90
+ subcribeToAuthStateChanged() {
91
+ this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
92
+ this.logger.log('[SIDEBAR] BSAuthStateChanged ', state)
93
+
94
+ if (state === 'online') {
95
+ this.currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
96
+ this.logger.log('[SIDEBAR] currentUser ', this.currentUser)
97
+ if (this.currentUser) {
98
+ this.createUserAvatar(this.currentUser)
99
+ this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(this.currentUser.uid)
100
+ this.logger.log('[SIDEBAR] photo_profile_URL ', this.photo_profile_URL)
101
+ this.checkIfExistPhotoProfile(this.photo_profile_URL)
102
+ }
103
+
104
+ }
105
+ })
106
+ }
107
+
108
+ checkIfExistPhotoProfile(imageUrl) {
109
+ this.verifyImageURL(imageUrl, (imageExists) => {
110
+
111
+ if (imageExists === true) {
112
+ this.USER_PHOTO_PROFILE_EXIST = true;
113
+ this.logger.log('[SIDEBAR] photo_profile_URL IMAGE EXIST ', imageExists)
114
+
115
+ } else {
116
+ this.USER_PHOTO_PROFILE_EXIST = false;
117
+ this.logger.log('[SIDEBAR] photo_profile_URL IMAGE EXIST ', imageExists)
118
+ }
119
+ })
120
+ }
121
+
122
+ createUserAvatar(currentUser) {
123
+ this.logger.log('[SIDEBAR] - createProjectUserAvatar ', currentUser)
124
+ let fullname = ''
125
+ if (currentUser && currentUser.firstname && currentUser.lastname) {
126
+ fullname = currentUser.firstname + ' ' + currentUser.lastname
127
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
128
+ currentUser['fillColour'] = getColorBck(fullname)
129
+ } else if (currentUser && currentUser.firstname) {
130
+ fullname = currentUser.firstname
131
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
132
+ currentUser['fillColour'] = getColorBck(fullname)
133
+ } else {
134
+ currentUser['fullname_initial'] = 'N/A'
135
+ currentUser['fillColour'] = 'rgb(98, 100, 167)'
136
+ }
137
+ }
138
+
139
+ verifyImageURL(image_url, callBack) {
140
+ const img = new Image();
141
+ img.src = image_url;
142
+ img.onload = function () {
143
+ callBack(true);
144
+ };
145
+ img.onerror = function () {
146
+ callBack(false);
147
+ };
148
+ }
149
+
150
+ getCurrentChatLangAndTranslateLabels() {
151
+ const browserLang = this.translate.getBrowserLang();
152
+ const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
153
+ // console.log('[SIDEBAR] - ngOnInit - currentUser ', currentUser)
154
+ // console.log('[SIDEBAR] - ngOnInit - browserLang ', browserLang)
155
+ let currentUserId = ''
156
+ if (currentUser) {
157
+ currentUserId = currentUser.uid
158
+ // console.log('[SIDEBAR] - ngOnInit - currentUserId ', currentUserId)
159
+ }
160
+
161
+ const stored_preferred_lang = localStorage.getItem(currentUserId + '_lang');
162
+ // console.log('[SIDEBAR] stored_preferred_lang: ', stored_preferred_lang);
163
+
164
+ let chat_lang = '';
165
+ if (browserLang && !stored_preferred_lang) {
166
+ chat_lang = browserLang
167
+ this.logger.log('[SIDEBAR] chat_lang: ', chat_lang);
168
+ } else if (browserLang && stored_preferred_lang) {
169
+ chat_lang = stored_preferred_lang
170
+ this.logger.log('[SIDEBAR] chat_lang: ', chat_lang);
171
+ }
172
+ if (tranlatedLanguage.includes(chat_lang)) {
173
+ this.logger.log('[SIDEBAR] tranlatedLanguage includes', chat_lang, ': ', tranlatedLanguage.includes(chat_lang))
174
+ this.translate.use(chat_lang);
175
+ } else {
176
+ this.logger.log('[SIDEBAR] tranlatedLanguage includes', chat_lang, ': ', tranlatedLanguage.includes(chat_lang))
177
+ this.translate.use('en');
178
+ }
179
+ this.translateLabels()
180
+ }
181
+
182
+
183
+ translateLabels() {
184
+ this.getConversationsTranslation();
185
+ this.getContactsTranslation();
186
+ this.getActivitiesTranslation();
187
+ this.getAppsTranslation();
188
+ this.getAnalyticsTranslation();
189
+ this.getHistoryTranslation();
190
+ this.getSettingsTranslation()
191
+ }
192
+
193
+ getConversationsTranslation() {
194
+ this.translate.get('Conversations')
195
+ .subscribe((text: string) => {
196
+ // console.log('[SIDEBAR] - translate Conversations', text)
197
+ this.conversations_lbl = text
198
+ });
199
+ }
200
+
201
+ getContactsTranslation() {
202
+ this.translate.get('LABEL_CONTACTS')
203
+ .subscribe((text: string) => {
204
+ // console.log('[SIDEBAR] - translate Contacts', text)
205
+ this.contacts_lbl = text
206
+ });
207
+ }
208
+
209
+ getAppsTranslation() {
210
+ this.translate.get('Apps')
211
+ .subscribe((text: string) => {
212
+ // console.log('[SIDEBAR] - translate Apps', text)
213
+ this.apps_lbl = text
214
+ });
215
+ }
216
+
217
+ getAnalyticsTranslation() {
218
+ this.translate.get('Analytics')
219
+ .subscribe((text: string) => {
220
+ // console.log('[SIDEBAR] - translate Analytics', text)
221
+ this.analytics_lbl = text
222
+ });
223
+ }
224
+
225
+ getActivitiesTranslation() {
226
+ this.translate.get('Activities')
227
+ .subscribe((text: string) => {
228
+ // console.log('[SIDEBAR] - translate Activities', text)
229
+ this.activities_lbl = text
230
+ });
231
+ }
232
+
233
+ getHistoryTranslation() {
234
+ this.translate.get('History')
235
+ .subscribe((text: string) => {
236
+ // console.log('[SIDEBAR] - translate History', text)
237
+ this.history_lbl = text
238
+ });
239
+ }
240
+
241
+ getSettingsTranslation() {
242
+ this.translate.get('Settings')
243
+ .subscribe((text: string) => {
244
+ // console.log('[SIDEBAR] - translate Settings', text)
245
+ this.settings_lbl = text
246
+ });
247
+ }
248
+
249
+ getOSCODE() {
250
+ this.public_Key = this.appConfigProvider.getConfig().t2y12PruGU9wUtEGzBJfolMIgK;
251
+ this.logger.log('[SIDEBAR] AppConfigService getAppConfig public_Key', this.public_Key);
252
+
253
+ if (this.public_Key) {
254
+ let keys = this.public_Key.split("-");
255
+ this.logger.log('[SIDEBAR] PUBLIC-KEY - public_Key keys', keys)
256
+
257
+ keys.forEach(key => {
258
+
259
+ if (key.includes("ANA")) {
260
+
261
+ let ana = key.split(":");
262
+
263
+ if (ana[1] === "F") {
264
+ this.isVisibleANA = false;
265
+ } else {
266
+ this.isVisibleANA = true;
267
+ }
268
+ }
269
+
270
+ if (key.includes("ACT")) {
271
+ let act = key.split(":");
272
+ if (act[1] === "F") {
273
+ this.isVisibleACT = false;
274
+ } else {
275
+ this.isVisibleACT = true;
276
+ }
277
+ }
278
+
279
+ if (key.includes("APP")) {
280
+ let lbs = key.split(":");
281
+ if (lbs[1] === "F") {
282
+ this.isVisibleAPP = false;
283
+ } else {
284
+ this.isVisibleAPP = true;
285
+ }
286
+ }
287
+ });
288
+
289
+
290
+ if (!this.public_Key.includes("ANA")) {
291
+ this.isVisibleANA = false;
292
+ }
293
+
294
+ if (!this.public_Key.includes("ACT")) {
295
+ this.isVisibleACT = false;
296
+ }
297
+
298
+
299
+ if (!this.public_Key.includes("APP")) {
300
+ this.isVisibleAPP = false;
301
+ }
302
+
303
+ } else {
304
+ this.isVisibleANA = false;
305
+ this.isVisibleACT = false;
306
+ this.isVisibleAPP = false;
307
+ }
308
+
309
+
310
+ }
311
+
312
+ listenTocurrentProjectUserUserAvailability$() {
313
+ this.wsService.currentProjectUserAvailability$.subscribe((projectUser) => {
314
+ this.logger.log('[SIDEBAR] - $UBSC TO WS USER AVAILABILITY & BUSY STATUS RES ', projectUser);
315
+
316
+ this.IS_AVAILABLE = projectUser['user_available']
317
+ this.IS_BUSY = projectUser['isBusy']
318
+ // if (project.id_project._id === projectUser['id_project']) {
319
+ // project['ws_projct_user_available'] = projectUser['user_available'];
320
+ // project['ws_projct_user_isBusy'] = projectUser['isBusy']
321
+ // if (this.translationMap) {
322
+ // if (projectUser['user_available'] === true) {
323
+ // this.avaialble_status_for_tooltip = this.translationMap.get('CHANGE_TO_YOUR_STATUS_TO_UNAVAILABLE')
324
+ // } else {
325
+ // this.avaialble_status_for_tooltip = this.translationMap.get('CHANGE_TO_YOUR_STATUS_TO_AVAILABLE')
326
+ // }
327
+ // }
328
+ // }
329
+
330
+ }, (error) => {
331
+ this.logger.error('[SIDEBAR] - $UBSC TO WS USER AVAILABILITY & BUSY STATUS error ', error);
332
+ }, () => {
333
+ this.logger.log('[SIDEBAR] - $UBSC TO WS USER AVAILABILITY & BUSY STATUS * COMPLETE *');
334
+ })
335
+ }
336
+
337
+ openUserDetailSidePanel() {
338
+ this.countClickOnOpenUserDetailSidebar++
339
+ this.logger.log('[SIDEBAR-CHAT] countClickOnOpenUserDetailSidebar', this.countClickOnOpenUserDetailSidebar)
340
+ this.logger.log('[SIDEBAR-CHAT] OPEN UESER DTLS SIDE PANEL')
341
+ // this.HAS_CLICKED_OPEN_USER_DETAIL = true
342
+ // console.log('[SIDEBAR-CHAT] OPEN USER DTLS SIDE PANEL ', this.HAS_CLICKED_OPEN_USER_DETAIL)
343
+ const elSidebarUserDtls = <HTMLElement>document.querySelector('#user-details');
344
+ this.logger.log('[SIDEBAR] OPEN USER DTLS SIDE PANEL elSidebarUserDtls ', elSidebarUserDtls)
345
+
346
+ // if (elSidebarUserDtls) {
347
+ // elSidebarUserDtls.classList.add("active");
348
+ // this.events.publish('userdetailsidebar:opened', true);
349
+ // }
350
+ if (elSidebarUserDtls && this.countClickOnOpenUserDetailSidebar === 1) {
351
+ elSidebarUserDtls.classList.add("active");
352
+ }
353
+ if (elSidebarUserDtls && this.countClickOnOpenUserDetailSidebar > 1) {
354
+ // console.log('[SIDEBAR] this.countClickOnOpenUserDetailSidebar HERE', this.countClickOnOpenUserDetailSidebar)
355
+ if (elSidebarUserDtls.classList.contains('active')) {
356
+ this.logger.log('[SIDEBAR-CHAT] elSidebarUserDtls contains class ACTIVE', elSidebarUserDtls)
357
+ elSidebarUserDtls.classList.remove("active");
358
+ } else if (!elSidebarUserDtls.classList.contains('active')) {
359
+ this.logger.log('[SIDEBAR-CHAT] elSidebarUserDtls NOT contains class ACTIVE', elSidebarUserDtls)
360
+ elSidebarUserDtls.classList.add("active");
361
+ }
362
+ }
363
+ }
364
+
365
+ // onCloseUserDetailsSidebar($event) {
366
+ // this.logger.log('[SIDEBAR-CHAT] HAS_CLICKED_CLOSE_USER_DETAIL ', $event)
367
+ // this.HAS_CLICKED_OPEN_USER_DETAIL = $event
368
+ // const elemNavbar = <HTMLElement>document.querySelector('.navbar-absolute');
369
+ // this.logger.log('[SIDEBAR] elemNavBar ', elemNavbar)
370
+ // if (elemNavbar) {
371
+ // elemNavbar.classList.remove("navbar-absolute-custom-class")
372
+ // }
373
+
374
+ // const elemNavbarBrand = <HTMLElement>document.querySelector('.navbar-brand');
375
+ // this.logger.log('[SIDEBAR] elemNavbarBrand ', elemNavbarBrand)
376
+ // if (elemNavbarBrand) {
377
+ // elemNavbarBrand.classList.remove("navbar-brand-z-index-zero")
378
+ // }
379
+ // }
380
+
381
+
382
+
383
+
384
+ getStoredProjectAndDashboardBaseUrl() {
385
+ const stored_project = localStorage.getItem('last_project')
386
+ // console.log('[SIDEBAR] stored_project ', stored_project)
387
+ if (stored_project) {
388
+ const project = JSON.parse(stored_project)
389
+ this.logger.log('[SIDEBAR] project ', project)
390
+
391
+ this.project_id = project.id_project.id
392
+ this.logger.log('[SIDEBAR] project_id ', this.project_id)
393
+
394
+ this.USER_ROLE = project.role;
395
+ this.logger.log('[SIDEBAR] USER_ROLE ', this.USER_ROLE)
396
+ }
397
+ }
398
+
399
+ goToHome() {
400
+ let url = this.DASHBOARD_URL + this.project_id + '/home'
401
+ const myWindow = window.open(url, '_self');
402
+ myWindow.focus();
403
+ }
404
+
405
+ goToConversations() {
406
+ let url = this.DASHBOARD_URL + this.project_id + '/wsrequests'
407
+ const myWindow = window.open(url, '_self');
408
+ myWindow.focus();
409
+ }
410
+
411
+ goToBots() {
412
+ let url = this.DASHBOARD_URL + this.project_id + '/bots'
413
+ const myWindow = window.open(url, '_self');
414
+ myWindow.focus();
415
+ }
416
+
417
+ goToContacts() {
418
+ let url = this.DASHBOARD_URL + this.project_id + '/contacts'
419
+ const myWindow = window.open(url, '_self');
420
+ myWindow.focus();
421
+ }
422
+
423
+ goToAppStore() {
424
+ let url = this.DASHBOARD_URL + this.project_id + '/app-store'
425
+ const myWindow = window.open(url, '_self');
426
+ myWindow.focus();
427
+ }
428
+
429
+
430
+ goToAnalytics() {
431
+ let url = this.DASHBOARD_URL + this.project_id + '/analytics'
432
+ const myWindow = window.open(url, '_self');
433
+ myWindow.focus();
434
+ }
435
+
436
+
437
+ goToActivities() {
438
+ let url = this.DASHBOARD_URL + this.project_id + '/activities'
439
+ const myWindow = window.open(url, '_self');
440
+ myWindow.focus();
441
+ }
442
+
443
+ goToHistory() {
444
+ let url = this.DASHBOARD_URL + this.project_id + '/history'
445
+ const myWindow = window.open(url, '_self');
446
+ myWindow.focus();
447
+ }
448
+
449
+ goToSettings_CannedResponses() {
450
+ let url = this.DASHBOARD_URL + this.project_id + '/cannedresponses'
451
+ const myWindow = window.open(url, '_self');
452
+ myWindow.focus();
453
+ }
454
+
455
+ public translations() {
456
+ const keys = [
457
+ 'Available',
458
+ 'Unavailable',
459
+ 'Busy',
460
+ 'VIEW_ALL_CONVERSATIONS',
461
+ 'CONVERSATIONS_IN_QUEUE',
462
+ 'CONVERSATION_IN_QUEUE',
463
+ 'NO_CONVERSATION_IN_QUEUE',
464
+ 'PINNED_PROJECT',
465
+ 'CHANGE_PINNED_PROJECT',
466
+ "CHANGE_TO_YOUR_STATUS_TO_AVAILABLE",
467
+ "CHANGE_TO_YOUR_STATUS_TO_UNAVAILABLE"
468
+ ];
469
+ this.translationMap = this.translateService.translateLanguage(keys);
470
+ }
471
+
472
+
473
+ changeAvailabilityState(IS_AVAILABLE) {
474
+
475
+ }
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+ }
490
+
491
+
492
+
493
+