mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-27 23:29:57 +09:00
Sitemap add/rename/delete
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11441 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
8107958ef1
commit
6a07705534
1 changed files with 162 additions and 19 deletions
|
|
@ -19,16 +19,16 @@
|
||||||
<script id="tmpl_menuTreeNode" type="text/x-jquery-tmpl">
|
<script id="tmpl_menuTreeNode" type="text/x-jquery-tmpl">
|
||||||
<li id="menu${MenuId}">
|
<li id="menu${MenuId}">
|
||||||
<a href="#" data-param='{ "sMenuId":"${MenuId}" }'>${MenuTitle}</a>
|
<a href="#" data-param='{ "sMenuId":"${MenuId}" }'>${MenuTitle}</a>
|
||||||
<span class="side">
|
<!--span class="side">
|
||||||
<button type="button" class="addItem" data-show="#add" data-param='{ "sMenuId":"${MenuId}" }'>메뉴추가</button>
|
<button type="button" class="addItem" data-show="#add" data-param='{ "sMenuId":"${MenuId}" }'>메뉴추가</button>
|
||||||
<button type="button" class="showProp" data-param='{ "sMenuId":"${MenuId}" }'>속성편집</button>
|
<button type="button" class="showProp" data-param='{ "sMenuId":"${MenuId}" }'>속성편집</button>
|
||||||
</span>
|
</span-->
|
||||||
{{html SubTree}}
|
{{html SubTree}}
|
||||||
</li>
|
</li>
|
||||||
</script>
|
</script>
|
||||||
</section>
|
</section>
|
||||||
<div class="x_btn-group">
|
<div class="x_btn-group">
|
||||||
<button type="button" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-plus x_icon-white"></i> 사이트맵 추가</button>
|
<button type="button" class="x_btn x_btn-small x_btn-inverse _addSiteMap"><i class="x_icon-plus x_icon-white"></i> 사이트맵 추가</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col" id="propertiesRoot">
|
<div class="col" id="propertiesRoot">
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#add" data-show="#add">메뉴 추가 <i class="x_icon-circle-arrow-right"></i></a></li>
|
<li><a href="#add" data-show="#add">메뉴 추가 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||||||
<li><button type="button" disabled>붙여넣기</button></li>
|
<li><button type="button" disabled>붙여넣기</button></li>
|
||||||
<li><button type="button">삭제</button></li>
|
<li><button class="_delSiteMap" type="button">삭제</button></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<button type="button" class="x_close" data-hide="#propertiesRoot">×</button>
|
<button type="button" class="x_close" data-hide="#propertiesRoot">×</button>
|
||||||
|
|
@ -67,10 +67,9 @@
|
||||||
<h1>메뉴 추가</h1>
|
<h1>메뉴 추가</h1>
|
||||||
<ul class="nav _itemList">
|
<ul class="nav _itemList">
|
||||||
<script id="tmpl_menuTypeItem" type="text/x-jquery-tmpl">
|
<script id="tmpl_menuTypeItem" type="text/x-jquery-tmpl">
|
||||||
<li><a href="#add_page" data-show="#add_page" data-param='{ "moduleName" : "${ModuleName}" }'>${ModuleTitle} <i class="x_icon-circle-arrow-right"></i></a></li>
|
<li><a href="#add_page" data-show="#add_page" data-param='{ "moduleName" : "${ModuleName}", "moduleTitle": "${ModuleTitle}" }'>${ModuleTitle} <i class="x_icon-circle-arrow-right"></i></a></li>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<li><a href="#add_page" data-show="#add_page" data-param='{ "t" : "value of t" }'>문서 페이지 <i class="x_icon-circle-arrow-right"></i></a></li>
|
|
||||||
<li><a href="#add_page" data-show="#add_page">위젯 페이지 <i class="x_icon-circle-arrow-right"></i></a></li>
|
<li><a href="#add_page" data-show="#add_page">위젯 페이지 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||||||
<li><a href="#add_page" data-show="#add_page">게시판 <i class="x_icon-circle-arrow-right"></i></a></li>
|
<li><a href="#add_page" data-show="#add_page">게시판 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||||||
<li><a href="#add_url" data-show="#add_url">URL 링크 <i class="x_icon-circle-arrow-right"></i></a></li>
|
<li><a href="#add_url" data-show="#add_url">URL 링크 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||||||
|
|
@ -83,7 +82,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col" id="add_page">
|
<div class="col" id="add_page">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<h1>{문서 페이지}</h1>
|
<h1 class="_title"></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<label for="menuName1">메뉴이름(브라우저 제목)</label>
|
<label for="menuName1">메뉴이름(브라우저 제목)</label>
|
||||||
|
|
@ -99,7 +98,7 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="x_btn-group">
|
<div class="x_btn-group">
|
||||||
<button type="button" class="x_btn x_btn-small x_btn-primary">확인</button>
|
<button type="button" class="x_btn x_btn-small x_btn-primary _save">확인</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<button type="button" class="x_close" data-hide="#add_page">×</button>
|
<button type="button" class="x_close" data-hide="#add_page">×</button>
|
||||||
|
|
@ -660,17 +659,78 @@ function onSiteMapReceived(htData){
|
||||||
})
|
})
|
||||||
.bind("loaded.jstree", function (event, data) {
|
.bind("loaded.jstree", function (event, data) {
|
||||||
data.inst.open_all();
|
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) {
|
.bind("create_node.jstree", function (event, data) {
|
||||||
var btns = $("<span>").addClass("side").html('<button data-toggle="#add">메뉴추가</button> <button data-toggle="#info">속성편집</button>');
|
//console.log(data.args[2].data[0]);
|
||||||
data.rslt.obj.append(btns);
|
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){
|
.bind("select_node.jstree", function(event, data){
|
||||||
var sSelectedSrl = data.rslt.obj.attr("id").replace("menu", "");
|
$("#siteMapTree input").blur();
|
||||||
$._xeAdminVar.sSelectedSrl = sSelectedSrl;
|
//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 = {};
|
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($){
|
jQuery(function($){
|
||||||
var _hide = $.fn.hide;
|
var _hide = $.fn.hide;
|
||||||
$.fn.hide = function(speed, easing, callback, htOpt) {
|
$.fn.hide = function(speed, easing, callback, htOpt) {
|
||||||
|
|
@ -830,16 +899,13 @@ jQuery(function($){
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#site_map').nextAll().hide();
|
// $('#site_map').nextAll().hide();
|
||||||
|
|
||||||
//$( "#tmpl_siteMap" ).template( "siteMap" );
|
//$( "#tmpl_siteMap" ).template( "siteMap" );
|
||||||
$( "#tmpl_menuTree" ).template( "menuTree" );
|
$( "#tmpl_menuTree" ).template( "menuTree" );
|
||||||
$( "#tmpl_menuTreeNode" ).template( "menuTreeNode" );
|
$( "#tmpl_menuTreeNode" ).template( "menuTreeNode" );
|
||||||
|
|
||||||
var params = {};
|
loadSiteMap();
|
||||||
var response_tags = new Array('menuList');
|
|
||||||
params['menu_srl'] = 0;
|
|
||||||
$.exec_json("menu.getMenuAdminSiteMap", params, onSiteMapReceived);
|
|
||||||
|
|
||||||
//$.jstree._themes = "PATH/TO/FOLDER/";
|
//$.jstree._themes = "PATH/TO/FOLDER/";
|
||||||
//$.jstree._themes = "/maserati/modules/menu/tpl/css/themes/";
|
//$.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){
|
$('#propertiesRoot').bind("show", function(ev, htOpt){
|
||||||
$('#site_map').next().hide(null, null, null, htOpt);
|
$('#site_map').next().hide(null, null, null, htOpt);
|
||||||
|
|
@ -911,6 +981,20 @@ jQuery(function($){
|
||||||
$("#siteMapTree").jstree("deselect_all");
|
$("#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){
|
$('#properties').bind("show", function(ev, htOpt){
|
||||||
$('#site_map').next().hide(null, null, null, htOpt);
|
$('#site_map').next().hide(null, null, null, htOpt);
|
||||||
|
|
||||||
|
|
@ -986,8 +1070,67 @@ jQuery(function($){
|
||||||
$('#download').bind("hide", 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(){
|
$('#default').bind("show", function(){
|
||||||
var htInfo = htNodeInfo[$._xeAdminVar.sSelectedSrl];
|
var htInfo = htNodeInfo[$._xeAdminVar.sSelectedMenuSrl];
|
||||||
|
|
||||||
console.log(htInfo);
|
console.log(htInfo);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue