").addClass("x_modal _common x").css('display', 'none');
+ //xe.cmd_cancel = "{$lang->cmd_cancel}";
+ //xe.cmd_confirm = "{$lang->cmd_confirm}";
+ var $msgBox = $.xeMsgBox.$msgBox = $("
").addClass("x_modal _common x").css('display', 'none').css('z-index', 9999);
$msgBox.html('
\
\
');
@@ -1116,7 +1141,7 @@ jQuery(function($){
backgroundColor:'#000',
opacity: 0.5,
display:'none',
- zIndex:100
+ zIndex:9998
});
//$($.find("body")).append($msgBox);
$($.find("body")).append($foggyLayer);
@@ -1922,3 +1947,329 @@ function getOffset(elem, offsetParent) {
return {top:top, left:left};
}
+
+//----------------menu selector start
+jQuery._xeAdminVar = jQuery._xeAdminVar || {};
+
+jQuery(function($){
+ var $container;
+ var aSelectedModules;
+ var htNodeInfo;
+ var fnOnSelect;
+
+ $.template( "menuSelector_menuTree", '
' );
+ $.template( "menuSelector_menuTreeNode", '
\
+ \
+ {{html SubTree}}\
+ ' );
+ //data-param=\'{ "sMenuId":"${MenuId}", "sMenuUrl":"${MenuUrl}", "sMenuTitle":"${MenuTitle}" }\'
+ function onSiteMapReceived(htData){
+ var $ = jQuery;
+
+ var aMenuList = htData.menuList;
+
+ var sTreeHtml = createTreeMarkup(aMenuList, 0, "menuSelector_menuTree", "menuSelector_menuTreeNode");
+ $container.html(sTreeHtml);
+
+ $container
+ .jstree({
+ "plugins" : ["themes","html_data","ui","crrm"],
+
+ "crrm" : {
+ "move" : {
+ "check_move" : function (m) {
+ var p = this._get_parent(m.o);
+
+ // root is not draggable
+ if(p === -1) return false;
+
+ // a menu cann't be dragged to a root position
+ p = this._get_parent(m.np);
+ if(!p) return false;
+
+ return true;
+ }
+ }
+ },
+
+ "core" : { }
+ })
+ .bind("loaded.jstree", function (event, data) {
+ data.inst.open_all();
+
+ var sRenameId = $._xeAdminVar.sRenameOnload;
+ $._xeAdminVar.sRenameOnload = null;
+
+ var sSelectOnload = $._xeAdminVar.sSelectOnload;
+ $._xeAdminVar.sSelectOnload = null;
+
+ if(sRenameId){
+ //console.log('renaming', sRenameId);
+ $("#siteMapTree").jstree("rename", $("#menu"+sRenameId));
+ $("#menu"+sRenameId)[0].scrollIntoView(true);
+ }
+
+ if(sSelectOnload){
+ //console.log('selecting', sSelectOnload);
+ var el = $("#menu"+sSelectOnload)[0];
+
+ if(el){
+ $("#siteMapTree").jstree("select_node", $(el));
+ el.scrollIntoView(true);
+ }
+ }
+
+ })
+ .bind("select_node.jstree", function(event, data){
+ //console.log(data);
+ //jstree-clicked
+ });
+
+ // disable sitemap labels and shortcuts.
+ $container.find('._nodeType_1, ._nodeType_3').parent('li').addClass('x_disabled');
+
+ /*
+ if(sSelectedModule){
+ $container.find('._menu_url_'+sSelectedModule).click();
+ }
+ */
+ }
+
+ $.xeShowMenuSelector = function($container_param, fnOnSelect_param, aSelectedModules_param){
+ var $ = jQuery;
+
+ var params = {
+ menu_srl : 0
+ };
+
+ $container = $container_param;
+ aSelectedModules = aSelectedModules_param;
+ fnOnSelect = fnOnSelect_param;
+ htNodeInfo = {};
+
+ $.exec_json("menu.getMenuAdminSiteMap", params, onSiteMapReceived);
+ }
+
+ // return html
+ function createTreeMarkup(aNode, sParentSrl, sMenuTree, sMenuTreeNode){
+ var $ = jQuery;
+
+ sMenuTree = sMenuTree || "menuSelector_menuTree";
+ sMenuTreeNode = sMenuTreeNode || "menuSelector_menuTreeNode";
+
+ var $ = jQuery;
+
+ if(aNode.length == 0){
+ return "";
+ }
+
+ var sActiveBtn, sNormalBtn, sHoverBtn, sExpand, sLink, aSubNodes, sNodeSrl, sOpenWindow, sParentSrl, nSelected, sText, sURL, sIsStartModule, aSubNode, sModuleType;
+
+ // 1: Sitemap node, 2: Menu node
+ var nNodeType;
+
+ var sResult = "";
+ var sTargetPanel;
+ for(var i=0, nLen=aNode.length; i
0){
+ sSubTree = createTreeMarkup(aSubNode, sNodeSrl, sMenuTree, sMenuTreeNode);
+ }
+ /*
+ if(sMenuType === "shortcut"){
+ sText = sText + " ${s}";
+ }
+ */
+ var sTextWithIcons = sText;
+ if(sIsStartModule){
+ sTextWithIcons += " ${h}";
+ }
+ if(htNodeInfo[sNodeSrl].sModuleType === "_SHORTCUT"){
+ sTextWithIcons += " ${s}";
+ nNodeType = 3;
+ }
+
+ var $node = $.tmpl( sMenuTreeNode, {MenuTitleWithHome:sTextWithIcons,MenuTitle:sText,MenuId:sNodeSrl,MenuUrl:sURL,NodeType:nNodeType,SubTree:sSubTree,Target:sTargetPanel} )
+ .data('sMenuId', sNodeSrl).data('sMenuUrl', sURL).data('sMenuTitle', sText);
+ //data-param=\'{ "sMenuId":"${MenuId}", "sMenuUrl":"${MenuUrl}", "sMenuTitle":"${MenuTitle}" }\'
+ //console.log($node);
+ sResult += $node[0].outerHTML.replace("${h}", "[HOME]").replace("${s}", "");
+ }
+
+ return $.tmpl( sMenuTree, {Nodes:sResult} ).get()[0].outerHTML;
+ }
+
+});
+
+
+jQuery(function($){
+ // 찾기
+ /*
+ $t
+ .not('.xe-module-search')
+ .addClass('xe-module-search')
+ .parent()
+ .find('.moduleTrigger')
+ */
+
+ function xeMenuSearch(ev){
+ var $btn = $(ev.target);
+
+ $.xeMsgBox.confirmDialog({
+ sTitle : 'TITLE',
+
+ sText : '',
+
+ bSmall: true,
+
+ bDanger: true,
+
+ fnOnOK : function(){
+ console.log($container.find('.jstree-clicked'));
+
+ var aSelected = [];
+ $container.find('.jstree-clicked').each(function(idx, el){
+ var htParam = $.parseJSON($(this).attr('data-param'));
+ /*
+ sMenuId : "552"
+ sMenuTitle : "222"
+ sMenuUrl : "page_QLQK2400"
+ */
+ aSelected.push({browser_title: htParam.sMenuTitle, mid: htParam.sMenuUrl, module_srl: htParam.sMenuId});
+ console.log(htParam);
+ //console.log($(el).closest('li'), $(el).closest('li').data('sMenuId'));
+ });
+
+ $btn.trigger('moduleSelect', [aSelected]);
+ }
+ });
+
+ $container = $('.x_modal._common .tree');
+ $.xeShowMenuSelector($container);
+ console.log(ev);
+ }
+
+ // Add html for .module_search
+ $.fn.xeMenuSearchHtml = function(){
+ var tmpCount = 0;
+
+ $(this).each(function(){
+ var $this = $(this);
+ var id = $this.attr('id');
+ if(!id) id = '__module_search_' + tmpCount;
+ tmpCount++;
+
+ // add html
+ var $btn = $('' + xe.cmd_find + '');
+ var $displayInput = $('');
+ $this.after($btn).after(' ').after($displayInput).hide();
+ $btn.on('click', xeMenuSearch);
+
+ // on selected module
+ $btn.bind('moduleSelect', function(e, selected){
+ $displayInput.val(selected[0].browser_title + ' (' + selected[0].mid + ')');
+ $this.val(selected[0].module_srl);
+ });
+
+ // get module info
+ if($this.val()){
+ $.exec_json('module.getModuleAdminModuleInfo', {'module_srl': $this.val()}, function(data){
+ if(!data || !data.module_info) return;
+
+ $displayInput.val(data.module_info.browser_title + ' (' + data.module_info.mid + ')');
+ });
+ }
+ });
+
+ return this;
+ }
+
+ $('.module_search').xeMenuSearchHtml();
+
+ //$.xeShowMenuSelector($container);
+ //$('.module_search').xeModuleSearchHtml();
+ //console.log($('.module_search'));
+ /*
+ $('.module_search').each(function(){
+ var $t = $(this);
+
+ if($t.hasClass('.xe-module-search')) return;
+
+ $t.addClass('xe-module-search');
+
+ console.log($t);
+
+
+ });
+ */
+});
+
+//----------------menu selector end
\ No newline at end of file
diff --git a/modules/document/tpl/document_list.html b/modules/document/tpl/document_list.html
index 654fc86b5..ef60c8b02 100644
--- a/modules/document/tpl/document_list.html
+++ b/modules/document/tpl/document_list.html
@@ -189,250 +189,6 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
}