⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajax.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
📖 第 1 页 / 共 4 页
字号:
		SUGAR.email2.addFileDialog.hide();		// focus attachments		SUGAR.email2.composeLayout.showAttachmentPanel(idx);	}};///////////////////////////////////////////////////////////////////////////////	PER MODULE CALLBACK OBJECTSAjaxObject.accounts = {	saveOutboundCleanup : function(o) {		var ret = JSON.parse(o.responseText);		SUGAR.mailers = ret.mailers;		SUGAR.email2.accounts.rebuildMailerOptions();		SUGAR.email2.accounts.outboundDialog.hide();		/*// clear out form		var form = document.getElementById('outboundEmailForm');		for(i=0; i<form.elements.length; i++) {			if(form.elements[i].name == 'mail_smtpport') {				form.elements[i].value = 25;			} else if(form.elements[i].type != 'button') {				form.elements[i].value = '';			} else if(form.elements[i].type == 'checkbox') {				form.elements[i].checked = false;			}		}*/		// preselect new SMTP server		var sel = document.forms['ieAccount'].elements['outbound_email'];		for(i=0; i<sel.options.length; i++) {			if(sel.options[i].value == ret.newId) {				sel.options[i].selected = true;				return;			}		}	},	callbackEditOutbound : {		success	: function(o) {			var ret = JSON.parse(o.responseText);			// show overlay			SUGAR.email2.accounts.showAddSmtp();			// fill values			document.getElementById("mail_id").value = ret.id;			document.getElementById("mail_sendtype").value = ret.mail_sendtype;			document.getElementById("mail_name").value = ret.name;			document.getElementById("mail_smtpserver").value = ret.mail_smtpserver;			document.getElementById("mail_smtpport").value = ret.mail_smtpport;			document.getElementById("mail_smtpuser").value = ret.mail_smtpuser;			document.getElementById("mail_smtppass").value = ret.mail_smtppass;			document.getElementById("mail_smtpauth_req").checked = (ret.mail_smtpauth_req == 1) ? true : false;			document.getElementById("mail_smtpssl").checked = (ret.mail_smtpssl == 1) ? true : false;		},		failure	: AjaxObject.handleFailure,		timeout	: AjaxObject.timeout,		scope	: AjaxObject	},		callbackCheckMailProgress : {	   success : function(o) {	       if (typeof(SUGAR.email2.accounts.totalMsgCount) == "undefined") {	           SUGAR.email2.accounts.totalMsgCount = -1;	       }	       	       //Check for server timeout / errors	       var ret = JSON.parse(o.responseText);	       var done = false;		   	       if (typeof(o.responseText) == 'undefined' || o.responseText == "" || ret == false) {	           hideOverlay();	           overlay(app_strings.LBL_EMAIL_ERROR_DESC, app_strings.LBL_EMAIL_ERROR_TIMEOUT, 'alert');	           SUGAR.email2.accounts.totalMsgCount = -1;               //SUGAR.email2.folders.rebuildFolders();               done = true;	       } 	       	       var currIeId = ret['ieid'];	       	      	       var serverCount = ret.count;	       	       if (ret['status'] == 'done') {	           for(i=0; i < SUGAR.email2.accounts.ieIds.length; i++) {	               if (i == SUGAR.email2.accounts.ieIds.length - 1) {	                   //We are all done	                   done = true;	                   break;	               } else if (SUGAR.email2.accounts.ieIds[i] == currIeId) {	                   //Go to next account	                   currIeId = SUGAR.email2.accounts.ieIds[i+1];	                   ret.count = 0;	                   SUGAR.email2.accounts.totalMsgCount = -1;	                   break;	               }	           }	       } 	       else if (ret.mbox && ret.totalcount && ret.count) {	           SUGAR.email2.accounts.totalMsgCount = ret.totalcount;	           if (ret.count >= ret.totalcount) {	               serverCount = 0;	           }	       } else if (SUGAR.email2.accounts.totalMsgCount < 0 && ret.totalcount) {	           SUGAR.email2.accounts.totalMsgCount = ret.totalcount;	       } else {		       hideOverlay();               overlay(app_strings.LBL_EMAIL_ERROR_DESC, app_strings.LBL_EMAIL_ERROR_TIMEOUT, 'alert');               SUGAR.email2.accounts.totalMsgCount = -1;               done = true;		   }	       	       if (done) {	           SUGAR.email2.accounts.totalMsgCount = -1;	           hideOverlay();	           SUGAR.email2.folders.rebuildFolders();	           SUGAR.email2.grid.getDataSource().reload();	       } else if (SUGAR.email2.accounts.totalMsgCount < 0) {               Ext.MessageBox.updateProgress(0, "Checking Account " + (i + 2) + " of " + SUGAR.email2.accounts.ieIds.length);               AjaxObject.startRequest(AjaxObject.accounts.callbackCheckMailProgress, urlStandard +                                 '&emailUIAction=checkEmailProgress&ieId=' + currIeId + "&currentCount=0&synch=" + ret.synch);           } else {	           Ext.MessageBox.updateProgress(ret.count / SUGAR.email2.accounts.totalMsgCount, 	               "Downloaded " + ret.count + " of " + SUGAR.email2.accounts.totalMsgCount +  " emails");	           AjaxObject.startRequest(AjaxObject.accounts.callbackCheckMailProgress, urlStandard +                    '&emailUIAction=checkEmailProgress&ieId=' + currIeId + "&currentCount=" + serverCount +                    '&mbox=' + ret.mbox + '&synch=' + ret.synch);	       }	   },	   failure : AjaxObject.handleFailure,       timeout : AjaxObject.timeout,       scope   : AjaxObject	}};AjaxObject.addressBook = {	/**	 * displays search results for a user querying on what contacts, users, leads, prospects they have access to	 */	displaySearchResults : function(o) {		// prep header		var header = {			tag : 'table',			id : 'peopleTable',			cellpadding : 0,			cellspacing : 0,			border : 0,			width : "100%",			cls : 'tabForm'		};		if(document.getElementById("peopleTable")) {			//SUGAR.email2.util.removeElementRecursive(document.getElementById("peopleTable"));			document.getElementById("peopleTable").innerHTML = "";		} else {		  Ext.DomHelper.append("contactsDialogueHTML", header);		}		Ext.DomHelper.append("peopleTable", {			tag : 'tr',			id : 'peopleTableHeaderRow'		});		Ext.DomHelper.append('peopleTableHeaderRow', {			tag : 'td',			width : "1%",			cls : 'dataLabel',			html : "&nbsp;"		});		Ext.DomHelper.append('peopleTableHeaderRow', {			tag : 'td',			width : "30%",			cls : 'dataLabel',			html : app_strings.LBL_EMAIL_ADDRESS_BOOK_NAME		});		Ext.DomHelper.append('peopleTableHeaderRow', {			tag : 'td',			width : "39%",			cls : 'dataLabel',			html : app_strings.LBL_EMAIL_ADDRESS_BOOK_EMAIL_ADDR		});		Ext.DomHelper.append('peopleTableHeaderRow', {			tag : 'td',			width : "30%",			cls : 'dataLabel'		});		var ret = JSON.parse(o.responseText);		for(var i in ret) {            if (i > -1) {			    SUGAR.email2.addressBook.displaySearchResultRow(i, ret[i]);            }		}		// cn: bug 13912 - IE's dom is fubar.  fix with IE-hack		if(SUGAR.email2.util.isIe()) {			document.getElementById('contactsDialogueHTML').innerHTML = document.getElementById('contactsDialogueHTML').innerHTML;		}	},	/**	 * Retrieves Contacts (assigned and hand-selected) for the current user	 */	getUserContacts : function(o) {		var ret = JSON.parse(o.responseText);		SUGAR.email2.addressBook._contactCache = ret;		SUGAR.email2.addressBook.buildContactList(ret);		if(SUGAR.email2.addressBook.editContactDialog && SUGAR.email2.addressBook.editContactDialog.isVisible()) {			SUGAR.email2.addressBook.editContactDialog.hide();		}	},	/**	 * sets the edit contact mini-form in HTML	 */	setEditContactForm : function(o) {		var ret = JSON.parse(o.responseText);		var layout = SUGAR.email2.addressBook.editContactDialog.getLayout();		var panel = new Ext.ContentPanel('editContactTab', {title: ret.contactName});		//Prepare global variables to be read by the edit form        module='Contacts';        panel.setContent(ret.form);		SUGAR.email2.addressBook.editContactDialog.beginUpdate();		SUGAR.email2.addressBook.editContactDialog.setTitle(app_strings.LBL_EMAIL_EDIT_CONTACT);		layout.add('center', panel);		prefillEmailAddresses(ret.prefillData);		SUGAR.email2.addressBook.editContactDialog.endUpdate();		SUGAR.email2.addressBook.editContactDialog.show();		SUGAR.email2.addressBook.editContactDialog.resizeTo(600, 400);	}};/** * AddressBook callbacks */AjaxObject.addressBook.callback = {	editContact : {		success	: AjaxObject.addressBook.setEditContactForm,		failure	: AjaxObject.handleFailure,		timeout	: AjaxObject.timeout,		scope	: AjaxObject	},	search : {		success	: AjaxObject.addressBook.displaySearchResults,		failure	: AjaxObject.handleFailure,		timeout	: AjaxObject.timeout,		scope	: AjaxObject	}};///////////////////////////////////////////////////////////////////////////////////	COMPOSE LAYOUTAjaxObject.composeLayout = {	/**	 * Populates the record id	 */	saveDraftCleanup : function(o) {		hideOverlay();		var ret = JSON.parse(o.responseText);		SUGAR.email2.composeLayout.forceCloseCompose(ret.composeLayoutId);	}};AjaxObject.composeLayout.callback = {	saveDraft : {		success	: AjaxObject.composeLayout.saveDraftCleanup,		failure	: AjaxObject.handleFailure,		timeout	: AjaxObject.timeout,		scope	: AjaxObject	}};AjaxObject.detailView = {	/**	 * Pops-up a printable view of an email	 */	displayPrintable : function(o) {		var ret = JSON.parse(o.responseText);		var displayTemplate = new Ext.DomHelper.Template(SUGAR.email2.templates['viewPrintable']);		// 2 below must be in global context		meta = ret.meta;		meta['panelId'] = SUGAR.email2.util.getPanelId();		email = ret.meta.email;		if (typeof(email.cc) == 'undefined') {		  email.cc = "";		}		var out = displayTemplate.applyTemplate({			'app_strings'	: app_strings,			'theme'			: theme,			'idx'			: 'Preview',			'meta'			: meta,			'email'			: meta.email		});		// open popup window		var popup = window.open('modules/Emails/templates/_blank.html', 'printwin' , 		    'scrollbars=yes,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');		popup.document.write(out);		popup.document.close();	},	/**	 * Takes formatted response and creates a modal pop-over containing a title and content	 */	displayView : function(o) {		var ret = JSON.parse(o.responseText);		if(!SUGAR.email2.detailView.viewDialog) {			SUGAR.email2.detailView.viewDialog = new Ext.LayoutDialog("viewDialog", {				iframe : true,				modal	: true,				width	: 800,				height	: 450,				shadow	: true,				minWidth: 300,				minHeight: 300,				center: {					autoScroll:true,					closeOnTab: false,					alwaysShowTabs: false				}			});		} // end lazy load		SUGAR.email2.detailView.viewDialog.setTitle(ret.title);		var view = new Ext.ContentPanel('viewDialogContent', {			title : ret.title,			width : "100%",			height : "100%"		});		view.setContent(ret.html);		SUGAR.email2.detailView.viewDialog.beginUpdate();		SUGAR.email2.detailView.viewDialog.getLayout().add('center', view);		SUGAR.email2.detailView.viewDialog.show();		SUGAR.email2.detailView.viewDialog.endUpdate();		SUGAR.email2.detailView.viewDialog.resizeTo(800, 450);	},	/**	 * Generates a modal popup to populate with the contents of bean's full EditView	 */	showQuickCreateForm : function(o) {		var ret = JSON.parse(o.responseText);		if(!SUGAR.email2.detailView.quickCreateDialog) {			SUGAR.email2.detailView.quickCreateDialog = new Ext.LayoutDialog("quickCreate", {				iframe : true,				modal	: true,				width	: 800,				height	: 450,				shadow	: true,				minWidth: 300,				minHeight: 300,				title   : app_strings.LBL_EMAIL_QUICK_CREATE,				center: {					autoScroll:true,					closeOnTab: false,					alwaysShowTabs: false				}			});		} // end lazy load		var qcEditView = new Ext.ContentPanel('quickCreateContent', {			title : app_strings.LBL_EMAIL_QUICK_CREATE,			width : "100%",			height : "100%"		});		qcEditView.setContent(ret.html);/*		var editForm = document.getElementById('form_EmailQCView_' + ret.module);		editForm.id = 'EditView';		editForm.name = 'EditView';*/		SUGAR.util.evalScript(ret.html);				SUGAR.email2.detailView.quickCreateDialog.ieId = ret.ieId;		SUGAR.email2.detailView.quickCreateDialog.uid = ret.uid;        SUGAR.email2.detailView.quickCreateDialog.mbox = ret.mbox;        SUGAR.email2.detailView.quickCreateDialog.qcmodule = ret.module;		SUGAR.email2.detailView.quickCreateDialog.beginUpdate();		SUGAR.email2.detailView.quickCreateDialog.getLayout().add('center', qcEditView);		SUGAR.email2.detailView.quickCreateDialog.show();		SUGAR.email2.detailView.quickCreateDialog.endUpdate();		SUGAR.email2.detailView.quickCreateDialog.resizeTo(800, 450);		var editForm = document.getElementById('form_EmailQCView_' + ret.module);		if (editForm) {		  editForm.module.value = 'Emails';		  prefillEmailAddresses(ret.emailAddress);		}	},	saveQuickCreateForm : function(o) {	    hideOverlay();		SUGAR.email2.detailView.quickCreateDialog.hide();		validate['EditView'] = [ ];	},	saveQuickCreateFormAndReply : function(o) {	    hideOverlay();	    var ret = JSON.parse(o.responseText);        SUGAR.email2.detailView.quickCreateDialog.hide();        var qcd = SUGAR.email2.detailView.quickCreateDialog;        var type = (qcd.qcmodule == 'Cases') ? 'replyCase' : 'reply';        if (ret) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -