- Timestamp:
- 2013/08/17 01:05:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/html/user_data/packages/admin/js/admin.js
r23066 r23079 327 327 } 328 328 } 329 330 (function($) { 331 /** 332 * パンくず 333 */ 334 var o; 335 336 $.fn.breadcrumbs = function(options) { 337 var defaults = { 338 bread_crumbs: '', 339 start_node: '<span>ホーム</span>', 340 anchor_node: '<a onclick="eccube.setModeAndSubmit(\'tree\', \'parent_category_id\', ' 341 + '{category_id}); return false" href="javascript:;" />', 342 delimiter_node: '<span> > </span>' 343 }; 344 345 return this.each(function() { 346 if (options) { 347 o = $.fn.extend(defaults, options); 348 } 349 var $this = $(this); 350 var total = o.bread_crumbs.length; 351 var $node = $(o.start_node); 352 353 for (var i = total - 1; i >= 0; i--) { 354 if (i == total -1) $node.append(o.delimiter_node); 355 356 var anchor = o.anchor_node 357 .replace(/{category_id}/ig, 358 o.bread_crumbs[i].category_id); 359 $(anchor) 360 .text(o.bread_crumbs[i].category_name) 361 .appendTo($node); 362 363 if (i > 0) $node.append(o.delimiter_node); 364 } 365 $this.html($node); 366 return this; 367 }); 368 }; 369 })(jQuery); 370 371 /** 372 * ファイル管理 373 */ 374 var tree = ""; // 生成HTML格納 375 var count = 0; // ループカウンタ 376 var arrTreeStatus = []; // ツリー状態保持 377 var old_select_id = ''; // 前回選択していたファイル 378 var selectFileHidden = ""; // 選択したファイルのhidden名 379 var treeStatusHidden = ""; // ツリー状態保存用のhidden名 380 var modeHidden = ""; // modeセットhidden名 381 382 // ツリー表示 383 function fnTreeView(view_id, arrTree, openFolder, selectHidden, treeHidden, mode) { 384 selectFileHidden = selectHidden; 385 treeStatusHidden = treeHidden; 386 modeHidden = mode; 387 388 for(i = 0; i < arrTree.length; i++) { 389 id = arrTree[i][0]; 390 level = arrTree[i][3]; 391 392 if(i == 0) { 393 old_id = "0"; 394 old_level = 0; 395 } else { 396 old_id = arrTree[i-1][0]; 397 old_level = arrTree[i-1][3]; 398 } 399 400 // 階層上へ戻る 401 if(level <= (old_level - 1)) { 402 tmp_level = old_level - level; 403 for(up_roop = 0; up_roop <= tmp_level; up_roop++) { 404 tree += '</div>'; 405 } 406 } 407 408 // 同一階層で次のフォルダへ 409 if(id != old_id && level == old_level) tree += '</div>'; 410 411 // 階層の分だけスペースを入れる 412 for(space_cnt = 0; space_cnt < arrTree[i][3]; space_cnt++) { 413 tree += " "; 414 } 415 416 // 階層画像の表示・非表示処理 417 if(arrTree[i][4]) { 418 if(arrTree[i][1] == '_parent') { 419 rank_img = IMG_MINUS; 420 } else { 421 rank_img = IMG_NORMAL; 422 } 423 // 開き状態を保持 424 arrTreeStatus.push(arrTree[i][2]); 425 display = 'block'; 426 } else { 427 if(arrTree[i][1] == '_parent') { 428 rank_img = IMG_PLUS; 429 } else { 430 rank_img = IMG_NORMAL; 431 } 432 display = 'none'; 433 } 434 435 arrFileSplit = arrTree[i][2].split("/"); 436 file_name = arrFileSplit[arrFileSplit.length-1]; 437 438 // フォルダの画像を選択 439 if(arrTree[i][2] == openFolder) { 440 folder_img = IMG_FOLDER_OPEN; 441 file_name = "<b>" + file_name + "</b>"; 442 } else { 443 folder_img = IMG_FOLDER_CLOSE; 444 } 445 446 // 階層画像に子供がいたらオンクリック処理をつける 447 if(rank_img != IMG_NORMAL) { 448 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 +'">'; 449 } else { 450 tree += '<img src="'+ rank_img +'" border="0" name="rank_img'+ i +'" id="rank_img'+ i +'">'; 451 } 452 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/>'; 453 tree += '<div id="tree'+ i +'" style="display:'+ display +'">'; 454 } 455 fnDrow(view_id, tree); 456 //document.tree_form.tree_test2.focus(); 457 } 458 459 // Tree状態をhiddenにセット 460 function setTreeStatus(name) { 461 var tree_status = ""; 462 for(i=0; i < arrTreeStatus.length ;i++) { 463 if(i != 0) tree_status += '|'; 464 tree_status += arrTreeStatus[i]; 465 } 466 document.form1[name].value = tree_status; 467 } 468 469 // Tree状態を削除する(閉じる状態へ) 470 function fnDelTreeStatus(path) { 471 for(i=0; i < arrTreeStatus.length ;i++) { 472 if(arrTreeStatus[i] == path) { 473 arrTreeStatus[i] = ""; 474 } 475 } 476 } 477 // ツリー描画 478 function fnDrow(id, tree) { 479 // ブラウザ取得 480 MyBR = fnGetMyBrowser(); 481 // ブラウザ事に処理を切り分け 482 switch(myBR) { 483 // IE4の時の表示 484 case 'I4': 485 document.all(id).innerHTML = tree; 486 break; 487 // NN4の時の表示 488 case 'N4': 489 document.layers[id].document.open(); 490 document.layers[id].document.write("<div>"); 491 document.layers[id].document.write(tree); 492 document.layers[id].document.write("</div>"); 493 document.layers[id].document.close(); 494 break; 495 default: 496 document.getElementById(id).innerHTML=tree; 497 break; 498 } 499 } 500 501 // 階層ツリーメニュー表示・非表示処理 502 function fnTreeMenu(tName, imgName, path) { 503 tMenu = $("#" + tName); 504 505 if(tMenu.css("display") == 'none') { 506 fnChgImg(IMG_MINUS, imgName); 507 tMenu.show(); 508 // 階層の開いた状態を保持 509 arrTreeStatus.push(path); 510 } else { 511 fnChgImg(IMG_PLUS, imgName); 512 tMenu.hide(); 513 // 閉じ状態を保持 514 fnDelTreeStatus(path); 515 } 516 } 517 518 // ファイルリストダブルクリック処理 519 function fnDbClick(arrTree, path, is_dir, now_dir, is_parent) { 520 if(is_dir) { 521 if(!is_parent) { 522 for(cnt = 0; cnt < arrTree.length; cnt++) { 523 if(now_dir == arrTree[cnt][2]) { 524 open_flag = false; 525 for(status_cnt = 0; status_cnt < arrTreeStatus.length; status_cnt++) { 526 if(arrTreeStatus[status_cnt] == arrTree[cnt][2]) open_flag = true; 527 } 528 if(!open_flag) fnTreeMenu('tree'+cnt, 'rank_img'+cnt, arrTree[cnt][2]); 529 } 530 } 531 } 532 fnFolderOpen(path); 533 } else { 534 // Download 535 eccube.setModeAndSubmit('download','',''); 536 } 537 } 538 539 // フォルダオープン処理 540 function fnFolderOpen(path) { 541 // クリックしたフォルダ情報を保持 542 document.form1[selectFileHidden].value = path; 543 // treeの状態をセット 544 setTreeStatus(treeStatusHidden); 545 // submit 546 eccube.setModeAndSubmit(modeHidden,'',''); 547 } 548 549 // 閲覧ブラウザ取得 550 function fnGetMyBrowser() { 551 myOP = window.opera; // OP 552 myN6 = document.getElementById; // N6 553 myIE = document.all; // IE 554 myN4 = document.layers; // N4 555 if (myOP) myBR="O6"; // OP6以上 556 else if (myIE) myBR="I4"; // IE4以上 557 else if (myN6) myBR="N6"; // NS6以上 558 else if (myN4) myBR="N4"; // NN4 559 else myBR=""; // その他 560 561 return myBR; 562 } 563 564 // imgタグの画像変更 565 function fnChgImg(fileName,imgName){ 566 $("#" + imgName).attr("src", fileName); 567 } 568 569 // ファイル選択 570 function fnSelectFile(id, val) { 571 old_select_id = id; 572 }
Note: See TracChangeset
for help on using the changeset viewer.