mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-30 16:49:58 +09:00
#19678731 JavaScript popup menu is used only for the member actions.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8280 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
283f1e6334
commit
96b8ebc708
1 changed files with 55 additions and 80 deletions
|
|
@ -141,75 +141,6 @@ if(jQuery) jQuery.noConflict();
|
||||||
|
|
||||||
/* jQuery(document).ready() */
|
/* jQuery(document).ready() */
|
||||||
jQuery(function($) {
|
jQuery(function($) {
|
||||||
/* 팝업메뉴 레이어 생성 */
|
|
||||||
if(!$('#popup_menu_area').length) {
|
|
||||||
var menuObj = $('<div>')
|
|
||||||
.attr('id', 'popup_menu_area')
|
|
||||||
.css({display:'none', zIndex:9999});
|
|
||||||
$(document.body).append(menuObj);
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).click(function(evt) {
|
|
||||||
var area = $('#popup_menu_area');
|
|
||||||
if(!area.length) return;
|
|
||||||
|
|
||||||
// 이전에 호출되었을지 모르는 팝업메뉴 숨김
|
|
||||||
area.hide();
|
|
||||||
|
|
||||||
var targetObj = $(evt.target);
|
|
||||||
if(!targetObj.length) return;
|
|
||||||
|
|
||||||
// obj의 nodeName이 div나 span이 아니면 나올대까지 상위를 찾음
|
|
||||||
if(targetObj.length && $.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) targetObj = targetObj.parent();
|
|
||||||
if(!targetObj.length || $.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) return;
|
|
||||||
|
|
||||||
// 객체의 className값을 구함
|
|
||||||
var class_name = targetObj.attr('className');
|
|
||||||
if(class_name.indexOf('_') <= 0) return;
|
|
||||||
// className을 분리
|
|
||||||
var class_name_list = class_name.split(' ');
|
|
||||||
|
|
||||||
var menu_id = '';
|
|
||||||
var menu_id_regx = /^([a-zA-Z]+)_([0-9]+)$/;
|
|
||||||
|
|
||||||
|
|
||||||
for(var i = 0, c = class_name_list.length; i < c; i++) {
|
|
||||||
if(menu_id_regx.test(class_name_list[i])) {
|
|
||||||
menu_id = class_name_list[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!menu_id) return;
|
|
||||||
|
|
||||||
// module명과 대상 번호가 없으면 return
|
|
||||||
var tmp_arr = menu_id.split('_');
|
|
||||||
var module_name = tmp_arr[0];
|
|
||||||
var target_srl = tmp_arr[1];
|
|
||||||
if(!module_name || !target_srl || target_srl < 1) return;
|
|
||||||
|
|
||||||
// action이름을 규칙에 맞게 작성
|
|
||||||
var action_name = "get" + module_name.substr(0,1).toUpperCase() + module_name.substr(1,module_name.length-1) + "Menu";
|
|
||||||
|
|
||||||
// 서버에 메뉴를 요청
|
|
||||||
var params = new Array();
|
|
||||||
params["target_srl"] = target_srl;
|
|
||||||
params["mid"] = params["cur_mid"] = current_mid;
|
|
||||||
params["cur_act"] = current_url.getQuery('act');
|
|
||||||
params["menu_id"] = menu_id;
|
|
||||||
params["page_x"] = evt.pageX;
|
|
||||||
params["page_y"] = evt.pageY;
|
|
||||||
if(typeof(xeVid)!='undefined') params["vid"] = xeVid;
|
|
||||||
|
|
||||||
var response_tags = new Array("error","message","menus");
|
|
||||||
|
|
||||||
if(typeof(XE.loaded_popup_menus[menu_id]) != 'undefined') {
|
|
||||||
XE.displayPopupMenu(params, response_tags, params);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
show_waiting_message = false;
|
|
||||||
exec_xml(module_name, action_name, params, XE.displayPopupMenu, response_tags, params);
|
|
||||||
show_waiting_message = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
/* select - option의 disabled=disabled 속성을 IE에서도 체크하기 위한 함수 */
|
/* select - option의 disabled=disabled 속성을 IE에서도 체크하기 위한 함수 */
|
||||||
if($.browser.msie) {
|
if($.browser.msie) {
|
||||||
|
|
@ -971,15 +902,59 @@ function setCookie(name, value, expire, path) {
|
||||||
document.cookie = s_cookie;
|
document.cookie = s_cookie;
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery(function(){
|
function is_def(v) {
|
||||||
jQuery(".lang_code").each(
|
return (typeof(v)!='undefined');
|
||||||
function()
|
}
|
||||||
{
|
|
||||||
var objText = jQuery(this);
|
function ucfirst(str) {
|
||||||
var targetName = objText.attr("id");
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||||
if(typeof(targetName) == "undefined") targetName = objText.attr("name");
|
}
|
||||||
if(typeof(targetName) == "undefined") return;
|
|
||||||
objText.after("<a href='"+request_uri.setQuery('module','module').setQuery('act','dispModuleAdminLangcode').setQuery('target',targetName)+"' class='buttonSet buttonSetting' onclick='popopen(this.href);return false;'><span>find_langcode</span></a>");
|
jQuery(function($){
|
||||||
}
|
$('.lang_code').each(
|
||||||
|
function()
|
||||||
|
{
|
||||||
|
var objText = $(this);
|
||||||
|
var targetName = objText.attr("id");
|
||||||
|
if(typeof(targetName) == "undefined") targetName = objText.attr("name");
|
||||||
|
if(typeof(targetName) == "undefined") return;
|
||||||
|
objText.after("<a href='"+request_uri.setQuery('module','module').setQuery('act','dispModuleAdminLangcode').setQuery('target',targetName)+"' class='buttonSet buttonSetting' onclick='popopen(this.href);return false;'><span>find_langcode</span></a>");
|
||||||
|
}
|
||||||
);
|
);
|
||||||
});
|
|
||||||
|
// display popup menu that contains member actions
|
||||||
|
$(document).click(function(evt) {
|
||||||
|
var $area = $('#popup_menu_area');
|
||||||
|
if(!$area.length) $area = $('<div id="popup_menu_area" style="display:none;z-index:9999" />').appendTo(document.body);
|
||||||
|
|
||||||
|
// 이전에 호출되었을지 모르는 팝업메뉴 숨김
|
||||||
|
$area.hide();
|
||||||
|
|
||||||
|
var $target = $(evt.target).filter('a,div,span');
|
||||||
|
if(!$target.length) $target = $target.parents('a,div,span').eq(0);
|
||||||
|
if(!$target.length) return;
|
||||||
|
|
||||||
|
// 객체의 className값을 구함
|
||||||
|
var match = $target.attr('class').match(/(member_([1-9]\d*))(?: |$)/);
|
||||||
|
if(!match) return;
|
||||||
|
|
||||||
|
var action = 'getMemberMenu';
|
||||||
|
var params = {
|
||||||
|
mid : current_mid,
|
||||||
|
cur_mid : current_mid,
|
||||||
|
menu_id : match[1],
|
||||||
|
target_srl : match[2],
|
||||||
|
cur_act : current_url.getQuery('act'),
|
||||||
|
page_x : evt.pageX,
|
||||||
|
page_y : evt.pageY
|
||||||
|
};
|
||||||
|
var response_tags = 'error message menus'.split(' ');
|
||||||
|
|
||||||
|
if(is_def(window.xeVid)) params.vid = xeVid;
|
||||||
|
if(is_def(XE.loaded_popup_menus[params.menu_id])) return XE.displayPopupMenu(params, response_tags, params) && false;
|
||||||
|
|
||||||
|
show_waiting_message = false;
|
||||||
|
exec_xml('member', action, params, XE.displayPopupMenu, response_tags, params);
|
||||||
|
show_waiting_message = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue