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

📄 xvtree.js

📁 XML扩展树解析
💻 JS
字号:

webFXTreeConfig.chooseType = 'checkbox';
webFXTreeConfig.chooseName	= "checkbox";
webFXTreeConfig.chooseOnClick = ""	;

webFXTreeHandler.checkedAll = function( isUp, isUpWithF, isDown, isDownWithF )
{
	var e = event.srcElement;
	var checked = e.checked;
	var aim = this.findById( e.parentElement.id);
	aim.checked = checked+"";
	if( isUp )
		this._checkedParent( aim, checked, isUp );
	if( isDown || isDownWithF )
		this._checkedChildren( aim,checked, isDown, isDownWithF);
}
webFXTreeHandler.checkedParent = function( isUp )
{
	var e = event.srcElement;
	var checked = e.checked;
	var aim = this.findById( e.parentElement.id);
	aim.checked = checked+"";
	this._checkedParent( aim, checked, isUp );
}
webFXTreeHandler._checkedParent = function( item, checked, isUp )
{
	if( (checked==true && !isUp) )
		return;
	aim = item;
	while(aim.parentNode)
	{
		aim = aim.parentNode;
		if( (typeof(aim.checked) !="undefined") )//&& ()
		{
			if( aim.checked != null && ("false"!=aim.checked.toLowerCase()))
				break;
			aim.checked = checked+"";
			e = document.getElementById( aim.id );
			for(var i=0;i< e.children.length;i++ )
			{
				sube = e.children[i];
				if( sube.tagName.toLowerCase() == "input" && sube.type.toLowerCase()=="checkbox" )
				{
					sube.checked=checked;
				}
			}
		}
	}

}
webFXTreeHandler.checkedChildren = function( isDown, isDownWithF)
{
	var e = event.srcElement;
	var checked = e.checked;
	var aim = this.findById( e.parentElement.id);
	aim.checked = checked+"";
	this._checkedChildren( isDown, isDownWithF);
}
webFXTreeHandler._checkedChildren = function( item,checked, isDown, isDownWithF)
{
	if( (checked==true && !isDown) || (checked==false && !isDownWithF) )
		return;
	var self = item;
	for(var i=0;i < self.childNodes.length; i++ )
	{
		aim = self.childNodes[i];
		if( (typeof(aim.checked) !="undefined") )//&& ()
		{
			if( aim.checked != null && ("false"!= aim.checked.toLowerCase()) )
				break;
			aim.checked = checked+"";
			e = document.getElementById( aim.id );
			for(var j=0;j< e.children.length;j++ )
			{
				sube = e.children[j];
				if( sube.tagName.toLowerCase() == "input" && sube.type.toLowerCase()=="checkbox" )
				sube.checked=checked;
			}
		}
		this._checkedChildren( aim, checked, isDown, isDownWithF );
	}
}


webFXTreeHandler.scanCheckedValue = function()
{
	var addedChecked = [];
	var deletedChecked = [];
	for( itemid in webFXTreeHandler.all )
	{
		item = webFXTreeHandler.all[id];
		e = document.getElementById( aim.id );
		for(var i=0;i< e.children.length;i++ )
		{
			sube = e.children[i];
			if( sube.tagName.toLowerCase() == "input" && sube.type.toLowerCase()=="checkbox" )
			{
				if( ("false"== item._checked.toLowerCase()) && sube.checked )
					addedChecked.push( sube.value);
				if( ("true"== item._checked.toLowerCase()) && sube.checked )
					deletedChecked.push( sube.value );
			}
		}
		
	}
	return {"addedChecked":addedChecked, "deletedChecked":deletedChecked};
}

/*
 * WebFXVTreeItem with Value class
 */

function WebFXVTreeItem(sText, sAction, eParent, sIcon, sOpenIcon, sValue ) {
	this.base = WebFXTreeItem;
	this.base(sText, sAction, eParent, sIcon, sOpenIcon);
	this.value = sValue;
	this.checked = "false";
	this._checked = "false";
}

WebFXVTreeItem.prototype = new WebFXTreeItem;


WebFXVTreeItem.prototype.toString = function (nItem, nItemCount) {
	var foo = this.parentNode;
	var indent = '';
	if (nItem + 1 == nItemCount) { this.parentNode._last = true; }
	var i = 0;
	while (foo.parentNode) {
		foo = foo.parentNode;
		indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent;
		i++;
	}
	this._level = i;
	if (this.childNodes.length) { this.folder = 1; }
	else { this.open = false; }
	if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) {
		if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; }
		if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; }
	}
	else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; }
	var label = this.text.replace(/</g, '&lt;').replace(/>/g, '&gt;');
	var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\">" +
		indent +
		"<img id=\"" + this.id + "-plus\" src=\"" + 
			((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" +
		"<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\">" +
		"<INPUT TYPE=\""+webFXTreeConfig.chooseType+"\" name=\""+webFXTreeConfig.chooseName+"\" id=\""+webFXTreeConfig.chooseName+"\" "+
		(webFXTreeConfig.chooseOnClick==""?(""):(" onclick=\""+webFXTreeConfig.chooseOnClick+"\""))+ (this.checked=="true" ?" checked ":"") +
		"value=\""+this.value+"\" class=\"webfx-tree-icon\">" +
		"<a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\"" +
		(this.target ? " target=\"" + this.target + "\"" : "") +
		">" + label + "</a></div>" +
		"<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">";
	var sb = [];
	for (var i = 0; i < this.childNodes.length; i++) {
		sb[i] = this.childNodes[i].toString(i,this.childNodes.length);
	}
	this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon);
	this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon);
	return str + sb.join("") + "</div>";
}

WebFXVTreeItem.prototype.setChecked = function( value )
{
	this.checked = value+"";
}

WebFXVTreeItem.prototype.setRowChecked = function( value )
{
	this._checked = value+"";
}
/**
*
*/

function WebFXVTree(sText, sAction, sBehavior, sIcon, sOpenIcon, sValue ) {
	this.base = WebFXTree;
	this.base(sText, sAction, sBehavior, sIcon, sOpenIcon);
	this.value = sValue;
}

WebFXVTree.prototype = new WebFXTree;

WebFXVTree.prototype.selectValue = function()
{
	var e = document.getElementsByName( webFXVTreeConfig.chooseName );
	var values = [];
	for( i=0;i<e.length;i++)
	{
		if( e[i].checked == true )
		{
			values.push( e[i].value);
		}
	}
	return values;
}


⌨️ 快捷键说明

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