diff --git a/common/lang/ko.lang.php b/common/lang/ko.lang.php index 93c910e66..dad67f82e 100644 --- a/common/lang/ko.lang.php +++ b/common/lang/ko.lang.php @@ -30,6 +30,8 @@ $lang->cmd_move = '이동'; $lang->cmd_move_up = '위로'; $lang->cmd_move_down = '아래로'; + $lang->cmd_add_indent = '들이기'; + $lang->cmd_remove_indent = '빼내기'; $lang->cmd_management = '관리'; $lang->cmd_make = "생성"; $lang->cmd_select = "선택"; diff --git a/modules/layout/tpl.admin/insert_layout2.html b/modules/layout/tpl.admin/insert_layout2.html index 9a2ddd584..728c656b7 100644 --- a/modules/layout/tpl.admin/insert_layout2.html +++ b/modules/layout/tpl.admin/insert_layout2.html @@ -46,6 +46,8 @@
+ +
@@ -53,8 +55,8 @@ - - + + diff --git a/modules/layout/tpl.admin/js/admin.js b/modules/layout/tpl.admin/js/admin.js index d48a78175..0a204ba01 100644 --- a/modules/layout/tpl.admin/js/admin.js +++ b/modules/layout/tpl.admin/js/admin.js @@ -1,13 +1,14 @@ -function doEditDefaultValue(obj, cmd, menu_id) { +function doEditDefaultValue(obj, cmd, menu_id, max_depth) { var listup_obj = xGetElementById('default_value_listup_'+menu_id); var item_obj = xGetElementById('default_value_item_'+menu_id); var idx = listup_obj.selectedIndex; var lng = listup_obj.options.length; - var val = item_obj.value; + var val = 1; + var text = item_obj.value; switch(cmd) { case 'insert' : - if(!val) return; - var opt = new Option(val, val, false, true); + if(!text) return; + var opt = new Option(text, val, false, true); listup_obj.options[listup_obj.length] = opt; item_obj.value = ''; item_obj.focus(); @@ -16,29 +17,86 @@ function doEditDefaultValue(obj, cmd, menu_id) { if(lng < 2 || idx<1) return; var value1 = listup_obj.options[idx].value; + var text1 = listup_obj.options[idx].text; + var depth1 = getDepth(listup_obj.options[idx]); + var value2 = listup_obj.options[idx-1].value; - listup_obj.options[idx] = new Option(value2,value2,false,false); - listup_obj.options[idx-1] = new Option(value1,value1,false,true); + var text2 = listup_obj.options[idx-1].text; + var depth2 = getDepth(listup_obj.options[idx-1]); + + listup_obj.options[idx] = new Option(text2,value2,false,false); + setDepth(listup_obj.options[idx], depth1); + + listup_obj.options[idx-1] = new Option(text1,value1,false,true); + setDepth(listup_obj.options[idx-1], depth2); break; case 'down' : if(lng < 2 || idx == lng-1) return; var value1 = listup_obj.options[idx].value; + var text1 = listup_obj.options[idx].text; + var depth1 = getDepth(listup_obj.options[idx]); + var value2 = listup_obj.options[idx+1].value; - listup_obj.options[idx] = new Option(value2,value2,false,false); - listup_obj.options[idx+1] = new Option(value1,value1,false,true); + var text2 = listup_obj.options[idx+1].text; + var depth2 = getDepth(listup_obj.options[idx+1]); + + listup_obj.options[idx] = new Option(text2,value2,false,false); + setDepth(listup_obj.options[idx], depth1); + + listup_obj.options[idx+1] = new Option(text1,value1,false,true); + setDepth(listup_obj.options[idx+1], depth2); break; case 'delete' : listup_obj.remove(idx); if(idx==0) listup_obj.selectedIndex = 0; else listup_obj.selectedIndex = idx-1; break; + case 'add_indent' : + if(lng<2||idx<1) return; + + var opt_cur = listup_obj.options[idx]; + var opt_up = listup_obj.options[idx-1]; + + var cur_depth = getDepth(opt_cur); + var up_depth = getDepth(opt_up); + + if(up_depth >= cur_depth) addDepth(opt_cur, max_depth); + break; + case 'remove_indent' : + var opt_cur = listup_obj.options[idx]; + removeDepth(opt_cur); + break; } var value_list = new Array(); for(var i=0;i=max_depth) return; + obj.style.paddingLeft = (depth*20)+'px'; +} + +function removeDepth(obj) { + var depth = getDepth(obj); + var depth = depth - 1; + if(depth<0) return; + obj.style.paddingLeft = (depth*20)+'px'; }