git-svn-id: http://xe-core.googlecode.com/svn/trunk@1242 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-04-19 07:37:03 +00:00
parent 6f8106b90d
commit 61aa6c309f
3 changed files with 143 additions and 7 deletions

View file

@ -1,18 +1,17 @@
<!--%import("filter/update_category_title.xml")-->
<!--%import("filter/insert_category_item.xml")-->
<!--%import("filter/delete_category_item.xml")-->
<!--%import("filter/move_category_item.xml")-->
<!--%import("filter/insert_category.xml")-->
<!--%import("filter/delete_category.xml")-->
<!--%import("filter/move_category.xml")-->
<!--#include("./header.html")-->
<!-- 카테고리의 위/아래, 삭제와 관련된 form -->
<form id="fo_move_category" action="./" method="get">
<input type="hidden" name="category_id" />
<input type="hidden" name="source_item_srl" />
<input type="hidden" name="target_item_srl" />
<input type="hidden" name="source_category_srl" />
<input type="hidden" name="target_category_srl" />
</form>
<div style="margin-bottom:10px;">
<form id="fo_category" action="./" method="get" onsubmit="return procFilter(this, insert_category_item)">
<form id="fo_category" action="./" method="get" onsubmit="return procFilter(this, insert_category)">
<input type="hidden" name="title" value="{$category_info->title}" />
<input type="hidden" name="category_srl" value="{$category_info->category_srl}" />
<input type="hidden" name="xml_file" value="{$category_info->xml_file}" />

View file

@ -0,0 +1,13 @@
<filter name="delete_category" module="blog" act="procBlogAdminDeleteCategory" confirm_msg_code="confirm_delete">
<form>
<node target="category_srl" required="true" />
</form>
<response callback_func="completeDeleteBlogItem">
<tag name="error" />
<tag name="message" />
<tag name="category_title" />
<tag name="xml_file" />
<tag name="module_srl" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -114,3 +114,127 @@ function completeManageDocument(ret_obj) {
alert(ret_obj['message']);
window.close();
}
/**
* 카테고리 관리
**/
/* 빈 카테고리 아이템 추가 */
function doInsertCategory(parent_srl) {
if(typeof(parent_srl)=='undefined') parent_srl = 0;
var params = {node_srl:0, parent_srl:parent_srl}
doGetCategoryInfo('category', params);
deSelectNode();
}
/* 카테고리 클릭시 적용할 함수 */
function doGetCategoryInfo(category_id, obj) {
// category, category_id, node_srl을 추출
var fo_obj = xGetElementById("fo_category");
var node_srl = 0;
var parent_srl = 0;
if(typeof(obj)!="undefined") {
if(typeof(obj.getAttribute)!="undefined") {
node_srl = obj.getAttribute("node_srl");
} else {
node_srl = obj.node_srl;
parent_srl = obj.parent_srl;
}
}
var params = new Array();
params["category_srl"] = node_srl;
params["parent_srl"] = parent_srl;
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
var response_tags = new Array('error','message','tpl');
exec_xml('blog', 'getBlogAdminCategoryTplInfo', params, completeGetCategoryTplInfo, response_tags, params);
}
/* 서버로부터 받아온 카테고리 정보를 출력 */
function completeGetCategoryTplInfo(ret_obj, response_tags) {
var tpl = ret_obj['tpl'];
xInnerHtml("category_zone_info", tpl);
var fo_obj = xGetElementById("fo_category");
fo_obj.name.focus();
}
/* 카테고리 아이템 입력후 */
function completeInsertCategory(ret_obj) {
var category_id = ret_obj['category_id'];
var xml_file = ret_obj['xml_file'];
var category_title = ret_obj['category_title'];
var category_srl = ret_obj['category_srl'];
var category_category_srl = ret_obj['category_category_srl'];
var parent_srl = ret_obj['parent_srl'];
if(!xml_file) return;
loadTreeMenu(xml_file, 'category', 'category_zone_category', category_title, doGetCategoryInfo, category_category_srl, doMoveTree);
if(!category_srl) xInnerHtml("category_zone_info", "");
else {
var params = {node_srl:category_zone_info, parent_srl:parent_srl}
doGetCategoryInfo('category', params)
}
}
/* 카테고리를 드래그하여 이동한 후 실행할 함수 , 이동하는 category_srl과 대상 category_srl을 받음 */
function doMoveTree(category_id, source_category_srl, target_category_srl) {
var fo_obj = xGetElementById("fo_move_category");
fo_obj.category_id.value = category_id;
fo_obj.source_category_srl.value = source_category_srl;
fo_obj.target_category_srl.value = target_category_srl;
// 이동 취소를 선택하였을 경우 다시 그림;;
if(!procFilter(fo_obj, move_category)) {
var params = new Array();
params["xml_file"] = xGetElementById('fo_category').xml_file.value;
params["source_category_srl"] = source_category_srl;
completeMoveCategory(params);
}
}
function completeMoveCategory(ret_obj) {
var source_category_srl = ret_obj['source_category_srl'];
var xml_file = ret_obj['xml_file'];
var fo_category = xGetElementById("fo_category");
if(!fo_category) return;
var title = fo_category.title.value;
loadTreeMenu(xml_file, 'category', "category_zone_category", title, doGetCategoryInfo, source_category_srl, doMoveTree);
}
/* 카테고리 목록 갱신 */
function doReloadTreeMenu(module_srl) {
var params = new Array();
params["module_srl"] = module_srl;
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
var response_tags = new Array('error','message', 'xml_file', 'category_title');
exec_xml('blog', 'procBlogAdminMakeXmlFile', params, completeInsertCategory, response_tags, params);
}
/* 카테고리 삭제 */
function doDeleteCategory(category_srl) {
var fo_obj = xGetElementById("fo_category");
if(!fo_obj) return;
procFilter(fo_obj, delete_category);
}
/* 카테고리 아이템 삭제 후 */
function completeDeleteCategory(ret_obj) {
var category_title = ret_obj['category_title'];
var module_srl = ret_obj['module_srl'];
var category_srl = ret_obj['category_srl'];
var xml_file = ret_obj['xml_file'];
alert(ret_obj['message']);
loadTreeMenu(xml_file, 'category', 'category_zone_category', category_title, doGetCategoryInfo, category_srl, doMoveTree);
xInnerHtml("category_zone_info", "");
}