@chat21/chat21-ionic 3.0.61-rc3 → 3.0.61-rc7

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 (73) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/config.xml +5 -5
  3. package/deploy_pre.sh +10 -10
  4. package/deploy_prod.sh +5 -1
  5. package/env.sample +1 -1
  6. package/package.json +6 -6
  7. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  8. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  9. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  10. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon.png +0 -0
  14. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  15. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  16. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash.png +0 -0
  27. package/src/app/app.component.html +4 -3
  28. package/src/app/app.component.scss +6 -1
  29. package/src/app/app.component.ts +24 -13
  30. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +6 -1
  31. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +90 -20
  32. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +31 -33
  33. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +5 -1
  34. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +15 -1
  35. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -3
  36. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +12 -2
  37. package/src/app/components/ddp-header/ddp-header.component.html +3 -3
  38. package/src/app/components/ddp-header/ddp-header.component.ts +1 -1
  39. package/src/app/components/project-item/project-item.component.html +1 -1
  40. package/src/app/components/sidebar/sidebar.component.html +119 -66
  41. package/src/app/components/sidebar/sidebar.component.scss +53 -4
  42. package/src/app/components/sidebar/sidebar.component.ts +134 -41
  43. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +13 -5
  44. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +35 -27
  45. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +122 -57
  46. package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -1
  47. package/src/app/pages/conversation-detail/conversation-detail.page.html +5 -4
  48. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1297 -783
  49. package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
  50. package/src/app/pages/conversations-list/conversations-list.page.html +9 -6
  51. package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
  52. package/src/app/pages/conversations-list/conversations-list.page.ts +47 -15
  53. package/src/app/pages/loader-preview/loader-preview.page.ts +235 -166
  54. package/src/app/pages/profile-info/profile-info.page.scss +1 -1
  55. package/src/app/services/tiledesk/tiledesk.service.ts +19 -0
  56. package/src/app/utils/scrollbar-theme.directive.ts +58 -24
  57. package/src/assets/i18n/de.json +10 -7
  58. package/src/assets/i18n/en.json +6 -3
  59. package/src/assets/i18n/es.json +5 -2
  60. package/src/assets/i18n/fr.json +8 -5
  61. package/src/assets/i18n/it.json +5 -2
  62. package/src/assets/i18n/pt.json +5 -2
  63. package/src/assets/i18n/ru.json +6 -3
  64. package/src/assets/i18n/tr.json +5 -2
  65. package/src/assets/images/language_flag/hr.png +0 -0
  66. package/src/assets/images/language_flag/sr.png +0 -0
  67. package/src/chat-config-pre-test.json +1 -1
  68. package/src/chat-config-template.json +1 -1
  69. package/src/chat-config.json +1 -1
  70. package/src/chat21-core/utils/constants.ts +4 -1
  71. package/src/global.scss +35 -105
  72. package/publish_pre.sh +0 -33
  73. package/publish_prod.sh +0 -33
@@ -10,15 +10,15 @@ import { WebsocketService } from 'src/app/services/websocket/websocket.service';
10
10
  import { skip } from 'rxjs/operators';
11
11
  import { AppConfigProvider } from 'src/app/services/app-config';
12
12
  import { EventsService } from 'src/app/services/events-service';
13
-
14
-
13
+ import { tranlatedLanguage } from '../../../chat21-core/utils/constants';
14
+ import { avatarPlaceholder, getColorBck} from 'src/chat21-core/utils/utils-user';
15
15
  @Component({
16
16
  selector: 'app-sidebar-user-details',
17
17
  templateUrl: './sidebar-user-details.component.html',
18
18
  styleUrls: ['./sidebar-user-details.component.scss'],
19
19
  })
