mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11457 201d5d3c-b55e-5fd7-737f-ddc643e51545
1294 lines
No EOL
50 KiB
HTML
1294 lines
No EOL
50 KiB
HTML
<load target="./css/themes/classic/style.css" />
|
||
<load target="./js/_lib/jquery.cookie.js" />
|
||
<load target="./js/_lib/jquery.hotkeys.js" />
|
||
<load target="./js/jquery.jstree.js" />
|
||
<load target="./js/jquery.scrollTo-1.4.2.js" />
|
||
|
||
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script>
|
||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||
</div>
|
||
<div id="site">
|
||
<div class="col map" id="site_map">
|
||
<section class="mapi" id="siteMapTree">
|
||
<script id="tmpl_menuTree" type="text/x-jquery-tmpl">
|
||
<ul>
|
||
{{html Nodes}}
|
||
</ul>
|
||
</script>
|
||
<script id="tmpl_menuTreeNode" type="text/x-jquery-tmpl">
|
||
<li id="menu${MenuId}">
|
||
<a href="#" data-param='{ "sMenuId":"${MenuId}" }'>${MenuTitle}</a>
|
||
<!--span class="side">
|
||
<button type="button" class="addItem" data-show="#add" data-param='{ "sMenuId":"${MenuId}" }'>메뉴추가</button>
|
||
<button type="button" class="showProp" data-param='{ "sMenuId":"${MenuId}" }'>속성편집</button>
|
||
</span-->
|
||
{{html SubTree}}
|
||
</li>
|
||
</script>
|
||
</section>
|
||
<div class="x_btn-group">
|
||
<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 class="col" id="propertiesRoot">
|
||
<section>
|
||
<h1><a href="#" target="_blank" class="title">{사이트맵 이름}</a></h1>
|
||
<ul class="nav">
|
||
<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 class="_delSiteMap" type="button">삭제</button></li>
|
||
</ul>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#propertiesRoot">×</button>
|
||
</div>
|
||
<div class="col" id="properties">
|
||
<section>
|
||
<h1><a href="#" target="_blank" class="title">{메뉴 이름}</a></h1>
|
||
<ul>
|
||
<li><strong>메뉴 ID</strong>: <span class="url"></span></li>
|
||
<li><strong>메뉴 타입</strong>: 문서 페이지</li>
|
||
<li class="add"><a href="#add" data-show="#add">메뉴 추가 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><button type="button">잘라내기</button></li>
|
||
<li><button type="button">복사</button></li>
|
||
<li><button type="button" disabled>붙여넣기</button></li>
|
||
<li><button type="button" onClick="confirm('메뉴를 삭제하면 콘텐츠도 삭제됩니다. 정말 삭제하시겠습니까?')">삭제</button></li>
|
||
<li class="homepage"><label><input type="checkbox"> 사이트 접속 시 기본 페이지로 사용</label></li>
|
||
<li class="default"><a href="#default" data-show="#default">기본 설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#imgbtn" data-show="#imgbtn">이미지 버튼 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#design" data-show="#design">디자인 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#auth" data-show="#auth">권한 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#details" data-show="#details">상세 설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
</ul>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#properties">×</button>
|
||
</div>
|
||
<div class="col" id="add">
|
||
<section>
|
||
<h1>메뉴 추가</h1>
|
||
<ul class="nav _itemList">
|
||
<script id="tmpl_menuTypeItem" type="text/x-jquery-tmpl">
|
||
<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>
|
||
|
||
<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>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<a href="#download" class="x_btn x_btn-small x_btn-inverse" data-show="#download"><i class="x_icon-plus x_icon-white"></i> 다른 메뉴타입 설치</a>
|
||
</div>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#add">×</button>
|
||
</div>
|
||
<div class="col" id="add_page">
|
||
<fieldset>
|
||
<h1 class="_title"></h1>
|
||
<ul>
|
||
<li>
|
||
<label for="menuName1">메뉴이름(브라우저 제목)</label>
|
||
<input id="menuName1" type="text" required />
|
||
<label><input type="checkbox" class="multilingual"> 다국어 사용</label>
|
||
<fieldset class="multilingual_item">
|
||
<select title="사용 가능한 다국어 목록">
|
||
<option>[새로 입력]</option>
|
||
<option>...</option>
|
||
<option>...</option>
|
||
</select><br>
|
||
<input type="text" class="en" title="English"><br>
|
||
<input type="text" class="ko" title="한국어"><br>
|
||
<input type="text" class="jp" title="日本語"><br>
|
||
<input type="text" class="zh-CN" title="中文(中国)"><br>
|
||
<input type="text" class="zh-TW" title="中文(臺灣)"><br>
|
||
<input type="text" class="fr" title="Français"><br>
|
||
<input type="text" class="de" title="Deutsch"><br>
|
||
<input type="text" class="ru" title="Русский"><br>
|
||
<input type="text" class="es" title="Español"><br>
|
||
<input type="text" class="tr" title="Türkçe"><br>
|
||
<input type="text" class="vi" title="Tiếng Việt"><br>
|
||
<input type="text" class="mn" title="Mongolian">
|
||
<p class="x_alert x_alert-info" style="width:169px">
|
||
지원하는 다국어 목록은 [<a href="{getUrl('','module','admin','act','dispAdminConfigGeneral')}">설정>일반</a>]에서 편집 가능
|
||
</p>
|
||
</fieldset>
|
||
</li>
|
||
<li style="border-top:1px solid #ddd;padding-top:8px;margin-top:8px">
|
||
<label for="mid1">메뉴 아이디 <a href="#help_menuId" class="x_icon-question-sign" data-toggle="#mid1_help">?</a></label>
|
||
<div id="mid1_help" class="x_alert x_alert-info" style="display:none;width:169px">
|
||
<button type="button" class="x_close" data-hide="#mid1_help">×</button>
|
||
<p>페이지 URL로 사용. URL을 사용할 필요가 없다면 생략 가능. 메뉴 생성 후 [속성>일반]에서 수정 가능.</p>
|
||
</div>
|
||
<input id="mid1" type="text" required placeholder="생략시 임의값 사용" />
|
||
</li>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<button type="button" class="x_btn x_btn-small x_btn-primary _save">확인</button>
|
||
</div>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#add_page">×</button>
|
||
</div>
|
||
<div class="col" id="add_url">
|
||
<fieldset>
|
||
<h1>URL 링크</h1>
|
||
<ul>
|
||
<li>
|
||
<label for="menuName2">메뉴이름(브라우저 제목)</label>
|
||
<input id="menuName2" type="text" required />
|
||
<label><input type="checkbox" class="multilingual"> 다국어 사용</label>
|
||
<fieldset class="multilingual_item">
|
||
<select title="사용 가능한 다국어 목록">
|
||
<option>[새로 입력]</option>
|
||
<option>...</option>
|
||
<option>...</option>
|
||
</select><br>
|
||
<input type="text" class="en" title="English"><br>
|
||
<input type="text" class="ko" title="한국어"><br>
|
||
<input type="text" class="jp" title="日本語"><br>
|
||
<input type="text" class="zh-CN" title="中文(中国)"><br>
|
||
<input type="text" class="zh-TW" title="中文(臺灣)"><br>
|
||
<input type="text" class="fr" title="Français"><br>
|
||
<input type="text" class="de" title="Deutsch"><br>
|
||
<input type="text" class="ru" title="Русский"><br>
|
||
<input type="text" class="es" title="Español"><br>
|
||
<input type="text" class="tr" title="Türkçe"><br>
|
||
<input type="text" class="vi" title="Tiếng Việt"><br>
|
||
<input type="text" class="mn" title="Mongolian">
|
||
<p class="x_alert x_alert-info" style="width:169px">
|
||
지원하는 다국어 목록은 [<a href="{getUrl('','module','admin','act','dispAdminConfigGeneral')}">설정>일반</a>]에서 편집 가능
|
||
</p>
|
||
</fieldset>
|
||
</li>
|
||
<li style="border-top:1px solid #ddd;margin-top:8px">
|
||
<div class="x_tabbable">
|
||
<ul class="x_nav x_nav-tabs">
|
||
<li class="x_active"><a href="#linkUrl">URL 링크</a></li>
|
||
<li><a href="#linkMenu">메뉴 링크</a></li>
|
||
</ul>
|
||
<div class="x_tab-content">
|
||
<div class="x_tab-pane x_active" id="linkUrl">
|
||
<input type="text" required title="URL 링크" />
|
||
</div>
|
||
<div class="x_tab-pane" id="linkMenu">
|
||
<input type="text" required title="메뉴 링크" disabled placeholder="메뉴를 선택하면 자동 입력됨" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<button type="button" class="x_btn x_btn-small x_btn-primary">확인</button>
|
||
</div>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#add_url">×</button>
|
||
</div>
|
||
<div class="col download" id="download">
|
||
<section>
|
||
<h1>다른 메뉴타입설치</h1>
|
||
<div class="list">
|
||
<script id="tmpl_downloadableMenuTypeItem" type="text/x-jquery-tmpl">
|
||
<div class="item">
|
||
<img src="http://${ScreenShotURL}" alt="">
|
||
<h2>${MenuType}</h2>
|
||
<p>${MenuTypeDesc}</p>
|
||
<p>별점 ${Score}/${TotalVotes} <i>|</i> 최근 업데이트 ${LastUpdated} <i>|</i> 전체 다운로드 : ${TotalDownloads}</p>
|
||
<a href="#" class="x_icon-download-alt x_icon-white">설치</a>
|
||
</div>
|
||
</script>
|
||
</div>
|
||
<div class="x_pagination x_pagination-centered">
|
||
<ul>
|
||
<li class="x_disabled"><a href="#">«</a></li>
|
||
<li class="x_active"><a href="#">1</a></li>
|
||
<li><a href="#">2</a></li>
|
||
<li><a href="#">3</a></li>
|
||
<li><a href="#">4</a></li>
|
||
<li><a href="#">5</a></li>
|
||
<li><a href="#">»</a></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#download">×</button>
|
||
</div>
|
||
<div class="col" id="default">
|
||
<fieldset>
|
||
<h1>기본 설정</h1>
|
||
<ul>
|
||
<li>
|
||
<label for="menuName">메뉴 이름</label>
|
||
<input type="text" id="menuName">
|
||
<label><input type="checkbox" class="multilingual"> 다국어 사용</label>
|
||
<fieldset class="multilingual_item">
|
||
<select title="사용 가능한 다국어 목록">
|
||
<option>[새로 입력]</option>
|
||
<option>...</option>
|
||
<option>...</option>
|
||
</select><br>
|
||
<input type="text" class="en" title="English"><br>
|
||
<input type="text" class="ko" title="한국어"><br>
|
||
<input type="text" class="jp" title="日本語"><br>
|
||
<input type="text" class="zh-CN" title="中文(中国)"><br>
|
||
<input type="text" class="zh-TW" title="中文(臺灣)"><br>
|
||
<input type="text" class="fr" title="Français"><br>
|
||
<input type="text" class="de" title="Deutsch"><br>
|
||
<input type="text" class="ru" title="Русский"><br>
|
||
<input type="text" class="es" title="Español"><br>
|
||
<input type="text" class="tr" title="Türkçe"><br>
|
||
<input type="text" class="vi" title="Tiếng Việt"><br>
|
||
<input type="text" class="mn" title="Mongolian">
|
||
<p class="x_alert x_alert-info" style="width:169px">
|
||
지원하는 다국어 목록은 [<a href="{getUrl('','module','admin','act','dispAdminConfigGeneral')}">설정>일반</a>]에서 편집 가능
|
||
</p>
|
||
</fieldset>
|
||
</li>
|
||
<li style="padding-top:8px;margin-top:8px;border-top:1px solid #ddd">
|
||
<label for="mid2">메뉴 아이디 <a href="#help_menuId" class="x_icon-question-sign" data-toggle="#mid2_help">?</a></label>
|
||
<div id="mid2_help" class="x_alert x_alert-info" style="display:none;width:169px">
|
||
<button type="button" class="x_close" data-hide="#mid2_help">×</button>
|
||
<p>페이지 URL로 사용. URL을 사용할 필요가 없다면 생략 가능. 메뉴 생성 후 [속성>일반]에서 수정 가능.</p>
|
||
</div>
|
||
<input type="text" id="mid2">
|
||
</li>
|
||
<li>
|
||
<label><input type="checkbox" class="_newWindow" title="메뉴 클릭시 새 창으로 열기"> 메뉴 클릭시 새 창으로 열기</label>
|
||
</li>
|
||
<li>
|
||
<label><input type="checkbox" class="_leaveUnfolded" title="늘 펼쳐진 상태로 있게 합니다"> 늘 펼쳐진 상태로 있게 합니다</label>
|
||
</li>
|
||
</ul>
|
||
<div class="btnBoth">
|
||
<button type="reset" class="x_btn x_btn-small x_pull-left" data-hide="#default">취소</button>
|
||
<button type="button" class="x_btn x_btn-small x_btn-primary x_pull-right">확인</button>
|
||
</div>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#default">×</button>
|
||
</div>
|
||
<div class="col" id="imgbtn">
|
||
<fieldset>
|
||
<h1>이미지 버튼</h1>
|
||
<form action="">
|
||
<figure>
|
||
<figcaption>일반</figcaption>
|
||
<img src="http://static.naver.net/www/u/2010/0611/nmms_215646753.gif" alt="일반 버튼 이미지">
|
||
</figure>
|
||
<div class="btnBoth">
|
||
<button type="button" class="fileRemover x_btn x_btn-small x_pull-left">삭제</button>
|
||
<button type="button" class="fileTrigger x_btn x_btn-small x_btn-primary x_pull-right">변경</button>
|
||
<input type="file">
|
||
</div>
|
||
</form>
|
||
<form action="">
|
||
<figure>
|
||
<figcaption>마우스 오버</figcaption>
|
||
<p>이미지 없음</p>
|
||
<!--<img src="" alt="마우스 오버 버튼 이미지">-->
|
||
</figure>
|
||
<div class="btnBoth">
|
||
<button type="button" class="fileRemover x_btn x_btn-small x_pull-left">삭제</button>
|
||
<button type="button" class="fileTrigger x_btn x_btn-small x_btn-primary x_pull-right">이미지 올리기</button>
|
||
<input type="file">
|
||
</div>
|
||
</form>
|
||
<form action="">
|
||
<figure>
|
||
<figcaption>선택 됨</figcaption>
|
||
<p>이미지 없음</p>
|
||
<!--<img src="" alt="선택 됨 버튼 이미지">-->
|
||
</figure>
|
||
<div class="btnBoth">
|
||
<button type="button" class="fileRemover x_btn x_btn-small x_pull-left">삭제</button>
|
||
<button type="button" class="fileTrigger x_btn x_btn-small x_btn-primary x_pull-right">이미지 올리기</button>
|
||
<input type="file">
|
||
</div>
|
||
</form>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#imgbtn">×</button>
|
||
</div>
|
||
<div class="col" id="design">
|
||
<fieldset>
|
||
<h1>디자인</h1>
|
||
<div class="x_tabbable">
|
||
<ul class="x_nav x_nav-tabs">
|
||
<li class="x_active"><a href="#pc">PC</a></li>
|
||
<li><a href="#mobile">모바일</a></li>
|
||
</ul>
|
||
<div class="x_tab-content">
|
||
<div class="x_tab-pane x_active" id="pc">
|
||
<img src="http://naradesign.net/photo/DSCN0687.JPG" alt="현재 설정된 PC 레이아웃">
|
||
<a href="#" target="_blank" class="x_icon-zoom-in" title="새창">크게 보기</a>
|
||
</div>
|
||
<div class="x_tab-pane" id="mobile">
|
||
<img src="http://naradesign.net/photo/DSCN0810.JPG" alt="현재 설정된 모바일 레이아웃">
|
||
<a href="#" target="_blank" class="x_icon-zoom-in" title="새창">크게 보기</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<ul class="nav">
|
||
<li><a href="#layout" data-show="#layout">레이아웃 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#skin" data-show="#skin">{게시판} <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
</ul>
|
||
<div class="btnBoth">
|
||
<button type="reset" class="x_btn x_btn-small x_pull-left">취소</button>
|
||
<button type="button" class="x_btn x_btn-small x_btn-primary x_pull-right">저장</button>
|
||
</div>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#design">×</button>
|
||
</div>
|
||
<div class="col theme" id="layout">
|
||
<form action="">
|
||
<h1>레이아웃</h1>
|
||
<label>
|
||
<input type="checkbox" checked title="사이트 기본 레이아웃 사용"> 사이트 기본 레이아웃 사용
|
||
<a href="#siteDefaultDesign" class="x_icon-share-alt">사이트 기본 레이아웃 설정</a>
|
||
</label>
|
||
<div class="list">
|
||
<h2>사용할 수 있는 레이아웃 목록</h2>
|
||
<ul>
|
||
<li>
|
||
<button type="button" class="item" title="클릭하면 레이아웃이 적용됩니다." onClick="alert('\'XE 소개\' 메뉴에 \'엔터프라이즈\' 레이아웃이 적용 됐습니다.')">
|
||
<img src="http://naradesign.net/photo/DSCN0687.JPG" alt="엔터프라이즈 레이아웃">
|
||
<i class="x_icon-ok"></i>
|
||
</button>
|
||
<ul>
|
||
<li><a href="#layoutSetup">설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#layoutHTML">HTML/CSS <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><button type="button" onClick="alert('\'엔터프라이즈[2]\' 레이아웃이 생성 됐습니다.')">복사본 생성</button></li>
|
||
<li><button type="button" onClick="confirm('\'엔터프라이즈\' 레이아웃을 정말 삭제하시겠습니까? \'고급기능\'에서 다시 생성할 수 있습니다.')">삭제</button></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<button type="button" class="item" title="클릭하면 레이아웃이 적용됩니다." onClick="alert('\'XE 소개\' 메뉴에 \'엔터프라이즈\' 레이아웃이 적용 됐습니다.')">
|
||
<img src="http://naradesign.net/photo/DSCN0687.JPG" alt="엔터프라이즈 레이아웃">
|
||
<i class="x_icon-ok"></i>
|
||
</button>
|
||
<ul>
|
||
<li><a href="#layoutSetup">설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><a href="#layoutHTML">HTML/CSS <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><button type="button" onClick="alert('\'엔터프라이즈[2]\' 레이아웃이 생성 됐습니다.')">복사본 생성</button></li>
|
||
<li><button type="button" onClick="confirm('\'엔터프라이즈\' 레이아웃을 정말 삭제하시겠습니까? \'고급기능\'에서 다시 생성할 수 있습니다.')">삭제</button></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<a href="#downloadLayout" data-show="#downloadLayout" class="x_btn x_btn-small x_btn-inverse x_pull-right"><i class="x_icon-plus x_icon-white"></i> 다른 레이아웃 설치</a>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<button type="button" class="x_close" data-hide="#layout">×</button>
|
||
</div>
|
||
<div class="col download" id="downloadLayout">
|
||
<section>
|
||
<h1>다른 레이아웃 설치</h1>
|
||
<div class="list">
|
||
<script id="tmpl_downloadableMenuTypeItem" type="text/x-jquery-tmpl">
|
||
<div class="item">
|
||
<img src="http://www.xpressengine.com/files/attach/images/18322904/188/195/021/de5626ccf0bb28ca223fbbeabd891462.jpg" alt="">
|
||
<h2>${MenuType}</h2>
|
||
<p>${MenuTypeDesc}</p>
|
||
<p>별점 ${Score}/${TotalVotes} <i>|</i> 최근 업데이트 ${LastUpdated} <i>|</i> 전체 다운로드 : ${TotalDownloads}</p>
|
||
<a href="#" class="x_icon-download-alt x_icon-white">설치</a>
|
||
</div>
|
||
</script>
|
||
</div>
|
||
<div class="x_pagination x_pagination-centered">
|
||
<ul>
|
||
<li class="x_disabled"><a href="#">«</a></li>
|
||
<li class="x_active"><a href="#">1</a></li>
|
||
<li><a href="#">2</a></li>
|
||
<li><a href="#">3</a></li>
|
||
<li><a href="#">4</a></li>
|
||
<li><a href="#">5</a></li>
|
||
<li><a href="#">»</a></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#downloadLayout">×</button>
|
||
</div>
|
||
<div class="col theme" id="skin">
|
||
<form action="">
|
||
<h1>스킨</h1>
|
||
<label>
|
||
<input type="checkbox" checked title="사이트 기본 스킨 사용"> 사이트 기본 스킨 사용
|
||
<a href="#siteDefaultDesign" class="x_icon-share-alt">사이트 기본 스킨 설정</a>
|
||
</label>
|
||
<div class="list">
|
||
<h2>사용할 수 있는 스킨 목록</h2>
|
||
<ul>
|
||
<li>
|
||
<button type="button" class="item" title="클릭하면 스킨이 적용됩니다." onClick="alert('\'XE 소개\' 메뉴에 \'엔터프라이즈\' 스킨이 적용 됐습니다.')">
|
||
<img src="http://naradesign.net/photo/DSCN0687.JPG" alt="엔터프라이즈 스킨">
|
||
<i class="x_icon-ok"></i>
|
||
</button>
|
||
<ul>
|
||
<li><a href="#skinSetup">설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><button type="button" onClick="confirm('\'엔터프라이즈\' 스킨을 정말 삭제하시겠습니까? \'고급기능\'에서 다시 생성할 수 있습니다.')">삭제</button></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<button type="button" class="item" title="클릭하면 스킨이 적용됩니다." onClick="alert('\'XE 소개\' 메뉴에 \'엔터프라이즈\' 스킨이 적용 됐습니다.')">
|
||
<img src="http://naradesign.net/photo/DSCN0687.JPG" alt="엔터프라이즈 스킨">
|
||
<i class="x_icon-ok"></i>
|
||
</button>
|
||
<ul>
|
||
<li><a href="#skinSetup">설정 <i class="x_icon-circle-arrow-right"></i></a></li>
|
||
<li><button type="button" onClick="confirm('\'엔터프라이즈\' 스킨을 정말 삭제하시겠습니까? \'고급기능\'에서 다시 생성할 수 있습니다.')">삭제</button></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<a href="#downloadSkin" data-show="#downloadSkin" class="x_btn x_btn-small x_btn-inverse x_pull-right"><i class="x_icon-plus x_icon-white"></i> 다른 스킨 설치</a>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<button type="button" class="x_close" data-hide="#skin">×</button>
|
||
</div>
|
||
<div class="col download" id="downloadSkin">
|
||
<section>
|
||
<h1>다른 스킨 설치</h1>
|
||
<div class="list">
|
||
<script id="tmpl_downloadableMenuTypeItem" type="text/x-jquery-tmpl">
|
||
<div class="item">
|
||
<img src="http://www.xpressengine.com/files/attach/images/18322904/188/195/021/de5626ccf0bb28ca223fbbeabd891462.jpg" alt="">
|
||
<h2>${MenuType}</h2>
|
||
<p>${MenuTypeDesc}</p>
|
||
<p>별점 ${Score}/${TotalVotes} <i>|</i> 최근 업데이트 ${LastUpdated} <i>|</i> 전체 다운로드 : ${TotalDownloads}</p>
|
||
<a href="#" class="x_icon-download-alt x_icon-white">설치</a>
|
||
</div>
|
||
</script>
|
||
</div>
|
||
<div class="x_pagination x_pagination-centered">
|
||
<ul>
|
||
<li class="x_disabled"><a href="#">«</a></li>
|
||
<li class="x_active"><a href="#">1</a></li>
|
||
<li><a href="#">2</a></li>
|
||
<li><a href="#">3</a></li>
|
||
<li><a href="#">4</a></li>
|
||
<li><a href="#">5</a></li>
|
||
<li><a href="#">»</a></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
<button type="button" class="x_close" data-hide="#downloadSkin">×</button>
|
||
</div>
|
||
<div class="col" id="auth">
|
||
<fieldset>
|
||
<h1>권한</h1>
|
||
<ul>
|
||
<li>
|
||
<label for="authMenu">메뉴 노출 대상</label>
|
||
<select id="authMenu">
|
||
<option value="all">모든 사용자</option>
|
||
<option value="loged">로그인 사용자</option>
|
||
<option value="selected">선택그룹 사용자</option>
|
||
</select>
|
||
<div class="selected x_hide">
|
||
<label><input type="checkbox" title="관리그룹"> 관리그룹</label>
|
||
<label><input type="checkbox" title="정회원"> 정회원</label>
|
||
<label><input type="checkbox" title="준회원"> 준회원</label>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<label for="displayMenu">글읽기</label>
|
||
<select id="displayMenu">
|
||
<option value="all">모든 사용자</option>
|
||
<option value="loged">로그인 사용자</option>
|
||
<option value="selected">선택그룹 사용자</option>
|
||
</select>
|
||
<div class="selected x_hide">
|
||
<label><input type="checkbox" title="관리그룹"> 관리그룹</label>
|
||
<label><input type="checkbox" title="정회원"> 정회원</label>
|
||
<label><input type="checkbox" title="준회원"> 준회원</label>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<label for="authWrite">글쓰기</label>
|
||
<select id="authWrite">
|
||
<option value="all">모든 사용자</option>
|
||
<option value="loged">로그인 사용자</option>
|
||
<option value="selected">선택그룹 사용자</option>
|
||
</select>
|
||
<div class="selected x_hide">
|
||
<label><input type="checkbox" title="관리그룹"> 관리그룹</label>
|
||
<label><input type="checkbox" title="정회원"> 정회원</label>
|
||
<label><input type="checkbox" title="준회원"> 준회원</label>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<label for="authReply">댓글쓰기</label>
|
||
<select id="authReply">
|
||
<option value="all">모든 사용자</option>
|
||
<option value="loged">로그인 사용자</option>
|
||
<option value="selected">선택그룹 사용자</option>
|
||
</select>
|
||
<div class="selected x_hide">
|
||
<label><input type="checkbox" title="관리그룹"> 관리그룹</label>
|
||
<label><input type="checkbox" title="정회원"> 정회원</label>
|
||
<label><input type="checkbox" title="준회원"> 준회원</label>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
<div class="x_btn-group">
|
||
<button type="button" class="x_btn x_btn-small x_btn-primary">확인</button>
|
||
</div>
|
||
</fieldset>
|
||
<button type="button" class="x_close" data-hide="#auth">×</button>
|
||
</div>
|
||
<div class="col" id="details">
|
||
{상세설정}
|
||
<button type="button" class="x_close" data-hide="#details">×</button>
|
||
</div>
|
||
<div class="col" id="html">
|
||
{HTML/CSS}
|
||
<button type="button" class="x_close" data-hide="#html">×</button>
|
||
</div>
|
||
</div>
|
||
<style>
|
||
/* Site */
|
||
body>.x{max-width:none}
|
||
.x>.body>.content{margin-bottom:0}
|
||
#site{position:relative;overflow-x:auto;overflow-y:hidden;white-space:nowrap;margin-top:10px}
|
||
#site .btnBoth,
|
||
#site .x_btn-group{text-align:right;padding:10px 0;margin:15px 0;border-top:1px solid #ccc}
|
||
#site .btnBoth:after{content:"";display:block;clear:both}
|
||
.col{display:inline-block;vertical-align:top;position:relative;white-space:normal;height:100%;min-width:220px;padding:10px 25px 10px 10px;margin:0 4px 0 0;overflow-y:auto;overflow-x:hidden;border:1px solid #ddd}
|
||
.col>*>h1{line-height:30px;font-size:16px;border-bottom:2px solid #666;margin:0;color:#333}
|
||
.col>*>ul{margin:0;padding:0;list-style:none}
|
||
.col>.x_close{position:absolute;top:0;right:0;width:32px;height:32px}
|
||
.col input[type="checkbox"],
|
||
.col input[type="radio"]{margin:0}
|
||
.col label{cursor:pointer}
|
||
/* .mapi * */
|
||
.mapi{margin:0 0 15px 0;min-width:200px;background-color:transparent !important}
|
||
.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}
|
||
.mapi a{text-decoration:none}
|
||
.mapi>ul{padding:1px}
|
||
/* Root */
|
||
.mapi>ul>li{margin-top:30px;position:relative}
|
||
.mapi>ul>li:before{content:"";display:block;border-top:1px dashed #ccc;position:relative;top:-15px}
|
||
.mapi>ul>li:first-child{margin-top:0}
|
||
.mapi>ul>li:first-child:before{content:normal}
|
||
.mapi>ul>li>a{font-weight:bold}
|
||
.mapi>ul>li>ul{border-top:2px solid #666;margin-top:7px;padding-top:7px}
|
||
/* li>a */
|
||
.mapi li>a{border:0 !important;padding:0 8px !important;margin:0 60px 1px 0;border-radius:3px;position:relative;z-index:2;height:23px;line-height:23px;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
.mapi .x_icon-home{opacity:.5;filter:alpha(opacity=50)}
|
||
.mapi .jstree-hovered>.x_icon-home,
|
||
.mapi .jstree-clicked>.x_icon-home{background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png);opacity:1;filter:alpha(opacity=100)}
|
||
/* li>.side */
|
||
.mapi .side{position:absolute;z-index:2;top:0;right:0;line-height:0}
|
||
.mapi .side>button{border:0;border-radius:3px;width:23px;height:23px;overflow:hidden;font-size:0;line-height:0;text-indent:24px;background:url({getUrl('')}common/img/glyphicons-halflings.png) no-repeat;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
.mapi .side>button.addItem{background-position:4px -91px}
|
||
.mapi .side>button.showProp{background-position:-428px 5px}
|
||
.mapi .side>button:hover,
|
||
.mapi .side>button:focus{background-color:#333;background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png)}
|
||
/* Plugin style override */
|
||
.mapi a>.jstree-icon{display:none}
|
||
/* Nav */
|
||
.col .nav li{border-bottom:1px solid #ddd;position:relative;white-space:nowrap}
|
||
.col .nav li:first-child{border-top:0}
|
||
.col .nav li>a,
|
||
.col .nav li>button{text-align:left;color:#000;background-color:transparent;border:0;display:block;padding:5px 15px 5px 8px;color:#333;text-decoration:none;background:#fff;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
.col .nav li>button{width:100%}
|
||
.col .nav li>a:hover,
|
||
.col .nav li>a:focus,
|
||
.col .nav li.active>a,
|
||
.col .nav li>button:hover,
|
||
.col .nav li>button:focus{background:#666;color:#fff}
|
||
.col .nav li>a>i{position:absolute;top:50%;right:5px;margin:-7px 0 0 0;opacity:.5;filter:alpha(opacity=50)}
|
||
.col .nav li>a:hover>i,
|
||
.col .nav li>a:focus>i,
|
||
.col .nav li.active>a>i{background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png);background-repeat:no-repeat;opacity:1;filter:alpha(opacity=100)}
|
||
.col input[type="file"]{width:1px;height:1px;overflow:hidden;font-size:0;line-height:0;opacity:0;filter:alpha(opacity=0)}
|
||
/* Download */
|
||
.download.col{max-width:600px}
|
||
.download .list{padding:1px 0;border-bottom:1px solid #ccc}
|
||
.download .item{border-top:1px solid #ddd;padding:1px 0 1px 95px;position:relative}
|
||
.download .item:first-child{border:0}
|
||
.download .item>img{position:absolute;top:15px;left:0;width:80px;height:80px}
|
||
.download h2{font-size:14px}
|
||
.download a.x_icon-download-alt{width:24px;height:24px;background-color:#94A55C;position:absolute;top:7px;right:0;border-radius:3px;background-position:-90px -19px}
|
||
.download a.x_icon-download-alt:hover,
|
||
.download a.x_icon-download-alt:focus{background-color:#333}
|
||
.download p>i{font-style:normal;color:#ccc}
|
||
/* Theme(layout|skin) */
|
||
.theme img{width:220px}
|
||
.theme label{margin:0;padding:8px 0;position:relative;border-bottom:1px solid #ddd}
|
||
.theme label>a{position:absolute;top:4px;right:0;width:24px;height:24px;border-radius:3px;background-position:-330px -91px;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
.theme label>a:hover,
|
||
.theme label>a:focus{background-color:#000;background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png)}
|
||
.theme h2{font-size:14px;border-bottom:1px solid #ddd;margin:0;padding:15px 0 8px 0}
|
||
.theme ul button{background-color:transparent;border:0;padding:0;margin:0;overflow:visible}
|
||
.theme ul{margin:0;padding:0;list-style:none}
|
||
.theme li{zoom:1}
|
||
.theme li:after{content:"";display:block;clear:both}
|
||
.theme .list>ul>li{height:146px;padding:8px 0 8px 230px;border-top:1px dashed #ddd;position:relative}
|
||
.theme .list>ul>li:first-child{border:0}
|
||
.theme .item{position:absolute;margin:0 -220px 0 0;left:0;top:8px}
|
||
.theme .item>i{display:none}
|
||
.theme .item:hover>i,
|
||
.theme .item:focus>i{display:block;position:absolute;bottom:0;right:0;background-color:#fff;width:24px;height:24px;opacity:.75;filter:alpha(opacity=75);background-position:-283px 5px}
|
||
.theme ul ul{white-space:nowrap}
|
||
.theme ul ul a>i{position:absolute;top:2px;right:2px}
|
||
.theme ul ul>li>*{display:block;text-align:left;position:relative;text-decoration:none;padding:0 24px 0 5px;border-radius:3px;color:#000;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
.theme ul ul>li>*:hover,
|
||
.theme ul ul>li>*:focus{background:#666;color:#fff}
|
||
.theme ul ul>li>a:hover>i,
|
||
.theme ul ul>li>a:focus>i{background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png)}
|
||
.theme ul ul>li>button{width:100%}
|
||
/* Properties */
|
||
#properties ul{margin:8px 0 0 0;padding:0 0 8px 0;border-bottom:1px solid #ddd}
|
||
#properties li{position:relative;white-space:nowrap}
|
||
#properties li>strong{margin:0 0 0 8px}
|
||
#properties li>a,
|
||
#properties li>button{color:#000;position:relative;display:block;padding:0 8px;height:28px;line-height:28px;background-color:transparent;border:0;text-align:left;text-decoration:none;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}
|
||
#properties li>a{padding:0 24px 0 8px}
|
||
#properties li.add{border:1px solid #ddd;border-left:0;border-right:0;margin-top:8px;margin-bottom:8px}
|
||
#properties li.default{margin:8px 0 0 0;padding-top:8px;border-top:1px solid #ddd}
|
||
#properties li.add>a{height:30px;line-height:30px}
|
||
#properties li.homepage{border-top:1px solid #ddd;padding-top:8px}
|
||
#properties li>button{width:100%}
|
||
#properties li>a:hover,
|
||
#properties li>button:hover,
|
||
#properties li>a:active,
|
||
#properties li>button:active,
|
||
#properties li>a:focus,
|
||
#properties li>button:focus,
|
||
#properties li.active>a{background-color:#666;color:#fff}
|
||
#properties li>*>i{position:absolute;top:50%;right:5px;margin:-7px 0 0 0;opacity:.5;filter:alpha(opacity=50)}
|
||
#properties li>*:hover>i,
|
||
#properties li>*:active>i,
|
||
#properties li>*:focus>i,
|
||
#properties li.active>*>i{background-image:url({getUrl('')}common/img/glyphicons-halflings-white.png);opacity:1;filter:alpha(opacity=100)}
|
||
/* Add */
|
||
#add>*>.x_btn-group{border:0;padding:0}
|
||
/* Add Page */
|
||
#add_page ul{margin:15px 0}
|
||
/* Add URL */
|
||
#add_url ul{margin:15px 0}
|
||
#add_url .clone ul{margin:0}
|
||
#add_url .clone li{list-style:none}
|
||
#add_url .clone ul ul{padding-left:15px}
|
||
#add_url .clone .root{margin-top:15px}
|
||
/* Auth */
|
||
#auth ul{margin:15px 0}
|
||
#auth li{border-top:1px solid #ddd;margin:0 0 15px 0;padding:15px 0 0 0}
|
||
#auth li:first-child{border:0}
|
||
#auth label:first-child{font-weight:bold}
|
||
#auth select{padding:0;width:100%}
|
||
/* Default */
|
||
#default ul{margin:15px 0}
|
||
/* Image Button */
|
||
#imgbtn h1+form{padding:8px 0 0 0}
|
||
#imgbtn figure{margin:0}
|
||
#imgbtn figcaption{font-weight:bold}
|
||
#imgbtn p{margin:0}
|
||
#imgbtn .btnBoth{border-top:0;border-bottom:1px solid #ddd;margin-top:0;padding-bottom:28px}
|
||
/* Design */
|
||
#design ul{margin-top:8px}
|
||
#design .btnBoth{border:0;margin-top:0}
|
||
#design img{width:220px}
|
||
#design .x_tab-pane{position:relative}
|
||
#design .x_icon-zoom-in{position:absolute;right:0;bottom:0;width:24px;height:24px;background-color:#fff;opacity:.75;filter:alpha(opacity:75);background-position:-331px 5px}
|
||
#design .x_icon-zoom-in:after{content:normal}
|
||
</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._xeAdminVar = {};
|
||
|
||
function onSiteMapReceived(htData){
|
||
var $ = jQuery;
|
||
var aMenuList = htData.menuList;
|
||
|
||
$("#siteMapTree").html(createTreeMarkup(aMenuList));
|
||
|
||
$("#siteMapTree")
|
||
.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" : { }
|
||
// it makes sense to configure a plugin only if overriding the defaults
|
||
})
|
||
.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) {
|
||
//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){
|
||
$("#siteMapTree input").blur();
|
||
//console.log($("#siteMapTree input"));
|
||
|
||
var sSelectedMenuSrl = data.rslt.obj.attr("id").replace("menu", "");
|
||
$._xeAdminVar.sSelectedMenuSrl = sSelectedMenuSrl;
|
||
|
||
showProp(sSelectedMenuSrl);
|
||
});
|
||
|
||
$('#site_map').nextAll().hide();
|
||
}
|
||
|
||
var htNodeInfo = {};
|
||
// return html
|
||
function createTreeMarkup(aNode){
|
||
var $ = jQuery;
|
||
|
||
if(aNode.length == 0){
|
||
return "";
|
||
}
|
||
|
||
var sActiveBtn, sNormalBtn, sHoverBtn, sExpand, sLink, aSubNodes, sNodeSrl, sOpenWindow, sParentSrl, nSelected, sText, sURL, sIsStartModule, aSubNode;
|
||
|
||
// 1: Sitemap node, 2: Menu node
|
||
var nNodeType;
|
||
|
||
var sResult = "";
|
||
for(var i=0, nLen=aNode.length; i<nLen; i++){
|
||
// Only sitemap node has menuSrl
|
||
if(aNode[i].menuSrl){
|
||
nNodeType = 1;
|
||
}else{
|
||
nNodeType = 2;
|
||
}
|
||
|
||
var sTargetPanel;
|
||
switch(nNodeType){
|
||
/*
|
||
list: Array[1]
|
||
menuSrl: "59"
|
||
title: "welcome_menu"
|
||
*/
|
||
case 1:
|
||
sText = aNode[i].title;
|
||
sNodeSrl = aNode[i].menuSrl;
|
||
|
||
aSubNode = aNode[i].menuItems.list;
|
||
|
||
sTargetPanel = "#propertiesRoot";
|
||
break;
|
||
|
||
/*
|
||
active_btn: ""
|
||
expand: "N"
|
||
hover_btn: ""
|
||
href: ""
|
||
link: "menu1"
|
||
list: Array[1]
|
||
node_srl: "60"
|
||
normal_btn: ""
|
||
open_window: "N"
|
||
parent_srl: "0"
|
||
selected: 0
|
||
text: "menu1"
|
||
url: ""
|
||
is_start_module: 1 or true
|
||
*/
|
||
case 2:
|
||
sText = aNode[i].text;
|
||
sLink = aNode[i].link;
|
||
sURL = aNode[i].url;
|
||
sNodeSrl = aNode[i].node_srl;
|
||
sParentSrl = aNode[i].parent_srl;
|
||
|
||
sExpand = aNode[i].expand;
|
||
sOpenWindow = aNode[i].open_window;
|
||
|
||
nSelected = aNode[i].selected;
|
||
|
||
sActiveBtn = aNode[i].active_btn;
|
||
sNormalBtn = aNode[i].normal_btn;
|
||
sHoverBtn = aNode[i].hover_btn;
|
||
|
||
sIsStartModule = aNode[i].is_start_module;
|
||
|
||
aSubNode = aNode[i].list;
|
||
|
||
sTargetPanel = "#properties";
|
||
break;
|
||
|
||
default:
|
||
}
|
||
|
||
htNodeInfo[sNodeSrl] = aNode[i];
|
||
|
||
htNodeInfo[sNodeSrl].nNodeType = nNodeType;
|
||
htNodeInfo[sNodeSrl].sText = sText;
|
||
|
||
sSubTree = "";
|
||
if(aSubNode && aSubNode.length>0){
|
||
sSubTree = createTreeMarkup(aSubNode, aNode[i]);
|
||
}
|
||
/*
|
||
if(sMenuType === "shortcut"){
|
||
sText = sText + " ${s}";
|
||
}
|
||
*/
|
||
if(sIsStartModule){
|
||
sText = sText + " ${h}";
|
||
}
|
||
|
||
sResult += $.tmpl( "menuTreeNode", {MenuTitle:sText,MenuId:sNodeSrl,NodeType:nNodeType,SubTree:sSubTree,Target:sTargetPanel} ).get()[0].outerHTML.replace("${s}", "<i class='icon-share-alt'></i>").replace("${h}", "<i class='x_icon-home' title='Home Page'>HOME</i>");
|
||
}
|
||
|
||
return $.tmpl( "menuTree", {Nodes:sResult} ).get()[0].outerHTML;
|
||
}
|
||
|
||
function showProp(sMenuId){
|
||
var $ = jQuery;
|
||
$._htMarkupActionParam = {sMenuId: sMenuId};
|
||
|
||
if(htNodeInfo[sMenuId].nNodeType === 1){
|
||
$("#propertiesRoot").show(null, null, null, {bOpeningProp: true});
|
||
}else{
|
||
$("#properties").show(null, null, null, {bOpeningProp: true});
|
||
}
|
||
}
|
||
|
||
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) {
|
||
$(this).trigger('hide', [htOpt]);
|
||
|
||
var sId = $(this).attr("id");
|
||
|
||
if($(this).hasClass("col")){
|
||
$(this).next().hide(speed, easing, callback, htOpt);
|
||
|
||
if(sId){
|
||
$(this).parent().find('a[href="#'+sId+'"]').parent('li.active').removeClass('active');
|
||
}
|
||
}
|
||
|
||
return _hide.apply(this, arguments);
|
||
}
|
||
|
||
var _show = $.fn.show;
|
||
$.fn.show = function(speed, easing, callback, htOpt) {
|
||
$(this).trigger('show', [htOpt]);
|
||
|
||
if($(this).hasClass("col")){
|
||
$(this).next().hide(speed, easing, callback, htOpt);
|
||
|
||
setTimeout(scrollToRight, 0);
|
||
//scrollToRight();
|
||
}
|
||
|
||
return _show.apply(this, arguments);
|
||
}
|
||
|
||
$.fn.prevUntilAnd = function(){
|
||
var $result = $.fn.prevUntil.apply(this, arguments);
|
||
var $match = ($result.length>0?$result.last():$(this)).prev();
|
||
|
||
if($match.length>0) $.merge($result, $match);
|
||
|
||
return $result;
|
||
}
|
||
|
||
// $('#site_map').nextAll().hide();
|
||
|
||
//$( "#tmpl_siteMap" ).template( "siteMap" );
|
||
$( "#tmpl_menuTree" ).template( "menuTree" );
|
||
$( "#tmpl_menuTreeNode" ).template( "menuTreeNode" );
|
||
|
||
loadSiteMap();
|
||
|
||
//$.jstree._themes = "PATH/TO/FOLDER/";
|
||
//$.jstree._themes = "/maserati/modules/menu/tpl/css/themes/";
|
||
$.jstree._themes = '{getUrl("")}/modules/menu/tpl/css/themes/';
|
||
|
||
// Prepare parms
|
||
$(document.body).on("click", ".x [data-param]", function(ev){
|
||
$._htMarkupActionParam = $.parseJSON($(ev.srcElement).attr('data-param'));
|
||
|
||
return false;
|
||
});
|
||
|
||
// TARGET toggle
|
||
$(document.body).on("click", ".x [data-toggle]", function(ev){
|
||
$($(ev.srcElement).attr('data-toggle')).toggle();
|
||
return false;
|
||
});
|
||
|
||
// TARGET show
|
||
$(document.body).on("click", ".x [data-show]", function(ev){
|
||
var $anchor = $(this);
|
||
var $target = $($(this).attr('data-show'));
|
||
|
||
showTargetClicked($anchor, $target);
|
||
});
|
||
function showTargetClicked($anchor, $target){
|
||
$anchor.parents('.col').next().hide();
|
||
|
||
// change selected status of the navigation li
|
||
if($anchor.find('i.x_icon-circle-arrow-right').length > 0){
|
||
$anchor.parent('li').addClass('active').siblings('li').removeClass('active');
|
||
}
|
||
|
||
$target.show();
|
||
}
|
||
|
||
// TARGET hide
|
||
$(document.body).on("click", ".x [data-hide]", function(ev){
|
||
var $target = $($(ev.srcElement).attr('data-hide'));
|
||
|
||
$target.hide();
|
||
});
|
||
|
||
$(document.body).on("click", ".x .showProp", function(ev){
|
||
var sMenuId = $._htMarkupActionParam.sMenuId;
|
||
|
||
$("#siteMapTree").jstree("deselect_all");
|
||
$("#siteMapTree").jstree("select_node", "#menu"+sMenuId);
|
||
});
|
||
|
||
// scrollToRight();
|
||
|
||
function scrollToRight(){
|
||
$('#site').scrollTo($('#site').width(), 0, {duration: 0 } );
|
||
}
|
||
|
||
// -----------------------------------------------------------------------------------------
|
||
$("#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);
|
||
|
||
var sMenuId = $._htMarkupActionParam.sMenuId;
|
||
var htInfo = htNodeInfo[sMenuId];
|
||
$(ev.target).find('.title').html(htInfo.sText);
|
||
});
|
||
$('#propertiesRoot').bind("hide", function(ev, htOpt){
|
||
if(htOpt && htOpt.bOpeningProp) return;
|
||
|
||
$("#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);
|
||
|
||
var sMenuId = $._htMarkupActionParam.sMenuId;
|
||
var htInfo = htNodeInfo[sMenuId];
|
||
$(ev.target).find('.title').html(htInfo.sText);
|
||
$(ev.target).find('.url').html(htInfo.url);
|
||
});
|
||
$('#properties').bind("hide", function(ev, htOpt){
|
||
if(htOpt && htOpt.bOpeningProp) return;
|
||
|
||
$("#siteMapTree").jstree("deselect_all");
|
||
});
|
||
|
||
$("#tmpl_menuTypeItem").template( "menuTypeItem" );
|
||
$('#add').bind("show", function(){
|
||
$.exec_json("menu.getMenuAdminInstalledMenuType", {}, function(htData){
|
||
console.log(htData);
|
||
|
||
var sResult = "";
|
||
var htItemTypes = htData.menu_types;
|
||
|
||
var item;
|
||
for(var sModuleName in htItemTypes){
|
||
//item = htData.menu_types[i];
|
||
if(htData.hasOwnProperty(item)) continue;
|
||
|
||
item = htItemTypes[sModuleName];
|
||
console.log(item);
|
||
|
||
sResult += $.tmpl( "menuTypeItem", {
|
||
ModuleName : sModuleName,
|
||
ModuleTitle : sModuleName
|
||
} ).get()[0].outerHTML;
|
||
}
|
||
|
||
sResult += '<li><a href="#add_url" data-show="#add_url">URL 링크 <i class="x_icon-circle-arrow-right"></i></a></li>';
|
||
$('#add ._itemList').html(sResult);
|
||
scrollToRight();
|
||
});
|
||
});
|
||
$('#add').bind("hide", function(){
|
||
});
|
||
|
||
$("#tmpl_downloadableMenuTypeItem").template( "downloadableMenuTypeItem" );
|
||
$('#download').bind("show", function(){
|
||
//index.php?act=getAutoinstallAdminMenuPackageList
|
||
$('#add').nextAll().hide();
|
||
|
||
var params = {};
|
||
params['menu_srl'] = 0;
|
||
$.exec_json("menu.getAutoinstallAdminMenuPackageList", params, function(htData){
|
||
var sResult = "";
|
||
var item;
|
||
for(var i=0, nLen=htData.item_list.length; i<nLen; i++){
|
||
item = htData.item_list[i];
|
||
|
||
sResult += $.tmpl( "downloadableMenuTypeItem", {
|
||
MenuType: item.title,
|
||
MenuTypeDesc: item.package_description,
|
||
ScreenShotURL: item.item_screenshot_url.replace(/^http:\/\//, ""),
|
||
Score: item.package_star,
|
||
TotalVotes: item.package_voted,
|
||
LastUpdated: item.item_regdate,
|
||
TotalDownloads: item.package_downloaded
|
||
} ).get()[0].outerHTML;
|
||
}
|
||
|
||
$('#download .list').html(sResult);
|
||
scrollToRight();
|
||
});
|
||
});
|
||
$('#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.sSelectedMenuSrl];
|
||
|
||
console.log(htInfo);
|
||
|
||
$(this).find('#menuName').val(htInfo.sText);
|
||
$(this).find('#mid2').val(htInfo.url);
|
||
|
||
if(htInfo.open_window === "N"){
|
||
$(this).find('._newWindow').removeAttr("checked");
|
||
}else{
|
||
$(this).find('._newWindow').attr("checked", "checked");
|
||
}
|
||
|
||
if(htInfo.expand === "N"){
|
||
$(this).find('._leaveUnfolded').removeAttr("checked");
|
||
}else{
|
||
$(this).find('._leaveUnfolded').attr("checked", "checked");
|
||
}
|
||
});
|
||
$('#default').bind("hide", function(){
|
||
});
|
||
// $('#add_url').bind("show", function(){console.log('show');});
|
||
// $('#add_url').bind("hide", function(){console.log('hide');});
|
||
|
||
// Set #site height fix
|
||
$(window).resize(function(){
|
||
var wHeigh = $(window).height();
|
||
$('#site').height(wHeigh - 150).children('.col').height(wHeigh - 195);
|
||
}).resize();
|
||
// #linkMenu copy and set text to input
|
||
setTimeout(function(){
|
||
$('.mapi').clone().removeClass().removeAttr('id').addClass('clone').appendTo('#linkMenu').find('li').removeAttr('id').removeAttr('class').find('ins, .side').remove();
|
||
$('.clone a').click(function(){
|
||
$('#linkMenu>input').val($(this).text());
|
||
});
|
||
}, 1000);
|
||
/*
|
||
$('.x_close[data-hide]').click(function(){
|
||
var inactiveTarget = $(this).attr('data-hide');
|
||
$navAnchor.each(function(){
|
||
var href = $(this).attr('href');
|
||
if(href == inactiveTarget){
|
||
$(this).parent('li').removeClass('active');
|
||
}
|
||
});
|
||
});
|
||
*/
|
||
// Auth
|
||
$('#auth select').change(function(){
|
||
var $this = $(this);
|
||
var $selected = $this.next('.selected');
|
||
if($this.find('>option:selected').val() == 'selected'){
|
||
$selected.show();
|
||
} else {
|
||
$selected.hide();
|
||
}
|
||
});
|
||
// File upload
|
||
$('.fileTrigger').click(function(){
|
||
$(this).next('input[type="file"]').click();
|
||
});
|
||
$('input[type="file"]').change(function(){
|
||
$(this).closest('form').submit();
|
||
});
|
||
$('.fileRemover').click(function(){
|
||
$(this).remove();
|
||
});
|
||
setTimeout(function(){
|
||
$('.fileRemover').each(function(){
|
||
var $this = $(this);
|
||
if($this.closest('form').find('>figure>img').length){
|
||
$this.show(); // Show remover
|
||
} else {
|
||
$this.hide(); // Hide remover
|
||
}
|
||
});
|
||
}, 1000);
|
||
// Theme(layout | skin) list toggle
|
||
$('.theme .list').each(function(){
|
||
var $this = $(this);
|
||
var $check = $this.prev('label').children('input:checkbox');
|
||
function toggleList(){
|
||
if($check.is(':checked')){
|
||
$this.hide();
|
||
} else {
|
||
$this.show();
|
||
}
|
||
}
|
||
$(window).load(toggleList);
|
||
$check.change(toggleList);
|
||
});
|
||
});
|
||
//]]>
|
||
</script> |