rhymix/modules/menu/tpl/sitemap.html
ChanMyeong 613f5ae401 Issue 2442. Minor update.
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11248 201d5d3c-b55e-5fd7-737f-ddc643e51545
2012-09-16 05:42:45 +00:00

607 lines
22 KiB
HTML

<load target="./js/_lib/jquery.cookie.js" />
<load target="./js/_lib/jquery.hotkeys.js" />
<load target="./js/jquery.jstree.js" />
<div class="x_page-header">
<h1>{$lang->menu_gnb_sub['siteMap']}</h1>
</div>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div id="site">
<div class="col map">
<div id="mydemo" class="demo" style="height:500px;">
<ul>
<li id="nhtml_1">
<a href="#">기본 사이트맵1</a>
<ul>
<li id="nhtml_1_1">
<a href="#">메뉴 1-1</a>
</li>
<li id="nhtml_1_2">
<a href="#">메뉴 1-2</a>
<ul>
<li id="nhtml_1_2_1">
<a href="#">메뉴 1-2-1</a>
</li>
<li id="nhtml_1_2_2">
<a href="#">메뉴 1-2-2</a>
</li>
</ul>
</li>
</ul>
</li>
<li id="nhtml_2">
<a href="#">이벤트2</a>
<ul>
<li id="nhtml_2_1">
<a href="#">메뉴 2-1</a>
</li>
<li id="nhtml_2_2">
<a href="#">메뉴 2-2</a>
</li>
</ul>
</li>
</ul>
</div>
<section class="mapi">
<ul>
<li class="root">
<div class="item">
<strong>기본 사이트맵</strong>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1 <i class="x_icon-home"></i></a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-3</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li class="root">
<div class="item">
<strong>기본 사이트맵</strong>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-3</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<div class="x_btn-group" style="margin:15px 0;padding:10px 0;border-top:1px solid #ccc;text-align:right">
<button type="button" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-plus x_icon-white"></i> 사이트맵 추가</button>
</div>
</div>
<div class="col" id="add">
<section>
<h1>메뉴 추가</h1>
<ul>
<li><a href="#pageDoc">문서 페이지 <i class="x_icon-circle-arrow-right"></i></a></li>
<li><a href="#pageWidget">위젯 페이지 <i class="x_icon-circle-arrow-right"></i></a></li>
<li><a href="#board">게시판 <i class="x_icon-circle-arrow-right"></i></a></li>
<li><a href="#url">URL 링크 <i class="x_icon-circle-arrow-right"></i></a></li>
</ul>
<div class="x_btn-group" style="margin:0;padding:10px 0;border-top:1px solid #ccc;text-align:right">
<a href="#downPageModule" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-plus x_icon-white"></i> 다른 메뉴 유형 설치</a>
</div>
</section>
<button type="button" class="x_close" data-close="#add">&times;</button>
</div>
</div>
<style>
/* Site */
#site{position:relative;overflow-x:auto;overflow-y:hidden}
.col{position:relative;float:left;height:100%;min-width:200px;padding:0 10px;overflow-y:auto;overflow-x:hidden;border-left:1px solid #ddd}
.col:first-child{border:0;padding-left:0}
.col>section>h1{ line-height:30px;font-size:16px;border-bottom:2px solid #666;margin:0;color:#333}
.col>section>ul{ margin:0;padding:0;list-style:none}
.col>.x_close{ position:absolute;top:0;right:10px; width:24px;height:24px}
/* .mapi * */
.mapi{margin:0 0 15px 0;min-width:200px}
.mapi ul{margin:0;padding:0;list-style:none}
.mapi li{padding:0 80px 0 0;white-space:nowrap;position:relative;line-height:30px;border-radius:3px;vertical-align:top}
.mapi li>ul{margin:0 -80px 0 0}
.mapi a{text-decoration:none}
.mapi>ul{padding:1px}
/* .root */
.mapi .root{margin-topp:15px;border:0 !important}
.mapi .root:first-child{ margin-top:0}
.mapi .root>ul{margin-top:10px}
.mapi .root>.item{position:relative;border-bottom:2px solid #666;margin:0 -80px 0 0;zoom:1}
.mapi .root>.item>strong{font-size:16px}
/* li>i.v || li>i.h */
.mapi .v,
.mapi .h{position:absolute;border:0;border-style:dotted;border-color:#ccc;overflow:hidden}
.mapi .v{width:0;top:30px;border-left-width:1px;display:none}
.mapi .h{width:14px;height:0;top:15px;border-top-width:1px}
.mapi .open>.v{display:block}
.mapi .hover .v,
.mapi .hover li>.h{border:1px solid #666}
.mapi .hover>.item,
.mapi .selected>.item{background:#666}
.mapi .root>ul>li>i.h{display:none}
/* li>.item */
.mapi .root li>.item{position:relative;z-index:2;border-radius:3px;margin:0 -80px 0 0;padding:0 80px 0 0;zoom:1}
.mapi .selected>.item{opacity:.75;filter:alpha(opacity=75)}
/* li>.item>.tx */
.mapi .tx{position:relative;z-index:2;display:block;line-height:30px;padding-right:30px;color:#000}
.mapi .hover>.item>.tx,
.mapi .selected>.item>.tx{color:#fff}
/* li>.item>a.tx */
.mapi .root>ul>li>.item>a{padding-left:24px}
.mapi .root>ul>li>ul>li>.item>a{padding-left:48px}
.mapi .root>ul>li>ul>li>ul>li>.item>a{padding-left:72px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:96px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:120px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:144px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:168px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:192px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:216px}
/* li>.item>.tx>i */
.mapi .tx>i[class^="x_icon-"]:first-child{position:relative;left:-20px;margin:0 -20px 0 0;opacity:.5;filter:alpha(opacity=50)}
.mapi .tx>i[class^="x_icon-home"]{opacity:.75;filter:alpha(opacity=75)}
.mapi .hover>.item>.tx>i[class*="-white"],
.mapi .selected>.item>.tx>i[class*="-white"]{opacity:1;filter:alpha(opacity=100)}
/* li>.item>.side */
.mapi .side{position:absolute;z-index:2;top:3px;right:3px;line-height:0}
.mapi .side>a{display:inline-block;border-radius:3px;width:24px;height:24px;overflow:hidden;line-height:0;text-indent:24px;background:#94A55C url({getUrl('')}common/img/glyphicons-halflings-white.png) no-repeat}
.mapi .side>a[href="#add"]{background-position:5px -91px}
.mapi .side>a[href="#info"]{background-position:-427px 5px}
.mapi .side>a:hover,
.mapi .side>a:focus,
.mapi .side>a.active{background-color:#333}
/* li>.item>ul */
.mapi .root>ul ul{display:none}
.mapi .root>ul li.open>ul{display:block}
/* Add */
#add li{ border-top:1px solid #ddd;position:relative;white-space:nowrap}
#add li:first-child{ border-top:0}
#add li>a{ display:block;padding:6px 15px 6px 8px;color:#333;text-decoration:none;background:#fff; -webkit-transition:.3s}
#add li>a:hover,
#add li>a:focus{ background:#666; color:#fff}
#add li>a>i{ position:absolute;top:7px; right:5px;opacity:.5;filter:alpha(opacity=50)}
#add li>a:hover>i,
#add li>a:focus>i{ background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png); background-repeat:no-repeat;opacity:1;filter:alpha(opacity=100)}
</style>
<!--[if IE 7]>
<script>
jQuery(function($){
// IE .col width bug fix
$('.col').each(function(){
var $this = $(this);
setTimeout(function(){
var childW = $this.children().width();
$this.width(childW);
},0);
});
});
</script>
<![endif]-->
<script>
//<![CDATA[
jQuery(function($){
//$.jstree._themes = "PATH/TO/FOLDER/";
//$.jstree._themes = "/maserati/modules/menu/tpl/css/themes/";
$.jstree._themes = '{getUrl("")}/modules/menu/tpl/css/themes/';
// TO CREATE AN INSTANCE
// select the tree container using jQuery
$("#mydemo")
// call `.jstree` with the options object
.jstree({
// the `plugins` array allows you to configure the active plugins on this instance
"plugins" : ["themes","html_data","ui","crrm","hotkeys","contextmenu", "dnd"],
//"themes","json_data","ui","crrm","cookies","dnd","search","types","hotkeys","contextmenu"
// each plugin you have included can have its own config object
"core" : { "initially_open" : [ "nhtml_1" ] }
// it makes sense to configure a plugin only if overriding the defaults
})
// EVENTS
// each instance triggers its own events - to process those listen on the container
// all events are in the `.jstree` namespace
// so listen for `function_name`.`jstree` - you can function names from the docs
.bind("loaded.jstree", function (event, data) {
// you get two params - event & data - check the core docs for a detailed description
});
// Set #site height fix
$(window).resize(function(){
var wHeigh = $(window).height();
var $site = $('#site');
$site.height(wHeigh - 270);
}).resize();
// Draw .h/.v line and display file/folder icon
var $mapi = $('.map .root li');
$mapi.addClass('open');
function drawMap(){
$mapi.each(function(){
var $this = $(this);
var verticalX = parseInt($this.find('>.item>.tx').css('paddingLeft'));
// Draw line
$this.find('>.h').css({ // Horizontal line position
left: verticalX -39
});
var submenu = $this.find('>ul').length;
var hasopen = $this.hasClass('open');
if(submenu){ // Vertical line position
var verticalH = parseInt($this.height())-15;
var removeH = parseInt($this.find('>ul>li:last-child').height());
$this.find('>.v').css({
left: verticalX -15,
height: verticalH - removeH
});
$this.find('>.item>.tx>i').removeClass('x_icon-file'); // Remove file icon
} else {
$this.find('>.v').remove();
}
// Display icon
var folderOpen = 'x_icon-folder-open';
var folderClose = 'x_icon-folder-close';
if(submenu && hasopen){
$this.find('>.item>.tx>i:first-child').removeClass(folderClose).addClass(folderOpen);
} else if(submenu && !hasopen) {
$this.find('>.item>.tx>i:first-child').removeClass(folderOpen).addClass(folderClose);
}
});
}
drawMap();
// li.hover class toggle
$mapi.bind({
mouseover: function(event){
$(this).addClass('hover');
$(this).not('.selected').find('>.item>.tx>i').addClass('x_icon-white');
event.stopPropagation();
},
mouseout: function(event){
$(this).removeClass('hover');
$(this).not('.selected').find('>.item>.tx>i').removeClass('x_icon-white');
event.stopPropagation();
}
});
// a.tx submenu toggle
$mapi.find('>.item>.tx').click(function(){
$(this).closest('li').toggleClass('open');
drawMap();
return false;
});
// li.selected and .side>a toggle
var $mapi = $('.map li');
$mapi.find('>.item>.side>a')
.click(function(){
var $this = $(this);
var iconWhite = 'x_icon-white';
$mapi.removeClass('selected').find('>.item>.side>a').not($this).removeClass('active');
$mapi.find('>.item').not($this.closest('.item')).find('>.tx>i').removeClass(iconWhite);
$this.toggleClass('active').siblings().removeClass('active');
if($this.parent('.side').children('a.active').length){
$this.closest('li:not(".root")').addClass('selected').find('>.item>.tx>i').addClass(iconWhite);
}
})
.hover(
function(){
var $this = $(this);
var title = $this.text();
$this.attr('title', title);
},
function(){
var $this = $(this);
$this.removeAttr('title');
}
);
});
//]]>
</script>