晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/public_html/crm/layouts/v7/modules/MailManager/resources/ |
Upload File : |
/*+***********************************************************************************
* 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 = "<strong>" + msgEle.find('.nameSubjectHolder').html() + "</strong>";
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('<iframe id="bodyFrame" style="width: 100%; border: none;"></iframe>');
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 = '<div class="mmListMainContainer">\n\
<center><strong>'+app.vtranslate('JSLBL_NO_MAIL_SELECTED_DESC')+'</center></strong></div>';
jQuery('#mailPreviewContainer').html(previewHtml);
}
});
});
});
},
registerForwardEvent : function() {
var self = this;
var container = self.getContainer();
container.find('#mmForward').click(function() {
app.helper.showProgress(app.vtranslate("JSLBL_Loading")+"...");
var msgNo = jQuery('#mmMsgNo').val();
var from = jQuery('#mmFrom').val();
var to = jQuery('#mmTo').val();
var cc = jQuery('#mmCc').val() ? jQuery('#mmCc').val() : '';
var subject = JSON.parse(jQuery('#mmSubject').val());
var body = jQuery('#mmBody').find('iframe#bodyFrame').contents().find('html').html();
var date = jQuery('#mmDate').val();
var folder = jQuery('#mmFolder').val();
var fwdMsgMetaInfo = app.vtranslate('JSLBL_FROM') + from + '<br/>'+
app.vtranslate('JSLBL_DATE') + date + '<br/>'+
app.vtranslate('JSLBL_SUBJECT') + subject;
if (to != '' && to != null) {
fwdMsgMetaInfo += '<br/>'+app.vtranslate('JSLBL_TO') + to;
}
if (cc != '' && cc != null) {
fwdMsgMetaInfo += '<br/>'+app.vtranslate('JSLBL_CC') + cc;
}
fwdMsgMetaInfo += '<br/>';
var fwdSubject = (subject.toUpperCase().indexOf('FWD:') == 0) ? subject : 'Fwd: ' + subject;
var fwdBody = '<p></p><p>'+app.vtranslate('JSLBL_FORWARD_MESSAGE_TEXT')+'<br/>'+fwdMsgMetaInfo+'</p>'+body;
var attchmentCount = parseInt(container.find('#mmAttchmentCount').val());
if(attchmentCount) {
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'mail',
'_operationarg' : 'forward',
'messageid' : encodeURIComponent(msgNo),
'folder' : encodeURIComponent(folder),
'subject' : encodeURIComponent(fwdSubject),
'body' : encodeURIComponent(fwdBody)
};
app.request.post({'data' : params}).then(function(err, data) {
var draftId = data.emailid;
var newParams = {
'module' : 'Emails',
'view' : 'ComposeEmail',
'mode' : 'emailEdit',
'record' : draftId
};
app.request.post({data : newParams}).then(function(err,data) {
app.helper.hideProgress();
if(err === null) {
var dataObj = jQuery(data);
var descriptionContent = dataObj.find('#iframeDescription').val();
app.helper.showModal(data, {cb : function() {
var editInstance = new Emails_MassEdit_Js();
editInstance.registerEvents();
jQuery('#emailPreviewIframe').contents().find('html').html(descriptionContent);
jQuery("#emailPreviewIframe").height(jQuery('#emailPreviewIframe').contents().find('html').height());
}});
}
});
});
} else {
app.helper.hideProgress();
var params = {
'step' : "step1",
'module' : "MailManager",
'view' : "MassActionAjax",
'mode' : "showComposeEmailForm",
'selected_ids' : "[]",
'excluded_ids' : "[]",
}
self.openComposeEmailForm("forward", params, {'subject' : fwdSubject, 'body' : fwdBody});
}
});
},
registerPrintEvent : function() {
var self = this;
var container = self.getContainer();
container.find('#mmPrint').click(function() {
var subject = JSON.parse(container.find('#mmSubject').val());
var from = container.find('#mmFrom').val();
var to = container.find('#mmTo').val();
var cc = container.find('#mmCc').val();
var date = container.find('#mmDate').val();
var body = jQuery('#mmBody').find('iframe#bodyFrame').contents().find('html').html();
var content = window.open();
content.document.write("<b>"+subject+"</b><br>");
content.document.write(app.vtranslate("JSLBL_FROM")+" "+from +"<br>");
content.document.write(app.vtranslate("JSLBL_TO")+" "+to+"<br>");
if(cc) {
content.document.write(app.vtranslate("JSLBL_CC")+" "+cc+"<br>");
}
content.document.write(app.vtranslate("JSLBL_DATE")+" "+date+"<br>");
content.document.write("<br><br>"+body);
content.print();
});
},
registerReplyEvent : function() {
var self = this;
self.getContainer().find('#mmReply').click(function() {
self.openReplyEmail(false);
});
},
registerReplyAllEvent : function() {
var self = this;
self.getContainer().find('#mmReplyAll').click(function() {
self.openReplyEmail(true);
});
},
openReplyEmail : function(all) {
var self = this;
if (typeof(all) == 'undefined') {
all = true;
}
var mUserName = jQuery('#mmUserName').val();
var from = jQuery('#mmFrom').val();
var to = all ? jQuery('#mmTo').val() : '';
var cc = all ? jQuery('#mmCc').val() : '';
var mailIds = '';
if(to != null) {
mailIds = to;
}
if(cc != null) {
mailIds = mailIds ? mailIds+','+cc : cc;
}
mailIds = mailIds.replace(/\s+/g, '');
var emails = mailIds.split(',');
for(var i = 0; i < emails.length ; i++) {
if(emails[i].indexOf(mUserName) != -1){
emails.splice(i,1);
}
}
mailIds = emails.join(',');
mailIds = mailIds.replace(',,', ',');
if(mailIds.charAt(mailIds.length-1) == ',') {
mailIds = mailIds.slice(0, -1);
} else if(mailIds.charAt(0) == ','){
mailIds = mailIds.slice(1);
}
var subject = JSON.parse(jQuery('#mmSubject').val());
var body = jQuery('#mmBody').find('iframe#bodyFrame').contents().find('html').html();
var date = jQuery('#mmDate').val();
var replySubject = (subject.toUpperCase().indexOf('RE:') == 0) ? subject : 'Re: ' + subject;
var replyBody = '<p></br></br></p><p style="margin:0;padding:0;">On '+date+', '+from+' wrote :</p><blockquote style="border:0;margin:0;border-left:1px solid gray;padding:0 0 0 2px;">'+body+'</blockquote><br />';
var parentRecord = new Array();
var linktoElement = jQuery('[name=_mlinkto]');
linktoElement.each(function(index){
var value = jQuery(this).val();
if(value) {
parentRecord.push(value);
}
});
var params = {
'step' : "step1",
'module' : "MailManager",
'view' : "MassActionAjax",
'mode' : "showComposeEmailForm",
'linktomodule' : 'true',
'excluded_ids' : "[]",
'to' : '["'+from+'"]'
}
if(parentRecord.length) {
params['selected_ids'] = parentRecord;
} else {
params['selected_ids'] = "[]";
}
if(mailIds) {
self.openComposeEmailForm("replyall", params, {'subject' : replySubject, 'body' : replyBody, 'ids' : mailIds});
} else {
self.openComposeEmailForm("reply", params, {'subject' : replySubject, 'body' : replyBody});
}
},
showRelatedActions : function() {
var self = this;
var container = self.getContainer();
var from = container.find('#mmFrom').val();
var to = container.find('#mmTo').val();
var folder = container.find('#mmFolder').val();
var msgNo = container.find('#mmMsgNo').val();
var msgUid = container.find('#mmMsgUid').val();
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'relation',
'_operationarg' : 'find',
'_mfrom' : from,
'_mto' : to,
'_folder' : folder,
'_msgno' : msgNo,
'_msguid' : msgUid
};
app.request.post({data : params}).then(function(err, data) {
container.find('#relationBlock').html(data.ui);
self.handleRelationActions();
app.helper.showVerticalScroll(container.find('#relationBlock .recordScroll'), {autoHideScrollbar: true});
var iframeHeight = jQuery('#mails_container').height() - (200 + jQuery('#mailManagerActions').height());
var contentHeight = jQuery('#bodyFrame').contents().find('html').height();
if (contentHeight > iframeHeight) {
jQuery('#bodyFrame').css({'height': iframeHeight});
} else {
jQuery('#bodyFrame').css({'height': contentHeight});
}
});
},
openDraftFolder : function(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' : 'drafts',
'_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-5');
container.find('#mails_container').addClass('col-lg-12');
container.find('#mails_container').html(responseData);
container.find('#mailPreviewContainer').addClass('hide');
app.helper.hideProgress();
self.registerMoveMailDropdownClickEvent();
self.registerMailCheckBoxClickEvent();
self.registerScrollForMailList();
self.registerMainCheckboxClickEvent();
self.registerDraftPrevPageClickEvent();
self.registerDraftNextPageClickEvent();
self.registerDraftMailClickEvent();
self.registerDraftSearchEvent();
self.registerDraftDeleteEvent();
self.clearPreviewContainer();
});
},
registerDraftPrevPageClickEvent : function() {
var self = this;
var container = self.getContainer();
container.find('#PreviousPageButton').click(function(e) {
var element = jQuery(e.currentTarget);
var page = element.data('page');
self.openDraftFolder(page);
});
},
registerDraftNextPageClickEvent : function() {
var self = this;
var container = self.getContainer();
container.find('#NextPageButton').click(function(e) {
var element = jQuery(e.currentTarget);
var page = element.data('page');
self.openDraftFolder(page);
});
},
registerDraftMailClickEvent : function() {
var self = this;
var container = self.getContainer();
container.find('.draftEmail').click(function(e) {
e.preventDefault();
var element = jQuery(e.currentTarget);
var msgNo = element.find('.msgNo').val();
var params = {
'module' : 'Emails',
'view' : 'ComposeEmail',
'mode' : 'emailEdit',
'record' : msgNo
};
app.helper.showProgress(app.vtranslate("JSLBL_Opening")+"...");
app.request.post({data : params}).then(function(err,data) {
app.helper.hideProgress();
if(err === null) {
var dataObj = jQuery(data);
var descriptionContent = dataObj.find('#iframeDescription').val();
app.helper.showModal(data, {cb:function() {
var editInstance = new Emails_MassEdit_Js();
editInstance.registerEvents();
jQuery('#emailPreviewIframe').contents().find('html').html(descriptionContent);
jQuery("#emailPreviewIframe").height(jQuery('.email-body-preview').height());
}});
}
});
});
},
registerDraftSearchEvent : 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 type = container.find('#searchType').val();
self.openDraftFolder(0, query, type);
});
},
registerDraftDeleteEvent : function() {
var self = this;
var container = self.getContainer();
container.find('#mmDeleteMail').click(function() {
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' : '__vt_drafts',
'_msgno' : msgNos.join(',')
};
app.request.post({data : params}).then(function(err,data) {
app.helper.hideProgress();
if(data.status) {
self.openDraftFolder();
app.helper.showSuccessNotification({'message': app.vtranslate('JSLBL_MAILS_DELETED')});
}
});
});
}
});
},
updateUnreadCount : function(count, folder) {
var self = this;
var container = self.getContainer();
if(!folder) {
folder = container.find('.mm_folder.active').data('foldername');
}
var newCount;
if(typeof count == "number") {
newCount = parseInt(count);
} else {
var oldCount = parseInt(container.find('.mm_folder[data-foldername="'+folder+'"]').find('.mmUnreadCountBadge').text());
if(count.substr(0, 1) == "+") {
newCount = oldCount + (parseInt(count.substr(1, (count.length - 1))));
} else if(count.substr(0, 1) == "-") {
newCount = oldCount - (parseInt(count.substr(1, (count.length - 1))));
} else {
newCount = parseInt(count);
}
}
container.find('.mm_folder[data-foldername="'+folder+'"]').find('.mmUnreadCountBadge').text(newCount);
if(newCount > 0) {
container.find('.mm_folder[data-foldername="'+folder+'"]').find('.mmUnreadCountBadge').removeClass("hide");
} else {
container.find('.mm_folder[data-foldername="'+folder+'"]').find('.mmUnreadCountBadge').addClass("hide");
}
},
handleRelationActions : function() {
var self = this;
var container = self.getContainer();
container.find('#_mlinktotype').on('change', function(e) {
var element = jQuery(e.currentTarget);
var actionType = element.data('action');
var module = element.val();
var relatedRecord = self.getRecordForRelation();
if(relatedRecord !== false) {
if(actionType == "associate") {
if(module == 'Emails') {
self.associateEmail(relatedRecord);
} else if(module == "ModComments") {
self.associateComment(relatedRecord);
} else if(module) {
self.createRelatedRecord(module);
}
} else if(module) {
self.createRelatedRecord(module);
}
}
self.resetRelationDropdown();
});
},
associateEmail : function(relatedRecord) {
var self = this;
var container = self.getContainer();
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'relation',
'_operationarg' : 'link',
'_mlinkto' : relatedRecord,
'_mlinktotype' : 'Emails',
'_folder' : container.find('#mmFolder').val(),
'_msgno' : container.find('#mmMsgNo').val()
}
app.helper.showProgress(app.vtranslate('JSLBL_Associating')+'...');
app.request.post({data : params}).then(function(err,data) {
if (err === null) {
app.helper.showSuccessNotification({'message':''});
app.helper.hideProgress();
} else {
app.helper.showErrorNotification({"message": err});
}
});
},
associateComment : function(relatedRecord) {
var self = this;
var container = self.getContainer();
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'relation',
'_operationarg' : 'commentwidget',
'_mlinkto' : relatedRecord,
'_mlinktotype' : 'ModComments',
'_folder' : container.find('#mmFolder').val(),
'_msgno' : container.find('#mmMsgNo').val()
}
app.helper.showProgress(app.vtranslate('JSLBL_Loading')+'...');
app.request.post({data : params}).then(function(err, data) {
app.helper.hideProgress();
app.helper.showModal(data, {'cb' : function(data) {
jQuery('[name="saveButton"]', data).on('click',function(e){
e.preventDefault();
self.saveComment(data);
});
}});
});
},
createRelatedRecord : function(module) {
var self = this;
var container = self.getContainer();
var relatedRecord = self.getRecordForRelation();
var msgNo = container.find('#mmMsgNo').val();
var folder = container.find('#mmFolder').val();
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'relation',
'_operationarg' : 'create_wizard',
'_mlinktotype' : module,
'_folder' : folder,
'_msgno' : msgNo
};
if(relatedRecord && relatedRecord !== null) {
params['_mlinkto'] = relatedRecord;
}
app.helper.showProgress(app.vtranslate('JSLBL_Loading')+'...');
app.request.post({data : params}).then(function(err, data) {
app.helper.hideProgress();
app.helper.showModal(data);
var form = jQuery('form[name="QuickCreate"]');
app.event.trigger('post.QuickCreateForm.show',form);
vtUtils.applyFieldElementsView(form);
var moduleName = form.find('[name="module"]').val();
var targetClass = app.getModuleSpecificViewClass('Edit', moduleName);
var targetInstance = new window[targetClass]();
targetInstance.registerBasicEvents(form);
var newParams = {};
newParams.callbackFunction = function() {
app.helper.hideModal();
self.showRelatedActions();
};
newParams.requestParams = params;
self.quickCreateSave(form, newParams);
app.helper.hideProgress();
});
},
/**
* Register Quick Create Save Event
* @param {type} form
* @returns {undefined}
*/
quickCreateSave : function(form,invokeParams){
var container = this.getContainer();
var params = {
submitHandler: function(form) {
// to Prevent submit if already submitted
jQuery("button[name='saveButton']").attr("disabled","disabled");
if(this.numberOfInvalids() > 0) {
return false;
}
var formData = jQuery(form).serialize();
var requestParams = invokeParams.requestParams;
// replacing default parameters for custom handlings in mail manager
formData = formData.replace('module=', 'xmodule=').replace('action=', 'xaction=');
if(requestParams) {
requestParams['_operationarg'] = 'create';
if(requestParams['_mlinktotype'] == 'Events') {
requestParams['_mlinktotype'] = 'Calendar';
}
jQuery.each(requestParams, function(key, value){
formData += "&"+key+"="+value;
});
}
app.request.post({data:formData}).then(function(err,data){
if(err === null) {
if (!data.error) {
jQuery('.vt-notification').remove();
app.event.trigger("post.QuickCreateForm.save",data,jQuery(form).serializeFormData());
app.helper.hideModal();
app.helper.showSuccessNotification({"message":app.vtranslate('JS_RECORD_CREATED')});
invokeParams.callbackFunction(data, err);
} else {
jQuery("button[name='saveButton']").removeAttr('disabled');
app.event.trigger('post.save.failed', data);
}
}else{
app.event.trigger("post.QuickCreateForm.save",data,jQuery(form).serializeFormData());
app.helper.showErrorNotification({"message":err});
}
});
}
};
form.vtValidate(params);
},
saveComment : function(data) {
var _mlinkto = jQuery('[name="_mlinkto"]', data).val();
var _mlinktotype = jQuery('[name="_mlinktotype"]', data).val();
var _msgno = jQuery('[name="_msgno"]', data).val();
var _folder = jQuery('[name="_folder"]', data).val();
var commentcontent = jQuery('[name="commentcontent"]', data).val();
if(commentcontent.trim() == "") {
var validationParams = {
position: {
'my' : 'bottom left',
'at' : 'top left',
'container' : jQuery('#commentContainer', data)
}
};
var errorMsg = app.vtranslate('JSLBL_CANNOT_ADD_EMPTY_COMMENT');
vtUtils.showValidationMessage(jQuery('[name="commentcontent"]', data), errorMsg, validationParams);
return false;
} else {
vtUtils.hideValidationMessage(jQuery('[name="commentcontent"]', data));
}
var params = {
'module' : 'MailManager',
'view' : 'Index',
'_operation' : 'relation',
'_operationarg' : 'create',
'commentcontent' : commentcontent,
'_mlinkto' : _mlinkto,
'_mlinktotype' : _mlinktotype,
'_msgno' : _msgno,
'_folder' : _folder
}
app.helper.showProgress(app.vtranslate('JSLBL_Saving')+'...');
app.request.post({'data' : params}).then(function(err, response) {
app.helper.hideProgress();
if(response.ui) {
app.helper.showSuccessNotification({'message':''});
app.helper.hideModal();
} else {
app.helper.showAlertBox({'message' : app.vtranslate("JSLBL_FAILED_ADDING_COMMENT")});
}
});
},
getRecordForRelation : function() {
var self = this;
var container = self.getContainer();
var element = container.find('[name="_mlinkto"]');
if(element.length > 0) {
if(element.length == 1) {
element.attr('checked', true);
return element.val();
} else {
selected = false;
element.each(function(i, ele) {
if(jQuery(ele).is(":checked")) {
selected = true;
}
});
if(selected) {
return container.find('[name="_mlinkto"]:checked').val();
} else {
app.helper.showAlertBox({'message' : app.vtranslate("JSLBL_PLEASE_SELECT_ATLEAST_ONE_RECORD")});
return false;
}
}
} else {
return null;
}
},
resetRelationDropdown : function() {
this.getContainer().find('#_mlinktotype').val("");
},
openComposeEmailForm : function(type, params, data) {
Vtiger_Index_Js.showComposeEmailPopup(params, function(response) {
var descEle = jQuery(response).find('#description');
if(type == "reply" || type == "forward") {
jQuery('#subject', response).val(data.subject);
descEle.val(data.body);
jQuery('[name="cc"]', response).val("");
jQuery('.ccContainer', response).addClass("hide");
jQuery('#ccLink', response).css("display", "");
} else if(type == "replyall") {
jQuery('#subject', response).val(data.subject);
descEle.val(data.body);
var mailIds = data.ids;
if(mailIds) {
jQuery('.ccContainer', response).removeClass("hide");
jQuery('#ccLink', response).css("display", "none");
jQuery('[name="cc"]', response).val(mailIds);
}
} else {
jQuery('#subject', response).val("");
descEle.val("");
jQuery('[name="cc"]', response).val("");
jQuery('.ccContainer', response).addClass("hide");
jQuery('#ccLink', response).css("display", "");
}
});
},
clearPreviewContainer : function() {
var previewHtml = '<div class="mmListMainContainer">\n\
<center><strong>'+app.vtranslate('JSLBL_NO_MAIL_SELECTED_DESC')+'</center></strong></div>';
this.getContainer().find('#mailPreviewContainer').html(previewHtml);
},
registerRefreshFolder : function() {
var self = this;
var container = self.getContainer();
container.find('.mailbox_refresh').click(function() {
var folder = container.find('.mm_folder.active').data('foldername');
if(folder == 'vt_drafts') {
self.openDraftFolder();
} else {
self.openFolder(folder);
}
});
},
registerSearchTypeChangeEvent : function() {
var container = this.getContainer();
container.on('change', '#searchType', function(e){
var element = jQuery(e.currentTarget);
var searchBox = jQuery('#mailManagerSearchbox');
if(element.val() == 'ON'){
searchBox.addClass('dateField');
searchBox.parent().append('<span class="date-addon input-group-addon"><i class="fa fa-calendar"></i></span>');
vtUtils.registerEventForDateFields(searchBox);
} else {
searchBox.datepicker('remove');
searchBox.removeClass('dateField');
searchBox.parent().find('.date-addon').remove();
}
});
},
registerPostMailSentEvent: function () {
app.event.on('post.mail.sent', function (event, data) {
var resultEle = jQuery(data);
var success = resultEle.find('.mailSentSuccessfully');
if (success.length > 0) {
app.helper.showModal(data);
}
});
},
registerEvents : function() {
var self = this;
self.loadFolders();
self.registerComposeEmail();
self.registerSettingsEdit();
self.registerInitialLayout();
self.registerRefreshFolder();
self.registerSearchTypeChangeEvent();
self.registerPostMailSentEvent();
}
});