/adei/ui

To get this branch, use:
bzr branch http://darksoft.org/webbzr/adei/ui

« back to all changes in this revision

Viewing changes to includes/dhtmlx/ext/dhtmlxtree_start.js

  • Committer: Suren A. Chilingaryan
  • Date: 2008-10-29 03:02:24 UTC
  • mto: This revision was merged to the branch mainline in revision 116.
  • Revision ID: csa@dside.dyndns.org-20081029030224-yc3wy2dti4htlfxf
New version of dhtmlxmenu and dhtmlxtree is added

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//v.2.0 build 81009
 
2
 
 
3
/*
 
4
Copyright DHTMLX LTD. http://www.dhtmlx.com
 
5
You allowed to use this component or parts of it under GPL terms
 
6
To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com
 
7
*/
 
8
function dhtmlXTreeFromHTML(obj){
 
9
                        if (typeof(obj)!="object")
 
10
                                obj=document.getElementById(obj);
 
11
 
 
12
            var n=obj;
 
13
                        var id=n.id;
 
14
                        var cont="";
 
15
 
 
16
                        for (var j=0; j<obj.childNodes.length; j++)
 
17
                                if (obj.childNodes[j].nodeType=="1"){
 
18
                                        if (obj.childNodes[j].tagName=="XMP"){
 
19
                                                var cHead=obj.childNodes[j];
 
20
                                                for (var m=0; m<cHead.childNodes.length; m++)
 
21
                                                        cont+=cHead.childNodes[m].data;
 
22
 
 
23
                                                }
 
24
                                        else if (obj.childNodes[j].tagName.toLowerCase()=="ul")
 
25
                                                cont=dhx_li2trees(obj.childNodes[j],new Array(),0);
 
26
                                        break;
 
27
                                        }
 
28
                        obj.innerHTML="";
 
29
 
 
30
 
 
31
                        var t=new dhtmlXTreeObject(obj,"100%","100%",0);
 
32
                        var z_all=new Array();
 
33
                        for ( b in t )
 
34
                                z_all[b.toLowerCase()]=b;
 
35
 
 
36
                        var atr=obj.attributes;
 
37
                        for (var a=0; a<atr.length; a++)
 
38
                                if ((atr[a].name.indexOf("set")==0)||(atr[a].name.indexOf("enable")==0)){
 
39
                                        var an=atr[a].name;
 
40
                    if (!t[an])
 
41
                                                an=z_all[atr[a].name];
 
42
                                        t[an].apply(t,atr[a].value.split(","));
 
43
                                        }
 
44
 
 
45
                        if (typeof(cont)=="object"){
 
46
                            t.XMLloadingWarning=1;
 
47
                                for (var i=0; i<cont.length; i++){
 
48
                                        var n=t.insertNewItem(cont[i][0],cont[i][3],cont[i][1]);
 
49
                                        if (cont[i][2]) t._setCheck(n,cont[i][2]);
 
50
                                        }
 
51
                                t.XMLloadingWarning=0;
 
52
                                t.lastLoadedXMLId=0;
 
53
                                t._redrawFrom(t);
 
54
                        }
 
55
                        else
 
56
                        t.loadXMLString("<tree id='0'>"+cont+"</tree>");
 
57
            window[id]=t;
 
58
                        return t;
 
59
}
 
60
 
 
61
function dhx_init_trees(){
 
62
    var z=document.getElementsByTagName("div");
 
63
    for (var i=0; i<z.length; i++)
 
64
        if (z[i].className=="dhtmlxTree")
 
65
                        dhtmlXTreeFromHTML(z[i])
 
66
}
 
67
 
 
68
function dhx_li2trees(tag,data,ind){
 
69
        for (var i=0; i<tag.childNodes.length; i++){
 
70
        var z=tag.childNodes[i];
 
71
                if ((z.nodeType==1)&&(z.tagName.toLowerCase()=="li")){
 
72
                        var c=""; var ul=null;
 
73
                                var check=z.getAttribute("checked");
 
74
                                for (var j=0; j<z.childNodes.length; j++){
 
75
                                var zc=z.childNodes[j];
 
76
                                if (zc.nodeType==3) c+=zc.data;
 
77
                                else if (zc.tagName.toLowerCase()!="ul")  c+=dhx_outer_html(zc);
 
78
                                         else ul=zc;
 
79
                        }
 
80
 
 
81
                        data[data.length]=[ind,c,check,(z.id||(data.length+1))];
 
82
                        if (ul)
 
83
                                data=dhx_li2trees(ul,data,(z.id||data.length));
 
84
                }
 
85
        }
 
86
        return data;
 
87
}
 
88
 
 
89
function dhx_outer_html(node){
 
90
                if (node.outerHTML) return node.outerHTML;
 
91
                var temp=document.createElement("DIV");
 
92
                temp.appendChild(node.cloneNode(true));
 
93
                temp=temp.innerHTML;
 
94
                return temp;
 
95
}
 
96
 
 
97
if (window.addEventListener) window.addEventListener("load",dhx_init_trees,false);
 
98
else    if (window.attachEvent) window.attachEvent("onload",dhx_init_trees);
 
99
//(c)dhtmlx ltd. www.dhtmlx.com
 
100
 
 
101