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

📄 toolbar.js

📁 dojo与json创建无限级树的时候,当在父结点下添加了一个新结点,我怎么让父亲结点重新调用json加载一下子结点内容.
💻 JS
📖 第 1 页 / 共 2 页
字号:
/*	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.ToolbarContainer");dojo.provide("dojo.widget.html.ToolbarContainer");dojo.provide("dojo.widget.Toolbar");dojo.provide("dojo.widget.html.Toolbar");dojo.provide("dojo.widget.ToolbarItem");dojo.provide("dojo.widget.html.ToolbarButtonGroup");dojo.provide("dojo.widget.html.ToolbarButton");dojo.provide("dojo.widget.html.ToolbarDialog");dojo.provide("dojo.widget.html.ToolbarMenu");dojo.provide("dojo.widget.html.ToolbarSeparator");dojo.provide("dojo.widget.html.ToolbarSpace");dojo.provide("dojo.widget.Icon");dojo.require("dojo.widget.*");dojo.require("dojo.html");/* ToolbarContainer *******************/dojo.widget.tags.addParseTreeHandler("dojo:toolbarContainer");dojo.widget.html.ToolbarContainer = function() {	dojo.widget.HtmlWidget.call(this);}dojo.inherits(dojo.widget.html.ToolbarContainer, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.html.ToolbarContainer, {	widgetType: "ToolbarContainer",	isContainer: true,	templateString: '<div class="toolbarContainer" dojoAttachPoint="containerNode"></div>',	templateCssPath: dojo.uri.dojoUri("src/widget/templates/HtmlToolbar.css"),	getItem: function(name) {		if(name instanceof dojo.widget.ToolbarItem) { return name; }		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				var item = child.getItem(name);				if(item) { return item; }			}		}		return null;	},	getItems: function() {		var items = [];		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				items = items.concat(child.getItems());			}		}		return items;	},	enable: function() {		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				child.enable.apply(child, arguments);			}		}	},	disable: function() {		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				child.disable.apply(child, arguments);			}		}	},	select: function(name) {		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				child.select(arguments);			}		}	},	deselect: function(name) {		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				child.deselect(arguments);			}		}	},	getItemsState: function() {		var values = {};		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				dojo.lang.mixin(values, child.getItemsState());			}		}		return values;	},	getItemsActiveState: function() {		var values = {};		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				dojo.lang.mixin(values, child.getItemsActiveState());			}		}		return values;	},	getItemsSelectedState: function() {		var values = {};		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.html.Toolbar) {				dojo.lang.mixin(values, child.getItemsSelectedState());			}		}		return values;	}});/* Toolbar **********/dojo.widget.tags.addParseTreeHandler("dojo:toolbar");dojo.widget.html.Toolbar = function() {	dojo.widget.HtmlWidget.call(this);}dojo.inherits(dojo.widget.html.Toolbar, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.html.Toolbar, {	widgetType: "Toolbar",	isContainer: true,	templateString: '<div class="toolbar" dojoAttachPoint="containerNode" unselectable="on" dojoOnMouseover="_onmouseover" dojoOnMouseout="_onmouseout" dojoOnClick="_onclick" dojoOnMousedown="_onmousedown" dojoOnMouseup="_onmouseup"></div>',	//templateString: '<div class="toolbar" dojoAttachPoint="containerNode" unselectable="on"></div>',	// given a node, tries to find it's toolbar item	_getItem: function(node) {		var start = new Date();		var widget = null;		while(node && node != this.domNode) {			if(dojo.html.hasClass(node, "toolbarItem")) {				var widgets = dojo.widget.manager.getWidgetsByFilter(function(w) { return w.domNode == node; });				if(widgets.length == 1) {					widget = widgets[0];					break;				} else if(widgets.length > 1) {					dojo.raise("Toolbar._getItem: More than one widget matches the node");				}			}			node = node.parentNode;		}		return widget;	},	_onmouseover: function(e) {		var widget = this._getItem(e.target);		if(widget && widget._onmouseover) { widget._onmouseover(e); }	},	_onmouseout: function(e) {		var widget = this._getItem(e.target);		if(widget && widget._onmouseout) { widget._onmouseout(e); }	},	_onclick: function(e) {		var widget = this._getItem(e.target);		if(widget && widget._onclick){ 			widget._onclick(e);		}	},	_onmousedown: function(e) {		var widget = this._getItem(e.target);		if(widget && widget._onmousedown) { widget._onmousedown(e); }	},	_onmouseup: function(e) {		var widget = this._getItem(e.target);		if(widget && widget._onmouseup) { widget._onmouseup(e); }	},	addChild: function(item, pos, props) {		var widget = dojo.widget.ToolbarItem.make(item, null, props);		var ret = dojo.widget.html.Toolbar.superclass.addChild.call(this, widget, null, pos, null);		return ret;	},	push: function() {		for(var i = 0; i < arguments.length; i++) {			this.addChild(arguments[i]);		}	},	getItem: function(name) {		if(name instanceof dojo.widget.ToolbarItem) { return name; }		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.ToolbarItem				&& child._name == name) { return child; }		}		return null;	},	getItems: function() {		var items = [];		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.ToolbarItem) {				items.push(child);			}		}		return items;	},	getItemsState: function() {		var values = {};		for(var i = 0; i < this.children.length; i++) {			var child = this.children[i];			if(child instanceof dojo.widget.ToolbarItem) {				values[child._name] = {					selected: child._selected,					enabled: child._enabled				};			}		}		return values;	},	getItemsActiveState: function() {		var values = this.getItemsState();		for(var item in values) {			values[item] = values[item].enabled;		}		return values;	},	getItemsSelectedState: function() {		var values = this.getItemsState();		for(var item in values) {			values[item] = values[item].selected;		}		return values;	},	enable: function() {		var items = arguments.length ? arguments : this.children;		for(var i = 0; i < items.length; i++) {			var child = this.getItem(items[i]);			if(child instanceof dojo.widget.ToolbarItem) {				child.enable(false, true);			}		}	},	disable: function() {		var items = arguments.length ? arguments : this.children;		for(var i = 0; i < items.length; i++) {			var child = this.getItem(items[i]);			if(child instanceof dojo.widget.ToolbarItem) {				child.disable();			}		}	},	select: function() {		for(var i = 0; i < arguments.length; i++) {			var name = arguments[i];			var item = this.getItem(name);			if(item) { item.select(); }		}	},	deselect: function() {		for(var i = 0; i < arguments.length; i++) {			var name = arguments[i];			var item = this.getItem(name);			if(item) { item.disable(); }		}	},	setValue: function() {		for(var i = 0; i < arguments.length; i += 2) {			var name = arguments[i], value = arguments[i+1];			var item = this.getItem(name);			if(item) {				if(item instanceof dojo.widget.ToolbarItem) {					item.setValue(value);				}			}		}	}});/* ToolbarItem hierarchy:	- ToolbarItem		- ToolbarButton		- ToolbarDialog			- ToolbarMenu		- ToolbarSeparator			- ToolbarSpace				- ToolbarFlexibleSpace*//* ToolbarItem **************/dojo.widget.ToolbarItem = function() {	dojo.widget.HtmlWidget.call(this);}dojo.inherits(dojo.widget.ToolbarItem, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.ToolbarItem, {	templateString: '<span unselectable="on" class="toolbarItem"></span>',	_name: null,	getName: function() { return this._name; },	setName: function(value) { return this._name = value; },	getValue: function() { return this.getName(); },	setValue: function(value) { return this.setName(value); },	_selected: false,	isSelected: function() { return this._selected; },	setSelected: function(is, force, preventEvent) {		if(!this._toggleItem && !force) { return; }		is = Boolean(is);		if(force || this._enabled && this._selected != is) {			this._selected = is;			this.update();			if(!preventEvent) {				this._fireEvent(is ? "onSelect" : "onDeselect");				this._fireEvent("onChangeSelect");			}		}	},	select: function(force, preventEvent) {		return this.setSelected(true, force, preventEvent);	},	deselect: function(force, preventEvent) {		return this.setSelected(false, force, preventEvent);	},	_toggleItem: false,	isToggleItem: function() { return this._toggleItem; },	setToggleItem: function(value) { this._toggleItem = Boolean(value); },	toggleSelected: function(force) {		return this.setSelected(!this._selected, force);	},	_enabled: true,	isEnabled: function() { return this._enabled; },	setEnabled: function(is, force, preventEvent) {		is = Boolean(is);		if(force || this._enabled != is) {			this._enabled = is;			this.update();			if(!preventEvent) {				this._fireEvent(this._enabled ? "onEnable" : "onDisable");				this._fireEvent("onChangeEnabled");			}		}		return this._enabled;	},	enable: function(force, preventEvent) {		return this.setEnabled(true, force, preventEvent);	},	disable: function(force, preventEvent) {		return this.setEnabled(false, force, preventEvent);	},	toggleEnabled: function(force, preventEvent) {		return this.setEnabled(!this._enabled, force, preventEvent);	},	_icon: null,	getIcon: function() { return this._icon; },	setIcon: function(value) {		var icon = dojo.widget.Icon.make(value);		if(this._icon) {			this._icon.setIcon(icon);		} else {			this._icon = icon;		}		var iconNode = this._icon.getNode();		if(iconNode.parentNode != this.domNode) {			if(this.domNode.hasChildNodes()) {				this.domNode.insertBefore(iconNode, this.domNode.firstChild);			} else {				this.domNode.appendChild(iconNode);			}		}		return this._icon;	},	// TODO: update the label node (this.labelNode?)	_label: "",	getLabel: function() { return this._label; },	setLabel: function(value) {		var ret = this._label = value;		if(!this.labelNode) {			this.labelNode = document.createElement("span");			this.domNode.appendChild(this.labelNode);		}		this.labelNode.innerHTML = "";		this.labelNode.appendChild(document.createTextNode(this._label));		this.update();		return ret;	},	// fired from: setSelected, setEnabled, setLabel	update: function() {		if(this._enabled) {			dojo.html.removeClass(this.domNode, "disabled");			if(this._selected) {				dojo.html.addClass(this.domNode, "selected");			} else {				dojo.html.removeClass(this.domNode, "selected");			}		} else {			this._selected = false;			dojo.html.addClass(this.domNode, "disabled");			dojo.html.removeClass(this.domNode, "down");			dojo.html.removeClass(this.domNode, "hover");		}		this._updateIcon();	},	_updateIcon: function() {		if(this._icon) {			if(this._enabled) {				if(this._cssHover) {					this._icon.hover();				} else if(this._selected) {					this._icon.select();				} else {					this._icon.enable();				}			} else {				this._icon.disable();			}		}	},	_fireEvent: function(evt) {		if(typeof this[evt] == "function") {			var args = [this];			for(var i = 1; i < arguments.length; i++) {				args.push(arguments[i]);			}			this[evt].apply(this, args);		}	},	_onmouseover: function(e) {		if(!this._enabled) { return };		dojo.html.addClass(this.domNode, "hover");	},

⌨️ 快捷键说明

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