📄 tv20.js
字号:
}
//类stack定义get,put方法
stack.prototype.get = stack_get ;
stack.prototype.put = stack_put ;
//=======END ==========
//=========================================
// new一个stack类的对象,-->userstack
userstack = new stack() ;
/////////////////////////////////////////////////////////////////////////
//暂时不用
///////////////////////////////////////////////////////////////////////////
//========================================
//Envrionment to hold Listeners
//========================================
tv_listeners = new Array() ;
function listener( type , handler ) {
alert("listener");
this.type = type ;
this.handler = handler ;
this.id = tv_listeners.length ;
tv_listeners[ tv_listeners.length ] = this ;
}
function addListener( type , handler ) {
alert("addListener");
new listener( type , handler ) ;
}
//=== END =====
//added by msb for the sort and move up/down
function nodeitem_moveUp() {
alert("nodeitem_moveUp");
if (this == tv_topnodeitem) return; //topitem
ssubitems = this.parent.subitems;
for ( i=0; i<ssubitems.length; i++ ) {
if( ssubitems[i] == this ) {
break;
}
}
if (i==0) return;
ssubitems[i] = ssubitems[i-1];
ssubitems[i-1] = this;
if (i==ssubitems.length-1) {
ssubitems[i-1].status = "2" + ssubitems[i-1].status.substring(1, 3);
ssubitems[i].status = "1" + ssubitems[i].status.substring(1, 3);
}
/*
itemTemp = this;
ssubitems[this.nodeIndex-1] */
/* for ( i=0; i<ssubitems.length; i++ ) {
if( ssubitems[i] != null && ssubitems[i].nodeIndex == (this.nodeIndex-1) )
previousitem = ssubitems[i]
}
previousitem.nodeIndex = this.nodeIndex;
this.nodeIndex = this.nodeIndex -1;
swap(this,previousitem);
*/
//label_on_click(this.id);
this.parent.refresh();
lable_on_click(this.id);
}
function nodeitem_moveDown() {
alert(nodeitem_moveDown)
if (this == tv_topnodeitem) return; //topitem
ssubitems = this.parent.subitems;
for ( i=0; i<ssubitems.length; i++ ) {
if( ssubitems[i] == this ) {
break;
}
}
if (i==ssubitems.length-1) return;
ssubitems[i] = ssubitems[i+1];
ssubitems[i+1] = this;
if (i==ssubitems.length-2) {
ssubitems[i+1].status = "1" + ssubitems[i+1].status.substring(1, 3);
ssubitems[i].status = "2" + ssubitems[i].status.substring(1, 3);
}
this.parent.refresh();
lable_on_click(this.id);
}
/*function swap (item1, item2) {
nodeitems[item1.id] = item2;
nodeitems[item2.id] = item1;
idTemp = item1.id;
item1.id = item2.id;
item2.id = idTemp;
}*/
function nodeitem_setTag( obj ) {
alert("nodeitem_setTag");
this.tag = obj ;
}
function nodeitem_getTag() {
alert("nodeitem_getTag");
return this.tag ;
}
//刷新
function nodeitem_refresh() {
alert("refresh");
str = "<table border='0' cellspacing='0' cellpadding='0'><tr><td>" ;
str_f = "" ;
for( j = this.parent ; j != null ; j = j.parent ) {
if( j.status.substring( 0 , 1 ) == 1 )
str_f = "<img src = '" + treeview_box_0_none + "' align='absmiddle'>" + str_f ;
else
str_f = "<img src = '" + treeview_box_0_line + "' align='absmiddle'>" + str_f ;
}
str = str + str_f ;
str += "<img id = 'box" + this.id + "' nodeid = '" + this.id + "' src = '" ;
switch( this.status.substring( 0 , 2 ) ) {
case "10" : str += treeview_box_1_none ; break ;
case "11" : str += treeview_box_1_close ; break ;
case "12" : str += treeview_box_1_open ; break ;
case "20" : str += treeview_box_2_none ; break ;
case "21" : str += treeview_box_2_close ; break ;
case "22" : str += treeview_box_2_open ; break ;
}
str += "' align='absmiddle' onclick='box_on_click(this)'>" ;
if( this.img == "" )
str += this.img ;
else
str += "<img src = '" + this.img + "' align='absmiddle' width='16' height='16'>" ;
str += "</td><td><table border='0' cellspacing='1' cellpadding='1' style='font-size:9pt; color:#333333' id='lablePanel" + this.id + "'><tr><td ondblclick = 'lable_on_dblclick(" + this.id + ")' onclick='lable_on_click(" + this.id + ")' style='cursor:hand' id='f_lablePanel" + this.id + "' nowrap>" + this.lable + "</td></tr></table></td></tr></table>" ;
document.all( "preface" + this.id ).innerHTML = str ;
document.all( "tv_panel_" + this.id ).innerHTML = "" ;
for( m = 0 ; m < this.subitems.length ; m ++ )
if( this.subitems[ m ] != null ) {
userstack.put( m ) ;
this.subitems[ m ].show() ;
m = userstack.get() ;
}
}
//删除一个节点
function nodeitem_remove() {
pparent = this.parent ;
if( pparent == null ) {
removenodeitem( this.id ) ;
for(var i in document.all){
if (document.all[i].tagName == "BODY")
{
document.all[i].innerHTML = "" ;
break
}
}
return ;
}
lastsubitem = null ;
for( i = 0 ; i < pparent.subitems.length ; i ++ )
if( pparent.subitems[ i ] != null )
if ( pparent.subitems[ i ] == this )
pparent.subitems[ i ] = null ;
else
lastsubitem = pparent.subitems[ i ] ;
pparent.maxsubitem = lastsubitem ;
if( lastsubitem == null )
pparent.status = pparent.status.substring( 0 , 1 ) + "0" + pparent.status.substring( 2 , 3 ) ;
else
pparent.maxsubitem.status = "1" + pparent.maxsubitem.status.substring( 1 , 3 ) ;
removenodeitem( this.id ) ;
//added by msb for move up/down
arrTemp = new Array();
j = 0;
for ( i=0; i<pparent.subitems.length; i++ ) {
if ( pparent.subitems[i] != null ) {
arrTemp[j] = pparent.subitems[i];
j++;
}
}
this.parent.subitems = arrTemp;
//end added
pparent.refresh() ;
//tv_topnodeitem.refresh() ;
}
//删除一个节点
function removenodeitem( id ) {
curitem = nodeitems[ id ] ;
nodeitems[ id ] = null ;
for( m = 0 ; m < curitem.subitems.length ; m ++ )
if( curitem.subitems[ m ] != null ) {
userstack.put( m ) ;
removenodeitem( curitem.subitems[ m ].id ) ;
m = userstack.get() ;
}
}
//函数:删除一个节点
function deleteNode( key ) {
curNode = findNode( key ) ;
if( curNode == null )
return false ;
curNode.remove() ;
return true ;
}
tv_curlable = null ;
tv_curlable_f = null ;
//单击(文字)的时候,调用本方法
function lable_on_click( id ) {
key = nodeitems[ id ].key ;
if( nodeitems[ id ].parent == null )
parentkey = "" ;
else
parentkey = nodeitems[ id ].parent.key ;
if( tv_curlable != null ) {
tv_curlable.bgColor = "transparent" ;
tv_curlable.style.color = "#333333" ;
tv_curlable_f.bgColor = "transparent" ;
}
tv_curlable = document.all("lablePanel"+id) ;
tv_curlable.bgColor = "#000000" ;
tv_curlable.style.color = "#FFFFFF" ;
tv_curlable_f = document.all("f_lablePanel"+id) ;
tv_curlable_f.bgColor = "#888888" ;
for( i = 0 ; i < tv_listeners.length ; i ++ )
if( tv_listeners[ i ].type == "click" ) {
h = tv_listeners[ i ].handler ;
eval( h + "( '" + key + "' , '" + parentkey + "' ) ; " ) ;
}
}
//双击(文字)的时候
function lable_on_dblclick( id ) {
key = nodeitems[ id ].key ;
if( nodeitems[ id ].parent == null )
parentkey = "" ;
else
parentkey = nodeitems[ id ].parent.key ;
if( tv_curlable != null ) {
tv_curlable.bgColor = "transparent" ;
tv_curlable.style.color = "#333333" ;
tv_curlable_f.bgColor = "transparent" ;
}
tv_curlable = document.all("lablePanel"+id) ;
tv_curlable.bgColor = "#000000" ;
tv_curlable.style.color = "#FFFFFF" ;
tv_curlable_f = document.all("f_lablePanel"+id) ;
tv_curlable_f.bgColor = "#888888" ;
for( i = 0 ; i < tv_listeners.length ; i ++ )
if( tv_listeners[ i ].type == "dblclick" ) {
h = tv_listeners[ i ].handler ;
eval( h + "( '" + key + "' , '" + parentkey + "' ) ; " ) ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -