@chat21/chat21-ionic 3.0.75 → 3.0.76-rc.2
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 +14 -1
- package/deploy_amazon_beta.sh +1 -1
- package/package.json +1 -1
- package/src/app/app.component.ts +1 -1
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.html +1 -1
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +22 -8
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +9 -9
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +9 -2
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +5 -6
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +12 -5
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +5 -13
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +4 -9
- package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +8 -3
- package/src/app/chatlib/conversation-detail/message/image/image.component.ts +2 -2
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +6 -1
- package/src/app/components/canned-response/canned-response.component.html +26 -0
- package/src/app/components/canned-response/canned-response.component.scss +141 -0
- package/src/app/components/canned-response/canned-response.component.spec.ts +24 -0
- package/src/app/components/canned-response/canned-response.component.ts +281 -0
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +0 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +10 -9
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.html +42 -13
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +16 -21
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +111 -329
- package/src/app/pages/conversations-list/conversations-list.page.ts +28 -2
- package/src/app/pages/loader-preview/loader-preview.page.ts +8 -27
- package/src/app/services/canned-responses/canned-responses.service.ts +43 -7
- package/src/app/utils/scrollbar-theme.directive.ts +2 -1
- package/src/assets/i18n/ar.json +2 -0
- package/src/assets/i18n/az.json +2 -0
- package/src/assets/i18n/de.json +2 -0
- package/src/assets/i18n/en.json +2 -0
- package/src/assets/i18n/es.json +2 -0
- package/src/assets/i18n/fr.json +2 -0
- package/src/assets/i18n/it.json +2 -0
- package/src/assets/i18n/kk.json +2 -0
- package/src/assets/i18n/pt.json +2 -0
- package/src/assets/i18n/ru.json +2 -0
- package/src/assets/i18n/sr.json +2 -0
- package/src/assets/i18n/sv.json +2 -0
- package/src/assets/i18n/tr.json +2 -0
- package/src/assets/i18n/uk.json +2 -0
- package/src/assets/i18n/uz.json +2 -0
- package/src/chat-config-pre.json +1 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +14 -4
- package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +22 -0
- package/src/chat21-core/utils/constants.ts +3 -1
- package/src/chat21-core/utils/utils.ts +14 -0
- package/src/global.scss +3 -113
|
@@ -770,6 +770,11 @@ export class ConversationListPage implements OnInit {
|
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
772
|
}
|
|
773
|
+
|
|
774
|
+
if(conversation.conversation_with_fullname === 'Guest '){
|
|
775
|
+
conversation.conversation_with_fullname = 'guest' + '#' + this.getUUidConversation(conversation.uid)
|
|
776
|
+
}
|
|
777
|
+
|
|
773
778
|
}
|
|
774
779
|
|
|
775
780
|
// isMarkdownLink(last_message_text) {
|
|
@@ -783,6 +788,27 @@ export class ConversationListPage implements OnInit {
|
|
|
783
788
|
// }
|
|
784
789
|
// }
|
|
785
790
|
|
|
791
|
+
private getUUidConversation(uid): string{
|
|
792
|
+
const conversationWith_segments = uid.split('-')
|
|
793
|
+
// Removes the last element of the array if is = to the separator
|
|
794
|
+
if (conversationWith_segments[conversationWith_segments.length - 1] === '') {
|
|
795
|
+
conversationWith_segments.pop()
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
this.logger.log('[CONVS-LIST] - getUUidConversation conversationWith_segments ', conversationWith_segments, conversationWith_segments.length)
|
|
799
|
+
let mini_uid = ''
|
|
800
|
+
|
|
801
|
+
if (conversationWith_segments.length === 4) {
|
|
802
|
+
mini_uid = conversationWith_segments[conversationWith_segments.length -1].substr(0,5)
|
|
803
|
+
this.logger.log('[CONVS-LIST] - getUUidConversation mini_uid segment===4', mini_uid)
|
|
804
|
+
} else {
|
|
805
|
+
this.logger.log('[CONVS-LIST] - else getUUidConversation segment<4 ', mini_uid)
|
|
806
|
+
mini_uid = conversationWith_segments[conversationWith_segments.length -1].substr(-5)
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
return mini_uid
|
|
810
|
+
}
|
|
811
|
+
|
|
786
812
|
navigateByUrl(converationType: string, uidConvSelected: string) {
|
|
787
813
|
|
|
788
814
|
this.logger.log('[CONVS-LIST-PAGE] navigateByUrl uidConvSelected: ', uidConvSelected)
|
|
@@ -797,7 +823,7 @@ export class ConversationListPage implements OnInit {
|
|
|
797
823
|
let pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + this.conversationSelected.conversation_with_fullname + '/' + converationType
|
|
798
824
|
this.logger.log('[CONVS-LIST-PAGE] pageURL', pageUrl)
|
|
799
825
|
// replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
|
|
800
|
-
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'))
|
|
826
|
+
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29').replace( /#/g, "%23" ))
|
|
801
827
|
} else {
|
|
802
828
|
this.logger.log('[CONVS-LIST-PAGE] navigateByUrl this.conversationSelected conversation_with_fullname ', this.conversationSelected.conversation_with_fullname)
|
|
803
829
|
this.logger.log('[CONVS-LIST-PAGE] checkPlatformIsMobile(): ', checkPlatformIsMobile())
|
|
@@ -808,7 +834,7 @@ export class ConversationListPage implements OnInit {
|
|
|
808
834
|
}
|
|
809
835
|
this.logger.log('[CONVS-LIST-PAGE] setUidConvSelected navigateByUrl--->: ', pageUrl)
|
|
810
836
|
// replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
|
|
811
|
-
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'))
|
|
837
|
+
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29').replace( /#/g, "%23" ))
|
|
812
838
|
}
|
|
813
839
|
}
|
|
814
840
|
|
|
@@ -73,10 +73,7 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
ionViewDidEnter() {
|
|
76
|
-
this.logger.log(
|
|
77
|
-
'[LOADER-PREVIEW-PAGE] ionViewDidEnter thumbnailsPreview.nativeElement.offsetHeight',
|
|
78
|
-
this.thumbnailsPreview.nativeElement.offsetHeight,
|
|
79
|
-
)
|
|
76
|
+
this.logger.log('[LOADER-PREVIEW-PAGE] ionViewDidEnter thumbnailsPreview.nativeElement.offsetHeight',this.thumbnailsPreview.nativeElement.offsetHeight)
|
|
80
77
|
this.calculateHeightPreviewArea()
|
|
81
78
|
}
|
|
82
79
|
|
|
@@ -86,17 +83,11 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
86
83
|
// USE CASE IMAGE
|
|
87
84
|
// ---------------------------------------------------------------------
|
|
88
85
|
if (file.type.startsWith('image') && !file.type.includes('svg')) {
|
|
89
|
-
this.logger.log(
|
|
90
|
-
'[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE IMAGE file TYPE',
|
|
91
|
-
file.type,
|
|
92
|
-
)
|
|
86
|
+
this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE IMAGE file TYPE',file.type)
|
|
93
87
|
const reader = new FileReader()
|
|
94
88
|
reader.onloadend = (evt) => {
|
|
95
89
|
const img = reader.result.toString()
|
|
96
|
-
this.logger.log(
|
|
97
|
-
'[LOADER-PREVIEW-PAGE] - readAsDataURL - FileReader success ',
|
|
98
|
-
img,
|
|
99
|
-
)
|
|
90
|
+
this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - FileReader success ',img)
|
|
100
91
|
this.arrayFiles.push(img)
|
|
101
92
|
if (!this.fileSelected) {
|
|
102
93
|
this.fileSelected = img
|
|
@@ -232,9 +223,7 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
232
223
|
this.logger.log('typeFile: ', typeFile)
|
|
233
224
|
|
|
234
225
|
const reader = new FileReader()
|
|
235
|
-
reader.addEventListener(
|
|
236
|
-
'load',
|
|
237
|
-
function () {
|
|
226
|
+
reader.addEventListener('load',function () {
|
|
238
227
|
const img = reader.result.toString()
|
|
239
228
|
that.logger.log('FileReader success')
|
|
240
229
|
that.arrayFiles.push(img)
|
|
@@ -292,13 +281,9 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
292
281
|
}
|
|
293
282
|
|
|
294
283
|
calculateHeightPreviewArea() {
|
|
295
|
-
const heightThumbnailsPreview = this.thumbnailsPreview.nativeElement
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
.offsetHeight
|
|
299
|
-
this.heightPreviewArea = (
|
|
300
|
-
heightMessageTextArea + heightThumbnailsPreview
|
|
301
|
-
).toString()
|
|
284
|
+
const heightThumbnailsPreview = this.thumbnailsPreview.nativeElement.offsetHeight
|
|
285
|
+
const heightMessageTextArea = this.messageTextArea.nativeElement.offsetHeight
|
|
286
|
+
this.heightPreviewArea = (heightMessageTextArea + heightThumbnailsPreview).toString()
|
|
302
287
|
// this.logger.log('heightThumbnailsPreview', heightThumbnailsPreview);
|
|
303
288
|
// this.logger.log('heightMessageTextArea', this.messageTextArea);
|
|
304
289
|
// this.logger.log('heightPreviewArea', this.heightPreviewArea);
|
|
@@ -349,10 +334,7 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
349
334
|
|
|
350
335
|
/** */
|
|
351
336
|
onSendMessage() {
|
|
352
|
-
this.logger.log(
|
|
353
|
-
'[LOADER-PREVIEW-PAGE] onSendMessage messageString:',
|
|
354
|
-
this.messageString,
|
|
355
|
-
)
|
|
337
|
+
this.logger.log('[LOADER-PREVIEW-PAGE] onSendMessage messageString:',this.messageString)
|
|
356
338
|
let file = this.selectedFiles.item(0)
|
|
357
339
|
const file4Load = new Image()
|
|
358
340
|
const nameImg = file.name
|
|
@@ -373,7 +355,6 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
|
|
|
373
355
|
fileSelected: file,
|
|
374
356
|
messageString: this.messageString,
|
|
375
357
|
metadata: metadata,
|
|
376
|
-
type: TYPE_MSG_IMAGE,
|
|
377
358
|
})
|
|
378
359
|
}
|
|
379
360
|
|
|
@@ -26,8 +26,7 @@ export class CannedResponsesService {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
public
|
|
30
|
-
|
|
29
|
+
public getAll(token: string, projectid: string) {
|
|
31
30
|
const cannedResponsesURL = this.apiUrl + projectid + "/canned/";
|
|
32
31
|
this.logger.log('[CANNED-RESPONSES-SERVICE] getCannedResponses - URL ', cannedResponsesURL);
|
|
33
32
|
|
|
@@ -37,13 +36,50 @@ export class CannedResponsesService {
|
|
|
37
36
|
Authorization: token
|
|
38
37
|
})
|
|
39
38
|
};
|
|
40
|
-
|
|
41
|
-
return this.http
|
|
42
|
-
.get(cannedResponsesURL, httpOptions)
|
|
43
|
-
.pipe(map((res: any) => {
|
|
39
|
+
|
|
40
|
+
return this.http.get(cannedResponsesURL, httpOptions).pipe(map((res: any) => {
|
|
44
41
|
this.logger.log('[CANNED-RESPONSES-SERVICE] getCannedResponses - RES ', res);
|
|
45
42
|
return res
|
|
46
|
-
|
|
43
|
+
}))
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public edit(token: string, projectid: string, canned: any){
|
|
47
|
+
const cannedResponsesURL = this.apiUrl + projectid + "/canned/"+ canned._id;
|
|
48
|
+
this.logger.log('[CANNED-RESPONSES-SERVICE] editCannedResponses - URL ', cannedResponsesURL);
|
|
49
|
+
|
|
50
|
+
const httpOptions = {
|
|
51
|
+
headers: new HttpHeaders({
|
|
52
|
+
'Content-Type': 'application/json',
|
|
53
|
+
Authorization: token
|
|
54
|
+
})
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const body = {
|
|
58
|
+
title: canned.title,
|
|
59
|
+
text: canned.text
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return this.http.put(cannedResponsesURL, body, httpOptions).pipe(map((res: any) => {
|
|
63
|
+
this.logger.log('[CANNED-RESPONSES-SERVICE] editCannedResponses - RES ', res);
|
|
64
|
+
return res
|
|
65
|
+
}))
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public delete(token: string, projectid: string, cannedID: string){
|
|
69
|
+
const cannedResponsesURL = this.apiUrl + projectid + "/canned/"+cannedID;
|
|
70
|
+
this.logger.log('[CANNED-RESPONSES-SERVICE] deleteCannedResponses - URL ', cannedResponsesURL);
|
|
71
|
+
|
|
72
|
+
const httpOptions = {
|
|
73
|
+
headers: new HttpHeaders({
|
|
74
|
+
'Content-Type': 'application/json',
|
|
75
|
+
Authorization: token
|
|
76
|
+
})
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
return this.http.delete(cannedResponsesURL, httpOptions).pipe(map((res: any) => {
|
|
80
|
+
this.logger.log('[CANNED-RESPONSES-SERVICE] deleteCannedResponses - RES ', res);
|
|
81
|
+
return res
|
|
82
|
+
}))
|
|
47
83
|
}
|
|
48
84
|
|
|
49
85
|
}
|
|
@@ -24,9 +24,10 @@ export class ScrollbarThemeDirective {
|
|
|
24
24
|
::-webkit-scrollbar {
|
|
25
25
|
width: 6px;
|
|
26
26
|
height: 8px;
|
|
27
|
+
display: none;
|
|
27
28
|
}
|
|
28
29
|
::-webkit-scrollbar-track {
|
|
29
|
-
|
|
30
|
+
background: #f9f9f9;
|
|
30
31
|
}
|
|
31
32
|
::-webkit-scrollbar-thumb {
|
|
32
33
|
background-color: #b9b9b9;
|
package/src/assets/i18n/ar.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "تمت إعادة فتح الدردشة",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "الدردشة مغلقة",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"تحديث الرصاص",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"تمت إزالته من المجموعة",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "تم تعيين طلب دعم جديد لك",
|
|
69
71
|
"LABEL_PROFILE": "الملف الشخصي",
|
|
70
72
|
"LABEL_CLOSE": "مغلق",
|
package/src/assets/i18n/az.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Çat yenidən açıldı",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Çat bağlandı",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Rəqəm yeniləndi",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"qrupdan çıxarıldı",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Sizə yeni dəstək sorğusu təyin edilib",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Bağlı",
|
package/src/assets/i18n/de.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat wieder geöffnet",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat geschlossen",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Leitung aktualisiert",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"aus der Gruppe entfernt",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Ihnen wurde eine neue Support-Anfrage zugewiesen",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Abgeschlossen",
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat reopened",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat closed",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Lead updated",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"removed from group",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "A new support request has been assigned to you",
|
|
69
71
|
"LABEL_PROFILE": "Profile",
|
|
70
72
|
"LABEL_CLOSE": "Closed",
|
package/src/assets/i18n/es.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat reabierto",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat cerrado",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Cliente potencial actualizado",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"eliminado del grupo",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU":"Se le ha asignado una nueva solicitud de soporte",
|
|
69
71
|
"LABEL_PROFILE": "Perfil",
|
|
70
72
|
"LABEL_CLOSE": "Cerrado",
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat rouvert",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat fermé",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Prospect mis à jour",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"supprimé du groupe",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Une nouvelle demande de support vous a été attribuée",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Fermé",
|
package/src/assets/i18n/it.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat riaperta",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat chiusa",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Contatto aggiornato",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"rimosso dal gruppo",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU":"Una nuova richiesta di supporto è stata assegnata a te",
|
|
69
71
|
"LABEL_PROFILE": "Profilo",
|
|
70
72
|
"LABEL_CLOSE": "Chiusa",
|
package/src/assets/i18n/kk.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Чат қайта ашылды",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат жабылды",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Жетекші жаңартылды",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"топтан шығарылды",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Сізге жаңа қолдау сұрауы тағайындалды",
|
|
69
71
|
"LABEL_PROFILE": "Профиль",
|
|
70
72
|
"LABEL_CLOSE": "Жабық",
|
package/src/assets/i18n/pt.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Bate-papo reaberto",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Bate-papo fechado",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Lead atualizado",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"removido do grupo",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Uma nova solicitação de suporte foi atribuída a você",
|
|
69
71
|
"LABEL_PROFILE": "Perfil",
|
|
70
72
|
"LABEL_CLOSE": "Fechadas",
|
package/src/assets/i18n/ru.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Чат снова открыт",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат закрыт",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Интерес обновлен",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"удален из группы",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Вам назначен новый запрос в службу поддержки",
|
|
69
71
|
"LABEL_PROFILE": "Профиль",
|
|
70
72
|
"LABEL_CLOSE": "Закрыто",
|
package/src/assets/i18n/sr.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Ћаскање је поново отворено",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Ћаскање је затворено",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Лид је ажуриран",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"уклоњен из групе",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Додељен вам је нови захтев за подршку",
|
|
69
71
|
"LABEL_PROFILE": "Профил",
|
|
70
72
|
"LABEL_CLOSE": "Затворено",
|
package/src/assets/i18n/sv.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Chatten öppnades igen",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Chatten stängd",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Lead uppdaterad",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"borttagen från gruppen",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "En ny supportförfrågan har tilldelats dig",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Stängd",
|
package/src/assets/i18n/tr.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Sohbet yeniden açıldı",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "sohbet kapatıldı",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Potansiyel müşteri güncellendi",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"gruptan kaldırıldı",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Size yeni bir destek talebi atandı",
|
|
69
71
|
"LABEL_PROFILE": "Profil",
|
|
70
72
|
"LABEL_CLOSE": "Kapalı",
|
package/src/assets/i18n/uk.json
CHANGED
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ предмет }} {{ дієслово} {{ доповнення}}",
|
|
66
66
|
"INFO_SUPPORT_CHAT_REOPENED": "Чат знову відкрився",
|
|
67
67
|
"INFO_SUPPORT_CHAT_CLOSED": "Чат закритий",
|
|
68
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Лід оновлено",
|
|
69
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"видалено з групи",
|
|
68
70
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Вам призначено новий запит на підтримку",
|
|
69
71
|
"LABEL_PROFILE": "Профіль",
|
|
70
72
|
"LABEL_CLOSE": "зачинено",
|
package/src/assets/i18n/uz.json
CHANGED
|
@@ -66,6 +66,8 @@
|
|
|
66
66
|
"INFO_SUPPORT_USER_ADDED_MESSAGE": "{{ subject }} {{ verb }} {{ complement }}",
|
|
67
67
|
"INFO_SUPPORT_CHAT_REOPENED": "Chat qayta ochildi",
|
|
68
68
|
"INFO_SUPPORT_CHAT_CLOSED": "Chat yopildi",
|
|
69
|
+
"INFO_SUPPORT_LEAD_UPDATED":"Etakchi yangilandi",
|
|
70
|
+
"INFO_SUPPORT_MEMBER_LEFT_GROUP":"guruhdan olib tashlandi",
|
|
69
71
|
"INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU": "Sizga yangi qoʻllab-quvvatlash soʻrovi tayinlandi",
|
|
70
72
|
"LABEL_PROFILE": "Profil",
|
|
71
73
|
"LABEL_CLOSE": "Yopiq",
|
package/src/chat-config-pre.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"apiUrl": "https://tiledesk-server-pre.herokuapp.com/",
|
|
25
25
|
"baseImageUrl": "https://firebasestorage.googleapis.com/v0/b/",
|
|
26
|
-
"dashboardUrl": "
|
|
26
|
+
"dashboardUrl": "/dashboard/",
|
|
27
27
|
"logLevel": "DEBUG",
|
|
28
28
|
"authPersistence": "LOCAL",
|
|
29
29
|
"supportMode": true,
|
|
@@ -18,7 +18,7 @@ import { ConversationHandlerService } from '../abstract/conversation-handler.ser
|
|
|
18
18
|
import { LoggerService } from '../abstract/logger.service';
|
|
19
19
|
import { LoggerInstance } from '../logger/loggerInstance';
|
|
20
20
|
// utils
|
|
21
|
-
import { MSG_STATUS_RECEIVED, CHAT_REOPENED, CHAT_CLOSED, MEMBER_JOINED_GROUP, TYPE_DIRECT, MESSAGE_TYPE_INFO, TOUCHING_OPERATOR } from '../../utils/constants';
|
|
21
|
+
import { MSG_STATUS_RECEIVED, CHAT_REOPENED, CHAT_CLOSED, MEMBER_JOINED_GROUP, TYPE_DIRECT, MESSAGE_TYPE_INFO, TOUCHING_OPERATOR, LEAD_UPDATED, MEMBER_LEFT_GROUP } from '../../utils/constants';
|
|
22
22
|
import { compareValues, searchIndexInArrayForUid, conversationMessagesRef } from '../../utils/utils';
|
|
23
23
|
|
|
24
24
|
|
|
@@ -333,6 +333,8 @@ export class FirebaseConversationHandler extends ConversationHandlerService {
|
|
|
333
333
|
const INFO_SUPPORT_USER_ADDED_VERB = this.translationMap.get('INFO_SUPPORT_USER_ADDED_VERB');
|
|
334
334
|
const INFO_SUPPORT_CHAT_REOPENED = this.translationMap.get('INFO_SUPPORT_CHAT_REOPENED');
|
|
335
335
|
const INFO_SUPPORT_CHAT_CLOSED = this.translationMap.get('INFO_SUPPORT_CHAT_CLOSED');
|
|
336
|
+
const INFO_SUPPORT_LEAD_UPDATED = this.translationMap.get('INFO_SUPPORT_LEAD_UPDATED');
|
|
337
|
+
const INFO_SUPPORT_MEMBER_LEFT_GROUP = this.translationMap.get('INFO_SUPPORT_MEMBER_LEFT_GROUP');
|
|
336
338
|
const INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU = this.translationMap.get('INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU');
|
|
337
339
|
|
|
338
340
|
if (message.attributes.messagelabel
|
|
@@ -365,15 +367,23 @@ export class FirebaseConversationHandler extends ConversationHandlerService {
|
|
|
365
367
|
message.text = INFO_SUPPORT_CHAT_REOPENED;
|
|
366
368
|
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === CHAT_CLOSED)) {
|
|
367
369
|
message.text = INFO_SUPPORT_CHAT_CLOSED;
|
|
368
|
-
}
|
|
369
|
-
// ['last_message_text']
|
|
370
|
-
else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
370
|
+
} else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
371
371
|
// console.log('FIREBASEConversationHandlerSERVICE message text', message.text)
|
|
372
372
|
const textAfterColon = message.text.split(":")[1]
|
|
373
373
|
// console.log('FIREBASEConversationHandlerSERVICE message text - textAfterColon', textAfterColon)
|
|
374
374
|
if (textAfterColon !== undefined) {
|
|
375
375
|
message.text = INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU + ': ' + textAfterColon;
|
|
376
376
|
}
|
|
377
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === LEAD_UPDATED)) {
|
|
378
|
+
message.text = INFO_SUPPORT_LEAD_UPDATED;
|
|
379
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === MEMBER_LEFT_GROUP)) {
|
|
380
|
+
let subject: string;
|
|
381
|
+
if (message.attributes.messagelabel.parameters.fullname) {
|
|
382
|
+
subject = message.attributes.messagelabel.parameters.fullname;
|
|
383
|
+
}else{
|
|
384
|
+
subject = message.attributes.messagelabel.parameters.member_id;
|
|
385
|
+
}
|
|
386
|
+
message.text = subject + ' ' + INFO_SUPPORT_MEMBER_LEFT_GROUP ;
|
|
377
387
|
}
|
|
378
388
|
}
|
|
379
389
|
|
|
@@ -617,7 +617,7 @@ export class FirebaseConversationsHandler extends ConversationsHandlerService {
|
|
|
617
617
|
let old_conv = this.conversations.find(conv => conv.uid === conversation.uid)
|
|
618
618
|
let conversation_with_fullname = conversation.recipient_fullname
|
|
619
619
|
if(old_conv){
|
|
620
|
-
if(conversation.recipient_fullname !== old_conv.recipient_fullname && conversation.recipient_fullname !== 'Guest '){
|
|
620
|
+
if(conversation.recipient_fullname !== old_conv.recipient_fullname && (conversation.recipient_fullname !== 'Guest ')){
|
|
621
621
|
conversation_with_fullname = conversation.recipient_fullname
|
|
622
622
|
} else {
|
|
623
623
|
// conversation_with_fullname= old_conv.recipient_fullname
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TOUCHING_OPERATOR, LEAD_UPDATED, MEMBER_LEFT_GROUP } from './../../utils/constants';
|
|
1
2
|
import { Inject, Injectable } from '@angular/core';
|
|
2
3
|
import { BehaviorSubject } from 'rxjs';
|
|
3
4
|
|
|
@@ -330,6 +331,10 @@ export class MQTTConversationHandler extends ConversationHandlerService {
|
|
|
330
331
|
const INFO_SUPPORT_USER_ADDED_VERB = this.translationMap.get('INFO_SUPPORT_USER_ADDED_VERB');
|
|
331
332
|
const INFO_SUPPORT_CHAT_REOPENED = this.translationMap.get('INFO_SUPPORT_CHAT_REOPENED');
|
|
332
333
|
const INFO_SUPPORT_CHAT_CLOSED = this.translationMap.get('INFO_SUPPORT_CHAT_CLOSED');
|
|
334
|
+
const INFO_SUPPORT_LEAD_UPDATED = this.translationMap.get('INFO_SUPPORT_LEAD_UPDATED');
|
|
335
|
+
const INFO_SUPPORT_MEMBER_LEFT_GROUP = this.translationMap.get('INFO_SUPPORT_MEMBER_LEFT_GROUP');
|
|
336
|
+
const INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU = this.translationMap.get('INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU');
|
|
337
|
+
|
|
333
338
|
if (message.attributes.messagelabel
|
|
334
339
|
&& message.attributes.messagelabel.parameters
|
|
335
340
|
&& message.attributes.messagelabel.key === MEMBER_JOINED_GROUP
|
|
@@ -359,6 +364,23 @@ export class MQTTConversationHandler extends ConversationHandlerService {
|
|
|
359
364
|
message.text = INFO_SUPPORT_CHAT_REOPENED;
|
|
360
365
|
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === CHAT_CLOSED)) {
|
|
361
366
|
message.text = INFO_SUPPORT_CHAT_CLOSED;
|
|
367
|
+
} else if ((message.attributes && message.attributes.messagelabel && message.attributes.messagelabel.key === TOUCHING_OPERATOR) && message.sender === "system") {
|
|
368
|
+
// console.log('FIREBASEConversationHandlerSERVICE message text', message.text)
|
|
369
|
+
const textAfterColon = message.text.split(":")[1]
|
|
370
|
+
// console.log('FIREBASEConversationHandlerSERVICE message text - textAfterColon', textAfterColon)
|
|
371
|
+
if (textAfterColon !== undefined) {
|
|
372
|
+
message.text = INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU + ': ' + textAfterColon;
|
|
373
|
+
}
|
|
374
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === LEAD_UPDATED)) {
|
|
375
|
+
message.text = INFO_SUPPORT_LEAD_UPDATED;
|
|
376
|
+
} else if ((message.attributes.messagelabel && message.attributes.messagelabel.key === MEMBER_LEFT_GROUP)) {
|
|
377
|
+
let subject: string;
|
|
378
|
+
if (message.attributes.messagelabel.parameters.fullname) {
|
|
379
|
+
subject = message.attributes.messagelabel.parameters.fullname;
|
|
380
|
+
}else{
|
|
381
|
+
subject = message.attributes.messagelabel.parameters.member_id;
|
|
382
|
+
}
|
|
383
|
+
message.text = subject + ' ' + INFO_SUPPORT_MEMBER_LEFT_GROUP ;
|
|
362
384
|
}
|
|
363
385
|
}
|
|
364
386
|
|
|
@@ -61,7 +61,9 @@ export const MESSAGE_TYPE_DATE = 'DATE';
|
|
|
61
61
|
export const CHAT_REOPENED = 'CHAT_REOPENED';
|
|
62
62
|
export const CHAT_CLOSED = 'CHAT_CLOSED';
|
|
63
63
|
export const MEMBER_JOINED_GROUP = 'MEMBER_JOINED_GROUP';
|
|
64
|
-
export const
|
|
64
|
+
export const MEMBER_LEFT_GROUP = "MEMBER_LEFT_GROUP"
|
|
65
|
+
export const LEAD_UPDATED = "LEAD_UPDATED";
|
|
66
|
+
export const TOUCHING_OPERATOR = "TOUCHING_OPERATOR";
|
|
65
67
|
|
|
66
68
|
|
|
67
69
|
// URLS
|
|
@@ -406,6 +406,20 @@ export function getFromNow(timestamp): string {
|
|
|
406
406
|
return date_as_string;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
+
export function getDateDifference(startTimestampDate, endTimestampDate){
|
|
410
|
+
// var startTime = moment.unix(startTimestampDate);
|
|
411
|
+
// var endTime = moment.unix(endTimestampDate);
|
|
412
|
+
|
|
413
|
+
const startTime = moment(startTimestampDate);
|
|
414
|
+
const endTime = moment(endTimestampDate);
|
|
415
|
+
const duration = moment.duration(endTime.diff(startTime));
|
|
416
|
+
const days = duration.asDays()
|
|
417
|
+
const hours = duration.asHours();
|
|
418
|
+
const minutes = duration.asMinutes();
|
|
419
|
+
|
|
420
|
+
return {days, hours, minutes}
|
|
421
|
+
}
|
|
422
|
+
|
|
409
423
|
|
|
410
424
|
|
|
411
425
|
export function popupUrl(html, title) {
|
package/src/global.scss
CHANGED
|
@@ -431,124 +431,14 @@ select:-webkit-autofill:focus {
|
|
|
431
431
|
/*
|
|
432
432
|
* Canned responses
|
|
433
433
|
* -------------------------------------------- */
|
|
434
|
-
|
|
435
|
-
#canned {
|
|
436
|
-
z-index: 99999;
|
|
437
|
-
width: 100%;
|
|
438
|
-
// background: rgba(237,240,244,.9);
|
|
439
|
-
// position: fixed;
|
|
440
|
-
// top: 0;
|
|
441
|
-
// bottom: 0;
|
|
442
|
-
// left: 0;
|
|
443
|
-
// right: 0;
|
|
444
|
-
// overflow: hidden;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
434
|
.canned-list {
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
width: 100%;
|
|
452
|
-
max-height: 310px;
|
|
453
|
-
overflow-y: auto;
|
|
454
|
-
// padding: 10px 0;
|
|
455
|
-
// margin: 0;
|
|
456
|
-
margin-bottom: 1px;
|
|
457
|
-
font-size: 14px;
|
|
458
|
-
line-height: 1.42857143;
|
|
459
|
-
color: #080f1a;
|
|
460
|
-
box-sizing: border-box;
|
|
461
|
-
-webkit-font-smoothing: antialiased;
|
|
462
|
-
// list-style: none;
|
|
463
|
-
z-index: 999999;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
.canned-item {
|
|
467
|
-
-webkit-tap-highlight-color: transparent;
|
|
468
|
-
font-family: Lato, sans-serif;
|
|
469
|
-
font-size: 14px;
|
|
470
|
-
line-height: 1.42857143;
|
|
471
|
-
list-style: none;
|
|
472
|
-
box-sizing: border-box;
|
|
473
|
-
-webkit-font-smoothing: antialiased;
|
|
474
|
-
// margin: 0 10px;
|
|
475
|
-
position: relative;
|
|
476
|
-
outline: none;
|
|
477
|
-
color: #434a54;
|
|
478
|
-
// padding: 10px;
|
|
479
|
-
padding: 5px;
|
|
480
|
-
width: auto;
|
|
481
|
-
cursor: pointer;
|
|
482
|
-
// .item-inner{
|
|
483
|
-
// border: none!important;
|
|
484
|
-
// }
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
// .canned-item:hover {
|
|
488
|
-
// background-color: #eaf1fd!important;
|
|
489
|
-
// border-radius: 4px;
|
|
490
|
-
|
|
491
|
-
// }
|
|
492
|
-
|
|
493
|
-
#canned > ion-list > ion-item {
|
|
494
|
-
--background-hover: #1877f2 !important;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
// div.item-native > div:hover {
|
|
498
|
-
// background-color: #eaf1fd!important;
|
|
499
|
-
// }
|
|
500
|
-
|
|
501
|
-
// div.item-native > div
|
|
502
|
-
|
|
503
|
-
// .canned-item {
|
|
504
|
-
// // background-color: #eaf1fd!important;
|
|
505
|
-
// border-radius: 4px;
|
|
506
|
-
// --background-hover: #eaf1fd!important;
|
|
507
|
-
// }
|
|
508
|
-
|
|
509
|
-
// #canned > ion-list > ion-item {
|
|
510
|
-
// --background-hover: #eaf1fd!important;
|
|
511
|
-
// }
|
|
512
|
-
|
|
513
|
-
// :host {
|
|
514
|
-
// #canned > ion-list > ion-item {
|
|
515
|
-
// &:hover {
|
|
516
|
-
// --background-hover: #eaf1fd
|
|
517
|
-
// }
|
|
518
|
-
// }
|
|
519
|
-
// }
|
|
520
|
-
|
|
521
|
-
// .cannedContent {
|
|
522
|
-
// width: 100%;
|
|
523
|
-
// }
|
|
524
|
-
|
|
525
|
-
#canned > ion-list > ion-item > div > div.cannedTitle {
|
|
526
|
-
padding-top: 5px;
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
#canned > ion-list > ion-item > div > div.cannedText {
|
|
530
|
-
text-align: left;
|
|
531
|
-
font-size: 12px;
|
|
532
|
-
display: block;
|
|
533
|
-
padding-bottom: 5px;
|
|
534
|
-
// white-space: nowrap;
|
|
535
|
-
// width: 100%;
|
|
536
|
-
// overflow: hidden;
|
|
537
|
-
// text-overflow: ellipsis;
|
|
538
|
-
// border: 0px solid #000000;
|
|
435
|
+
.native-input[disabled] {
|
|
436
|
+
opacity: 10 !important;
|
|
437
|
+
}
|
|
539
438
|
}
|
|
540
439
|
|
|
541
|
-
#canned > ion-list > ion-item > div > div.nocannedTitle {
|
|
542
|
-
color: #f44336;
|
|
543
|
-
}
|
|
544
440
|
|
|
545
|
-
#canned > ion-list > ion-item > div > div.no-canned-available-text {
|
|
546
|
-
color: #1877f2 !important;
|
|
547
|
-
}
|
|
548
441
|
|
|
549
|
-
#canned > ion-list > ion-item > div > div.no-canned-available-text:hover {
|
|
550
|
-
text-decoration: underline;
|
|
551
|
-
}
|
|
552
442
|
|
|
553
443
|
.highlight-search-string {
|
|
554
444
|
color: #1877f2 !important;
|