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

📄 ygddliststudio.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
字号:
/** * SugarCRM is a customer relationship management program developed by * SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc. *  * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. *  * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more * details. *  * You should have received a copy of the GNU General Public License along with * this program; if not, see http://www.gnu.org/licenses or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. *  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. *  * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. *  * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". *//* Copyright (c) 2006 Yahoo! Inc. All rights reserved. *//** * @class a YAHOO.util.DDProxy implementation. During the drag over event, the * dragged element is inserted before the dragged-over element. * * @extends YAHOO.util.DDProxy * @constructor * @param {String} id the id of the linked element * @param {String} sGroup the group of related DragDrop objects */var addListStudioCount = 0;var moduleTabs = [];function ygDDListStudio(id, sGroup, fromOnly) {	if (id) {			if(id == 'trashcan' || id.indexOf('noselect') ==0){			this.initTarget(id, sGroup);		}else{			this.init(id, sGroup);		}		this.initFrame();		this.logger = new ygLogger("ygDDList");		this.fromOnly = fromOnly;	}	var s = this.getDragEl().style;	s.borderColor = "transparent";	s.backgroundColor = "#f6f5e5";	s.opacity = 0.76;	s.filter = "alpha(opacity=76)";}ygDDListStudio.prototype = new YAHOO.util.DDProxy();ygDDListStudio.prototype.clickContent = '';ygDDListStudio.prototype.clickBorder = '';ygDDListStudio.prototype.clickHeight = '';ygDDListStudio.prototype.lastNode = false;ygDDListStudio.prototype.startDragygDDListStudio.prototype.startDrag = function(x, y) {	var dragEl = this.getDragEl();	var clickEl = this.getEl();   this.parentID = clickEl.parentNode.id;	dragEl.innerHTML = clickEl.innerHTML;	dragElObjects = dragEl.getElementsByTagName('object');		dragEl.className = clickEl.className;	dragEl.style.color = clickEl.style.color;	dragEl.style.border = "1px solid #aaa";	// save the style of the object 	this.clickContent = clickEl.innerHTML;	this.clickBorder = clickEl.style.border;	this.clickHeight = clickEl.style.height;		clickElRegion = YAHOO.util.Dom.getRegion(clickEl);	clickEl.style.height = (clickElRegion.bottom - clickElRegion.top) + 'px';	clickEl.style.opacity = .5;	clickEl.style.filter = "alpha(opacity=10)";	clickEl.style.border = '2px dashed #cccccc';};ygDDListStudio.prototype.updateTabs = function(){		moduleTabs = [];		for(j = 0; j < slotCount; j++){						var ul = document.getElementById('ul' + j);			moduleTabs[j] = [];			items = ul.getElementsByTagName("li");			for(i = 0; i < items.length; i++) {				if(items.length == 1){					items[i].innerHTML = SUGAR.language.get('Administration', 'LBL_DROP_HERE');				}else{					if(items[i].innerHTML == SUGAR.language.get('Administration', 'LBL_DROP_HERE')){						items[i].innerHTML='';					} 				}				moduleTabs[ul.id.substr(2, ul.id.length)][subtabModules[items[i].id]] = true;			}					}	};ygDDListStudio.prototype.endDrag = function(e) {		var clickEl = this.getEl();	clickEl.innerHTML = this.clickContent	var p = clickEl.parentNode;	if(p.id == 'trash'){		p.removeChild(clickEl);		this.lastNode = false;		this.updateTabs();		return;	}	if(this.clickHeight) {	    clickEl.style.height = this.clickHeight;			if(this.lastNode)this.lastNode.style.height=this.clickHeight;	}	else{ 		clickEl.style.height = '';		if(this.lastNode)this.lastNode.style.height='';		}		if(this.clickBorder){ 	    clickEl.style.border = this.clickBorder;			if(this.lastNode)this.lastNode.style.border=this.clickBorder;	}	else {		clickEl.style.border = '';			if(this.lastNode)this.lastNode.style.border='';		}		clickEl.style.opacity = 1;				clickEl.style.filter = "alpha(opacity=100)";		if(this.lastNode){			this.lastNode.id = 'addLS' + addListStudioCount;			subtabModules[this.lastNode.id] = this.lastNode.module;			yahooSlots[this.lastNode.id] = new ygDDListStudio(this.lastNode.id, 'subTabs', false);			addListStudioCount++;				this.lastNode.style.opacity = 1;				this.lastNode.style.filter = "alpha(opacity=100)";		}	this.lastNode = false;	this.updateTabs();};ygDDListStudio.prototype.onDrag = function(e, id) { 		};ygDDListStudio.prototype.onDragOver = function(e, id) {	// this.logger.debug(this.id.toString() + " onDragOver " + id);	var el;		 if(this.lastNode){			this.lastNode.parentNode.removeChild(this.lastNode);			this.lastNode = false;		}     if(id.substr(0, 7) == 'modSlot'){     	return;     }       if ("string" == typeof id) {        el = YAHOO.util.DDM.getElement(id);    } else {         el = YAHOO.util.DDM.getBestMatch(id).getEl();    }    	dragEl = this.getDragEl();	elRegion = YAHOO.util.Dom.getRegion(el);    	var mid = YAHOO.util.DDM.getPosY(el) + (Math.floor((elRegion.bottom - elRegion.top) / 2));	var el2 = this.getEl();	var p = el.parentNode; if( (this.fromOnly ||  ( el.id != 'trashcan' && el2.parentNode.id != p.id && el2.parentNode.id == this.parentID)) ){ 	if(typeof(moduleTabs[p.id.substr(2,p.id.length)][subtabModules[el2.id]]) != 'undefined')return; 			}	 if(this.fromOnly && el.id != 'trashcan'){	el2 = el2.cloneNode(true);	el2.module = subtabModules[el2.id];	el2.id = 'addListStudio' + addListStudioCount;	this.lastNode = el2;	this.lastNode.clickContent = el2.clickContent;	this.lastNode.clickBorder = el2.clickBorder;	this.lastNode.clickHeight = el2.clickHeight	  }	if (YAHOO.util.DDM.getPosY(dragEl) < mid ) { // insert on top triggering item		p.insertBefore(el2, el);	}	if (YAHOO.util.DDM.getPosY(dragEl) >= mid ) { // insert below triggered item		p.insertBefore(el2, el.nextSibling);	}		};ygDDListStudio.prototype.onDragEnter = function(e, id) {	};ygDDListStudio.prototype.onDragOut = function(e, id) { }/////////////////////////////////////////////////////////////////////////////function ygDDListStudioBoundary(id, sGroup) {	if (id) {		this.init(id, sGroup);		this.logger = new ygLogger("ygDDListStudioBoundary");		this.isBoundary = true;	}}ygDDListStudioBoundary.prototype = new YAHOO.util.DDTarget();

⌨️ 快捷键说明

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