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

📄 prototypeoverloads.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
};    //This Class recognizes what elements in     //the contacts view are drag dropable and whenExt.extend(ContactsDragZone, Ext.dd.DragZone, {    setContacts : function(contactArray) {        this.contacts = contactArray;    },    addContact : function(contactObject) {        this.contacts.push(contactObject);    },    getContact : function(index) {        return this.contacts[index];    },    getContactFromEmail : function(emailId) {        for(i in this.contacts) {            var contact = this.contacts[i];            for(j in contact.email) {                if (contact.email[j].id && contact.email[j].id == emailId) {                    return contact;                }            }        }        return null;    },    getPrimaryEmail : function(contactId) {        var contact = this.contacts[contactId];        for(j in contact.email) {            if (contact.email[j].id && contact.email[j].primary_address == "1") {                return contact.email[j];            }        }        return null;    },    toggleContact : function(view, index, node, e) {        e = Ext.EventObject.setEvent(e);        e.preventDefault();        if (node.className.indexOf('address-contact') > -1) {            var expNode = view.getNode('ex' + node.id);            expNode.style.display = "";            var contact = view.dragz.getContact(node.id);            for(i in contact.email) {                if (contact.email[i].id) {                    view.getNode(contact.email[i].id).style.display = "";                }            }            var i = 0;            node.style.display="none";            view.clearSelections(true);            view.select(expNode);        }        //Collapse Expanded Contact        else if (node.className.indexOf('address-exp-contact') > -1) {            var origId = node.id.substring(2);            var colNode = view.getNode(origId);            colNode.style.display = "";            var contact = view.dragz.getContact(origId);            for(i in contact.email) {                if (contact.email[i].id) {                    view.getNode(contact.email[i].id).style.display = "none";                }            }            node.style.display="none";            view.clearSelections(true);            view.select(colNode);        }    },    toggleList : function(view, index, node, e) {        e = Ext.EventObject.setEvent(e);        e.preventDefault();        if (node.className.indexOf('address-list') > -1) {            var length = node.getAttribute('size');            if (length > 0) {                var emails = view.getNodes(index + 1, index + parseInt(length));                for(var i=0; i < emails.length; i++) {                    if (emails[i]) {                        emails[i].style.display = (emails[i].style.display == 'none') ? '' : 'none';                    }                }            }        }        view.clearSelections(true);        view.select(node);    },    //initizlized Drag-Drop objects and proxies.     getDragData : function(e){        e = Ext.EventObject.setEvent(e);        e.preventDefault();        var target = e.getTarget('.address-contact') || e.getTarget('.address-email');        if(target){            var view = this.view;            if(!view.isSelected(target)){                view.select(target, e.ctrlKey);            }            var selNodes = view.getSelectedNodes();            var dragData = { }            if(selNodes.length == 1){                dragData.nodes = target;                var proxy = document.createElement('div');                if (target.className.indexOf('address-contact') != -1) {                    var email = view.getNode(view.dragz.getPrimaryEmail(target.id).id);                    proxy.innerHTML =  target.innerHTML + email.innerHTML;                } else {                    var id = view.dragz.getContactFromEmail(target.id).id;                    proxy.innerHTML = view.getNode(id).innerHTML + target.innerHTML;                }                dragData.ddel = proxy;                dragData.single = true;                            }else{                dragData.nodes = [];                var div = document.createElement('div'); // create the multi element drag "ghost"                div.className = 'contacts-multi-proxy';                for(var i = 0, len = selNodes.length; i < len; i++){                    if (selNodes[i].className.indexOf('address-exp-contact') < 0 && selNodes[i].style.display != "none") {                        //Append the default email to a contact drag proxy                        var proxy = document.createElement('div');                        if (selNodes[i].className.indexOf('address-contact') != -1) {                            var email = view.getNode(view.dragz.getPrimaryEmail(selNodes[i].id).id);                            proxy.innerHTML =  selNodes[i].innerHTML + email.innerHTML;                        } else {                            var id = view.dragz.getContactFromEmail(selNodes[i].id).id;                            proxy.innerHTML = view.getNode(id).innerHTML + selNodes[i].innerHTML;                        }                        div.appendChild(proxy);                        dragData.nodes.push(selNodes[i]);                    }                }                dragData.ddel = div;                dragData.multi = true;            }            return dragData;        }        var target = e.getTarget('.address-list');        if (target) {            var view = this.view;            if(!view.isSelected(target)){                view.select(target, e.ctrlKey);            }            var selNodes = view.getSelectedNodes();            var dragData = { }            if(selNodes.length == 1){                dragData.nodes = target;                dragData.ddel = target;                dragData.single = true;            }            else {                dragData.nodes = [];                var div = document.createElement('div'); // create the multi element drag "ghost"                div.className = 'contacts-multi-proxy';                for(var i = 0, len = selNodes.length; i < len; i++){                    if (selNodes[i].className.indexOf('address-list') > -1) {                        //Append the default email to a contact drag proxy                        var proxy = document.createElement('div');                        proxy.innerHTML = selNodes[i].innerHTML;                        div.appendChild(proxy);                        dragData.nodes.push(selNodes[i]);                    }                }                dragData.ddel = div;                dragData.multi = true;            }            return dragData;        }        return false;    }});ListDropZone = function(view, config){    this.view = view;    ListDropZone.superclass.constructor.call(this, view.el, config);};    //This Class handels contacts dropped onto Mailing ListsExt.extend(ListDropZone, Ext.dd.DropZone, {    getTargetFromEvent : function(e){        e = Ext.EventObject.setEvent(e);        //e.preventDefault();        var target = e.getTarget('.address-list');        if(target){            var view = this.view;            if(!view.isSelected(target)){                view.select(target, e.ctrlKey);            }            return target;        }        return null;    },    onNodeOver : function(node, source, e, data ) {        if (source.id == 'contacts') {            return "x-dd-drop-ok-add";        } else {            return this.dropNotAllowed;        }    },    onNodeDrop : function(node, source, e, data) {        if (source.id == 'contacts') {            SUGAR.email2.addressBook.addContactsToMailinglist(node, data);        }    }});/** * Workaround for sliding panel noted here: http://extjs.com/forum/showthread.php?t=11899 */Ext.override(Ext.SplitLayoutRegion, {    initAutoHide: function(){        if (this.autoHide !== false) {            if (!this.autoHideHd) {                var st = new Ext.util.DelayedTask(this.slideIn, this);                this.autoHideHd = {                    "mouseout": function(e){                        if (!e.within(this.el, true)) {                            var box = this.el.getBox();                            if (e.getPageX() > -1 && e.getPageY() > -1 &&							   (e.getPageX() < box.x || e.getPageX() > box.right ||                                e.getPageY() < box.y || e.getPageY() > box.bottom)) {                                st.delay(500);                            }                        }                    },                    "mouseover": function(e){                        st.cancel();                    },                    scope: this                };            }            this.el.on(this.autoHideHd);        }    }}); /* * override tinyMCE methods for IE7 (specific to SugarCRM, since the normal code works fine in their examples) */ tinyMCE.loadScript = function(url) {	var i;	for (i=0; i<this.loadedFiles.length; i++) {		if (this.loadedFiles[i] == url)			return;	}	if (tinyMCE.settings.strict_loading_mode) {		this.pendingFiles[this.pendingFiles.length] = url;	} else if(this.isIE) {		/*		 * SUGARCRM - added this else if() clause		 */		var script = document.createElement('script');		script.type = 'text/javascript';		script.src = url;		document.getElementsByTagName('head')[0].appendChild(script); 	} else {		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');	}	this.loadedFiles[this.loadedFiles.length] = url;}	tinyMCE.loadCSS = function(url) {	var ar = url.replace(/\s+/, '').split(',');	var lflen = 0, csslen = 0;	var skip = false;	var x = 0, i = 0, nl, le;	for (x = 0,csslen = ar.length; x<csslen; x++) {		if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {			/* Make sure it doesn't exist. */			for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {				if (this.loadedFiles[i] == ar[x]) {					skip = true;					break;				}			}			if (!skip) {				/*				 * SUGARCRM - added "this.isIE || ..."				 */				if (this.isIE || tinyMCE.settings.strict_loading_mode) {					nl = document.getElementsByTagName("head");					le = document.createElement('link');					le.setAttribute('href', ar[x]);					le.setAttribute('rel', 'stylesheet');					le.setAttribute('type', 'text/css');					nl[0].appendChild(le);							} else					document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');				this.loadedFiles[this.loadedFiles.length] = ar[x];			}		}	}		}

⌨️ 快捷键说明

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