20
20
  export class SidebarUserDetailsComponent implements OnInit, OnChanges {
21
- HAS_CLICKED_OPEN_USER_DETAIL: boolean = false;
21
+ // HAS_CLICKED_OPEN_USER_DETAIL: boolean = false;
22
22
  // @Output() onCloseUserDetailsSidebar = new EventEmitter();
23
23
 
24
24
 
@@ -53,6 +53,8 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
53
53
  public_Key: any
54
54
  plan_name: string;
55
55
  plan_subscription_is_active: boolean;
56
+ USER_PHOTO_PROFILE_EXIST: boolean;
57
+
56
58
  constructor(
57
59
  private translate: TranslateService,
58
60
  public tiledeskAuthService: TiledeskAuthService,
@@ -71,34 +73,102 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
71
73
  this.listenTocurrentProjectUserUserAvailability$();
72
74
  this.getCurrentStoredProject();
73
75
  this.getOSCODE();
74
- this.listenOpenUserSidebarEvent();
76
+ // this.listenOpenUserSidebarEvent();
77
+ }
78
+
79
+ subcribeToAuthStateChanged() {
80
+ this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
81
+ this.logger.log('[SIDEBAR-USER-DETAILS] BSAuthStateChanged ', state)
82
+
83
+ if (state === 'online') {
84
+ const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
85
+ this.logger.log('[SIDEBAR-USER-DETAILS] currentUser ', currentUser)
86
+ if (currentUser) {
87
+ this.user = currentUser;
88
+ this.createUserAvatar(this.user)
89
+ this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(currentUser.uid)
90
+ this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL ', this.photo_profile_URL);
91
+ this.checkIfExistPhotoProfile(this.photo_profile_URL)
92
+ }
93
+ }
94
+ })
95
+ }
96
+
97
+ checkIfExistPhotoProfile(imageUrl) {
98
+ this.verifyImageURL(imageUrl, (imageExists) => {
99
+
100
+ if (imageExists === true) {
101
+ this.USER_PHOTO_PROFILE_EXIST = true;
102
+ this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL IMAGE EXIST ', imageExists)
103
+
104
+ } else {
105
+ this.USER_PHOTO_PROFILE_EXIST = false;
106
+ this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL IMAGE EXIST ', imageExists)
107
+ }
108
+ })
75
109
  }
76
110
 
