- Timestamp:
- 2011/03/09 14:55:25 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/html/user_data/packages/admin/js/file_manager.js
r20116 r20566 21 21 */ 22 22 23 var tree = ""; // 生成HTML格納24 var count = 0; // ループカウンタ25 var arrTreeStatus = new Array(); // ツリー状態保持26 var old_select_id = ''; // 前回選択していたファイル27 var selectFileHidden = ""; // 選択したファイルのhidden名28 var treeStatusHidden = ""; // ツリー状態保存用のhidden名29 var modeHidden = ""; // modeセットhidden名23 var tree = ""; // 生成HTML格納 24 var count = 0; // ループカウンタ 25 var arrTreeStatus = new Array(); // ツリー状態保持 26 var old_select_id = ''; // 前回選択していたファイル 27 var selectFileHidden = ""; // 選択したファイルのhidden名 28 var treeStatusHidden = ""; // ツリー状態保存用のhidden名 29 var modeHidden = ""; // modeセットhidden名 30 30 31 31 // ツリー表示 32 32 function fnTreeView(view_id, arrTree, openFolder, selectHidden, treeHidden, mode) { 33 selectFileHidden = selectHidden;34 treeStatusHidden = treeHidden;35 modeHidden = mode;36 37 for(i = 0; i < arrTree.length; i++) {38 39 id = arrTree[i][0];40 level = arrTree[i][3];41 42 if(i == 0) {43 old_id = "0";44 old_level = 0;45 } else {46 old_id = arrTree[i-1][0];47 old_level = arrTree[i-1][3];48 }49 50 // 階層上へ戻る51 if(level <= (old_level - 1)) {52 tmp_level = old_level - level;53 for(up_roop = 0; up_roop <= tmp_level; up_roop++) {54 tree += '</div>';55 }56 }57 58 // 同一階層で次のフォルダへ59 if(id != old_id && level == old_level) tree += '</div>';60 61 // 階層の分だけスペースを入れる62 for(space_cnt = 0; space_cnt < arrTree[i][3]; space_cnt++) {63 tree += " ";64 }65 66 // 階層画像の表示・非表示処理67 if(arrTree[i][4]) {68 if(arrTree[i][1] == '_parent') {69 rank_img = IMG_MINUS;70 } else {71 rank_img = IMG_NORMAL;72 }73 // 開き状態を保持74 arrTreeStatus.push(arrTree[i][2]);75 display = 'block';76 } else {77 if(arrTree[i][1] == '_parent') {78 rank_img = IMG_PLUS;79 } else {80 rank_img = IMG_NORMAL;81 }82 display = 'none';83 }84 85 arrFileSplit = arrTree[i][2].split("/");86 file_name = arrFileSplit[arrFileSplit.length-1];87 88 // フォルダの画像を選択89 if(arrTree[i][2] == openFolder) {90 folder_img = IMG_FOLDER_OPEN;91 file_name = "<b>" + file_name + "</b>";92 } else {93 folder_img = IMG_FOLDER_CLOSE;94 }95 96 // 階層画像に子供がいたらオンクリック処理をつける97 if(rank_img != IMG_NORMAL) {98 tree += '<a href="javascript:fnTreeMenu(\'tree'+ i +'\',\'rank_img'+ i +'\',\''+ arrTree[i][2] +'\')"><img src="'+ rank_img +'" border="0" name="rank_img'+ i +'" id="rank_img'+ i +'">';99 } else {100 tree += '<img src="'+ rank_img +'" border="0" name="rank_img'+ i +'" id="rank_img'+ i +'">';101 }102 tree += '<a href="javascript:fnFolderOpen(\''+ arrTree[i][2] +'\')"><img src="'+ folder_img +'" border="0" name="tree_img'+ i +'" id="tree_img'+ i +'"> '+ file_name +'</a><br/>';103 tree += '<div id="tree'+ i +'" style="display:'+ display +'">';104 105 }106 fnDrow(view_id, tree);107 //document.tree_form.tree_test2.focus();33 selectFileHidden = selectHidden; 34 treeStatusHidden = treeHidden; 35 modeHidden = mode; 36 37 for(i = 0; i < arrTree.length; i++) { 38 39 id = arrTree[i][0]; 40 level = arrTree[i][3]; 41 42 if(i == 0) { 43 old_id = "0"; 44 old_level = 0; 45 } else { 46 old_id = arrTree[i-1][0]; 47 old_level = arrTree[i-1][3]; 48 } 49 50 // 階層上へ戻る 51 if(level <= (old_level - 1)) { 52 tmp_level = old_level - level; 53 for(up_roop = 0; up_roop <= tmp_level; up_roop++) { 54 tree += '</div>'; 55 } 56 } 57 58 // 同一階層で次のフォルダへ 59 if(id != old_id && level == old_level) tree += '</div>'; 60 61 // 階層の分だけスペースを入れる 62 for(space_cnt = 0; space_cnt < arrTree[i][3]; space_cnt++) { 63 tree += " "; 64 } 65 66 // 階層画像の表示・非表示処理 67 if(arrTree[i][4]) { 68 if(arrTree[i][1] == '_parent') { 69 rank_img = IMG_MINUS; 70 } else { 71 rank_img = IMG_NORMAL; 72 } 73 // 開き状態を保持 74 arrTreeStatus.push(arrTree[i][2]); 75 display = 'block'; 76 } else { 77 if(arrTree[i][1] == '_parent') { 78 rank_img = IMG_PLUS; 79 } else { 80 rank_img = IMG_NORMAL; 81 } 82 display = 'none'; 83 } 84 85 arrFileSplit = arrTree[i][2].split("/"); 86 file_name = arrFileSplit[arrFileSplit.length-1]; 87 88 // フォルダの画像を選択 89 if(arrTree[i][2] == openFolder) { 90 folder_img = IMG_FOLDER_OPEN; 91 file_name = "<b>" + file_name + "</b>"; 92 } else { 93 folder_img = IMG_FOLDER_CLOSE; 94 } 95 96 // 階層画像に子供がいたらオンクリック処理をつける 97 if(rank_img != IMG_NORMAL) { 98 tree += '<a href="javascript:fnTreeMenu(\'tree'+ i +'\',\'rank_img'+ i +'\',\''+ arrTree[i][2] +'\')"><img src="'+ rank_img +'" border="0" name="rank_img'+ i +'" id="rank_img'+ i +'">'; 99 } else { 100 tree += '<img src="'+ rank_img +'" border="0" name="rank_img'+ i +'" id="rank_img'+ i +'">'; 101 } 102 tree += '<a href="javascript:fnFolderOpen(\''+ arrTree[i][2] +'\')"><img src="'+ folder_img +'" border="0" name="tree_img'+ i +'" id="tree_img'+ i +'"> '+ file_name +'</a><br/>'; 103 tree += '<div id="tree'+ i +'" style="display:'+ display +'">'; 104 105 } 106 fnDrow(view_id, tree); 107 //document.tree_form.tree_test2.focus(); 108 108 } 109 109 110 110 // Tree状態をhiddenにセット 111 111 function setTreeStatus(name) { 112 var tree_status = "";113 for(i=0; i < arrTreeStatus.length ;i++) {114 if(i != 0) tree_status += '|';115 tree_status += arrTreeStatus[i];116 }117 document.form1[name].value = tree_status;112 var tree_status = ""; 113 for(i=0; i < arrTreeStatus.length ;i++) { 114 if(i != 0) tree_status += '|'; 115 tree_status += arrTreeStatus[i]; 116 } 117 document.form1[name].value = tree_status; 118 118 } 119 119 120 120 // Tree状態を削除する(閉じる状態へ) 121 121 function fnDelTreeStatus(path) { 122 for(i=0; i < arrTreeStatus.length ;i++) {123 if(arrTreeStatus[i] == path) {124 arrTreeStatus[i] = "";125 }126 }122 for(i=0; i < arrTreeStatus.length ;i++) { 123 if(arrTreeStatus[i] == path) { 124 arrTreeStatus[i] = ""; 125 } 126 } 127 127 } 128 128 // ツリー描画 129 129 function fnDrow(id, tree) { 130 // ブラウザ取得131 MyBR = fnGetMyBrowser();132 // ブラウザ事に処理を切り分け133 switch(myBR) {134 // IE4の時の表示135 case 'I4':136 document.all(id).innerHTML = tree;137 break;138 // NN4の時の表示139 case 'N4':140 document.layers[id].document.open();141 document.layers[id].document.write("<div>");142 document.layers[id].document.write(tree);143 document.layers[id].document.write("</div>");144 document.layers[id].document.close();145 break;146 default:147 document.getElementById(id).innerHTML=tree;148 break;149 }130 // ブラウザ取得 131 MyBR = fnGetMyBrowser(); 132 // ブラウザ事に処理を切り分け 133 switch(myBR) { 134 // IE4の時の表示 135 case 'I4': 136 document.all(id).innerHTML = tree; 137 break; 138 // NN4の時の表示 139 case 'N4': 140 document.layers[id].document.open(); 141 document.layers[id].document.write("<div>"); 142 document.layers[id].document.write(tree); 143 document.layers[id].document.write("</div>"); 144 document.layers[id].document.close(); 145 break; 146 default: 147 document.getElementById(id).innerHTML=tree; 148 break; 149 } 150 150 } 151 151 … … 153 153 function fnTreeMenu(tName, imgName, path) { 154 154 155 tMenu = $("#" + tName);156 157 if(tMenu.css("display") == 'none') {158 fnChgImg(IMG_MINUS, imgName);159 tMenu.show();160 // 階層の開いた状態を保持161 arrTreeStatus.push(path);162 163 } else {164 fnChgImg(IMG_PLUS, imgName);165 tMenu.hide();166 // 閉じ状態を保持167 fnDelTreeStatus(path);168 }155 tMenu = $("#" + tName); 156 157 if(tMenu.css("display") == 'none') { 158 fnChgImg(IMG_MINUS, imgName); 159 tMenu.show(); 160 // 階層の開いた状態を保持 161 arrTreeStatus.push(path); 162 163 } else { 164 fnChgImg(IMG_PLUS, imgName); 165 tMenu.hide(); 166 // 閉じ状態を保持 167 fnDelTreeStatus(path); 168 } 169 169 } 170 170 … … 172 172 function fnDbClick(arrTree, path, is_dir, now_dir, is_parent) { 173 173 174 if(is_dir) {175 if(!is_parent) {176 for(cnt = 0; cnt < arrTree.length; cnt++) {177 if(now_dir == arrTree[cnt][2]) {178 open_flag = false;179 for(status_cnt = 0; status_cnt < arrTreeStatus.length; status_cnt++) {180 if(arrTreeStatus[status_cnt] == arrTree[cnt][2]) open_flag = true;181 }182 if(!open_flag) fnTreeMenu('tree'+cnt, 'rank_img'+cnt, arrTree[cnt][2]);183 }184 }185 }186 fnFolderOpen(path);187 } else {188 // Download189 fnModeSubmit('download','','');190 }174 if(is_dir) { 175 if(!is_parent) { 176 for(cnt = 0; cnt < arrTree.length; cnt++) { 177 if(now_dir == arrTree[cnt][2]) { 178 open_flag = false; 179 for(status_cnt = 0; status_cnt < arrTreeStatus.length; status_cnt++) { 180 if(arrTreeStatus[status_cnt] == arrTree[cnt][2]) open_flag = true; 181 } 182 if(!open_flag) fnTreeMenu('tree'+cnt, 'rank_img'+cnt, arrTree[cnt][2]); 183 } 184 } 185 } 186 fnFolderOpen(path); 187 } else { 188 // Download 189 fnModeSubmit('download','',''); 190 } 191 191 } 192 192 … … 194 194 function fnFolderOpen(path) { 195 195 196 // クリックしたフォルダ情報を保持197 document.form1[selectFileHidden].value = path;198 // treeの状態をセット199 setTreeStatus(treeStatusHidden);200 // submit201 fnModeSubmit(modeHidden,'','');196 // クリックしたフォルダ情報を保持 197 document.form1[selectFileHidden].value = path; 198 // treeの状態をセット 199 setTreeStatus(treeStatusHidden); 200 // submit 201 fnModeSubmit(modeHidden,'',''); 202 202 } 203 203 … … 205 205 // 閲覧ブラウザ取得 206 206 function fnGetMyBrowser() { 207 myOP = window.opera; // OP208 myN6 = document.getElementById; // N6209 myIE = document.all; // IE210 myN4 = document.layers; // N4211 if (myOP) myBR="O6"; // OP6以上212 else if (myIE) myBR="I4"; // IE4以上213 else if (myN6) myBR="N6"; // NS6以上214 else if (myN4) myBR="N4"; // NN4215 else myBR=""; // その他216 217 return myBR;207 myOP = window.opera; // OP 208 myN6 = document.getElementById; // N6 209 myIE = document.all; // IE 210 myN4 = document.layers; // N4 211 if (myOP) myBR="O6"; // OP6以上 212 else if (myIE) myBR="I4"; // IE4以上 213 else if (myN6) myBR="N6"; // NS6以上 214 else if (myN4) myBR="N4"; // NN4 215 else myBR=""; // その他 216 217 return myBR; 218 218 } 219 219 220 220 // imgタグの画像変更 221 221 function fnChgImg(fileName,imgName){ 222 $("#" + imgName).attr("src", fileName);222 $("#" + imgName).attr("src", fileName); 223 223 } 224 224 225 225 // ファイル選択 226 226 function fnSelectFile(id, val) { 227 old_select_id = id;228 } 227 old_select_id = id; 228 }
Note: See TracChangeset
for help on using the changeset viewer.
