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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? treebasiccontroller.js

?? 圖書管理系統包括圖書的增加、刪除、修改等功能
?? 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.widget.TreeBasicController");dojo.require("dojo.event.*");dojo.require("dojo.json")dojo.require("dojo.io.*");dojo.widget.tags.addParseTreeHandler("dojo:TreeBasicController");dojo.widget.TreeBasicController = function() {	dojo.widget.HtmlWidget.call(this);}dojo.inherits(dojo.widget.TreeBasicController, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.TreeBasicController, {	widgetType: "TreeBasicController",	DNDController: "",	dieWithTree: false,	initialize: function(args, frag){		/* no DND by default for compatibility */		if (this.DNDController == "create") {			dojo.require("dojo.dnd.TreeDragAndDrop");			this.DNDController = new dojo.dnd.TreeDNDController(this);		}	},	/**	 * Binds controller to all tree events	*/	listenTree: function(tree) {		//dojo.debug("Event "+tree.eventNames.treeClick);		dojo.event.topic.subscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");		dojo.event.topic.subscribe(tree.eventNames.treeClick, this, "onTreeClick");		dojo.event.topic.subscribe(tree.eventNames.treeCreate, this, "onTreeCreate");		dojo.event.topic.subscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");		if (this.DNDController) {			this.DNDController.listenTree(tree);		}	},	unlistenTree: function(tree) {		dojo.event.topic.unsubscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");		dojo.event.topic.unsubscribe(tree.eventNames.treeClick, this, "onTreeClick");		dojo.event.topic.unsubscribe(tree.eventNames.treeCreate, this, "onTreeCreate");		dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");	},	onTreeDestroy: function(message) {		var tree = message.source;		this.unlistenTree(tree);		if (this.dieWithTree) {			//alert("Killing myself "+this.widgetId);			this.destroy();			//dojo.debug("done");		}	},	onCreateDOMNode: function(message) {		var node = message.source;		if (node.expandLevel > 0) {			this.expandToLevel(node, node.expandLevel);		}	},	// perform actions-initializers for tree	onTreeCreate: function(message) {		var tree = message.source;		var _this = this;		if (tree.expandLevel) {			dojo.lang.forEach(tree.children,				function(child) {					_this.expandToLevel(child, tree.expandLevel-1)				}			);		}	},	expandToLevel: function(node, level) {		if (level == 0) return;		var children = node.children;		var _this = this;		var handler = function(node, expandLevel) {			this.node = node;			this.expandLevel = expandLevel;			// recursively expand opened node			this.process = function() {				//dojo.debug("Process "+node+" level "+level);				for(var i=0; i<this.node.children.length; i++) {					var child = node.children[i];					_this.expandToLevel(child, this.expandLevel);				}			};		}		var h = new handler(node, level-1);		this.expand(node, false, h, h.process);	},	onTreeClick: function(message){		var node = message.source;		if(node.isLocked()) {			return false;		}		if (node.isExpanded){			this.collapse(node);		} else {			this.expand(node);		}	},	expand: function(node, sync, callObj, callFunc) {		node.expand();		if (callFunc) callFunc.apply(callObj, [node]);	},	collapse: function(node) {		node.collapse();	},// =============================== move ============================	/**	 * Checks whether it is ok to change parent of child to newParent	 * May incur type checks etc	 *	 * It should check only hierarchical possibility w/o index, etc	 * because in onDragOver event for Between DND mode we can't calculate index at once on onDragOVer.	 * index changes as client moves mouse up-down over the node	 */	canMove: function(child, newParent){		if (child.actionIsDisabled(child.actions.MOVE)) {			return false;		}		// if we move under same parent then no matter if ADDCHILD disabled for him		// but if we move to NEW parent then check if action is disabled for him		// also covers case for newParent being a non-folder in strict mode etc		if (child.parent !== newParent && newParent.actionIsDisabled(newParent.actions.ADDCHILD)) {			return false;		}		// Can't move parent under child. check whether new parent is child of "child".		var node = newParent;		while(node.isTreeNode) {			//dojo.debugShallow(node.title)			if (node === child) {				// parent of newParent is child				return false;			}			node = node.parent;		}		return true;	},	move: function(child, newParent, index) {		/* move sourceTreeNode to new parent */		if (!this.canMove(child, newParent)) {			return false;		}		var result = this.doMove(child, newParent, index);		if (!result) return result;		if (newParent.isTreeNode) {			this.expand(newParent);		}		return result;	},	doMove: function(child, newParent, index) {		child.tree.move(child, newParent, index);		return true;	},// =============================== removeNode ============================	canRemoveNode: function(child) {		if (child.actionIsDisabled(child.actions.REMOVE)) {			return false;		}		return true;	},	removeNode: function(node, callObj, callFunc) {		if (!this.canRemoveNode(node)) {			return false;		}		return this.doRemoveNode(node, callObj, callFunc);	},	doRemoveNode: function(node, callObj, callFunc) {		node.tree.removeNode(node);		if (callFunc) {			callFunc.apply(dojo.lang.isUndefined(callObj) ? this : callObj, [node]);		}	},	// -----------------------------------------------------------------------------	//                             Create node stuff	// -----------------------------------------------------------------------------	canCreateChild: function(parent, index, data) {		if (parent.actionIsDisabled(parent.actions.ADDCHILD)) return false;		return true;	},	/* send data to server and add child from server */	/* data may contain an almost ready child, or anything else, suggested to server */	/*in RPC controllers server responds with child data to be inserted */	createChild: function(parent, index, data, callObj, callFunc) {		if (!this.canCreateChild(parent, index, data)) {			return false;		}		return this.doCreateChild.apply(this, arguments);	},	doCreateChild: function(parent, index, data, callObj, callFunc) {		var widgetType = data.widgetType ? data.widgetType : "TreeNode";		var newChild = dojo.widget.createWidget(widgetType, data);		parent.addChild(newChild, index);		this.expand(parent);		if (callFunc) {			callFunc.apply(callObj, [newChild]);		}		return newChild;	}});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品福利网| 青青草国产精品97视觉盛宴| 麻豆精品国产传媒mv男同| 成人国产在线观看| 日韩欧美123| 亚洲一区国产视频| 成人网在线免费视频| 91精品免费观看| 夜夜夜精品看看| av在线不卡观看免费观看| 日韩欧美激情四射| 亚洲成人三级小说| 色综合天天综合给合国产| 久久久久久久精| 日本成人在线电影网| 在线观看日韩国产| 国产精品黄色在线观看| 国产精品888| 日韩女优av电影| 日韩国产在线一| 欧美视频自拍偷拍| 亚洲欧美另类图片小说| 高清国产一区二区| 久久午夜老司机| 久久国产综合精品| 日韩亚洲欧美在线观看| 午夜激情一区二区三区| 欧美综合一区二区| 亚洲精品日日夜夜| 99精品一区二区三区| 国产精品天干天干在观线| 国产成人综合精品三级| 久久精品亚洲乱码伦伦中文| 秋霞电影网一区二区| 91精品国产综合久久小美女| 午夜久久久影院| 欧美日韩国产精品成人| 五月天婷婷综合| 3atv一区二区三区| 日韩高清电影一区| 日韩视频一区在线观看| 蜜臀av一级做a爰片久久| 日韩欧美国产1| 久久精品久久99精品久久| 精品国产一区二区三区av性色| 六月丁香综合在线视频| 26uuu欧美| 国产成人精品在线看| 中文在线资源观看网站视频免费不卡 | 国产成人亚洲综合a∨婷婷图片 | 成人av免费在线播放| 国产视频一区在线播放| 国产91精品在线观看| 国产精品高潮久久久久无| 91视频在线观看免费| 亚洲精品视频一区二区| 欧美调教femdomvk| 日本免费在线视频不卡一不卡二| 日韩欧美精品在线视频| 国产乱色国产精品免费视频| 国产欧美一区二区三区在线看蜜臀| 粉嫩aⅴ一区二区三区四区| 国产精品久久国产精麻豆99网站 | 麻豆成人av在线| 久久亚洲欧美国产精品乐播| 国产成人丝袜美腿| 亚洲三级在线观看| 欧美精品少妇一区二区三区| 免费成人在线影院| 久久精品人人爽人人爽| 99久久亚洲一区二区三区青草 | 久久免费偷拍视频| 成人av免费在线观看| 亚洲综合成人在线| 日韩三级电影网址| 成人听书哪个软件好| 亚洲香蕉伊在人在线观| 日韩欧美激情在线| 不卡一卡二卡三乱码免费网站| 亚洲精品中文字幕在线观看| 7777精品伊人久久久大香线蕉完整版| 久久精品国产色蜜蜜麻豆| 国产精品嫩草99a| 欧美日韩视频在线第一区| 国内精品在线播放| 亚洲美女少妇撒尿| 精品国产电影一区二区| 91蝌蚪porny九色| 日本不卡一区二区三区| 国产日韩欧美a| 欧美日韩精品一区二区三区蜜桃| 精品一区二区三区的国产在线播放| 中文字幕亚洲欧美在线不卡| 538在线一区二区精品国产| 国产精品香蕉一区二区三区| 一区二区在线观看免费 | 91视视频在线观看入口直接观看www| 偷拍日韩校园综合在线| 国产欧美精品国产国产专区| 欧美日韩一区二区在线观看| 国产成人综合精品三级| 午夜精品国产更新| 欧美国产精品专区| 91精品国产综合久久久久久久久久| 国产成人8x视频一区二区| 视频在线观看国产精品| 中文字幕在线不卡国产视频| 日韩一区二区免费视频| 91丨九色丨蝌蚪富婆spa| 久久www免费人成看片高清| 亚洲综合色视频| 中文字幕免费一区| 欧美一级理论性理论a| 91老师片黄在线观看| 国产精品一区二区三区网站| 婷婷开心激情综合| 最新国产の精品合集bt伙计| 欧美va日韩va| 欧美精品日日鲁夜夜添| 91蝌蚪porny九色| 国产不卡视频在线播放| 麻豆91小视频| 亚洲成人精品一区| 亚洲人妖av一区二区| 国产午夜精品一区二区三区四区| 欧美人与禽zozo性伦| 色婷婷香蕉在线一区二区| 丰满岳乱妇一区二区三区| 精品制服美女久久| 日韩精品三区四区| 亚洲自拍偷拍综合| 亚洲三级电影全部在线观看高清| 久久久欧美精品sm网站| 精品少妇一区二区三区免费观看| 欧美高清一级片在线| 欧美亚洲动漫精品| 91麻豆国产在线观看| 成人一级视频在线观看| 国产福利一区在线观看| 国产一区二区三区四区五区美女| 日本不卡1234视频| 五月婷婷色综合| 午夜影视日本亚洲欧洲精品| 亚洲精品乱码久久久久久久久| 亚洲欧洲精品成人久久奇米网| 久久久精品国产免大香伊| 欧美精品一区二| 26uuu国产电影一区二区| 欧美va亚洲va国产综合| 欧美成人vr18sexvr| 日韩免费电影一区| 日韩欧美国产午夜精品| 欧美一区二区三区喷汁尤物| 91精品在线一区二区| 欧美一区二区精品| 欧美一区二区三区免费视频| 欧美一区二区视频免费观看| 欧美一区二区三区白人 | 成人午夜av电影| 懂色av噜噜一区二区三区av| 国产精品99久久久久久宅男| 国产大片一区二区| 成人av网站在线观看免费| 97精品国产97久久久久久久久久久久| 成人av资源站| 色欧美88888久久久久久影院| 一本久道中文字幕精品亚洲嫩| 色www精品视频在线观看| 欧美日韩在线播放| 欧美一区二区三区喷汁尤物| 精品人在线二区三区| 久久先锋影音av鲁色资源| 中文字幕精品一区二区三区精品| 国产精品色哟哟| 一区二区在线观看视频| 午夜视频在线观看一区二区| 免费观看30秒视频久久| 韩国一区二区视频| 丰满放荡岳乱妇91ww| 99re这里只有精品首页| 欧美色图天堂网| 91精品国产品国语在线不卡| 2024国产精品视频| 中文字幕一区二区三区在线观看 | 中文字幕国产一区| 亚洲免费大片在线观看| 婷婷丁香久久五月婷婷| 精品一二三四区| 成人v精品蜜桃久久一区| 在线观看一区二区视频| 欧美一区二区三区啪啪| 国产色爱av资源综合区| 亚洲特级片在线| 亚洲mv大片欧洲mv大片精品| 精品一区二区免费看| 99久久久久久99| 欧美一区午夜视频在线观看| 国产欧美日韩在线| 亚洲在线中文字幕| 国产一区在线精品|