77
- listenOpenUserSidebarEvent() {
78
- this.events.subscribe('userdetailsidebar:opened', (openUserDetailsSidebar) => {
79
- this.logger.log('[SIDEBAR-USER-DETAILS] - listenOpenUserSidebarEvent - openUserDetailsSidebar', openUserDetailsSidebar);
80
- this.HAS_CLICKED_OPEN_USER_DETAIL = true;
81
- });
111
+
112
+ createUserAvatar(currentUser) {
113
+ this.logger.log('[SIDEBAR-USER-DETAILS] - createProjectUserAvatar ', currentUser)
114
+ let fullname = ''
115
+ if (currentUser && currentUser.firstname && currentUser.lastname) {
116
+ fullname = currentUser.firstname + ' ' + currentUser.lastname
117
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
118
+ currentUser['fillColour'] = getColorBck(fullname)
119
+ } else if (currentUser && currentUser.firstname) {
120
+ fullname = currentUser.firstname
121
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
122
+ currentUser['fillColour'] = getColorBck(fullname)
123
+ } else {
124
+ currentUser['fullname_initial'] = 'N/A'
125
+ currentUser['fillColour'] = 'rgb(98, 100, 167)'
126
+ }
127
+ }
128
+
129
+ verifyImageURL(image_url, callBack) {
130
+ const img = new Image();
131
+ img.src = image_url;
132
+ img.onload = function () {
133
+ callBack(true);
134
+ };
135
+ img.onerror = function () {
136
+ callBack(false);
137
+ };
82
138
  }
83
139
 
140
+ // listenOpenUserSidebarEvent() {
141
+ // this.events.subscribe('userdetailsidebar:opened', (openUserDetailsSidebar) => {
142
+ // this.logger.log('[SIDEBAR-USER-DETAILS] - listenOpenUserSidebarEvent - openUserDetailsSidebar', openUserDetailsSidebar);
143
+ // this.HAS_CLICKED_OPEN_USER_DETAIL = true;
144
+ // });
145
+ // }
146
+
84
147
  @HostListener('document:click', ['$event'])
85
148
  clickout(event) {
86
- this.logger.log('[SIDEBAR-USER-DETAILS] clickout event.target)', event.target)
87
- this.logger.log('[SIDEBAR-USER-DETAILS] clickout event.target)', event.target.id)
149
+ this.logger.log('[SIDEBAR-USER-DETAILSS-CHAT] clickout event.target)', event.target)
150
+ this.logger.log('[SIDEBAR-USER-DETAILSS-CHAT] clickout event.target)', event.target.id)
88
151
  const clicked_element_id = event.target.id
89
152
  if (this.eRef.nativeElement.contains(event.target)) {
90
- this.logger.log('[SIDEBAR-USER-DETAILS] clicked inside')
153
+ // this.logger.log('[SIDEBAR-USER-DETAILS] clicked inside')
91
154
  } else {
92
- this.logger.log('[SIDEBAR-USER-DETAILS] HAS_CLICKED_OPEN_USER_DETAIL ', this.HAS_CLICKED_OPEN_USER_DETAIL)
93
- if (this.HAS_CLICKED_OPEN_USER_DETAIL === true) {
94
- if (!clicked_element_id.startsWith("sidebaravatar")) {
95
- this.closeUserDetailSidePanel();
96
- }
97
- // this.logger.log('[SIDEBAR-USER-DETAILS] clicked outside')
155
+ if (!clicked_element_id.startsWith("sidebaravatar")) {
156
+ this.closeUserDetailSidePanel();
98
157
  }
158
+ // this.logger.log('[SIDEBAR-USER-DETAILS] clicked outside')
159
+
99
160
  }
100
161
  }
101
162
 
163
+ closeUserDetailSidePanel() {
164
+ var element = document.getElementById('user-details');
165
+ element.classList.remove("active");
166
+ this.logger.log('[SIDEBAR-USER-DETAILS] element', element);
167
+ // this.HAS_CLICKED_OPEN_USER_DETAIL === true
168
+ // this.onCloseUserDetailsSidebar.emit(false);
169
+ }
170
+
171
+
102
172
  getCurrentChatLangAndTranslateLabels() {
103
173
  this.browserLang = this.translate.getBrowserLang();
104
174
  const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
@@ -117,18 +187,28 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
117
187
  this.chat_lang = ''
118
188
  if (this.browserLang && !stored_preferred_lang) {
119
189
  this.chat_lang = this.browserLang
120
- this.flag_url = "assets/images/language_flag/" + this.chat_lang + ".png"
190
+ // this.flag_url = "assets/images/language_flag/" + this.chat_lang + ".png"
121
191
 
122
192
  this.logger.log('[SIDEBAR-USER-DETAILS] flag_url: ', this.flag_url);
123
193
  this.logger.log('[SIDEBAR-USER-DETAILS] chat_lang: ', this.chat_lang);
124
194
  } else if (this.browserLang && stored_preferred_lang) {
125
195
  this.chat_lang = stored_preferred_lang
126
- this.flag_url = "assets/images/language_flag/" + this.chat_lang + ".png"
196
+ // this.flag_url = "assets/images/language_flag/" + this.chat_lang + ".png"
127
197
  this.logger.log('[SIDEBAR-USER-DETAILS] flag_url: ', this.flag_url);
128
198
  this.logger.log('[SIDEBAR-USER-DETAILS] chat_lang: ', this.chat_lang);
129
199
  }
130
200
 
131
- this.translate.use(this.chat_lang);
201
+
202
+ if (tranlatedLanguage.includes(this.chat_lang)) {
203
+ this.logger.log('[SIDEBAR-USER-DETAILS] tranlatedLanguage includes', this.chat_lang, ': ', tranlatedLanguage.includes(this.chat_lang))
204
+ this.translate.use(this.chat_lang);
205
+ this.flag_url = "assets/images/language_flag/" + this.chat_lang + ".png"
206
+ } else {
207
+ this.logger.log('[SIDEBAR-USER-DETAILS] tranlatedLanguage includes', this.chat_lang, ': ', tranlatedLanguage.includes(this.chat_lang))
208
+ this.translate.use('en');
209
+ this.flag_url = "assets/images/language_flag/en.png"
210
+ this.chat_lang = 'en'
211
+ }
132
212
  this.translateLabels()
133
213
  }
134
214
 
@@ -173,7 +253,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
173
253
  getAvailableTranslation() {
174
254
  this.translate.get('Available')
175
255
  .subscribe((text: string) => {
176
-
256
+
177
257
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
178
258
  this.IS_AVAILABLE_msg = text
179
259
  });
@@ -181,7 +261,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
181
261
  getUnavailableTranslation() {
182
262
  this.translate.get('Unavailable')
183
263
  .subscribe((text: string) => {
184
-
264
+
185
265
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
186
266
  this.IS_UNAVAILABLE_msg = text
187
267
  });
@@ -190,7 +270,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
190
270
  getIsBusyTranslation() {
191
271
  this.translate.get('Busy')
192
272
  .subscribe((text: string) => {
193
-
273
+
194
274
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
195
275
  this.IS_BUSY_msg = text
196
276
  });
@@ -199,7 +279,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
199
279
  getSubscriptionPaymentProblemTranslation() {
200
280
  this.translate.get('SubscriptionPaymentProblem')
201
281
  .subscribe((text: string) => {
202
-
282
+
203
283
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
204
284
  this.SUBSCRIPTION_PAYMENT_PROBLEM_msg = text
205
285
  });
@@ -208,7 +288,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
208
288
  getThePlanHasExpiredTranslation() {
209
289
  this.translate.get('ThePlanHasExpired')
210
290
  .subscribe((text: string) => {
211
-
291
+
212
292
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
213
293
  this.THE_PLAN_HAS_EXPIRED_msg = text
214
294
  });
@@ -272,7 +352,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
272
352
  // this.profile_name_translated = this.PRO_PLAN_TRIAL_msg;
273
353
  this.translate.get('ProPlanTrial')
274
354
  .subscribe((text: string) => {
275
-
355
+
276
356
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
277
357
  this.profile_name_translated = text
278
358
  });
@@ -282,7 +362,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
282
362
  // this.profile_name_translated = this.FREE_PLAN_msg;
283
363
  this.translate.get('FreePlan')
284
364
  .subscribe((text: string) => {
285
-
365
+
286
366
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
287
367
  this.profile_name_translated = text
288
368
  });
@@ -324,7 +404,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
324
404
  this.translateUserRole(this.USER_ROLE)
325
405
  }
326
406
 
327
-
407
+
328
408
 
329
409
  }, (error) => {
330
410
  this.logger.error('[SIDEBAR-USER-DETAILS] - $UBSC TO WS USER AVAILABILITY & BUSY STATUS error ', error);
@@ -337,7 +417,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
337
417
  // console.log('[SIDEBAR-USER-DETAILS] -translateUserRole ', role)
338
418
  this.translate.get(role)
339
419
  .subscribe((text: string) => {
340
-
420
+
341
421
  // console.log('[SIDEBAR-USER-DETAILS] - GET GTTTTTN ', text)
342
422
  this.USER_ROLE_LABEL = text
343
423
  });
@@ -348,37 +428,22 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
348
428
 
349
429
  ngOnChanges() {
350
430
  // console.log('[SIDEBAR-USER-DETAILS] HAS_CLICKED_OPEN_USER_DETAIL', this.HAS_CLICKED_OPEN_USER_DETAIL)
351
- var element = document.getElementById('user-details');
352
- // console.log('[SIDEBAR-USER-DETAILS] element', element)
353
- if (this.HAS_CLICKED_OPEN_USER_DETAIL === true) {
354
- element.classList.add("active");
355
- }
431
+ // var element = document.getElementById('user-details');
432
+ // // console.log('[SIDEBAR-USER-DETAILS] element', element)
433
+ // if (this.HAS_CLICKED_OPEN_USER_DETAIL === true) {
434
+ // element.classList.add("active");
435
+ // }
356
436
  }
357
437
 
358
- subcribeToAuthStateChanged() {
359
- this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
360
- this.logger.log('[SIDEBAR] BSAuthStateChanged ', state)
361
-
362
- if (state === 'online') {
363
- const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
364
- this.logger.log('[SIDEBAR-USER-DETAILS] currentUser ', currentUser)
365
- if (currentUser) {
366
- this.user = currentUser;
367
- this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(currentUser.uid)
368
- this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL ', this.photo_profile_URL)
369
- }
370
438
 
371
- }
372
- })
373
- }
374
439
 
375
- closeUserDetailSidePanel() {
376
- var element = document.getElementById('user-details');
377
- element.classList.remove("active");
378
- this.logger.log('[SIDEBAR-USER-DETAILS] element', element);
379
- this.HAS_CLICKED_OPEN_USER_DETAIL === true
380
- // this.onCloseUserDetailsSidebar.emit(false);
381
- }
440
+ // closeUserDetailSidePanel() {
441
+ // var element = document.getElementById('user-details');
442
+ // element.classList.remove("active");
443
+ // this.logger.log('[SIDEBAR-USER-DETAILS] element', element);
444
+ // this.HAS_CLICKED_OPEN_USER_DETAIL === true
445
+ // // this.onCloseUserDetailsSidebar.emit(false);
446
+ // }
382
447
 
383
448
 
384
449
 
@@ -34,7 +34,7 @@ import { InfoGroupComponent } from 'src/app/components/conversation-info/info-gr
34
34
  import { SharedModule } from 'src/app/shared/shared.module';
35
35
  // import { SharedConversationInfoModule } from 'src/app/shared/shared-conversation-info.module';
36
36
  import { NgxLinkifyjsModule } from 'ngx-linkifyjs';
37
-
37
+ import { ScrollbarThemeModule } from '../../utils/scrollbar-theme.directive';
38
38
  @NgModule({
39
39
  imports: [
40
40
  CommonModule,
@@ -42,6 +42,7 @@ import { NgxLinkifyjsModule } from 'ngx-linkifyjs';
42
42
  IonicModule,
43
43
  TooltipModule,
44
44
  ConversationDetailPageRoutingModule,
45
+ ScrollbarThemeModule,
45
46
  TranslateModule.forChild({
46
47
  loader: {
47
48
  provide: TranslateLoader,
@@ -1,7 +1,7 @@
1
1
  <span *ngIf="conversationWith && loggedUser; then showConversation else showPlaceholder"></span>
2
2
  <ng-template #showPlaceholder>
3
3
  <!-- class="splash-page" -->
4
- <ion-content padding>
4
+ <ion-content padding >
5
5
  <!-- <div padding class="image-splash-page"></div>
6
6
  <div padding class="title-splash-page">
7
7
  text new conversation + button
@@ -37,7 +37,7 @@
37
37
  [isOpenInfoConversation]="isOpenInfoConversation">
38
38
  </app-header-conversation-detail>
39
39
 
40
- <ion-content>
40
+ <ion-content id="conv-details">
41
41
  <ion-grid class="grid_content">
42
42
  <ion-row class="row_content">
43
43
  <ion-col id="chatArea" [class.mobile]="isMobile" [class.open]="openInfoConversation">
@@ -91,7 +91,7 @@
91
91
  </ng-template>
92
92
 
93
93
  <ng-template #content_messages>
94
- <ion-content #ionContentChatArea class="ionContentChatArea" (drop)="drop($event)"
94
+ <ion-content #ionContentChatArea appScrollbarTheme class="ionContentChatArea" (drop)="drop($event)"
95
95
  (dragover)="allowDrop($event)" (dragleave)="drag($event)" [scrollEvents]="true"
96
96
  (ionScrollStart)="logScrollStart($event)" (ionScroll)="logScrolling($event)"
97
97
  (ionScrollEnd)="logScrollEnd($event)" [class.active]="showIonContent">
@@ -162,7 +162,8 @@
162
162
  (eventSendMessage)="returnSendMessage($event)" [translationMap]="translationMap"
163
163
  [fileUploadAccept]="appConfigProvider.getConfig().fileUploadAccept"
164
164
  [isOpenInfoConversation]="isOpenInfoConversation" [dropEvent]="dropEvent"
165
- (onPresentModalScrollToBottom)="onPresentModalScrollToBottom($event)">
165
+ (onPresentModalScrollToBottom)="onPresentModalScrollToBottom($event)"
166
+ [disableTextarea]="disableTextarea">
166
167
  </app-message-text-area>
167
168
  <!-- [events]="eventsReplaceTexareaText.asObservable()" -->
168
169
  </ion-row>