/** * @file modules/widget/js/widget_admin.js * @author zero (zero@nzeo.com) * @brief widget 모듈의 관리자용 javascript **/ /* 생성된 코드를 textarea에 출력 */ function completeGenerateCode(ret_obj) { var widget_code = ret_obj["widget_code"]; var zone = xGetElementById("widget_code"); zone.value = widget_code; } /* 생성된 코드를 페이지 zone에 출력 */ function completeGenerateCodeInPage(ret_obj,response_tags,params,fo_obj) { var widget_code = ret_obj["widget_code"]; if(!opener || !widget_code) { window.close(); return; } opener.doAddWidgetCode(widget_code); window.close(); } /* 위젯 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */ function doDisplaySkinColorset(sel, colorset) { var skin = sel.options[sel.selectedIndex].value; if(!skin) { xGetElementById("colorset_area").style.display = "none"; setFixedPopupSize(); return; } var params = new Array(); params["selected_widget"] = xGetElementById("fo_widget").selected_widget.value; params["skin"] = skin; params["colorset"] = colorset; var response_tags = new Array("error","message","colorset_list"); exec_xml("widget", "procWidgetGetColorsetList", params, completeGetSkinColorset, response_tags, params); } /* 서버에서 받아온 컬러셋을 표시 */ function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) { var sel = xGetElementById("fo_widget").widget_colorset; var length = sel.options.length; var selected_colorset = params["colorset"]; for(var i=0;i0) type = node[0].type; else length = 0; var name = node.name; switch(type) { case "hidden" : case "text" : case "textarea" : var val = selected_node.getAttribute(name); if(!val) continue; var unescaped_val = unescape(val); if(!unescaped_val) node.value = val; else node.value = unescaped_val; break; case "checkbox" : if(selected_node.getAttribute(name)) { var val = selected_node.getAttribute(name).split(','); if(fo_obj[name].length) { for(var i=0;i100) fo_obj.widget_width.value = 100; } } // 위젯의 대상 모듈 입력기 (단일 선택) function insertSelectedModule(id, module_srl, mid, browser_title) { var obj= xGetElementById('_'+id); var sObj = xGetElementById(id); sObj.value = module_srl; obj.value = browser_title+' ('+mid+')'; } // 위젯의 대상 모듈 입력기 (다중 선택) function insertSelectedModules(id, module_srl, mid, browser_title) { var sel_obj = xGetElementById('_'+id); for(var i=0;i8) sel_obj.size = sel_obj.options.length; syncMid(id); } function midMoveUp(id) { var sel_obj = xGetElementById('_'+id); if(sel_obj.selectedIndex<0) return; var idx = sel_obj.selectedIndex; if(idx < 1) return; var s_obj = sel_obj.options[idx]; var t_obj = sel_obj.options[idx-1]; var value = s_obj.value; var text = s_obj.text; s_obj.value = t_obj.value; s_obj.text = t_obj.text; t_obj.value = value; t_obj.text = text; sel_obj.selectedIndex = idx-1; syncMid(id); } function midMoveDown(id) { var sel_obj = xGetElementById('_'+id); if(sel_obj.selectedIndex<0) return; var idx = sel_obj.selectedIndex; if(idx == sel_obj.options.length-1) return; var s_obj = sel_obj.options[idx]; var t_obj = sel_obj.options[idx+1]; var value = s_obj.value; var text = s_obj.text; s_obj.value = t_obj.value; s_obj.text = t_obj.text; t_obj.value = value; t_obj.text = text; sel_obj.selectedIndex = idx+1; syncMid(id); } function midRemove(id) { var sel_obj = xGetElementById('_'+id); if(sel_obj.selectedIndex<0) return; var idx = sel_obj.selectedIndex; sel_obj.remove(idx); idx = idx-1; if(idx < 0) idx = 0; if(sel_obj.options.length) sel_obj.selectedIndex = idx; syncMid(id); } function syncMid(id) { var sel_obj = xGetElementById('_'+id); var valueArray = new Array(); for(var i=0;i