CodeThatTree - Run-time features and unlimited depth Example
var text = 'Item';
var CTp = CTree.prototype;
var CT_Menu = {};
//redefine method initFolder for this example for creates each level of tree in run-time
//if your definition is completed you have not use this code
CTp.initFolder = function(node_id){
var t = this, node = t.getNode(node_id), n = t.getNode(node_id + "_more"), HTML, c;
if (Undef(node) || Undef(n)) return;
if (Def(n)) {n.parent = -1; n._id = "";}; //delete temporary node that will init
//here you make definiton in runtime
node.def = mkRndLevel();
//inherit styles : parent + current node
t.initNode(node, node.def, node.style, null); //init folder
c = node.getChildren();
for (var i=0; i < c.length; i++){
if (c[i].type && c[i].state) c[i].state=0; //t.initFolder(c[i]._id);
};
node.paintChildren();
};
//make Random level for tree
function mkRndLevel(){
var r = Math.round(Math.random()*10)+1, b = Math.round(Math.random()*3)+1, i, j, def = {};
def.items = new Array();
for (i = 0; i < r; i++){
def.items[i] = {
"text": text + ' ' + i + '/' + r,
//remember for ie you need delay to put right values into global variable
//it depends on order of call handlers
"action" : {"js": "window.setTimeout('treeInfo()', 50)"}
};
//this node will be folder
if (i < b){
def.items[i].menu = {};
};
};
return def.items;
};
//CT_Tree global object (Current active tree)
//CT_Tree.curr - current node of tree
function treeInfo(text){
document.forms['data'].info.value = 'Current node is ' + CT_Tree.curr.text
+ '\nNode index is ' + CT_Tree.curr.id
+ '\nNode id is ' + CT_Tree.curr._id
+ '\nThis is ' + ((CT_Tree.curr.type)? ((CT_Tree.curr.state)?' opened ': 'closed ') + 'folder':'node')
+ "\nNode count: " + CT_Tree.nodes.length;
};
//r - user variable that reference to tree (tree_unlimit.html)
function check(id){
var s = r.getState(id), m = 'No such node ' + id + ' in tree';
if (s) m = 'Node is visible';
if (!s && s != null) m = 'Node is hidden';
alert(m);
};
var TreeDef = {
"loadtype":0,
"position":{absolute:false, pos:[10,10]},
"savestate": 0,
"style":{
'imgitem' : "img/ats.gif",
'imgdir' : "img/atc.gif",
'imgdiropen' : "img/ato.gif",
'bgcolor' : 'white',
'bgcolorcurr' : 'red',
'bgcoloropen' : 'pink',
'size':[100, 18]
},
"styleover":{
'bgcolor' : 'lightblue',
'bgcoloropen' : 'gray',
'bgcolorcurr':'yellow'
}
};
//init first level
TreeDef.items = mkRndLevel();
| |
[ Home ] [ Forum ] [ Contacts ] [ Site Map ] [ News ] [ Links ] [ Sales & Prices ] [ Downloads ] |
[ Go Top ] |
© CodeThat.com, 2003-2008
Design by XTLabs, Inc.