mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
Issue 2041: Starting module search UI modified for easier use
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.1@10921 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
38d57999c6
commit
804f42a8e1
11 changed files with 395 additions and 24 deletions
|
|
@ -469,6 +469,31 @@
|
|||
$output = executeQueryArray('admin.getSiteAllList', $args, $columnList);
|
||||
if($output->toBool()) $siteList = $output->data;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
foreach($siteList as $key => $value)
|
||||
{
|
||||
$args->site_srl = $value->site_srl;
|
||||
$list = $oModuleModel->getModuleSrlList($args);
|
||||
|
||||
if(!is_array($list))
|
||||
{
|
||||
$list = array($list);
|
||||
}
|
||||
|
||||
foreach($list as $k => $v)
|
||||
{
|
||||
if(!is_dir('./modules/' . $v->module))
|
||||
{
|
||||
unset($list[$k]);
|
||||
}
|
||||
}
|
||||
|
||||
if(!count($list))
|
||||
{
|
||||
unset($siteList[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$this->add('site_list', $siteList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,42 @@
|
|||
<value xml:lang="tr"><![CDATA[Sitenin varsayılan modülünü belirleyebilirsiniz.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Bạn có thể chọn một Module và đặt là trang chủ của Website.]]></value>
|
||||
</item>
|
||||
<item name="select_site">
|
||||
<value xml:lang="ko"><![CDATA[사이트 선택]]></value>
|
||||
<value xml:lang="en"><![CDATA[Site]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Site]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Site]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Site]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Site]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Site]]></value>
|
||||
<value xml:lang="es"><![CDATA[Site]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Site]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Site]]></value>
|
||||
</item>
|
||||
<item name="select_module_type">
|
||||
<value xml:lang="ko"><![CDATA[분류 선택]]></value>
|
||||
<value xml:lang="en"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="es"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Module Type]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Module Type]]></value>
|
||||
</item>
|
||||
<item name="select_module_instance">
|
||||
<value xml:lang="ko"><![CDATA[모듈 선택]]></value>
|
||||
<value xml:lang="en"><![CDATA[Module]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Module]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Module]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Module]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Module]]></value>
|
||||
<value xml:lang="ru"><![CDATA[модуль]]></value>
|
||||
<value xml:lang="es"><![CDATA[Módulo]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Modül]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Module]]></value>
|
||||
</item>
|
||||
<item name="module_category_title" type="array">
|
||||
<item name="service">
|
||||
<value xml:lang="ko"><![CDATA[서비스 관리]]></value>
|
||||
|
|
|
|||
|
|
@ -27,26 +27,42 @@ jQuery(function($){
|
|||
<fieldset class="section">
|
||||
<h2 class="h2">{$lang->subtitle_primary}</h2>
|
||||
<ul>
|
||||
<li class="modulefinder">
|
||||
<li class="modulefinder moduleSearch">
|
||||
<p class="q">{$lang->about_start_module}</p>
|
||||
<p class="a">
|
||||
<div class="a">
|
||||
<input type="hidden" name="index_module_srl" id="index_module_srl" value="{$start_module->index_module_srl}" />
|
||||
<input type="text" name="_target_module" id="_target_module" value="{$start_module->browser_title} ({$start_module->mid})" readonly />
|
||||
<a href="#modalWindow" class="modalAnchor" onClick="viewSiteSearch()">{$lang->cmd_find}</a> </p>
|
||||
<p class="site_keyword_search" style="display:none">
|
||||
<input type="text" name="site_keyword" /> <a href="#suggestion3" class="tgAnchor findsite">{$lang->cmd_confirm}</a>
|
||||
<div id="suggestion3" class="tgContent suggestion" >
|
||||
<ul></ul>
|
||||
<a href="#moduleSearchWindow" class="tgAnchor moduleSearch">{$lang->cmd_find}</a>
|
||||
<div id="moduleSearchWindow" class="tgContent">
|
||||
<div class="siteList sectionDiv">
|
||||
<h2>{$lang->select_site}</h2>
|
||||
<div class="siteListSearchBox">
|
||||
<div class="siteListSearchBoxBorder">
|
||||
<div class="searchImg icon-search"></div>
|
||||
<input type="text" class="siteListSearchInput" name="site_filter">
|
||||
</div>
|
||||
</div>
|
||||
<div class="siteListUL">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
<select class="moduleList" style="width:290px"></select>
|
||||
</p>
|
||||
<p>
|
||||
<select class="moduleIdList" style="width:290px"></select>
|
||||
<a href="#" id="sitefind_addBtn" onclick="setStartModule()" style="display:none;">{$lang->cmd_select}</a>
|
||||
</p>
|
||||
</p>
|
||||
<div class="moduleTypeList sectionDiv">
|
||||
<h2>{$lang->select_module_type}</h2>
|
||||
<div>
|
||||
<ul class="moduleTypeListUL">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="moduleInstanceList sectionDiv">
|
||||
<h2>{$lang->select_module_instance}</h2>
|
||||
<div>
|
||||
<ul class="moduleInstanceListUL">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p class="q">{$lang->about_lang_select}</p>
|
||||
|
|
|
|||
|
|
@ -678,6 +678,27 @@ body.modalContainer{_height:100%;_width:100%} /* IE6 only */
|
|||
.x .crossTable input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px}
|
||||
.x .clear:after{content:"";display:block;clear:both}
|
||||
|
||||
#moduleSearchWindow{position:absolute;width:700px;}
|
||||
#moduleSearchWindow, #moduleSearchWindow div{margin:0;padding:0;color:#2d2c2d;font-size:12px;}
|
||||
#moduleSearchWindow h2{margin:0;padding:4px;height:24px;line-height:24px;background:#666;text-align:left;color:#fff;font-size:12px;}
|
||||
#moduleSearchWindow .sectionDiv{position:relative;margin:0px;background:#fff;border:1px solid;}
|
||||
#moduleSearchWindow .siteList{float:left;width:295px;}
|
||||
#moduleSearchWindow .highlight{background:yellow;color:red;font-style:italic;}
|
||||
#moduleSearchWindow .moduleTypeList{margin-left:5px;float:left;width:200px;}
|
||||
#moduleSearchWindow .moduleInstanceList{float:right;width:190px;}
|
||||
#moduleSearchWindow ul{margin:0;padding:0;border:0;}
|
||||
#moduleSearchWindow li{font-size:12px;border:0;border-bottom:1px solid #ccc;margin:0;padding: 4px 4px;font-family: 나눔고딕,NanumGothic,"맑은 고딕","Malgun Gothic",AppleGothic,돋움,Dotum,굴림,Gulim,sans-serif;}
|
||||
#moduleSearchWindow li:hover, #moduleSearchWindow li.on{background:#eee;cursor:pointer;}
|
||||
#moduleSearchWindow li div{margin:0;padding:0;display:inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
|
||||
#moduleSearchWindow .siteList li div{width:270px;}
|
||||
#moduleSearchWindow .siteListSearchBox{margin:0;padding:4px 0;height:24px;border-bottom:1px solid #888;}
|
||||
#moduleSearchWindow .siteListSearchBoxBorder{margin-left:3px;height: 22px;width: 287px;border: 1px solid #ccc;}
|
||||
#moduleSearchWindow .siteListSearchInput{margin:0;padding:0;position:relative; float:right; width: 260px; margin-right:4px;border:0;}
|
||||
#moduleSearchWindow .siteListSearchBox .searchImg{position:relative;float:left;margin-top:4px;margin-left:4px;}
|
||||
#moduleSearchWindow .moduleTypeList li div{width:170px;}
|
||||
#moduleSearchWindow .moduleInstanceList li div{width:190px;}
|
||||
|
||||
|
||||
/*!
|
||||
* Bootstrap v2.0.4
|
||||
*
|
||||
|
|
@ -830,4 +851,4 @@ body.modalContainer{_height:100%;_width:100%} /* IE6 only */
|
|||
.icon-tasks{background-position:-384px -144px}
|
||||
.icon-filter{background-position:-408px -144px}
|
||||
.icon-briefcase{background-position:-432px -144px}
|
||||
.icon-fullscreen{background-position:-456px -144px}
|
||||
.icon-fullscreen{background-position:-456px -144px}
|
||||
|
|
|
|||
3
modules/admin/tpl/css/admin.min.css
vendored
3
modules/admin/tpl/css/admin.min.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -576,6 +576,196 @@ $('.modulefinder').xeModuleFinder();
|
|||
|
||||
});
|
||||
|
||||
// Module Search : A New Version Of Module Finder
|
||||
jQuery(function($){
|
||||
|
||||
$.fn.xeModuleSearch = function(){
|
||||
var $moduleSearchWindow = $("#moduleSearchWindow");
|
||||
|
||||
var $siteListDiv = $moduleSearchWindow.find('.siteList');
|
||||
var $moduleTypeListDiv = $moduleSearchWindow.find('.moduleTypeList');
|
||||
var $moduleInstanceListDiv = $moduleSearchWindow.find('.moduleInstanceList');
|
||||
|
||||
var $siteList = $siteListDiv.find('UL');
|
||||
var $moduleTypeList = $moduleTypeListDiv.find('UL');
|
||||
var $moduleInstanceList = $moduleInstanceListDiv.find('UL');
|
||||
|
||||
var $siteListSearchInput = $moduleSearchWindow.find('INPUT.siteListSearchInput');
|
||||
var aSiteListData;
|
||||
|
||||
var MAX_LIST_HEIGHT = 280;
|
||||
|
||||
function setListSize($UL, nHeight){
|
||||
var nWidth, $div;
|
||||
$UL.find('li div').width('');
|
||||
$UL.css('height', '');
|
||||
$UL.css('overflow-y', '');
|
||||
if($UL.height() > nHeight){
|
||||
$div = $UL.find('li div');
|
||||
$div.width($div.width()-20+'px');
|
||||
$UL.css('height', nHeight+'px');
|
||||
$UL.css('overflow-y', 'auto');
|
||||
}
|
||||
}
|
||||
|
||||
function setSiteList(sFilter){
|
||||
var sDomain;
|
||||
var rxFilter = new RegExp(sFilter, "ig");
|
||||
var list = aSiteListData;
|
||||
|
||||
$siteList.empty();
|
||||
|
||||
for(i=0,c=list.length; i < c; i++) {
|
||||
sDomain = list[i].domain;
|
||||
if(sFilter){
|
||||
if(!sDomain.match(rxFilter)) continue;
|
||||
sDomain = sDomain.replace(rxFilter, function(sKeyword){
|
||||
return '<span class="highlight">'+sKeyword+'</span>';
|
||||
});
|
||||
}
|
||||
|
||||
$li = $('<li />').appendTo($siteList);
|
||||
$('<a href="#" >').html(
|
||||
'<div>' + sDomain + '</div>' +
|
||||
'<span class="icon-circle-arrow-right" style="display:inline-block;float:right;width:16px;height:16px;"></span>'
|
||||
).data('site_srl', list[i].site_srl).appendTo($li);
|
||||
}
|
||||
|
||||
setListSize($siteList, MAX_LIST_HEIGHT - $siteListSearchInput.parent("DIV").height());
|
||||
}
|
||||
|
||||
$siteListSearchInput.keyup(function(){
|
||||
setSiteList($siteListSearchInput.val());
|
||||
});
|
||||
|
||||
if(typeof console == 'undefined'){
|
||||
console={log:function(){}};
|
||||
}
|
||||
|
||||
this
|
||||
.not('.xe-module-search')
|
||||
.addClass('xe-module-search')
|
||||
.find('a.tgAnchor.moduleSearch')
|
||||
.bind('before-open.tc', function(){
|
||||
var $this;
|
||||
|
||||
$this = $(this);
|
||||
|
||||
function on_complete(data) {
|
||||
var $li, list = data.site_list, i, c;
|
||||
|
||||
if(data.error || !$.isArray(list)) {
|
||||
$this.trigger('close.tc');
|
||||
return;
|
||||
}
|
||||
|
||||
aSiteListData = list;
|
||||
|
||||
setSiteList($siteListSearchInput.val());
|
||||
|
||||
console.log(data);
|
||||
$siteListSearchInput.focus();
|
||||
};
|
||||
|
||||
$siteList.empty();
|
||||
$moduleInstanceList.empty();
|
||||
$moduleTypeListDiv.hide();
|
||||
$moduleInstanceListDiv.hide();
|
||||
$.exec_json('admin.getSiteAllList', {domain:""}, on_complete);
|
||||
})
|
||||
.end()
|
||||
.find('.tgContent .siteListUL')
|
||||
.delegate('a','click',function(oEvent){
|
||||
var $this, $finder;
|
||||
|
||||
$this = $(this);
|
||||
$finder = $this.closest('.modulefinder');
|
||||
|
||||
function on_complete(data) {
|
||||
console.log(data);
|
||||
|
||||
var list = data.module_list, x;
|
||||
|
||||
if(data.error || !list) return;
|
||||
|
||||
for(x in list) {
|
||||
if(!list.hasOwnProperty(x)) continue;
|
||||
$li = $('<li />').appendTo($moduleTypeList);
|
||||
$('<a href="#" >').html(
|
||||
'<div>'+list[x].title+'</div>' +
|
||||
'<span class="icon-circle-arrow-right" style="display:inline-block;float:right;width:16px;height:16px;"></span>'
|
||||
).data('moduleInstanceList', list[x].list).appendTo($li);
|
||||
//$('<option />').attr('value', x).text(list[x].title).appendTo($mod_select);
|
||||
}
|
||||
|
||||
$moduleSearchWindow.find('.moduleTypeList').show();
|
||||
setListSize($moduleTypeList, MAX_LIST_HEIGHT);
|
||||
|
||||
$siteList.find('li').removeClass('on');
|
||||
$this.parent('li').addClass('on');
|
||||
};
|
||||
|
||||
//$finder.find('a.tgAnchor.findsite').trigger('close.tc');
|
||||
$moduleTypeList.empty();
|
||||
$moduleInstanceListDiv.hide();
|
||||
|
||||
$.exec_json('module.procModuleAdminGetList', {site_srl:$this.data('site_srl')}, on_complete);
|
||||
|
||||
oEvent.preventDefault();
|
||||
})
|
||||
.end()
|
||||
//.find('.moduleList,.moduleIdList').hide().end()
|
||||
.find('.moduleTypeListUL')
|
||||
.delegate('a', 'click', function(oEvent){
|
||||
|
||||
var $this, $mid_select, val, list;
|
||||
|
||||
$this = $(this);
|
||||
list = $this.data('moduleInstanceList');
|
||||
if(!list) return;
|
||||
|
||||
$moduleInstanceList.empty();
|
||||
|
||||
for(var x in list) {
|
||||
if(!list.hasOwnProperty(x)) continue;
|
||||
|
||||
$li = $('<li />').appendTo($moduleInstanceList);
|
||||
$('<a href="#" >').html(
|
||||
'<div>'+list[x].browser_title+'</div>'
|
||||
).data('module_srl', list[x].module_srl).appendTo($li);
|
||||
|
||||
}
|
||||
|
||||
$moduleInstanceListDiv.show();
|
||||
setListSize($moduleInstanceList, MAX_LIST_HEIGHT);
|
||||
|
||||
$moduleTypeList.find('li').removeClass('on');
|
||||
$this.parent('li').addClass('on');
|
||||
|
||||
oEvent.preventDefault();
|
||||
})
|
||||
.end()
|
||||
.find('.moduleInstanceListUL')
|
||||
.delegate('a','click',function(oEvent){
|
||||
$this = $(this);
|
||||
|
||||
var target_module = $this.text();
|
||||
var index_module_srl = $this.data('module_srl');
|
||||
$('#_target_module').val(target_module);
|
||||
$('#index_module_srl').val(index_module_srl);
|
||||
|
||||
$('.tgAnchor.moduleSearch').trigger('close.tc');
|
||||
|
||||
oEvent.preventDefault();
|
||||
});
|
||||
|
||||
|
||||
return this;
|
||||
};
|
||||
$('.modulefinder').xeModuleSearch();
|
||||
|
||||
});
|
||||
|
||||
// Sortable table
|
||||
jQuery(function($){
|
||||
|
||||
|
|
@ -1250,4 +1440,4 @@ jQuery(function($){
|
|||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
47
modules/admin/tpl/js/admin.min.js
vendored
47
modules/admin/tpl/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
2
modules/admin/tpl/js/menu_setup.min.js
vendored
2
modules/admin/tpl/js/menu_setup.min.js
vendored
|
|
@ -2,7 +2,7 @@ jQuery(function(b){function k(a){if(moduleList=a.menuList){var c=b("#menuNameLis
|
|||
b(this).parent().prevAll("._parent_key").val();a.find("input[name=menu_item_srl]").val(i);a.submit()});b("a._child_delete").click(function(){var i=b(this).parents("li").find("._item_key").val();a.find("input[name=menu_item_srl]").val(i);a.submit()})});
|
||||
jQuery(function(b){function k(a,b){for(var c=0,e=0;a&&a!=b;)c+=a.offsetTop,e+=a.offsetLeft,a=a.offsetParent;return{top:c,left:e}}b("form.siteMap").delegate("li:not(.placeholder)","dropped.st",function(){var a=b(this),d;d=a.find(">input._parent_key");a.parent("ul").parent("li").length?d.val(a.parent("ul").parent("li").find(">input._item_key").val()):d.val("0")});var d=!1,h=b('<li class="placeholder">');b("div.adminMenu").delegate("li:not(.placeholder,.parent)",{"mousedown.st":function(a){var i,c,e,
|
||||
f,m,n,j,l,g;if(!(b(a.target).is("a,input,label,textarea")||1!=a.which)){d=!0;c=b(this);n=c.height();m=c.width();e=c.parentsUntil(".siteMap").filter("ul");f=e.eq(-1);f.css("position","relative");i=a.pageY;j=k(this,f.get(0));$clone=c.clone(!0).attr("target",!0);for(a=e.length-1;a;a--)$clone=$clone.wrap("<li><ul /></li>").parent().parent();l=[];f.find("li").each(function(){if(c[0]===this||c.has(this).length)return!0;var a=k(this,f.get(0));l.push({top:a.top,bottom:a.top+32,$item:b(this)})});$clone.find(".side,input").remove().end().addClass("draggable").css({position:"absolute",
|
||||
opacity:0.6,width:m,height:n,left:j.left,top:j.top,zIndex:100}).appendTo(f.eq(0));h.css({position:"absolute",opacity:0.6,width:m,height:"10px",left:j.left,top:j.top,zIndex:99}).appendTo(f.eq(0));c.css("opacity",0.6);b(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,d;g=null;a=j.top-(i-a.pageY);for(b=0,c=l.length;b<c;b++)d=l[b],d.top>a||d.bottom<a||(g={element:d.$item},d.$item.hasClass("parent")?(g.state="prepend",h.css("top",d.bottom-5)):d.top>a-12?(g.state="before",
|
||||
opacity:0.6,width:m,height:n,left:j.left,top:j.top,zIndex:100}).appendTo(f.eq(0));h.css({position:"absolute",opacity:0.6,width:m,height:"10px",left:j.left,top:j.top,zIndex:99}).appendTo(f.eq(0));c.css("opacity",0.6);b(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,d;g=null;a=j.top-(i-a.pageY);b=0;for(c=l.length;b<c;b++)d=l[b],d.top>a||d.bottom<a||(g={element:d.$item},d.$item.hasClass("parent")?(g.state="prepend",h.css("top",d.bottom-5)):d.top>a-12?(g.state="before",
|
||||
h.css("top",d.top-5)):(g.state="after",h.css("top",d.bottom-5)));$clone.css({top:a})}).bind("mouseup.st",function(){var a,e;d=!1;b(document).unbind("mousemove.st mouseup.st");c.css("opacity","");$clone.remove();h.remove();e=b("<li />").height(c.height());if(g){a=b(g.element);c.before(e);if("prepend"==g.state)a.find(">ul").length||a.find(">.side").after("<ul>"),a.find(">ul").prepend(c.hide());else a[g.state](c.hide());c.slideDown(100,function(){c.removeClass("active")});e.slideUp(100,function(){var a=
|
||||
e.parent();e.remove();a.children("li").length||a.remove()});c.trigger("dropped.st")}});return!1}},"mouseover.st":function(){d||b(this).addClass("active");return!1},"mouseout.st":function(){d||b(this).removeClass("active");return!1}}).find("li").prepend('<button type="button" class="moveTo">Move to</button>').filter(".parent").find(">button.moveTo").css({visibility:"hidden","margin-left":"-12px"}).end().end().end();b('<div id="dropzone-marker" />').css({display:"none",position:"absolute",backgroundColor:"#000",
|
||||
opacity:0.7}).appendTo("body")});
|
||||
|
|
|
|||
2
modules/admin/tpl/js/sitemap.min.js
vendored
2
modules/admin/tpl/js/sitemap.min.js
vendored
|
|
@ -1,6 +1,6 @@
|
|||
jQuery(function(c){function o(a,c){for(var b=0,g=0;a&&a!=c;)b+=a.offsetTop,g+=a.offsetLeft,a=a.offsetParent;return{top:b,left:g}}var l=!1,k=c('<li class="placeholder">');c("form.siteMap").delegate("li:not(.placeholder)",{"mousedown.st":function(a){var d,b,g,h,n,p,i,m,j;if(!(c(a.target).is("a,input,label,textarea")||1!=a.which)){l=!0;b=c(this);p=b.height();n=b.width();g=b.parentsUntil(".siteMap").filter("ul");h=g.eq(-1);h.css("position","relative");d=a.pageY;i=o(this,h.get(0));$clone=b.clone(!0).attr("target",
|
||||
!0);for(a=g.length-1;a;a--)$clone=$clone.wrap("<li><ul /></li>").parent().parent();m=[];h.find("li").each(function(){if(b[0]===this||b.has(this).length)return!0;var a=o(this,h.get(0));m.push({top:a.top,bottom:a.top+32,item:this})});$clone.find(".side,input").remove().end().addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:p,left:i.left,top:i.top,zIndex:100}).appendTo(h.eq(0));k.css({position:"absolute",opacity:0.6,width:n,height:"5px",left:i.left,top:i.top,zIndex:99}).appendTo(h.eq(0));
|
||||
b.css("opacity",0.6);c(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,e,f;j=null;a=i.top-(d-a.pageY);for(b=0,c=m.length;b<c;b++)if(f=a,e=m[b],0==b&&f<e.top&&(f=e.top),b==c-1&&f>e.bottom&&(f=e.bottom),e.top<=f&&e.bottom>=f){b=e.item;3>=Math.abs(e.top-f)?(k.css({top:e.top-3,height:"5px"}),f="before"):3>=Math.abs(e.bottom-f)?(k.css({top:e.bottom-3,height:"5px"}),f="after"):(k.css({top:e.top+3,height:"27px"}),f="prepend");j={element:b,state:f};break}$clone.css({top:a})}).bind("mouseup.st",
|
||||
b.css("opacity",0.6);c(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,e,f;j=null;a=i.top-(d-a.pageY);b=0;for(c=m.length;b<c;b++)if(f=a,e=m[b],0==b&&f<e.top&&(f=e.top),b==c-1&&f>e.bottom&&(f=e.bottom),e.top<=f&&e.bottom>=f){b=e.item;3>=Math.abs(e.top-f)?(k.css({top:e.top-3,height:"5px"}),f="before"):3>=Math.abs(e.bottom-f)?(k.css({top:e.bottom-3,height:"5px"}),f="after"):(k.css({top:e.top+3,height:"27px"}),f="prepend");j={element:b,state:f};break}$clone.css({top:a})}).bind("mouseup.st",
|
||||
function(){var a,d;l=!1;c(document).unbind("mousemove.st mouseup.st");b.css("opacity","");$clone.remove();k.remove();d=c("<li />").height(b.height());if(j){a=c(j.element);b.before(d);if("prepend"==j.state)a.find(">ul").length||a.find(">.side").after("<ul>"),a.find(">ul").prepend(b.hide());else a[j.state](b.hide());b.slideDown(100,function(){b.removeClass("active")});d.slideUp(100,function(){var a=d.parent();d.remove();a.children("li").length||a.remove()});b.trigger("dropped.st")}});return!1}},"mouseover.st":function(){l||
|
||||
c(this).addClass("active");return!1},"mouseout.st":function(){l||c(this).removeClass("active");return!1}}).find("li").prepend('<button type="button" class="moveTo">Move to</button>').append('<span class="vr"></span><span class="hr"></span>').find("input:text").focus(function(){var a=c(this),d=a.prev("label"),b=a.parent();a.width(b.width()-(parseInt(b.css("text-indent"))||0)-a.next(".side").width()-60).css("opacity","");d.hide()}).blur(function(){var a=c(this),d=a.prev("label"),b=a.val();a.width(0).css("opacity",
|
||||
0);d.removeClass("no-text").empty().text(b).show();b||d.addClass("no-text").text("---")}).each(function(a){var d=c(this),a="sitemap-id-"+a;d.attr("id",a).css({width:0,opacity:0,overflow:"hidden"}).before("<label />").prev("label").attr("for",a).text(d.val())}).end().end()});
|
||||
|
|
|
|||
|
|
@ -617,6 +617,13 @@
|
|||
foreach($mid_list as $module => $val) {
|
||||
if(!$selected_module) $selected_module = $module;
|
||||
$xml_info = $oModuleModel->getModuleInfoXml($module);
|
||||
|
||||
if(!$xml_info)
|
||||
{
|
||||
unset($mid_list[$module]);
|
||||
continue;
|
||||
}
|
||||
|
||||
$mid_list[$module]->title = $xml_info->title;
|
||||
|
||||
// change module category srl to title
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
<select class="multiorder_show" size="8" multiple="multiple" style="width:290px;vertical-align:top">
|
||||
<option loop="$var->options => $key, $val" cond="!$var->init_options[$key]" value="{$key}" default="true"|cond="$var->default_options[$key]">{$val}</option>
|
||||
</select>
|
||||
<button type="button" class="text multiorder_add" style="vertical-align:top">{$lang->cmd_insert}</button>
|
||||
<button type="button" class="text multiorder_add" style="vertical-align:top">{$lang->cmd_insert}111</button>
|
||||
<select class="multiorder_selected" size="8" multiple="multiple" style="width:290px;vertical-align:top">
|
||||
<option loop="$var->options => $key, $val" cond="$var->init_options[$key]" value="{$key}" default="true"|cond="$var->default_options[$key]">{$val}</option>
|
||||
</select>
|
||||
|
|
@ -120,6 +120,38 @@
|
|||
<script type="text/javascript">
|
||||
xe.registerApp(new xe.ModuleListManager('{$id}'));
|
||||
</script>
|
||||
<!--
|
||||
<a href="#moduleSearchWindow" class="tgAnchor moduleSearch">{$lang->cmd_find}</a>.
|
||||
<div id="moduleSearchWindow" class="tgContent">
|
||||
<div class="siteList sectionDiv">
|
||||
<h2>{$lang->select_site}</h2>
|
||||
<div class="siteListSearchBox">
|
||||
<div class="siteListSearchBoxBorder">
|
||||
<div class="searchImg icon-search"></div>
|
||||
<input type="text" class="siteListSearchInput" name="site_filter">
|
||||
</div>
|
||||
</div>
|
||||
<div class="siteListUL">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="moduleTypeList sectionDiv">
|
||||
<h2>{$lang->select_module_type}</h2>
|
||||
<div>
|
||||
<ul class="moduleTypeListUL">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="moduleInstanceList sectionDiv">
|
||||
<h2>{$lang->select_module_instance}</h2>
|
||||
<div>
|
||||
<ul class="moduleInstanceListUL">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</block>
|
||||
<block cond="$var->type == 'mid'">
|
||||
<input type="hidden" name="{$id}" value="" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue