mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@295 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
c16a334632
commit
19094eb18d
3 changed files with 38 additions and 7 deletions
|
|
@ -26,8 +26,19 @@ tree_plus_bottom_icon.src = "./common/tpl/images/plusbottom.gif";
|
||||||
// 폴더를 모두 열고/닫기 위한 변수 설정
|
// 폴더를 모두 열고/닫기 위한 변수 설정
|
||||||
var tree_menu_folder_list = new Array();
|
var tree_menu_folder_list = new Array();
|
||||||
|
|
||||||
|
// 노드의 정보를 가지고 있을 변수
|
||||||
|
var node_info_list = new Array();
|
||||||
|
|
||||||
|
// menu_id별로 요청된 callback_func
|
||||||
|
var node_callback_func = new Array();
|
||||||
|
|
||||||
|
// 메뉴 클릭시 기본으로 동작할 함수
|
||||||
|
function moveTreeMenu(menu_id, node) {
|
||||||
|
alert(node.getAttribute("text"));
|
||||||
|
}
|
||||||
|
|
||||||
// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
|
// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
|
||||||
function loadTreeMenu(url, menu_id, zone_id, title) {
|
function loadTreeMenu(url, menu_id, zone_id, title, callback_func) {
|
||||||
// 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
|
// 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
|
||||||
var zone = xGetElementById(zone_id);
|
var zone = xGetElementById(zone_id);
|
||||||
if(typeof(zone)=="undefined") return;
|
if(typeof(zone)=="undefined") return;
|
||||||
|
|
@ -40,6 +51,12 @@ function loadTreeMenu(url, menu_id, zone_id, title) {
|
||||||
oXml.reset();
|
oXml.reset();
|
||||||
oXml.xml_path = url;
|
oXml.xml_path = url;
|
||||||
|
|
||||||
|
if(typeof(callback_func)=='undefined') {
|
||||||
|
callback_func = moveTreeMenu;
|
||||||
|
}
|
||||||
|
|
||||||
|
node_callback_func[menu_id] = callback_func;
|
||||||
|
|
||||||
// menu_id, zone_id는 계속 달고 다녀야함
|
// menu_id, zone_id는 계속 달고 다녀야함
|
||||||
var param = {menu_id:menu_id, zone_id:zone_id, title:title}
|
var param = {menu_id:menu_id, zone_id:zone_id, title:title}
|
||||||
|
|
||||||
|
|
@ -59,7 +76,6 @@ function drawTreeMenu(oXml, callback_func, resopnse_tags, param) {
|
||||||
|
|
||||||
tree_menu_folder_list[menu_id] = new Array();
|
tree_menu_folder_list[menu_id] = new Array();
|
||||||
|
|
||||||
|
|
||||||
// xml 정보가 들어올때까지 대기 (async)
|
// xml 정보가 들어올때까지 대기 (async)
|
||||||
var xmlDoc = oXml.getResponseXml();
|
var xmlDoc = oXml.getResponseXml();
|
||||||
if(xmlDoc) {
|
if(xmlDoc) {
|
||||||
|
|
@ -116,6 +132,8 @@ function drawNode(parent_node, menu_id) {
|
||||||
var node_srl = node.getAttribute("node_srl");
|
var node_srl = node.getAttribute("node_srl");
|
||||||
var text = node.getAttribute("text");
|
var text = node.getAttribute("text");
|
||||||
|
|
||||||
|
node_info_list[node_srl] = node;
|
||||||
|
|
||||||
var zone_id = "menu_"+menu_id+"_"+node_srl;
|
var zone_id = "menu_"+menu_id+"_"+node_srl;
|
||||||
tree_menu_folder_list[menu_id][tree_menu_folder_list[menu_id].length] = zone_id;
|
tree_menu_folder_list[menu_id][tree_menu_folder_list[menu_id].length] = zone_id;
|
||||||
|
|
||||||
|
|
@ -135,7 +153,7 @@ function drawNode(parent_node, menu_id) {
|
||||||
'<img id="'+zone_id+'_line_icon" src="./common/tpl/images/'+line_icon+'.gif" alt="line" align="top" />'+
|
'<img id="'+zone_id+'_line_icon" src="./common/tpl/images/'+line_icon+'.gif" alt="line" align="top" />'+
|
||||||
'<img id="'+zone_id+'_folder_icon" src="./common/tpl/images/'+folder_icon+'.gif" alt="folder" align="top" />'+
|
'<img id="'+zone_id+'_folder_icon" src="./common/tpl/images/'+folder_icon+'.gif" alt="folder" align="top" />'+
|
||||||
'</span>'+
|
'</span>'+
|
||||||
'<span id="'+zone_id+'_node" style="padding:1px 2px 1px 2px;margin-top:1px;cursor:pointer;" onclick="selectNode(\''+zone_id+'\')">'+
|
'<span id="'+zone_id+'_node" style="padding:1px 2px 1px 2px;margin-top:1px;cursor:pointer;" onclick="selectNode(\''+menu_id+'\','+node_srl+',\''+zone_id+'\')">'+
|
||||||
text+
|
text+
|
||||||
'</span>'+
|
'</span>'+
|
||||||
'';
|
'';
|
||||||
|
|
@ -183,7 +201,7 @@ function toggleFolder(zone_id) {
|
||||||
|
|
||||||
// 노드의 글자 선택시
|
// 노드의 글자 선택시
|
||||||
var prev_selected_node = null;
|
var prev_selected_node = null;
|
||||||
function selectNode(zone_id) {
|
function selectNode(menu_id, node_srl, zone_id) {
|
||||||
// 이전에 선택된 노드가 있었다면 원래데로 돌림
|
// 이전에 선택된 노드가 있었다면 원래데로 돌림
|
||||||
if(prev_selected_node) {
|
if(prev_selected_node) {
|
||||||
prev_selected_node.style.backgroundColor = "#ffffff";
|
prev_selected_node.style.backgroundColor = "#ffffff";
|
||||||
|
|
@ -200,6 +218,10 @@ function selectNode(zone_id) {
|
||||||
node_zone.style.fontWeight = "bold";
|
node_zone.style.fontWeight = "bold";
|
||||||
node_zone.style.color = "#FFFFFF";
|
node_zone.style.color = "#FFFFFF";
|
||||||
prev_selected_node = node_zone;
|
prev_selected_node = node_zone;
|
||||||
|
|
||||||
|
// 함수 실행
|
||||||
|
var func = node_callback_func[menu_id];
|
||||||
|
func(menu_id, node_info_list[node_srl]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 모두 닫기
|
// 모두 닫기
|
||||||
|
|
|
||||||
|
|
@ -41,14 +41,18 @@
|
||||||
({$val->maxdepth} {$lang->depth})
|
({$val->maxdepth} {$lang->depth})
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<div id="menu_zone_{$val->id}">
|
<table border="0" width="100%">
|
||||||
</div>
|
<tr>
|
||||||
|
<td><div id="menu_zone_{$val->id}"></div></td>
|
||||||
|
<td><div id="menu_zone_info_{$val->id}"></div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<div>
|
<div>
|
||||||
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('{$val->id}');return false;" />
|
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('{$val->id}');return false;" />
|
||||||
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('{$val->id}');return false;" />
|
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('{$val->id}');return false;" />
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
xAddEventListener(window,'load', function() { loadTreeMenu("/tree_menu/a.xml", "{$val->id}", "menu_zone_{$val->id}", "{$val->name}"); });
|
xAddEventListener(window,'load', function() { loadTreeMenu("/tree_menu/a.xml", "{$val->id}", "menu_zone_{$val->id}", "{$val->name}", doDisplayMenuInfo); });
|
||||||
</script>
|
</script>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
/* 레이아웃 메뉴에를 클릭시 적용할 함수 */
|
||||||
|
function doDisplayMenuInfo(menu_id, obj) {
|
||||||
|
var node_srl = obj.getAttribute("node_srl");
|
||||||
|
alert(node_srl);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue