/*+*********************************************************************************** * The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. *************************************************************************************/ Vtiger_List_Js("MailManager_List_Js", {}, { getContainer : function() { return jQuery('.main-container'); }, loadFolders : function(folder) { app.helper.showProgress(app.vtranslate("JSLBL_Loading_Please_Wait")+"..."); var self = this; var params = { 'module' : app.getModuleName(), 'view' : 'Index', '_operation' : 'folder', '_operationarg' : 'getFoldersList' } app.request.post({"data" : params}).then(function(error, responseData) { app.helper.hideProgress(); self.getContainer().find('#folders_list').html(responseData); self.getContainer().find('#folders_list').mCustomScrollbar({ setHeight: 550, autoExpandScrollbar: true, scrollInertia: 200, autoHideScrollbar: true, theme : "dark-3" }); self.registerFolderClickEvent(); if(folder) { self.openFolder(folder); } else { self.openFolder('INBOX'); } self.registerAutoRefresh(); }); }, registerAutoRefresh : function() { var self = this; var container = self.getContainer(); var timeout = parseInt(container.find('#refresh_timeout').val()); var folder = container.find('.mm_folder.active').data('foldername'); if(timeout > 0) { setTimeout(function() { var thisInstance = new MailManager_List_Js(); if(folder && typeof folder != "undefined") { thisInstance.loadFolders(folder); } else { thisInstance.loadFolders(); } }, timeout); } }, registerFolderClickEvent : function() { var self = this; var container = self.getContainer(); container.find('.mm_folder').click(function(e) { var folderElement = jQuery(e.currentTarget); var folderName = folderElement.data('foldername'); container.find('.mm_folder').each(function(i, ele) { jQuery(ele).removeClass('active'); }); folderElement.addClass('active'); if(folderName == 'vt_drafts') { self.openDraftFolder(); } else { self.openFolder(folderName); } }); }, registerComposeEmail : function() { var self = this; var container = self.getContainer(); container.find('#mail_compose').click(function() { var params = { step : "step1", module : "MailManager", view : "MassActionAjax", mode : "showComposeEmailForm", selected_ids : "[]", excluded_ids : "[]" }; self.openComposeEmailForm(null, params); }); }, registerSettingsEdit : function() { var self = this; var container = this.getContainer(); container.find('.mailbox_setting').click(function() { app.helper.showProgress(app.vtranslate("JSLBL_Loading_Please_Wait")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'settings', '_operationarg' : 'edit' }; var popupInstance = Vtiger_Popup_Js.getInstance(); popupInstance.showPopup(params, '', function(data) { app.helper.hideProgress(); self.handleSettingsEvents(data); self.registerDeleteMailboxEvent(data); self.registerSaveMailboxEvent(data); }); }); }, handleSettingsEvents : function(data) { var settingContainer = jQuery(data); settingContainer.find('#serverType').on('change', function(e) { var element = jQuery(e.currentTarget); var serverType = element.val(); var useServer = '', useProtocol = '', useSSLType = '', useCert = ''; if(serverType == 'gmail' || serverType == 'yahoo') { useServer = 'imap.gmail.com'; if(serverType == 'yahoo') { useServer = 'imap.mail.yahoo.com'; } useProtocol = 'IMAP4'; useSSLType = 'ssl'; useCert = 'novalidate-cert'; settingContainer.find('.settings_details').removeClass('hide'); settingContainer.find('.additional_settings').addClass('hide'); } else if(serverType == 'fastmail') { useServer = 'mail.messagingengine.com'; useProtocol = 'IMAP2'; useSSLType = 'tls'; useCert = 'novalidate-cert'; settingContainer.find('.settings_details').removeClass('hide'); settingContainer.find('.additional_settings').addClass('hide'); } else if(serverType == 'other') { useServer = ''; useProtocol = 'IMAP4'; useSSLType = 'ssl'; useCert = 'novalidate-cert'; settingContainer.find('.settings_details').removeClass('hide'); settingContainer.find('.additional_settings').removeClass('hide'); } else { settingContainer.find('.settings_details').addClass('hide'); } settingContainer.find('.refresh_settings').show(); settingContainer.find('#_mbox_user').val(''); settingContainer.find('#_mbox_pwd').val(''); settingContainer.find('[name="_mbox_sent_folder"]').val(''); settingContainer.find('.selectFolderValue').addClass('hide'); settingContainer.find('.selectFolderDesc').removeClass('hide'); if(useProtocol != '') { settingContainer.find('#_mbox_server').val(useServer); settingContainer.find('.mbox_protocol').each(function(i, node) { if(jQuery(node).val() == useProtocol) { jQuery(node).attr('checked', true); } }); settingContainer.find('.mbox_ssltype').each(function(i, node) { if(jQuery(node).val() == useSSLType) { jQuery(node).attr('checked', true); } }); settingContainer.find('.mbox_certvalidate').each(function(i, node) { if(jQuery(node).val() == useCert) { jQuery(node).attr('checked', true); } }); } }); }, registerDeleteMailboxEvent : function(data) { var settingContainer = jQuery(data); settingContainer.find('#deleteMailboxBtn').click(function(e) { e.preventDefault(); app.helper.showProgress(app.vtranslate("JSLBL_Deleting")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'settings', '_operationarg' : 'remove' }; app.request.post({"data" : params}).then(function(error, responseData) { app.helper.hideProgress(); if(responseData.status) { window.location.reload(); } }); }); }, registerSaveMailboxEvent : function(data) { var settingContainer = jQuery(data); settingContainer.find('#saveMailboxBtn').click(function(e) { e.preventDefault(); var form = settingContainer.find('#EditView'); var data = form.serializeFormData(); var params = { position: { 'my' : 'bottom left', 'at' : 'top left', 'container' : jQuery('#EditView') }}; var errorMsg = app.vtranslate('JS_REQUIRED_FIELD'); if(data['_mbox_server'] == "") { vtUtils.showValidationMessage(settingContainer.find('#_mbox_server'), errorMsg, params); return false; } else { vtUtils.hideValidationMessage(settingContainer.find('#_mbox_server')); } if(data['_mbox_user'] == "") { vtUtils.showValidationMessage(settingContainer.find('#_mbox_user'), errorMsg, params); return false; } else { vtUtils.hideValidationMessage(settingContainer.find('#_mbox_user')); } if(data['_mbox_pwd'] == "") { vtUtils.showValidationMessage(settingContainer.find('#_mbox_pwd'), errorMsg, params); return false; } else { vtUtils.hideValidationMessage(settingContainer.find('#_mbox_pwd')); } app.helper.showProgress(app.vtranslate("JSLBL_Saving_And_Verifying")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'settings', '_operationarg' : 'save' }; jQuery.extend(params, data); app.request.post({"data" : params}).then(function(error, responseData) { app.helper.hideModal(); app.helper.hideProgress(); if(error) { app.helper.showAlertNotification({'message' : error.message}); } else if(responseData.mailbox) { window.location.reload(); } }); }); }, registerInitialLayout : function() { var self = this; var container = self.getContainer(); if(container.find('#isMailBoxExists').val() == "0") { container.find('#modnavigator').addClass('hide'); container.find('#listViewContent').addClass('paddingLeft0'); } }, openFolder : function(folderName, page, query, type) { var self = this; app.helper.showProgress(app.vtranslate("JSLBL_Loading_Please_Wait")+"..."); if(!page) { page = 0; } var container = self.getContainer(); vtUtils.hideValidationMessage(container.find('#mailManagerSearchbox')); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'folder', '_operationarg' : 'open', '_folder' : folderName, '_page' : page }; if(query) { params['q'] = query; } if(type) { params['type'] = type; } app.request.post({"data" : params}).then(function(error, responseData) { container.find('#mails_container').removeClass('col-lg-12'); container.find('#mails_container').addClass('col-lg-5'); container.find('#mailPreviewContainer').removeClass('hide'); container.find('#mails_container').html(responseData); app.helper.hideProgress(); self.registerMoveMailDropdownClickEvent(); self.registerMailCheckBoxClickEvent(); self.registerScrollForMailList(); self.registerMainCheckboxClickEvent(); self.registerPrevPageClickEvent(); self.registerNextPageClickEvent(); self.registerSearchEvent(); self.registerFolderMailDeleteEvent(); self.registerMoveMailToFolder(); self.registerMarkMessageAsUnread(); self.registerMailClickEvent(); self.registerMarkMessageAsRead(); self.clearPreviewContainer(); self.loadMailContents(folderName); container.find('#searchType').trigger('change'); }); }, /** * Function to load the body of all mails in folder list * @param {type} folderName * @returns {undefined} */ loadMailContents : function(folderName){ var mailids = jQuery('input[name="folderMailIds"]').val(); if (typeof mailids !== 'undefined') { mailids = mailids.split(","); var params = { 'module' : 'MailManager', 'action' : 'Folder', 'mode' : 'showMailContent', 'mailids' : mailids, 'folderName':folderName }; app.request.post({"data" : params}).then(function(error, responseData) { for(var k in responseData){ var messageContent = responseData[k]; var messageEle = jQuery('#mmMailEntry_'+k); messageEle.find('.mmMailDesc').html(messageContent); } }); } }, registerFolderMailDeleteEvent : function() { var self = this; var container = self.getContainer(); container.find('#mmDeleteMail').click(function(e) { var folder = jQuery(e.currentTarget).data('folder'); var msgNos = new Array(); container.find('.mailCheckBox').each(function(i, ele) { var element = jQuery(ele); if(element.is(":checked")) { msgNos.push(element.closest('.mailEntry').find('.msgNo').val()); } }); if(msgNos.length <= 0) { app.helper.showAlertBox({message:app.vtranslate('JSLBL_NO_EMAILS_SELECTED')}); return false; } else { app.helper.showConfirmationBox({'message' : app.vtranslate('LBL_DELETE_CONFIRMATION')}).then(function() { app.helper.showProgress(app.vtranslate("JSLBL_Deleting")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'delete', '_folder' : folder, '_msgno' : msgNos.join(',') }; app.request.post({data : params}).then(function(err,data) { app.helper.hideProgress(); if(data.status) { app.helper.showSuccessNotification({'message': app.vtranslate('JSLBL_MAILS_DELETED')}); self.updateUnreadCount("-"+self.getUnreadCountByMsgNos(msgNos), folder); self.updatePagingCount(msgNos.length); for(var i = 0; i < msgNos.length; i++) { container.find('#mmMailEntry_'+msgNos[i]).remove(); } var openedMsgNo = container.find('#mmMsgNo').val(); if(jQuery.inArray(openedMsgNo, msgNos) !== -1) { self.clearPreviewContainer(); } } }); }); } }); }, updatePagingCount : function(deletedCount) { var pagingDataElement = jQuery('.pageInfoData'); var pagingElement = jQuery('.pageInfo'); if(pagingDataElement.length != 0){ var total = pagingDataElement.data('total'); var start = pagingDataElement.data('start'); var end = pagingDataElement.data('end'); var labelOf = pagingDataElement.data('label-of'); total = total - deletedCount; pagingDataElement.data('total', total); pagingElement.html(start+' '+'-'+' '+end+' '+labelOf+' '+total+' '); } }, registerMoveMailToFolder : function() { var self = this; var container = self.getContainer(); var moveToDropDown = container.find('#mmMoveToFolder'); moveToDropDown.on('click','a',function(e) { var element = jQuery(e.currentTarget); var moveToFolder = element.closest('li').data('movefolder'); var folder = element.closest('li').data('folder'); var msgNos = new Array(); container.find('.mailCheckBox').each(function(i, ele) { var element = jQuery(ele); if(element.is(":checked")) { msgNos.push(element.closest('.mailEntry').find('.msgNo').val()); } }); if(msgNos.length <= 0) { container.find('.moveToFolderDropDown').removeClass('open'); app.helper.showAlertBox({message:app.vtranslate('JSLBL_NO_EMAILS_SELECTED')}); return false; } else { app.helper.showProgress(app.vtranslate("JSLBL_MOVING")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'move', '_folder' : folder, '_moveFolder' : moveToFolder, '_msgno' : msgNos.join(',') }; app.request.post({data : params}).then(function(err,data) { app.helper.hideProgress(); if(data.status) { app.helper.showSuccessNotification({'message': app.vtranslate('JSLBL_MAIL_MOVED')}); var unreadCount = self.getUnreadCountByMsgNos(msgNos); self.updateUnreadCount("-"+unreadCount, folder); self.updateUnreadCount("+"+unreadCount, moveToFolder); for(var i = 0; i < msgNos.length; i++) { container.find('#mmMailEntry_'+msgNos[i]).remove(); } container.find('.moveToFolderDropDown').removeClass('open'); } }); } }); }, registerMarkMessageAsUnread : function() { var self = this; var container = self.getContainer(); container.find('#mmMarkAsUnread').click(function(e) { var folder = jQuery(e.currentTarget).data('folder'); var msgNos = new Array(); container.find('.mailCheckBox').each(function(i, ele) { var element = jQuery(ele); if(element.is(":checked")) { msgNos.push(element.closest('.mailEntry').find('.msgNo').val()); } }); if(msgNos.length <= 0) { app.helper.showAlertBox({message:app.vtranslate('JSLBL_NO_EMAILS_SELECTED')}); return false; } else { app.helper.showProgress(app.vtranslate("JSLBL_Updating")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'mark', '_folder' : folder, '_msgno' : msgNos.join(','), '_markas' : 'unread' }; app.request.post({data : params}).then(function(err,data) { app.helper.hideProgress(); if(data.status) { app.helper.showSuccessNotification({'message': app.vtranslate('JSLBL_MAILS_MARKED_UNREAD')}); self.markMessageUnread(msgNos); self.updateUnreadCount("+"+self.getUnreadCountByMsgNos(msgNos), folder); } }); } }); }, registerMarkMessageAsRead : function() { var self = this; var container = self.getContainer(); container.find('#mmMarkAsRead').click(function(e) { var folder = jQuery(e.currentTarget).data('folder'); var msgNos = new Array(); container.find('.mailCheckBox').each(function(i, ele) { var element = jQuery(ele); if(element.is(":checked")) { msgNos.push(element.closest('.mailEntry').find('.msgNo').val()); } }); if(msgNos.length <= 0) { app.helper.showAlertBox({message:app.vtranslate('JSLBL_NO_EMAILS_SELECTED')}); return false; } else { app.helper.showProgress(app.vtranslate("JSLBL_Updating")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'mark', '_folder' : folder, '_msgno' : msgNos.join(','), '_markas' : 'read' }; app.request.post({data : params}).then(function(err,data) { app.helper.hideProgress(); if(data.status) { app.helper.showSuccessNotification({'message': app.vtranslate('JSLBL_MAILS_MARKED_READ')}); self.markMessageRead(msgNos); self.updateUnreadCount("-"+self.getUnreadCountByMsgNos(msgNos), folder); } }); } }); }, registerSearchEvent : function() { var self = this; var container = self.getContainer(); container.find('#mm_searchButton').click(function() { var query = container.find('#mailManagerSearchbox').val(); if(query.trim() == '') { vtUtils.showValidationMessage(container.find('#mailManagerSearchbox'), app.vtranslate('JSLBL_ENTER_SOME_VALUE')); return false; } else { vtUtils.hideValidationMessage(container.find('#mailManagerSearchbox')); } var folder = container.find('#mailManagerSearchbox').data('foldername'); var type = container.find('#searchType').val(); self.openFolder(folder, 0, query, type); }); }, markMessageUnread : function(msgNos) { var self = this; var container = self.getContainer(); if(typeof msgNos == "string") { msgNos = new Array(msgNos); } if(typeof msgNos == "object") { for(var i = 0; i < msgNos.length; i++) { var msgNo = msgNos[i]; var msgEle = container.find('#mmMailEntry_'+msgNo); msgEle.removeClass('mmReadEmail'); msgEle.data('read', "0"); var nameSubject = "" + msgEle.find('.nameSubjectHolder').html() + ""; msgEle.find('.nameSubjectHolder').html(nameSubject); } } }, markMessageRead : function(msgNos) { var self = this; var container = self.getContainer(); if(typeof msgNos == "string") { msgNos = new Array(msgNos); } if(typeof msgNos == "object") { for(var i = 0; i < msgNos.length; i++) { var msgNo = msgNos[i]; var msgEle = container.find('#mmMailEntry_'+msgNo); msgEle.addClass('mmReadEmail'); msgEle.data('read', "1"); var nameSubject = msgEle.find('.nameSubjectHolder').find('strong').html(); msgEle.find('.nameSubjectHolder').html(nameSubject); } } }, getUnreadCountByMsgNos : function(msgNos) { var count = 0; var self = this; var container = self.getContainer(); for(var i = 0; i < msgNos.length; i++) { var isRead = parseInt(container.find('#mmMailEntry_'+msgNos[i]).data('read')); if(isRead == 0) { count++; } } return count; }, registerMailCheckBoxClickEvent : function() { var self = this; var container = self.getContainer(); container.find('.mailCheckBox').click(function(e) { var element = jQuery(e.currentTarget); if(element.is(":checked")) { element.closest('.mailEntry').addClass('highLightMail'); element.closest('.mailEntry').removeClass('fontBlack'); element.closest('.mailEntry').addClass('whiteFont'); element.closest('.mailEntry').removeClass('mmReadEmail'); element.closest('.mailEntry').find('.mmDateTimeValue').addClass('mmListDateDivSelected'); } else { var isRead = element.closest('.mailEntry').data('read'); if(parseInt(isRead)) { element.closest('.mailEntry').addClass('mmReadEmail'); element.closest('.mailEntry').removeClass('highLightMail'); } else { element.closest('.mailEntry').removeClass('highLightMail'); } element.closest('.mailEntry').find('.mmDateTimeValue').removeClass('mmListDateDivSelected'); element.closest('.mailEntry').addClass('fontBlack'); } }); }, registerMoveMailDropdownClickEvent : function() { var self = this; var container = self.getContainer(); container.find('.moveToFolderDropDown').click(function(e) { e.stopImmediatePropagation(); var element = jQuery(e.currentTarget); element.addClass('open'); }); }, registerScrollForMailList : function() { var self = this; self.getContainer().find('#emailListDiv').mCustomScrollbar({ setHeight: 600, autoExpandScrollbar: true, scrollInertia: 200, autoHideScrollbar: true, theme : "dark-3" }); }, registerMainCheckboxClickEvent : function() { var self = this; var container = self.getContainer(); container.find('#mainCheckBox').click(function(e) { var element = jQuery(e.currentTarget); if(element.is(":checked")) { container.find('.mailCheckBox').each(function(i, ele) { jQuery(ele).prop('checked', true); jQuery(ele).closest('.mailEntry').addClass('highLightMail'); jQuery(ele).closest('.mailEntry').removeClass('fontBlack'); jQuery(ele).closest('.mailEntry').addClass('whiteFont'); jQuery(ele).closest('.mailEntry').removeClass('mmReadEmail'); jQuery(ele).closest('.mailEntry').find('.mmDateTimeValue').addClass('mmListDateDivSelected'); }); } else { container.find('.mailCheckBox').each(function(i, ele) { jQuery(ele).prop('checked', false); var isRead = jQuery(ele).closest('.mailEntry').data('read'); if(parseInt(isRead)) { jQuery(ele).closest('.mailEntry').addClass('mmReadEmail'); jQuery(ele).closest('.mailEntry').removeClass('highLightMail'); } else { jQuery(ele).closest('.mailEntry').removeClass('highLightMail'); } jQuery(ele).closest('.mailEntry').find('.mmDateTimeValue').removeClass('mmListDateDivSelected'); jQuery(ele).closest('.mailEntry').addClass('fontBlack'); }); } }); }, registerPrevPageClickEvent : function() { var self = this; var container = self.getContainer(); container.find('#PreviousPageButton').click(function(e) { var element = jQuery(e.currentTarget); var folder = element.data('folder'); var page = element.data('page'); self.openFolder(folder, page, jQuery('#mailManagerSearchbox').val(), jQuery('#searchType').val()); }); }, registerNextPageClickEvent : function() { var self = this; var container = self.getContainer(); container.find('#NextPageButton').click(function(e) { var element = jQuery(e.currentTarget); var folder = element.data('folder'); var page = element.data('page'); self.openFolder(folder, page, jQuery('#mailManagerSearchbox').val(), jQuery('#searchType').val()); }); }, registerMailClickEvent : function() { var self = this; var container = self.getContainer(); container.find('.mmfolderMails').click(function(e) { var emailElement = jQuery(e.currentTarget); var parentEle = emailElement.closest('.mailEntry'); var msgNo = emailElement.find('.msgNo').val(); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'open', '_folder' : parentEle.data('folder'), '_msgno' : msgNo }; app.helper.showProgress(app.vtranslate("JSLBL_Opening")+"..."); app.request.post({data : params}).then(function(err, data) { app.helper.hideProgress(); var uiContent = data.ui; var unreadCount = self.getUnreadCountByMsgNos(new Array(msgNo)); jQuery(parentEle).addClass('mmReadEmail'); jQuery(parentEle).data('read', "1"); var nameSubject = jQuery(parentEle).find('.nameSubjectHolder').find('strong').html(); jQuery(parentEle).find('.nameSubjectHolder').html(nameSubject); container.find('#mailPreviewContainer').html(uiContent); self.highLightMail(msgNo); self.registerMailDeleteEvent(); self.registerForwardEvent(); self.registerPrintEvent(); self.registerReplyEvent(); self.registerReplyAllEvent(); self.showRelatedActions(); self.registerMailPaginationEvent(); container.find('.emailDetails').popover({html: true}); self.updateUnreadCount("-"+unreadCount, jQuery(parentEle).data('folder')); self.loadContentsInIframe(container.find('#mmBody')); }); }); }, loadContentsInIframe : function(element) { var bodyContent = element.html(); element.html(''); var frameElement = jQuery("#bodyFrame")[0].contentWindow.document; frameElement.open(); frameElement.close(); jQuery('#bodyFrame').contents().find('html').html(bodyContent); jQuery('#bodyFrame').contents().find('html').find('a').on('click', function(e) { e.preventDefault(); var url = jQuery(e.currentTarget).attr('href'); window.open(url, '_blank'); }); }, highLightMail : function(msgNo) { var self = this; var container = self.getContainer(); container.find('.mailEntry').each(function(i, ele) { var element = jQuery(ele); var isRead = element.data('read'); if(parseInt(isRead)) { element.addClass('mmReadEmail'); element.removeClass('highLightMail'); } else { element.removeClass('highLightMail'); } element.find('.mmDateTimeValue').removeClass('mmListDateDivSelected'); element.addClass('fontBlack'); }); var selectedMailEle = container.find('#mmMailEntry_'+msgNo); selectedMailEle.addClass('highLightMail'); selectedMailEle.removeClass('fontBlack'); selectedMailEle.addClass('whiteFont'); selectedMailEle.removeClass('mmReadEmail'); selectedMailEle.find('.mmDateTimeValue').addClass('mmListDateDivSelected'); }, registerMailPaginationEvent : function() { var self = this; var container = self.getContainer(); container.find('.mailPagination').click(function(e) { var element = jQuery(e.currentTarget); var msgNo = element.data('msgno'); var folder = element.data('folder'); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'open', '_folder' : folder, '_msgno' : msgNo }; app.helper.showProgress(app.vtranslate("JSLBL_Opening")+"..."); app.request.post({data : params}).then(function(err, data) { app.helper.hideProgress(); var uiContent = data.ui; container.find('#mmMailEntry_'+msgNo).addClass('mmReadEmail'); container.find('#mmMailEntry_'+msgNo).data('read', "1"); var nameSubject = container.find('#mmMailEntry_'+msgNo).find('.nameSubjectHolder').find('strong').html(); container.find('#mmMailEntry_'+msgNo).find('.nameSubjectHolder').html(nameSubject); container.find('#mailPreviewContainer').html(uiContent); self.registerMailDeleteEvent(); self.registerForwardEvent(); self.registerReplyEvent(); self.registerReplyAllEvent(); self.showRelatedActions(); self.registerMailPaginationEvent(); self.highLightMail(msgNo); self.loadContentsInIframe(container.find('#mmBody')); }); }); }, registerMailDeleteEvent : function() { var self = this; var container = self.getContainer(); container.find('#mmDelete').click(function() { var msgNo = jQuery('#mmMsgNo').val(); var folder = jQuery('#mmFolder').val(); app.helper.showConfirmationBox({'message' : app.vtranslate('LBL_DELETE_CONFIRMATION')}).then(function() { app.helper.showProgress(app.vtranslate("JSLBL_Deleting")+"..."); var params = { 'module' : 'MailManager', 'view' : 'Index', '_operation' : 'mail', '_operationarg' : 'delete', '_folder' : folder, '_msgno' : msgNo }; app.request.post({data : params}).then(function(err,data) { app.helper.hideProgress(); if(data.status) { container.find('#mmMailEntry_'+msgNo).remove(); var previewHtml = '
'+app.vtranslate('JSLBL_FORWARD_MESSAGE_TEXT')+'
'+fwdMsgMetaInfo+'
On '+date+', '+from+' wrote :
'+body+'