source: temp/trunk/html/test/uehara/js/tree.js @ 8984

Revision 8984, 4.1 KB checked in by uehara, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1var IMG_FOLDER_CLOSE   = "./img/folder_close.gif";              // ¥Õ¥©¥ë¥À¥¯¥í¡¼¥º»þ²èÁü¥Ñ¥¹
2var IMG_FOLDER_CLOSE_P = "./img/folder_close_p.gif";            // ¥Õ¥©¥ë¥À¥¯¥í¡¼¥º»þ²èÁü¥Ñ¥¹(»ÒÍ­¤ê)
3var IMG_FOLDER_OPEN    = "./img/folder_open.gif";               // ¥Õ¥©¥ë¥À¥ª¡¼¥×¥ó»þ²èÁü¥Ñ¥¹
4var IMG_FOLDER_OPEN_M  = "./img/folder_open_m.gif";             // ¥Õ¥©¥ë¥À¥ª¡¼¥×¥ó»þ²èÁü¥Ñ¥¹(»ÒÍ­¤ê)
5
6var tree = "";
7var count = 0;
8var arrTreeStatus = new Array();
9
10// ¥Ä¥ê¡¼É½¼¨
11function fnTreeView(view_id, arrTree) {
12
13    tree += '<form name="tree_form">';
14    for(i = 0; i < arrTree.length; i++) {
15       
16        id = arrTree[i][0];
17        level = arrTree[i][3];
18       
19        if(i == 0) {
20            old_id = "0";
21            old_level = 0;
22        } else {
23            old_id = arrTree[i-1][0];
24            old_level = arrTree[i-1][3];
25        }
26   
27        // ³¬ÁØ¾å¤ØÌá¤ë
28        if(level <= (old_level - 1)) {
29            tmp_level = old_level - level;
30            for(up_roop = 0; up_roop <= tmp_level; up_roop++) {
31                tree += '</div>';
32            }
33        }
34       
35        // Ʊ°ì³¬ÁؤǼ¡¤Î¥Õ¥©¥ë¥À¤Ø
36        if(id != old_id && level == old_level) tree += '</div>';
37   
38        // ³¬ÁؤÎʬ¤À¤±¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤ë
39        for(space_cnt = 0; space_cnt < arrTree[i][3]; space_cnt++) {
40            tree += "¡¡";
41        }
42       
43        // ½é´üɽ¼¨¤Î²èÁü¤òÁªÂò
44        if(arrTree[i][1] == '_parent') {
45            if(arrTree[i][4]) {
46                defalt_img = IMG_FOLDER_OPEN_M;
47            } else {
48                defalt_img = IMG_FOLDER_CLOSE_P;
49            }
50        } else {
51            if(arrTree[i][4]) {
52                defalt_img = IMG_FOLDER_OPEN;
53            } else {
54                defalt_img = IMG_FOLDER_CLOSE;
55            }
56        }
57
58        if(arrTree[i][4]) {
59            // ³«¤­¾õÂÖ¤òÊÝ»ý
60            arrTreeStatus.push(arrTree[i][2]);
61            display = 'block';
62        } else {
63            display = 'none';
64        }
65        tree += '<input type="image" src="'+ defalt_img +'" border="0" name="tree_img'+ i +'" onclick="javascript:fnTreeMenu(\'tree'+ i +'\',\''+ arrTree[i][1] +'\',\'tree_img'+ i +'\',\''+ arrTree[i][2] +'\')">'+ arrTree[i][2] +'<br/>';
66        tree += '<div id="tree'+ i +'" style="display:'+ display +'">';
67   
68    }
69    tree += '</form>';
70    fnDrow(view_id, tree);
71    document.tree_form.tree_img10.focus(); 
72}
73
74// Tree¾õÂÖ¤òhidden¤Ë¥»¥Ã¥È
75function setTreeStatus(name) {
76    var tree_status = "";
77    for(i=0; i < arrTreeStatus.length ;i++) {
78        if(i != 0) tree_status += '|';
79        tree_status += arrTreeStatus[i];
80    }
81    document.form1[name].value = tree_status;
82}
83
84// Tree¾õÂÖ¤òºï½ü¤¹¤ë(ÊĤ¸¤ë¾õÂÖ¤Ø)
85function fnDelTreeStatus(path) {
86    for(i=0; i < arrTreeStatus.length ;i++) {
87        if(arrTreeStatus[i] == path) {
88            arrTreeStatus[i] = "";
89        }
90    }
91}
92// ¥Ä¥ê¡¼ÉÁ²è
93function fnDrow(id, tree) {
94    // ¥Ö¥é¥¦¥¶¼èÆÀ
95    MyBR = fnGetMyBrowser();
96    // ¥Ö¥é¥¦¥¶»ö¤Ë½èÍý¤òÀÚ¤êʬ¤±
97    switch(myBR) {
98        // IE4¤Î»þ¤Îɽ¼¨
99        case 'I4':
100            document.all(id).innerHTML = tree;
101            break;
102        // NN4¤Î»þ¤Îɽ¼¨
103        case 'N4':
104            document.layers[id].document.open();
105            document.layers[id].document.write("<div>");
106            document.layers[id].document.write(tree);
107            document.layers[id].document.write("</div>");
108            document.layers[id].document.close();
109            break;
110        default:
111            document.getElementById(id).innerHTML=tree;
112            break;
113    }
114}
115
116// ³¬Áإĥ꡼¥á¥Ë¥å¡¼É½¼¨¡¦Èóɽ¼¨½èÍý
117function fnTreeMenu(tName, type, imgName, path) {
118
119    tMenu = document.all[tName].style;
120    if(tMenu.display == 'none') {
121        if(type == '_parent') {
122            fnChgImg(IMG_FOLDER_OPEN_M, imgName);
123        } else {
124            fnChgImg(IMG_FOLDER_OPEN, imgName);
125        }
126        tMenu.display = "block";
127        // ¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ë¾õÂÖ¤òÊÝ»ý
128        arrTreeStatus.push(path);
129
130    } else {
131        if(type == '_parent') {
132            fnChgImg(IMG_FOLDER_CLOSE_P, imgName);
133        } else {
134            fnChgImg(IMG_FOLDER_CLOSE, imgName);
135        }
136        tMenu.display = "none";
137        // ÊĤ¸¾õÂÖ¤òÊÝ»ý
138        fnDelTreeStatus(path);
139    }
140    // ¥¯¥ê¥Ã¥¯¤·¤¿¥Õ¥©¥ë¥À¾ðÊó¤òÊÝ»ý
141    document.form1['tree_select_file'].value = path;
142    // tree¤Î¾õÂÖ¤ò¥»¥Ã¥È
143    setTreeStatus('tree_status');
144    // submit
145    fnModeSubmit('move','','');
146}
147
148// ±ÜÍ÷¥Ö¥é¥¦¥¶¼èÆÀ
149function fnGetMyBrowser() {
150    myOP = window.opera;            // OP
151    myN6 = document.getElementById; // N6
152    myIE = document.all;            // IE
153    myN4 = document.layers;         // N4
154    if      (myOP) myBR="O6";       // OP6°Ê¾å
155    else if (myIE) myBR="I4";       // IE4°Ê¾å
156    else if (myN6) myBR="N6";       // NS6°Ê¾å
157    else if (myN4) myBR="N4";       // NN4
158    else           myBR="";         // ¤½¤Î¾
159       
160    return myBR;
161}
162
163// img¥¿¥°¤Î²èÁüÊѹ¹
164function fnChgImg(fileName,imgName){
165    document.images[imgName].src = fileName;
166}
Note: See TracBrowser for help on using the repository browser.