git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4729 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
ngleader 2008-10-30 06:27:51 +00:00
parent 789f01fdde
commit 8e3d25b99a

View file

@ -389,11 +389,12 @@ function createPopupMenu(evt) {
/* 클릭 이벤트 발생시 이벤트가 일어난 대상을 검사하여 적절한 규칙에 맞으면 처리 */
function chkPopupMenu(evt) {
// 이전에 호출되었을지 모르는 팝업메뉴 숨김
var area = xGetElementById("popup_menu_area");
if(!area) return;
if(area.style.visibility!="hidden") area.style.visibility="hidden";
if(area.style.visibility != "hidden") area.style.visibility = "hidden";
// 이벤트 대상이 없으면 무시
var e = new xEvent(evt);
@ -403,6 +404,7 @@ function chkPopupMenu(evt) {
var obj = e.target;
if(!obj) return;
// obj의 nodeName이 div나 span이 아니면 나올대까지 상위를 찾음
if(obj && obj.nodeName != 'DIV' && obj.nodeName != 'SPAN' && obj.nodeName != 'A') obj = obj.parentNode;
if(!obj || (obj.nodeName != 'DIV' && obj.nodeName != 'SPAN' && obj.nodeName != 'A')) return;
@ -410,17 +412,20 @@ function chkPopupMenu(evt) {
// 객체의 className값을 구함
var class_name = obj.className;
if(!class_name) return;
// className을 분리
var class_name_list = class_name.split(' ');
var menu_id = '';
var menu_id_regx = /^([a-zA-Z]+)_([0-9]+)$/ig;
for(var i in class_name_list) {
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];
break;
}
}
if(!menu_id) return;
// module명과 대상 번호가 없으면 return
@ -447,13 +452,14 @@ function chkPopupMenu(evt) {
displayPopupMenu(params, response_tags, params);
return;
}
show_waiting_message = false;
exec_xml(module_name, action_name, params, displayPopupMenu, response_tags, params);
show_waiting_message = true;
}
function displayPopupMenu(ret_obj, response_tags, params) {
var target_srl = params["target_srl"];
var menu_id = params["menu_id"];
var menus = ret_obj['menus'];
@ -508,8 +514,10 @@ function displayPopupMenu(ret_obj, response_tags, params) {
area.style.visibility = "visible";
}
*/
if(loaded_popup_menus[menu_id]) {
html = loaded_popup_menus[menu_id];
} else {
if(menus) {
var item = menus['item'];