亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? treedraganddrop.js

?? 尚學(xué)堂oa 源碼
?? JS
字號:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.dnd.TreeDragAndDrop");dojo.require("dojo.dnd.HtmlDragAndDrop");dojo.require("dojo.lang.func");dojo.require("dojo.lang.array");dojo.require("dojo.lang.extras");dojo.require("dojo.html.layout");dojo.dnd.TreeDragSource = function (node, syncController, type, treeNode) {	this.controller = syncController;	this.treeNode = treeNode;	dojo.dnd.HtmlDragSource.call(this, node, type);};dojo.inherits(dojo.dnd.TreeDragSource, dojo.dnd.HtmlDragSource);dojo.lang.extend(dojo.dnd.TreeDragSource, {onDragStart:function () {	var dragObject = dojo.dnd.HtmlDragSource.prototype.onDragStart.call(this);	dragObject.treeNode = this.treeNode;	dragObject.onDragStart = dojo.lang.hitch(dragObject, function (e) {		this.savedSelectedNode = this.treeNode.tree.selector.selectedNode;		if (this.savedSelectedNode) {			this.savedSelectedNode.unMarkSelected();		}		var result = dojo.dnd.HtmlDragObject.prototype.onDragStart.apply(this, arguments);		var cloneGrid = this.dragClone.getElementsByTagName("img");		for (var i = 0; i < cloneGrid.length; i++) {			cloneGrid.item(i).style.backgroundImage = "url()";		}		return result;	});	dragObject.onDragEnd = function (e) {		if (this.savedSelectedNode) {			this.savedSelectedNode.markSelected();		}		return dojo.dnd.HtmlDragObject.prototype.onDragEnd.apply(this, arguments);	};	return dragObject;}, onDragEnd:function (e) {	var res = dojo.dnd.HtmlDragSource.prototype.onDragEnd.call(this, e);	return res;}});dojo.dnd.TreeDropTarget = function (domNode, controller, type, treeNode) {	this.treeNode = treeNode;	this.controller = controller;	dojo.dnd.HtmlDropTarget.apply(this, [domNode, type]);};dojo.inherits(dojo.dnd.TreeDropTarget, dojo.dnd.HtmlDropTarget);dojo.lang.extend(dojo.dnd.TreeDropTarget, {autoExpandDelay:1500, autoExpandTimer:null, position:null, indicatorStyle:"2px black solid", showIndicator:function (position) {	if (this.position == position) {		return;	}	this.hideIndicator();	this.position = position;	if (position == "before") {		this.treeNode.labelNode.style.borderTop = this.indicatorStyle;	} else {		if (position == "after") {			this.treeNode.labelNode.style.borderBottom = this.indicatorStyle;		} else {			if (position == "onto") {				this.treeNode.markSelected();			}		}	}}, hideIndicator:function () {	this.treeNode.labelNode.style.borderBottom = "";	this.treeNode.labelNode.style.borderTop = "";	this.treeNode.unMarkSelected();	this.position = null;}, onDragOver:function (e) {	var accepts = dojo.dnd.HtmlDropTarget.prototype.onDragOver.apply(this, arguments);	if (accepts && this.treeNode.isFolder && !this.treeNode.isExpanded) {		this.setAutoExpandTimer();	}	return accepts;}, accepts:function (dragObjects) {	var accepts = dojo.dnd.HtmlDropTarget.prototype.accepts.apply(this, arguments);	if (!accepts) {		return false;	}	var sourceTreeNode = dragObjects[0].treeNode;	if (dojo.lang.isUndefined(sourceTreeNode) || !sourceTreeNode || !sourceTreeNode.isTreeNode) {		dojo.raise("Source is not TreeNode or not found");	}	if (sourceTreeNode === this.treeNode) {		return false;	}	return true;}, setAutoExpandTimer:function () {	var _this = this;	var autoExpand = function () {		if (dojo.dnd.dragManager.currentDropTarget === _this) {			_this.controller.expand(_this.treeNode);		}	};	this.autoExpandTimer = dojo.lang.setTimeout(autoExpand, _this.autoExpandDelay);}, getDNDMode:function () {	return this.treeNode.tree.DNDMode;}, getAcceptPosition:function (e, sourceTreeNode) {	var DNDMode = this.getDNDMode();	if (DNDMode & dojo.widget.Tree.prototype.DNDModes.ONTO && !(!this.treeNode.actionIsDisabled(dojo.widget.TreeNode.prototype.actions.ADDCHILD) && sourceTreeNode.parent !== this.treeNode && this.controller.canMove(sourceTreeNode, this.treeNode))) {		DNDMode &= ~dojo.widget.Tree.prototype.DNDModes.ONTO;	}	var position = this.getPosition(e, DNDMode);	if (position == "onto" || (!this.isAdjacentNode(sourceTreeNode, position) && this.controller.canMove(sourceTreeNode, this.treeNode.parent))) {		return position;	} else {		return false;	}}, onDragOut:function (e) {	this.clearAutoExpandTimer();	this.hideIndicator();}, clearAutoExpandTimer:function () {	if (this.autoExpandTimer) {		clearTimeout(this.autoExpandTimer);		this.autoExpandTimer = null;	}}, onDragMove:function (e, dragObjects) {	var sourceTreeNode = dragObjects[0].treeNode;	var position = this.getAcceptPosition(e, sourceTreeNode);	if (position) {		this.showIndicator(position);	}}, isAdjacentNode:function (sourceNode, position) {	if (sourceNode === this.treeNode) {		return true;	}	if (sourceNode.getNextSibling() === this.treeNode && position == "before") {		return true;	}	if (sourceNode.getPreviousSibling() === this.treeNode && position == "after") {		return true;	}	return false;}, getPosition:function (e, DNDMode) {	var node = dojo.byId(this.treeNode.labelNode);	var mousey = e.pageY || e.clientY + dojo.body().scrollTop;	var nodey = dojo.html.getAbsolutePosition(node).y;	var height = dojo.html.getBorderBox(node).height;	var relY = mousey - nodey;	var p = relY / height;	var position = "";	if (DNDMode & dojo.widget.Tree.prototype.DNDModes.ONTO && DNDMode & dojo.widget.Tree.prototype.DNDModes.BETWEEN) {		if (p <= 0.3) {			position = "before";		} else {			if (p <= 0.7) {				position = "onto";			} else {				position = "after";			}		}	} else {		if (DNDMode & dojo.widget.Tree.prototype.DNDModes.BETWEEN) {			if (p <= 0.5) {				position = "before";			} else {				position = "after";			}		} else {			if (DNDMode & dojo.widget.Tree.prototype.DNDModes.ONTO) {				position = "onto";			}		}	}	return position;}, getTargetParentIndex:function (sourceTreeNode, position) {	var index = position == "before" ? this.treeNode.getParentIndex() : this.treeNode.getParentIndex() + 1;	if (this.treeNode.parent === sourceTreeNode.parent && this.treeNode.getParentIndex() > sourceTreeNode.getParentIndex()) {		index--;	}	return index;}, onDrop:function (e) {	var position = this.position;	this.onDragOut(e);	var sourceTreeNode = e.dragObject.treeNode;	if (!dojo.lang.isObject(sourceTreeNode)) {		dojo.raise("TreeNode not found in dragObject");	}	if (position == "onto") {		return this.controller.move(sourceTreeNode, this.treeNode, 0);	} else {		var index = this.getTargetParentIndex(sourceTreeNode, position);		return this.controller.move(sourceTreeNode, this.treeNode.parent, index);	}}});dojo.dnd.TreeDNDController = function (treeController) {	this.treeController = treeController;	this.dragSources = {};	this.dropTargets = {};};dojo.lang.extend(dojo.dnd.TreeDNDController, {listenTree:function (tree) {	dojo.event.topic.subscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");	dojo.event.topic.subscribe(tree.eventNames.moveFrom, this, "onMoveFrom");	dojo.event.topic.subscribe(tree.eventNames.moveTo, this, "onMoveTo");	dojo.event.topic.subscribe(tree.eventNames.addChild, this, "onAddChild");	dojo.event.topic.subscribe(tree.eventNames.removeNode, this, "onRemoveNode");	dojo.event.topic.subscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");}, unlistenTree:function (tree) {	dojo.event.topic.unsubscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");	dojo.event.topic.unsubscribe(tree.eventNames.moveFrom, this, "onMoveFrom");	dojo.event.topic.unsubscribe(tree.eventNames.moveTo, this, "onMoveTo");	dojo.event.topic.unsubscribe(tree.eventNames.addChild, this, "onAddChild");	dojo.event.topic.unsubscribe(tree.eventNames.removeNode, this, "onRemoveNode");	dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");}, onTreeDestroy:function (message) {	this.unlistenTree(message.source);}, onCreateDOMNode:function (message) {	this.registerDNDNode(message.source);}, onAddChild:function (message) {	this.registerDNDNode(message.child);}, onMoveFrom:function (message) {	var _this = this;	dojo.lang.forEach(message.child.getDescendants(), function (node) {		_this.unregisterDNDNode(node);	});}, onMoveTo:function (message) {	var _this = this;	dojo.lang.forEach(message.child.getDescendants(), function (node) {		_this.registerDNDNode(node);	});}, registerDNDNode:function (node) {	if (!node.tree.DNDMode) {		return;	}	var source = null;	var target = null;	if (!node.actionIsDisabled(node.actions.MOVE)) {		var source = new dojo.dnd.TreeDragSource(node.labelNode, this, node.tree.widgetId, node);		this.dragSources[node.widgetId] = source;	}	var target = new dojo.dnd.TreeDropTarget(node.labelNode, this.treeController, node.tree.DNDAcceptTypes, node);	this.dropTargets[node.widgetId] = target;}, unregisterDNDNode:function (node) {	if (this.dragSources[node.widgetId]) {		dojo.dnd.dragManager.unregisterDragSource(this.dragSources[node.widgetId]);		delete this.dragSources[node.widgetId];	}	if (this.dropTargets[node.widgetId]) {		dojo.dnd.dragManager.unregisterDropTarget(this.dropTargets[node.widgetId]);		delete this.dropTargets[node.widgetId];	}}});

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久夜| 欧美日韩亚洲另类| 欧美大肚乱孕交hd孕妇| 亚洲成av人片一区二区梦乃 | 日本va欧美va瓶| 欧美系列在线观看| 亚洲精品自拍动漫在线| av在线综合网| 亚洲色图欧美激情| 91丝袜呻吟高潮美腿白嫩在线观看| 国产欧美一区二区精品秋霞影院 | 日本道色综合久久| 亚洲精品视频在线看| 91网站最新地址| 一区在线播放视频| av电影在线不卡| 中文字幕欧美一| 99视频有精品| 亚洲精品videosex极品| 欧美一a一片一级一片| 亚洲一区二区五区| 欧美日本免费一区二区三区| 日日摸夜夜添夜夜添精品视频| 欧美精品久久久久久久多人混战 | 欧美激情一二三区| 国产一区二区三区免费播放 | 亚洲人成网站影音先锋播放| 99国产精品国产精品毛片| 亚洲精品中文字幕在线观看| 欧洲一区二区三区在线| 天天综合网天天综合色| 51午夜精品国产| 久久99国产精品免费| 国产午夜精品美女毛片视频| www.亚洲精品| 亚洲1区2区3区4区| 亚洲成人精品一区二区| 欧美精品第一页| 国产麻豆精品95视频| 亚洲三级免费观看| 在线成人av网站| 午夜av电影一区| 国产婷婷色一区二区三区| 91网站在线观看视频| 调教+趴+乳夹+国产+精品| 中文字幕av一区二区三区免费看| 色噜噜偷拍精品综合在线| 国产一区二区不卡在线| 国产日韩欧美精品电影三级在线| 不卡的av网站| 日本亚洲欧美天堂免费| 国产女同性恋一区二区| 欧美日韩国产乱码电影| 国产乱色国产精品免费视频| 亚洲精品免费看| 精品国产91亚洲一区二区三区婷婷| jizz一区二区| 免费精品视频最新在线| 国产日韩综合av| 欧美一区二区在线播放| av一区二区三区四区| 麻豆91免费看| 亚洲一区二区偷拍精品| 国产日韩欧美不卡在线| 337p亚洲精品色噜噜噜| 99精品视频在线播放观看| 久久91精品久久久久久秒播| 一区二区三区波多野结衣在线观看| 久久久五月婷婷| 这里是久久伊人| 在线观看91视频| 本田岬高潮一区二区三区| 久久国产生活片100| 亚洲国产精品人人做人人爽| 国产精品麻豆欧美日韩ww| 日韩三级免费观看| 欧美色大人视频| 91美女在线看| 成人黄色小视频| 国内一区二区在线| 亚洲一区视频在线| 亚洲天堂精品在线观看| 国产欧美一区二区三区在线老狼| 欧美一级夜夜爽| 欧美久久久影院| 欧美亚洲愉拍一区二区| 91理论电影在线观看| 成人亚洲一区二区一| 国产一区二区伦理| 精油按摩中文字幕久久| 日本欧美一区二区三区乱码| 亚洲自拍偷拍麻豆| 一区二区三区中文在线观看| 成人免费在线视频观看| 国产精品黄色在线观看| 日本一区二区久久| 国产日韩欧美高清在线| 国产午夜精品久久| 国产三级精品在线| 国产欧美日韩三区| 国产精品你懂的| 中文字幕一区二区在线播放| 亚洲一区二区高清| 成人不卡免费av| 成人黄色小视频| www.欧美日韩| 色婷婷国产精品久久包臀| 91美女片黄在线观看91美女| 在线观看国产精品网站| 欧美性色综合网| 色婷婷综合在线| 日本福利一区二区| 欧美日韩国产123区| 91精品国产综合久久精品图片| 欧美一区二区福利在线| 日韩欧美国产一区二区在线播放| 欧美xxxxxxxx| 久久精品欧美一区二区三区不卡| 国产三区在线成人av| 国产精品嫩草久久久久| 一二三四社区欧美黄| 午夜欧美2019年伦理| 人人超碰91尤物精品国产| 极品瑜伽女神91| 波波电影院一区二区三区| 欧美在线三级电影| 日韩一区二区电影| 欧美国产日韩亚洲一区| 一区二区三区在线观看视频| 免费人成黄页网站在线一区二区| 国产一区在线观看麻豆| 99视频一区二区三区| 欧美日韩精品久久久| 精品国产免费久久| 国产精品不卡在线观看| 天天综合色天天综合色h| 国产中文字幕精品| 91麻豆免费看| 4438x亚洲最大成人网| 久久精品人人做人人爽人人 | 日韩一本二本av| 国产精品免费视频观看| 婷婷综合另类小说色区| 国产精品一区一区三区| 在线中文字幕不卡| 日韩欧美中文字幕制服| 中文字幕一区二| 久久97超碰国产精品超碰| 欧美性大战久久久| 亚洲欧美一区二区三区国产精品| 国产福利91精品一区二区三区| 欧美一区二区三区电影| 性做久久久久久| 欧美系列在线观看| 亚洲资源中文字幕| 一本色道久久综合亚洲精品按摩| 亚洲国产精品激情在线观看 | 香蕉av福利精品导航| 色综合中文字幕国产| 久久嫩草精品久久久精品| 免费视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 成人免费一区二区三区视频 | 美脚の诱脚舐め脚责91 | 99精品国产一区二区三区不卡| 国产亚洲一区二区三区在线观看| 精油按摩中文字幕久久| 欧美电影免费观看高清完整版在线观看 | 久久影院视频免费| 韩国视频一区二区| 精品va天堂亚洲国产| 国产一区二区三区免费观看| 久久久精品免费免费| 国产一区999| 中文字幕av一区二区三区免费看| 国产麻豆9l精品三级站| 国产欧美一区二区精品性| 成人动漫在线一区| 亚洲精品久久7777| 欧美视频精品在线| 天使萌一区二区三区免费观看| 欧美裸体一区二区三区| 老司机精品视频导航| 2020国产精品久久精品美国| 国产成人亚洲综合a∨婷婷图片| 国产婷婷色一区二区三区在线| av成人免费在线观看| 亚洲激情av在线| 69成人精品免费视频| 精品无人区卡一卡二卡三乱码免费卡| 精品99一区二区| 91在线视频官网| 五月天亚洲婷婷| 久久精品网站免费观看| 91香蕉视频在线| 日本美女一区二区三区| 国产农村妇女精品| 在线观看日产精品| 韩国精品免费视频| 亚洲日本青草视频在线怡红院|