@chat21/chat21-ionic 3.0.78-rc.3 → 3.0.78
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 +2 -16
- package/package.json +1 -1
- package/src/app/app.component.scss +1 -1
- package/src/app/app.component.ts +2 -7
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +1 -8
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +2 -31
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +2 -69
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +2 -15
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +1 -1
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +1 -3
- package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.scss +2 -2
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +34 -62
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +18 -58
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +10 -14
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +37 -52
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +29 -57
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +24 -8
- package/src/app/components/ddp-header/ddp-header.component.html +1 -1
- package/src/app/components/ddp-header/ddp-header.component.scss +0 -4
- package/src/app/components/project-item/project-item.component.html +149 -98
- package/src/app/components/project-item/project-item.component.scss +32 -39
- package/src/app/components/project-item/project-item.component.ts +4 -5
- package/src/app/pages/conversation-detail/conversation-detail.page.html +10 -14
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +2 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +43 -156
- package/src/app/pages/conversations-list/conversations-list.page.html +2 -2
- package/src/app/pages/conversations-list/conversations-list.page.scss +2 -2
- package/src/app/pages/conversations-list/conversations-list.page.ts +0 -7
- package/src/assets/i18n/ar.json +265 -268
- package/src/assets/i18n/az.json +0 -3
- package/src/assets/i18n/de.json +0 -3
- package/src/assets/i18n/en.json +0 -3
- package/src/assets/i18n/es.json +0 -3
- package/src/assets/i18n/fr.json +0 -3
- package/src/assets/i18n/it.json +0 -3
- package/src/assets/i18n/kk.json +0 -3
- package/src/assets/i18n/pt.json +0 -3
- package/src/assets/i18n/ru.json +0 -3
- package/src/assets/i18n/sr.json +0 -3
- package/src/assets/i18n/sv.json +0 -3
- package/src/assets/i18n/tr.json +0 -3
- package/src/assets/i18n/uk.json +0 -3
- package/src/assets/i18n/uz.json +0 -3
- package/src/chat21-core/providers/firebase/firebase-typing.service.ts +9 -7
- package/src/chat21-core/utils/constants.ts +0 -4
- package/src/chat21-core/utils/user-typing/user-typing.component.html +5 -8
- package/src/chat21-core/utils/user-typing/user-typing.component.scss +17 -87
- package/src/chat21-core/utils/user-typing/user-typing.component.ts +94 -12
- package/src/chat21-core/utils/utils.ts +1 -5
- package/src/variables.scss +1 -7
|
@@ -113,14 +113,16 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
113
113
|
public lastConnectionDate: string
|
|
114
114
|
public showMessageWelcome: boolean
|
|
115
115
|
public openInfoConversation = false
|
|
116
|
+
public openInfoMessage: boolean // check is open info message
|
|
116
117
|
public isMobile = false
|
|
117
118
|
public isLessThan991px = false // nk added
|
|
119
|
+
public isTyping = false
|
|
120
|
+
public nameUserTypingNow: string
|
|
118
121
|
|
|
119
122
|
public heightMessageTextArea = ''
|
|
120
|
-
public
|
|
121
|
-
public translationsHeaderMap: Map<string, string> = new Map()
|
|
122
|
-
public translationsContentMap: Map<string, string> = new Map()
|
|
123
|
+
public translationMap: Map<string, string>
|
|
123
124
|
public conversationAvatar: any
|
|
125
|
+
public membersConversation: any
|
|
124
126
|
public member: UserModel
|
|
125
127
|
public urlConversationSupportGroup: any
|
|
126
128
|
public isFileSelected: boolean
|
|
@@ -146,6 +148,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
146
148
|
//SOUND
|
|
147
149
|
setTimeoutSound: any;
|
|
148
150
|
audio: any;
|
|
151
|
+
isOpenInfoConversation: boolean;
|
|
149
152
|
USER_HAS_OPENED_CLOSE_INFO_CONV: boolean = false;
|
|
150
153
|
isHovering: boolean = false;
|
|
151
154
|
conversation_count: number;
|
|
@@ -166,15 +169,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
166
169
|
public disableTextarea: boolean;
|
|
167
170
|
appsidebarIsWide: boolean;
|
|
168
171
|
|
|
169
|
-
// ========== begin:: typying =======
|
|
170
|
-
public isTypings = false;
|
|
171
|
-
public isDirect = false;
|
|
172
|
-
public idUserTypingNow: string;
|
|
173
|
-
public nameUserTypingNow: string;
|
|
174
|
-
private setTimeoutWritingMessages;
|
|
175
|
-
membersConversation = ['SYSTEM'];
|
|
176
|
-
// ========== end:: typying =======
|
|
177
|
-
|
|
178
172
|
/**
|
|
179
173
|
* Constructor
|
|
180
174
|
* @param route
|
|
@@ -243,7 +237,21 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
243
237
|
// -----------------------------------------------------------
|
|
244
238
|
ngOnInit() {
|
|
245
239
|
this.logger.log('[CONVS-DETAIL] > ngOnInit - window.location: ', window.location);
|
|
246
|
-
|
|
240
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept: ', this.appConfigProvider.getConfig().fileUploadAccept);
|
|
241
|
+
// const accept_files = this.appConfigProvider.getConfig().fileUploadAccept;
|
|
242
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept typeof accept_files ', typeof accept_files);
|
|
243
|
+
// const accept_files_array = accept_files.split(',')
|
|
244
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept accept_files_array ', accept_files_array);
|
|
245
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept accept_files_array typeof: ', typeof accept_files_array);
|
|
246
|
+
|
|
247
|
+
// accept_files_array.forEach(accept_file => {
|
|
248
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept accept_file ', accept_file);
|
|
249
|
+
// const accept_file_segment = accept_file.split('/')
|
|
250
|
+
// this.logger.log('[CONVS-DETAIL] > ngOnInit - fileUploadAccept accept_file_segment ', accept_file_segment);
|
|
251
|
+
// if (accept_file_segment[1] === '*') {
|
|
252
|
+
|
|
253
|
+
// }
|
|
254
|
+
// });
|
|
247
255
|
this.getConversations();
|
|
248
256
|
this.watchToConnectionStatus();
|
|
249
257
|
this.getOSCODE();
|
|
@@ -328,12 +336,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
328
336
|
// this.updateConversationBadge()
|
|
329
337
|
// }
|
|
330
338
|
if(conv.uid && conv.uid === this.conversationWith){
|
|
331
|
-
this.conversationAvatar = setConversationAvatar(
|
|
332
|
-
conv.conversation_with,
|
|
333
|
-
conv.conversation_with_fullname,
|
|
334
|
-
conv.channel_type,
|
|
335
|
-
conv.attributes['projectId'],
|
|
336
|
-
conv.attributes['project_name'])
|
|
339
|
+
this.conversationAvatar = setConversationAvatar(conv.conversation_with,conv.conversation_with_fullname,conv.channel_type)
|
|
337
340
|
}
|
|
338
341
|
|
|
339
342
|
}
|
|
@@ -471,7 +474,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
471
474
|
this.loggedUser = this.tiledeskAuthService.getCurrentUser()
|
|
472
475
|
this.logger.log('[CONVS-DETAIL] - initialize -> loggedUser: ', this.loggedUser)
|
|
473
476
|
this.translations()
|
|
474
|
-
this.setStyleMap()
|
|
475
477
|
// this.conversationSelected = localStorage.getItem('conversationSelected');
|
|
476
478
|
this.showButtonToBottom = false
|
|
477
479
|
this.showMessageWelcome = false
|
|
@@ -486,6 +488,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
486
488
|
|
|
487
489
|
this.messages = [] // list messages of conversation
|
|
488
490
|
this.isFileSelected = false // indicates if a file has been selected (image to upload)
|
|
491
|
+
this.openInfoMessage = false // indicates whether the info message panel is open
|
|
489
492
|
|
|
490
493
|
if (checkPlatformIsMobile()) {
|
|
491
494
|
this.isMobile = true
|
|
@@ -501,11 +504,13 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
501
504
|
if (checkWindowWidthIsLessThan991px()) {
|
|
502
505
|
this.logger.log('[CONVS-DETAIL] - initialize -> checkWindowWidthIsLessThan991px ', checkWindowWidthIsLessThan991px())
|
|
503
506
|
this.openInfoConversation = false // indica se è aperto il box info conversazione
|
|
504
|
-
this.
|
|
507
|
+
this.isOpenInfoConversation = false
|
|
508
|
+
this.logger.log('[CONVS-DETAIL] - initialize -> openInfoConversation ', this.openInfoConversation, ' -> isOpenInfoConversation ', this.isOpenInfoConversation)
|
|
505
509
|
} else {
|
|
506
510
|
this.logger.log('[CONVS-DETAIL] - initialize -> checkWindowWidthIsLessThan991px ', checkWindowWidthIsLessThan991px())
|
|
507
511
|
this.openInfoConversation = true
|
|
508
|
-
this.
|
|
512
|
+
this.isOpenInfoConversation = true
|
|
513
|
+
this.logger.log('[CONVS-DETAIL] - initialize -> openInfoConversation ', this.openInfoConversation, ' -> isOpenInfoConversation ', this.isOpenInfoConversation)
|
|
509
514
|
}
|
|
510
515
|
}
|
|
511
516
|
|
|
@@ -524,8 +529,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
524
529
|
this.addEventsKeyboard()
|
|
525
530
|
this.startConversation()
|
|
526
531
|
this.updateConversationBadge() // AGGIORNO STATO DELLA CONVERSAZIONE A 'LETTA' (is_new = false)
|
|
527
|
-
|
|
528
|
-
this.initializeTyping();
|
|
529
532
|
}
|
|
530
533
|
|
|
531
534
|
_getProjectIdByConversationWith(conversationWith: string) {
|
|
@@ -560,12 +563,22 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
560
563
|
})
|
|
561
564
|
}
|
|
562
565
|
|
|
566
|
+
returnOpenCloseInfoConversation(openInfoConversation: boolean) {
|
|
567
|
+
this.logger.log('[CONVS-DETAIL] returnOpenCloseInfoConversation - openInfoConversation ', openInfoConversation)
|
|
568
|
+
this.resizeTextArea()
|
|
569
|
+
this.openInfoMessage = false
|
|
570
|
+
this.openInfoConversation = openInfoConversation
|
|
571
|
+
this.isOpenInfoConversation = openInfoConversation
|
|
572
|
+
this.USER_HAS_OPENED_CLOSE_INFO_CONV = true
|
|
573
|
+
}
|
|
574
|
+
|
|
563
575
|
@HostListener('window:resize', ['$event'])
|
|
564
576
|
onResize(event: any) {
|
|
565
577
|
const newInnerWidth = event.target.innerWidth
|
|
566
578
|
if (newInnerWidth < 991) {
|
|
567
579
|
if (this.USER_HAS_OPENED_CLOSE_INFO_CONV === false) {
|
|
568
580
|
this.openInfoConversation = false
|
|
581
|
+
this.isOpenInfoConversation = false
|
|
569
582
|
}
|
|
570
583
|
}
|
|
571
584
|
}
|
|
@@ -584,7 +597,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
584
597
|
'LABEL_TO',
|
|
585
598
|
'LABEL_LAST_ACCESS',
|
|
586
599
|
'ARRAY_DAYS',
|
|
587
|
-
|
|
600
|
+
'LABEL_IS_WRITING',
|
|
588
601
|
'LABEL_INFO_ADVANCED',
|
|
589
602
|
'ID_CONVERSATION',
|
|
590
603
|
'UPLOAD_FILE_ERROR',
|
|
@@ -603,35 +616,11 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
603
616
|
'THERE_ARE_NO_CANNED_RESPONSES_AVAILABLE',
|
|
604
617
|
'TO_CREATE_THEM_GO_TO_THE_PROJECT',
|
|
605
618
|
"AddNewCannedResponse",
|
|
606
|
-
"LABEL_LOADING"
|
|
607
|
-
"DIRECT_CHAT",
|
|
608
|
-
"GROUP_CHAT",
|
|
619
|
+
"LABEL_LOADING"
|
|
609
620
|
]
|
|
610
621
|
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
'GROUP_CHAT',
|
|
614
|
-
'LABEL_IS_WRITING',
|
|
615
|
-
'LABEL_AVAILABLE',
|
|
616
|
-
'LABEL_NOT_AVAILABLE',
|
|
617
|
-
'LABEL_INACTIVE',
|
|
618
|
-
'LABEL_TODAY',
|
|
619
|
-
'LABEL_TOMORROW',
|
|
620
|
-
'LABEL_TO',
|
|
621
|
-
'LABEL_LAST_ACCESS',
|
|
622
|
-
'ARRAY_DAYS',
|
|
623
|
-
]
|
|
624
|
-
|
|
625
|
-
const keysContentDetail = [
|
|
626
|
-
'LABEL_OPEN_INFO_CONVERSATION',
|
|
627
|
-
'LABEL_CLOSE_GROUP',
|
|
628
|
-
'LABEL_IS_WRITING',
|
|
629
|
-
]
|
|
630
|
-
|
|
631
|
-
this.translationsMap = this.customTranslateService.translateLanguage(keys)
|
|
632
|
-
this.translationsHeaderMap = this.customTranslateService.translateLanguage(keysHeader)
|
|
633
|
-
this.translationsContentMap = this.customTranslateService.translateLanguage(keysContentDetail)
|
|
634
|
-
this.logger.log('[CONVS-DETAIL] x this.translationMap ',this.translationsMap)
|
|
622
|
+
this.translationMap = this.customTranslateService.translateLanguage(keys)
|
|
623
|
+
this.logger.log('[CONVS-DETAIL] x this.translationMap ',this.translationMap)
|
|
635
624
|
}
|
|
636
625
|
|
|
637
626
|
// --------------------------------------------------------
|
|
@@ -658,13 +647,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
658
647
|
return this.customTranslateService.translateLanguage(keys)
|
|
659
648
|
}
|
|
660
649
|
|
|
661
|
-
private setStyleMap(){
|
|
662
|
-
this.styleMap.set('themeColor', 'var(--basic-gray)')
|
|
663
|
-
.set('bubbleReceivedBackground','var(--bck-msg-received)')
|
|
664
|
-
.set('bubbleReceivedTextColor', 'var(--col-msg-received)')
|
|
665
|
-
.set('bubbleSentBackground', 'var(--bck-msg-sent)')
|
|
666
|
-
.set('bubbleSentTextColor', 'var(--col-msg-sent)')
|
|
667
|
-
}
|
|
668
650
|
// -------------------------------------------------------------------------------------
|
|
669
651
|
// * retrieving the handler from chatManager
|
|
670
652
|
// * if it DOESN'T EXIST I create a handler and connect and store it in the chatmanager
|
|
@@ -767,8 +749,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
767
749
|
conv.conversation_with,
|
|
768
750
|
conv.conversation_with_fullname,
|
|
769
751
|
conv.channel_type,
|
|
770
|
-
conv.attributes['projectId'],
|
|
771
|
-
conv.attributes['project_name']
|
|
772
752
|
)
|
|
773
753
|
}
|
|
774
754
|
if(!conv){
|
|
@@ -781,8 +761,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
781
761
|
conv.conversation_with,
|
|
782
762
|
conv.conversation_with_fullname,
|
|
783
763
|
conv.channel_type,
|
|
784
|
-
conv.attributes['projectId'],
|
|
785
|
-
conv.attributes['project_name']
|
|
786
764
|
)
|
|
787
765
|
let duration = getDateDifference(conv.timestamp, Date.now())
|
|
788
766
|
duration.days > 10? this.disableTextarea = true: this.disableTextarea = false
|
|
@@ -801,8 +779,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
801
779
|
conv.conversation_with,
|
|
802
780
|
conv.conversation_with_fullname,
|
|
803
781
|
conv.channel_type,
|
|
804
|
-
conv.attributes['projectId'],
|
|
805
|
-
conv.attributes['project_name']
|
|
806
782
|
)
|
|
807
783
|
let duration = getDateDifference(conv.timestamp, Date.now())
|
|
808
784
|
duration.days > 10? this.disableTextarea = true: this.disableTextarea = false
|
|
@@ -814,8 +790,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
814
790
|
conv.conversation_with,
|
|
815
791
|
conv.conversation_with_fullname,
|
|
816
792
|
conv.channel_type,
|
|
817
|
-
conv.attributes['projectId'],
|
|
818
|
-
conv.attributes['project_name']
|
|
819
793
|
)
|
|
820
794
|
}
|
|
821
795
|
this.logger.log('[CONVS-DETAIL] - setHeaderContent > conversationAvatar: ', this.conversationAvatar)
|
|
@@ -1003,22 +977,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1003
977
|
this.subscriptions.push(subscribe)
|
|
1004
978
|
}
|
|
1005
979
|
|
|
1006
|
-
subscriptionKey = 'conversationTyping';
|
|
1007
|
-
subscription = this.subscriptions.find(item => item.key === subscriptionKey);
|
|
1008
|
-
if (!subscription) {
|
|
1009
|
-
subscription = this.typingService.BSIsTyping.pipe(takeUntil(this.unsubscribe$)).subscribe((data: any) => {
|
|
1010
|
-
this.logger.debug('[CONVS-DETAIL] ***** BSIsTyping *****', data);
|
|
1011
|
-
if (data) {
|
|
1012
|
-
const isTypingUid = data.uid; //support-group-...
|
|
1013
|
-
if (this.conversationWith === isTypingUid) {
|
|
1014
|
-
that.subscribeTypings(data);
|
|
1015
|
-
}
|
|
1016
|
-
}
|
|
1017
|
-
});
|
|
1018
|
-
const subscribe = {key: subscriptionKey, value: subscription };
|
|
1019
|
-
this.subscriptions.push(subscribe);
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
980
|
// subscriptionKey = 'onGroupChange';
|
|
1023
981
|
// subscription = this.subscriptions.find(item => item.key === subscriptionKey);
|
|
1024
982
|
// if (!subscription) {
|
|
@@ -1066,9 +1024,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1066
1024
|
this.conversationAvatar = setConversationAvatar(
|
|
1067
1025
|
this.conversationWith,
|
|
1068
1026
|
this.conversationWithFullname,
|
|
1069
|
-
this.channelType
|
|
1070
|
-
this.conversation.attributes['projectId'],
|
|
1071
|
-
this.conversation.attributes['project_name']
|
|
1027
|
+
this.channelType
|
|
1072
1028
|
)
|
|
1073
1029
|
|
|
1074
1030
|
}
|
|
@@ -1245,17 +1201,13 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1245
1201
|
this.logger.log('[CONVS-DETAIL] - returnChangeTextArea --> beforeSlash', beforeSlash)
|
|
1246
1202
|
this.logger.log('[CONVS-DETAIL] - returnChangeTextArea --> afterSlash', afterSlash)
|
|
1247
1203
|
|
|
1248
|
-
console.log('bbbbbbb', beforeSlash[beforeSlash.length-1].indexOf(' '), afterSlash === '', this.HIDE_CANNED_RESPONSES)
|
|
1249
1204
|
|
|
1250
1205
|
if(beforeSlash[beforeSlash.length-1].indexOf(' ') >= 0 && afterSlash === ''){
|
|
1251
1206
|
this.HIDE_CANNED_RESPONSES = false
|
|
1252
|
-
console.log('bbbbbbb 1111', beforeSlash[beforeSlash.length-1])
|
|
1253
1207
|
} else if(beforeSlash[beforeSlash.length-1].indexOf(' ') < 0 && afterSlash === '' ){
|
|
1254
1208
|
this.HIDE_CANNED_RESPONSES = true
|
|
1255
|
-
console.log('bbbbbbb 22222', beforeSlash[beforeSlash.length-1])
|
|
1256
1209
|
} else if(beforeSlash[beforeSlash.length-1].indexOf(' ') >= 0 && afterSlash === ' '){
|
|
1257
1210
|
this.HIDE_CANNED_RESPONSES = true
|
|
1258
|
-
console.log('bbbbbbb 33333', beforeSlash[beforeSlash.length-1])
|
|
1259
1211
|
// this.tagsCannedFilter = []
|
|
1260
1212
|
}
|
|
1261
1213
|
}
|
|
@@ -1545,13 +1497,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1545
1497
|
}
|
|
1546
1498
|
}
|
|
1547
1499
|
|
|
1548
|
-
onOpenCloseInfoConversation(event){
|
|
1549
|
-
this.logger.log('[CONVS-DETAIL] onOpenCloseInfoConversation - openInfoConversation ', event)
|
|
1550
|
-
this.resizeTextArea()
|
|
1551
|
-
this.openInfoConversation = event
|
|
1552
|
-
this.USER_HAS_OPENED_CLOSE_INFO_CONV = true
|
|
1553
|
-
}
|
|
1554
|
-
|
|
1555
1500
|
// -------------- START SCROLL/RESIZE -------------- //
|
|
1556
1501
|
/** */
|
|
1557
1502
|
resizeTextArea() {
|
|
@@ -1653,7 +1598,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1653
1598
|
this.heightMessageTextArea = '57' // NK edited
|
|
1654
1599
|
}
|
|
1655
1600
|
}
|
|
1656
|
-
|
|
1657
1601
|
checkAcceptedFile(draggedFileMimeType) {
|
|
1658
1602
|
let isAcceptFile = false
|
|
1659
1603
|
this.logger.log('[CONVS-DETAIL] > checkAcceptedFile - fileUploadAccept: ',this.appConfigProvider.getConfig().fileUploadAccept)
|
|
@@ -1703,63 +1647,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1703
1647
|
return isAcceptFile
|
|
1704
1648
|
}
|
|
1705
1649
|
}
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
initializeTyping() {
|
|
1709
|
-
this.logger.debug('[CONVS-DETAIL] membersconversation', this.membersConversation)
|
|
1710
|
-
this.membersConversation.push(this.loggedUser.uid)
|
|
1711
|
-
//this.setSubscriptions();
|
|
1712
|
-
this.typingService.isTyping(this.conversationWith, this.loggedUser.uid, this.isDirect);
|
|
1713
|
-
|
|
1714
|
-
}
|
|
1715
|
-
|
|
1716
|
-
/** */
|
|
1717
|
-
subscribeTypings(data: any) {
|
|
1718
|
-
const that = this;
|
|
1719
|
-
try {
|
|
1720
|
-
const key = data.uidUserTypingNow;
|
|
1721
|
-
const waitTime = data.waitTime
|
|
1722
|
-
this.nameUserTypingNow = null;
|
|
1723
|
-
this.idUserTypingNow = null;
|
|
1724
|
-
|
|
1725
|
-
if (data.nameUserTypingNow) {
|
|
1726
|
-
this.nameUserTypingNow = data.nameUserTypingNow;
|
|
1727
|
-
}
|
|
1728
|
-
if (data.uidUserTypingNow){
|
|
1729
|
-
this.idUserTypingNow = data.uidUserTypingNow
|
|
1730
|
-
}
|
|
1731
|
-
this.logger.debug('[CONV-COMP] subscribeTypings data:', data);
|
|
1732
|
-
const userTyping = this.membersConversation.includes(key);
|
|
1733
|
-
if ( !userTyping && key) {
|
|
1734
|
-
this.isTypings = true;
|
|
1735
|
-
setTimeout(function () {
|
|
1736
|
-
that.scrollBottom(0)
|
|
1737
|
-
}, 0);
|
|
1738
|
-
// clearTimeout(this.setTimeoutWritingMessages);
|
|
1739
|
-
this.setTimeoutWritingMessages = setTimeout(() => {
|
|
1740
|
-
that.isTypings = false;
|
|
1741
|
-
}, waitTime);
|
|
1742
|
-
// this.initiTimeout(waitTime)
|
|
1743
|
-
}
|
|
1744
|
-
} catch (error) {
|
|
1745
|
-
this.logger.error('[CONV-COMP] error: ', error);
|
|
1746
|
-
}
|
|
1747
|
-
|
|
1748
|
-
}
|
|
1749
|
-
|
|
1750
|
-
initiTimeout(waitTime){
|
|
1751
|
-
const that = this;
|
|
1752
|
-
this.setTimeoutWritingMessages = setTimeout(() => {
|
|
1753
|
-
that.isTypings = false;
|
|
1754
|
-
}, waitTime);
|
|
1755
|
-
}
|
|
1756
|
-
|
|
1757
|
-
resetTimeout(){
|
|
1758
|
-
this.isTypings = false
|
|
1759
|
-
this.setTimeoutWritingMessages = null;
|
|
1760
|
-
clearTimeout(this.setTimeoutWritingMessages)
|
|
1761
|
-
}
|
|
1762
|
-
|
|
1763
1650
|
// -------------------------------------------------------------
|
|
1764
1651
|
// DRAG FILE
|
|
1765
1652
|
// -------------------------------------------------------------
|
|
@@ -1819,7 +1706,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1819
1706
|
|
|
1820
1707
|
async presentToastOnlyImageFilesAreAllowedToDrag() {
|
|
1821
1708
|
const toast = await this.toastController.create({
|
|
1822
|
-
message: this.
|
|
1709
|
+
message: this.translationMap.get('FAILED_TO_UPLOAD_THE_FORMAT_IS_NOT_SUPPORTED'),
|
|
1823
1710
|
duration: 5000,
|
|
1824
1711
|
color: 'danger',
|
|
1825
1712
|
cssClass: 'toast-custom-class',
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
<ion-list>
|
|
23
23
|
|
|
24
24
|
<!-- supportMode && -->
|
|
25
|
-
<ion-item *ngIf="displayNewConvsItem && conversationType !=='archived' && supportMode" class="ion-no-padding open-iframe-item"
|
|
25
|
+
<ion-item *ngIf="displayNewConvsItem && conversationType !=='archived' && supportMode" class="ion-no-padding open-iframe-item">
|
|
26
26
|
<div tabindex="0"></div>
|
|
27
27
|
<!-- <ion-note class="pinned-project">
|
|
28
28
|
{{ 'PINNED_PROJECT' | translate }}
|
|
29
29
|
</ion-note> -->
|
|
30
30
|
|
|
31
31
|
<app-project-item
|
|
32
|
-
style="width: 100%;
|
|
32
|
+
style="width: 100%;"
|
|
33
33
|
(openUnsevedConvsEvent)="openUnsevedConversationIframe($event)"
|
|
34
34
|
(projectIdEvent)="getLastProjectId($event)">
|
|
35
35
|
</app-project-item>
|
|
@@ -43,7 +43,7 @@ ion-list {
|
|
|
43
43
|
|
|
44
44
|
ion-item {
|
|
45
45
|
cursor: pointer;
|
|
46
|
-
|
|
46
|
+
height: 64px;
|
|
47
47
|
position: relative;
|
|
48
48
|
display: flex;
|
|
49
49
|
text-decoration: none;
|
|
@@ -324,7 +324,7 @@ ion-list {
|
|
|
324
324
|
padding-left: 0px !important ;
|
|
325
325
|
padding-right: 0px !important;
|
|
326
326
|
// height: 55px !important;
|
|
327
|
-
|
|
327
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
328
328
|
--background-hover: #ffffff;
|
|
329
329
|
cursor:default !important;
|
|
330
330
|
}
|
|
@@ -753,13 +753,6 @@ export class ConversationListPage implements OnInit {
|
|
|
753
753
|
}
|
|
754
754
|
}
|
|
755
755
|
|
|
756
|
-
if(conversation.attributes && conversation.attributes['projectId']){
|
|
757
|
-
let project = localStorage.getItem(conversation.attributes['projectId'])
|
|
758
|
-
if(project){
|
|
759
|
-
project = JSON.parse(project)
|
|
760
|
-
conversation.attributes.project_name = project['name']
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
756
|
// if(conversation.conversation_with_fullname === 'Guest '){
|
|
764
757
|
// conversation.conversation_with_fullname = 'guest' + '#' + this.getUUidConversation(conversation.uid)
|
|
765
758
|
// }
|