diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index 7e5449de6..81ecbc2b1 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -19,16 +19,16 @@
- +
@@ -37,7 +37,7 @@ @@ -67,10 +67,9 @@

메뉴 추가

-

{문서 페이지}

+

- +
@@ -660,17 +659,78 @@ function onSiteMapReceived(htData){ }) .bind("loaded.jstree", function (event, data) { data.inst.open_all(); + + var sRenameId = $._xeAdminVar.sRenameOnload; + $._xeAdminVar.sRenameOnload = null; + + if(sRenameId){ + console.log('renaming', sRenameId); + $("#siteMapTree").jstree("rename", $("#menu"+sRenameId)); + } }) + .bind("rename_node.jstree", function(event, data){ + console.log(1, event, data); + /* + var params = new Array(); + params['menu_srl'] = '889'; + params['title'] = "제목2"; + exec_xml("menu","procMenuAdminUpdate", params, completeTmp) + */ + var sTitle = data.args[1]; + var params = {}; + + //console.log(htNodeInfo[$._xeAdminVar.sSelectedMenuSrl]); + var htOldInfo = htNodeInfo[$._xeAdminVar.sSelectedMenuSrl]; + if(htOldInfo.sText === sTitle) return; + + params['title'] = sTitle; + params['menu_srl'] = $._xeAdminVar.sSelectedMenuSrl; + $.exec_json("menu.procMenuAdminUpdate", params, function(htData){ + console.log(htData); + if(htData.error !== 0){ + alert(htData.message); + return; + } + + loadSiteMap(); + return; + }); + }) .bind("create_node.jstree", function (event, data) { - var btns = $("").addClass("side").html(' '); - data.rslt.obj.append(btns); + //console.log(data.args[2].data[0]); + var sTitle = data.args[2].data[0]; + var params = {}; + params['title'] = sTitle; + $.exec_json("menu.procMenuAdminInsert", params, function(htData){ + console.log(htData); + if(htData.error !== 0){ + alert(htData.message); + return; + } + + $._xeAdminVar.sRenameOnload = htData.menu_srl; + $._xeAdminVar.sSelectedMenuSrl = htData.menu_srl; + + loadSiteMap(); + return; + /* + $(data.rslt.obj).attr("id", "menu"+htData.menu_srl); + $(data.rslt.obj).find('a').attr("data-param", '{ "sMenuId":"'+htData.menu_srl+'"}'); + */ + + }); }) .bind("select_node.jstree", function(event, data){ - var sSelectedSrl = data.rslt.obj.attr("id").replace("menu", ""); - $._xeAdminVar.sSelectedSrl = sSelectedSrl; + $("#siteMapTree input").blur(); + //console.log($("#siteMapTree input")); + + var sSelectedMenuSrl = data.rslt.obj.attr("id").replace("menu", ""); + $._xeAdminVar.sSelectedMenuSrl = sSelectedMenuSrl; - showProp(sSelectedSrl); + showProp(sSelectedMenuSrl); }); + + $('#site_map').nextAll().hide(); } var htNodeInfo = {}; @@ -789,6 +849,15 @@ function showProp(sMenuId){ } } +function loadSiteMap(){ + var $ = jQuery; + + var params = {}; + var response_tags = new Array('menuList'); + params['menu_srl'] = 0; + $.exec_json("menu.getMenuAdminSiteMap", params, onSiteMapReceived); +} + jQuery(function($){ var _hide = $.fn.hide; $.fn.hide = function(speed, easing, callback, htOpt) { @@ -830,16 +899,13 @@ jQuery(function($){ return $result; } - $('#site_map').nextAll().hide(); +// $('#site_map').nextAll().hide(); //$( "#tmpl_siteMap" ).template( "siteMap" ); $( "#tmpl_menuTree" ).template( "menuTree" ); $( "#tmpl_menuTreeNode" ).template( "menuTreeNode" ); - var params = {}; - var response_tags = new Array('menuList'); - params['menu_srl'] = 0; - $.exec_json("menu.getMenuAdminSiteMap", params, onSiteMapReceived); + loadSiteMap(); //$.jstree._themes = "PATH/TO/FOLDER/"; //$.jstree._themes = "/maserati/modules/menu/tpl/css/themes/"; @@ -897,6 +963,10 @@ jQuery(function($){ } // ----------------------------------------------------------------------------------------- + $("#site_map ._addSiteMap").click(function(){ + $("#siteMapTree").jstree("deselect_all"); + $("#siteMapTree").jstree("create", null, "first", { data: "New Sitemap" }, null, true); + }); $('#propertiesRoot').bind("show", function(ev, htOpt){ $('#site_map').next().hide(null, null, null, htOpt); @@ -911,6 +981,20 @@ jQuery(function($){ $("#siteMapTree").jstree("deselect_all"); }); + $("._delSiteMap").click(function(){ + var sSelectedMenuSrl = $._xeAdminVar.sSelectedMenuSrl; + var params = {}; + params['menu_srl'] = sSelectedMenuSrl; + $.exec_json("menu.procMenuAdminDelete", params, function(htData){ + console.log(htData); + if(htData.error !== 0){ + alert(htData.message); + return; + } + + loadSiteMap(); + }); + }); $('#properties').bind("show", function(ev, htOpt){ $('#site_map').next().hide(null, null, null, htOpt); @@ -986,8 +1070,67 @@ jQuery(function($){ $('#download').bind("hide", function(){ }); + $('#add_page').bind("show", function(){ + $._xeAdminVar.sSelectedModuleName = $._htMarkupActionParam.moduleName; + $._xeAdminVar.sSelectedModuleTitle = $._htMarkupActionParam.moduleTitle; + + $(this).find("._title").html($._xeAdminVar.sSelectedModuleTitle); + }); + $('#add_page ._save').bind("click", function(){ + var sMenuName = $("#menuName1").val(); + var sMID = $("#mid1").val(); + + var sSelectedModuleName = $._xeAdminVar.sSelectedModuleName; + var sSelectedMenuSrl = $._xeAdminVar.sSelectedMenuSrl; + + console.log($._xeAdminVar, sSelectedModuleName, sSelectedMenuSrl, sMenuName, sMID); + /* + var params = new Array(); + var response_tags = new Array('menu_item_srl'); + params['ruleset'] = "insertMenuItem"; + params['act'] = "procMenuAdminInsertItem"; + params['menu_srl'] = "sitemap 번호"; + params['menu_name_key'] = "메뉴의 이름에 다국어가 쓰였을 경우 해당 변수 명 (ex: $user_lang->userLang20120919153529020)"; + params['menu_name'] = "사용자에게 보여줘야 할 메뉴명"; + params['module_type'] = "모듈의 타입"; //page module일 경우 WIDGET, ARTICLE, OUTSIDE의 값을 가질 수 있으며 기타 다른 모듈은 모듈명을 사용한다. + params['mid'] = "모듈을 생성할 경우 모듈 mid"; + params['menu_open_window'] = "링크를 새창으로 열 것인지의 여부('Y', 'N')"; + params['menu_expand'] = "처음 로딩 시 메뉴가 열려 있도록 할 것인지의 여부 (Y', 'N')" + params['parent_srl'] = "특정 메뉴 아이템(node) 아래에 속하게 만들고 싶을 경우 해당 아이템(node)의 menu_item_srl 값. 최상위 메뉴로 만들고 싶을 경우 0을 사용하면 됨."; + + exec_xml("menu","procMenuAdminInsert", params, completeTmp, response_tags) + */ + var params = {}; + var response_tags = new Array('menu_item_srl'); + params['ruleset'] = "insertMenuItem"; + params['act'] = "procMenuAdminInsertItem"; + params['menu_srl'] = 59; + params['menu_name_key'] = ""; + //params['title'] = 'title'; -> 이 값 넣으면 사이트맵 생성됨 + params['menu_name'] = sMenuName; + params['module_type'] = sSelectedModuleName; + params['mid'] = sMID; + params['menu_open_window'] = "N"; + params['menu_expand'] = "N" + params['parent_srl'] = sSelectedMenuSrl; + /* + ruleset=insertMenuItem&act=procMenuAdminInsert&menu_srl=&menu_name_key=&menu_name=3333&module_type=OUTSIDE&mid=1111&menu_open_window=N&menu_expand=N&parent_srl=60&module=menu + */ + $.exec_json("menu.procMenuAdminInsertItem", params, function(htData){ + console.log(htData); + }); + /* + Array + ( + [error] => "0" + [message] => "등록했습니다." + [menu_item_srl] => "2" + ) + */ + }); + $('#default').bind("show", function(){ - var htInfo = htNodeInfo[$._xeAdminVar.sSelectedSrl]; + var htInfo = htNodeInfo[$._xeAdminVar.sSelectedMenuSrl]; console.log(htInfo);