|
|
@@ -1030,17 +1030,17 @@ var Unibase;
|
|
1030
|
1030
|
if (response.result.messageDeliveredDate != null) {
|
|
1031
|
1031
|
var b = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(response.result.messageDeliveredDate);
|
|
1032
|
1032
|
var ddate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithT(b);
|
|
1033
|
|
- var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
|
|
1034
|
|
- <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
|
|
1035
|
|
- <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${ddate}"><span class="text-truncate">${ddate}</span></div>
|
|
|
1033
|
+ var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
|
|
|
1034
|
+ <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
|
|
|
1035
|
+ <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${ddate}"><span class="text-truncate">${ddate}</span></div>
|
|
1036
|
1036
|
<div class="user-about hidden"></div></div></a></li>`;
|
|
1037
|
1037
|
$('.delivereduserslist').html(html).removeClass('hidden');
|
|
1038
|
1038
|
if (response.result.messageReadDate != null) {
|
|
1039
|
1039
|
var b = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(response.result.messageReadDate);
|
|
1040
|
1040
|
var rdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithT(b);
|
|
1041
|
|
- var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
|
|
1042
|
|
- <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
|
|
1043
|
|
- <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${rdate}"><span class="text-truncate">${rdate}</span></div>
|
|
|
1041
|
+ var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
|
|
|
1042
|
+ <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
|
|
|
1043
|
+ <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${rdate}"><span class="text-truncate">${rdate}</span></div>
|
|
1044
|
1044
|
<div class="user-about hidden"></div></div></a></li>`;
|
|
1045
|
1045
|
$('.readuserslist').html(html).removeClass('hidden');
|
|
1046
|
1046
|
}
|
|
|
@@ -1061,9 +1061,9 @@ var Unibase;
|
|
1061
|
1061
|
if (contact != null) {
|
|
1062
|
1062
|
const contactName = contact.contactName;
|
|
1063
|
1063
|
const avatarHtml = instance._chatTemplate.getUserAvatarHtml(contact);
|
|
1064
|
|
- deliveredUsersHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="deliveredUser_${recievedusers[i]}">
|
|
1065
|
|
- <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
|
|
1066
|
|
- <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
|
|
|
1064
|
+ deliveredUsersHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="deliveredUser_${recievedusers[i]}">
|
|
|
1065
|
+ <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
|
|
|
1066
|
+ <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
|
|
1067
|
1067
|
<div class="user-about hidden"></div></div></a></li>`;
|
|
1068
|
1068
|
}
|
|
1069
|
1069
|
}
|
|
|
@@ -1079,9 +1079,9 @@ var Unibase;
|
|
1079
|
1079
|
const contact = Chat.grpdetails.find(x => x.recipientId == readusers[i]);
|
|
1080
|
1080
|
const contactName = contact.contactName;
|
|
1081
|
1081
|
const avatarHtml = instance._chatTemplate.getUserAvatarHtml(contact);
|
|
1082
|
|
- readUserHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="readUser_${readusers[i]}">
|
|
1083
|
|
- <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
|
|
1084
|
|
- <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
|
|
|
1082
|
+ readUserHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="readUser_${readusers[i]}">
|
|
|
1083
|
+ <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
|
|
|
1084
|
+ <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
|
|
1085
|
1085
|
<div class="user-about hidden"></div></div></a></li>`;
|
|
1086
|
1086
|
}
|
|
1087
|
1087
|
$('.readuserslist').html(readUserHtml).removeClass('hidden');
|
|
|
@@ -2994,11 +2994,31 @@ var Unibase;
|
|
2994
|
2994
|
audio: true
|
|
2995
|
2995
|
}).then(function (stream) {
|
|
2996
|
2996
|
gumStream = stream;
|
|
|
2997
|
+ recorder.ondataavailable = function (e) {
|
|
|
2998
|
+ chunks.push(e.data);
|
|
|
2999
|
+ let blob = new Blob(chunks, { type: 'audio/webm' });
|
|
|
3000
|
+ var reader = new FileReader();
|
|
|
3001
|
+ reader.addEventListener("load", function () {
|
|
|
3002
|
+ var audiofile = Chat.Instance().dataURLtoFile(reader.result, Chat.Instance().getUniqueAudioName());
|
|
|
3003
|
+ var item = {
|
|
|
3004
|
+ Files: audiofile,
|
|
|
3005
|
+ Index: Chat.attachments.length
|
|
|
3006
|
+ };
|
|
|
3007
|
+ Chat.attachments.push(item);
|
|
|
3008
|
+ Chat.Instance().sendfiles();
|
|
|
3009
|
+ }, false);
|
|
|
3010
|
+ reader.readAsDataURL(blob);
|
|
|
3011
|
+ };
|
|
|
3012
|
+ recorder.start();
|
|
2997
|
3013
|
});
|
|
2998
|
3014
|
$('.voicemsg-send-btn').click(function () {
|
|
2999
|
3015
|
document.getElementById('minutes').innerText = '0';
|
|
3000
|
3016
|
document.getElementById('seconds').innerText = '0';
|
|
3001
|
3017
|
$('.record_div').addClass('hidden');
|
|
|
3018
|
+ if (recorder.state != 'inactive') {
|
|
|
3019
|
+ recorder.stop();
|
|
|
3020
|
+ gumStream.getAudioTracks()[0].stop();
|
|
|
3021
|
+ }
|
|
3002
|
3022
|
clearInterval(x);
|
|
3003
|
3023
|
});
|
|
3004
|
3024
|
}
|
|
|
@@ -3137,18 +3157,18 @@ var Unibase;
|
|
3137
|
3157
|
let popUpHtml = '';
|
|
3138
|
3158
|
if (!jQuery.isEmptyObject(config)) {
|
|
3139
|
3159
|
const buttons = config.buttons;
|
|
3140
|
|
- popUpHtml += `<div class="modal fade chat-popup biz-custom-scrollbar" id="chatPopUp" ${!Chat.isFullScreen ? 'data-backdrop="false"' : ''}>
|
|
3141
|
|
- <div class="modal-dialog modal-dialog-centered" role="document">
|
|
3142
|
|
- <div class="modal-content">
|
|
3143
|
|
- ${config.message && `<div class="modal-body pa-10">
|
|
3144
|
|
- <div class="chat-popup-msg font-weight-500 text-dark">${config.message}</div>
|
|
3145
|
|
- </div>`}
|
|
3146
|
|
- ${config.buttons && `<div class="modal-footer pa-10">
|
|
3147
|
|
- <a href="javascript:;" class="${buttons.cancel.className || 'btn btn-outline-danger'} btn-sm cancel-btn" id="chatPopupCancelBtn">${buttons.cancel.label || 'Close'}</a>
|
|
3148
|
|
- <a href="javascript:;" class="${buttons.confirm.className || 'btn btn-primary'} btn-sm confirm-btn" id="chatPopupConfirmBtn">${buttons.confirm.label || 'Save'}</a>
|
|
3149
|
|
- </div>`}
|
|
3150
|
|
- </div>
|
|
3151
|
|
- </div>
|
|
|
3160
|
+ popUpHtml += `<div class="modal fade chat-popup biz-custom-scrollbar" id="chatPopUp" ${!Chat.isFullScreen ? 'data-backdrop="false"' : ''}>
|
|
|
3161
|
+ <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
3162
|
+ <div class="modal-content">
|
|
|
3163
|
+ ${config.message && `<div class="modal-body pa-10">
|
|
|
3164
|
+ <div class="chat-popup-msg font-weight-500 text-dark">${config.message}</div>
|
|
|
3165
|
+ </div>`}
|
|
|
3166
|
+ ${config.buttons && `<div class="modal-footer pa-10">
|
|
|
3167
|
+ <a href="javascript:;" class="${buttons.cancel.className || 'btn btn-outline-danger'} btn-sm cancel-btn" id="chatPopupCancelBtn">${buttons.cancel.label || 'Close'}</a>
|
|
|
3168
|
+ <a href="javascript:;" class="${buttons.confirm.className || 'btn btn-primary'} btn-sm confirm-btn" id="chatPopupConfirmBtn">${buttons.confirm.label || 'Save'}</a>
|
|
|
3169
|
+ </div>`}
|
|
|
3170
|
+ </div>
|
|
|
3171
|
+ </div>
|
|
3152
|
3172
|
</div>`;
|
|
3153
|
3173
|
popUpHtml += '<div class="modal-backdrop fade show position-absolute chat-popup-backdrop" id="chatPopupBackdrop"></div>';
|
|
3154
|
3174
|
$('#chatAppWrap').append(popUpHtml);
|
|
|
@@ -3191,15 +3211,15 @@ var Unibase;
|
|
3191
|
3211
|
else {
|
|
3192
|
3212
|
contact = Chat.AllContacts.find(x => x.chatGroupId == Chat.chatGroupId);
|
|
3193
|
3213
|
}
|
|
3194
|
|
- const popupHtml = `<div class="modal fade chat-img-preview-modal chat-popup panel-preview" id="chatImgPreviewModal" tabindex="-1" role="dialog" data-backdrop="false">
|
|
3195
|
|
- <div class="modal-dialog h-100 my-0" role="document">
|
|
3196
|
|
- <div class="modal-content h-100">
|
|
3197
|
|
- <div class="modal-body h-100">
|
|
3198
|
|
- <img src="${contact.photoUrl}" class="preview-img img-fluid" onerror="ReloadImage(event)" data-dynamic="1" data-loaded="0">
|
|
3199
|
|
- </div>
|
|
3200
|
|
- </div>
|
|
3201
|
|
- </div>
|
|
3202
|
|
- </div>
|
|
|
3214
|
+ const popupHtml = `<div class="modal fade chat-img-preview-modal chat-popup panel-preview" id="chatImgPreviewModal" tabindex="-1" role="dialog" data-backdrop="false">
|
|
|
3215
|
+ <div class="modal-dialog h-100 my-0" role="document">
|
|
|
3216
|
+ <div class="modal-content h-100">
|
|
|
3217
|
+ <div class="modal-body h-100">
|
|
|
3218
|
+ <img src="${contact.photoUrl}" class="preview-img img-fluid" onerror="ReloadImage(event)" data-dynamic="1" data-loaded="0">
|
|
|
3219
|
+ </div>
|
|
|
3220
|
+ </div>
|
|
|
3221
|
+ </div>
|
|
|
3222
|
+ </div>
|
|
3203
|
3223
|
<div class="modal-backdrop fade show position-absolute" id="chatPopupBackdrop"></div>`;
|
|
3204
|
3224
|
$('#chatAppWrap').append(popupHtml);
|
|
3205
|
3225
|
$('#chatImgPreviewModal').modal();
|