📄 xvtree.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, '<').replace(/>/g, '>');
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 + -