mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 03:01:43 +09:00
페이지 모듈에서 위젯 선택방법 변경
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5327 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
b8d8d88a8c
commit
30970b69c8
5 changed files with 51 additions and 28 deletions
|
|
@ -88,7 +88,7 @@ function removeAllWidget() {
|
|||
exec_xml('widget',"procWidgetRemoveContents",params,function() { restoreWidgetButtons(); xInnerHtml(zonePageObj,'') });
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 특정 영역에 편집된 위젯들을 약속된 태그로 변환하여 return
|
||||
**/
|
||||
function getWidgetContent(obj) {
|
||||
|
|
@ -266,6 +266,8 @@ function doAddWidget(fo) {
|
|||
popopen(url,'GenerateWidgetCode');
|
||||
}
|
||||
|
||||
|
||||
|
||||
// widgetBorder에 height를 widgetOutput와 맞춰줌
|
||||
function doFitBorderSize() {
|
||||
var obj_list = xGetElementsByClassName('widgetBorder', zonePageObj);
|
||||
|
|
@ -325,7 +327,7 @@ function doAddWidgetCode(widget_code) {
|
|||
// 클릭 이벤트시 위젯의 수정/제거/이벤트 무효화 처리
|
||||
function doCheckWidget(e) {
|
||||
var evt = new xEvent(e); if(!evt.target) return;
|
||||
var obj = evt.target;
|
||||
var obj = evt.target;
|
||||
|
||||
selectedWidget = null;
|
||||
|
||||
|
|
@ -459,7 +461,7 @@ function completeDeleteWidgetContent(ret_obj, response_tags, params, p_obj) {
|
|||
// 마우스 다운 이벤트 발생시 위젯의 이동을 처리
|
||||
function doCheckWidgetDrag(e) {
|
||||
var evt = new xEvent(e); if(!evt.target) return;
|
||||
var obj = evt.target;
|
||||
var obj = evt.target;
|
||||
|
||||
var pObj = obj.parentNode;
|
||||
while(pObj) {
|
||||
|
|
@ -588,7 +590,7 @@ function _getBorderStyle(fld_color, fld_thick, fld_type) {
|
|||
else color = '#'+color;
|
||||
var width = fld_thick.value;
|
||||
if(!width) width = '0px';
|
||||
else width = parseInt(width,10)+'px';
|
||||
else width = parseInt(width,10)+'px';
|
||||
var style = fld_type.options[fld_type.selectedIndex].value;
|
||||
if(!style) style = 'solid';
|
||||
|
||||
|
|
@ -706,7 +708,7 @@ function doApplyWidgetSize(fo_obj) {
|
|||
selectedSizeWidget = null;
|
||||
doFitBorderSize();
|
||||
}
|
||||
|
||||
|
||||
doHideWidgetSizeSetup();
|
||||
}
|
||||
|
||||
|
|
@ -821,7 +823,7 @@ function widgetGetTmpObject(obj) {
|
|||
return tmpObj;
|
||||
}
|
||||
|
||||
// 메뉴에 마우스 클릭이 일어난 시점에 드래그를 위한 제일 첫 동작 (해당 object에 각종 함수나 상태변수 설정)
|
||||
// 메뉴에 마우스 클릭이 일어난 시점에 드래그를 위한 제일 첫 동작 (해당 object에 각종 함수나 상태변수 설정)
|
||||
function widgetDragEnable(obj, funcDragStart, funcDrag, funcDragEnd) {
|
||||
|
||||
// 상위 object에 드래그 가능하다는 상태와 각 드래그 관련 함수를 설정
|
||||
|
|
@ -834,11 +836,11 @@ function widgetDragEnable(obj, funcDragStart, funcDrag, funcDragEnd) {
|
|||
if (!widgetDragManager.isDrag) {
|
||||
widgetDragManager.isDrag = true;
|
||||
xAddEventListener(document, 'mousemove', widgetDragMouseMove, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 드래그를 시작할때 호출되는 함수 (이동되는 형태를 보여주기 위한 작업을 함)
|
||||
function widgetDragStart(tobj, px, py) {
|
||||
function widgetDragStart(tobj, px, py) {
|
||||
if(tobj.className == 'widgetResize' || tobj.className == 'widgetResizeLeft' || tobj.className == 'widgetBoxResize' || tobj.className == 'widgetBoxResizeLeft') return;
|
||||
var obj = widgetGetTmpObject(tobj);
|
||||
|
||||
|
|
@ -986,7 +988,7 @@ function widgetDrag(tobj, dx, dy) {
|
|||
|
||||
// 이동을 멈춤
|
||||
widgetManualEnd();
|
||||
|
||||
|
||||
doFitBorderSize();
|
||||
boxList = null;
|
||||
return;
|
||||
|
|
@ -1030,8 +1032,8 @@ function widgetDrag(tobj, dx, dy) {
|
|||
widgetList = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 드래그 종료 (이동되는 object가 이동할 곳에 서서히 이동되는 것처럼 보이는 효과)
|
||||
function widgetDragEnd(tobj, px, py) {
|
||||
var obj = widgetGetTmpObject(tobj);
|
||||
|
|
@ -1092,7 +1094,7 @@ function widgetMouseDown(e) {
|
|||
}
|
||||
|
||||
// 마우스 버튼을 놓았을때 동작될 함수 (각종 이벤트 해제 및 변수 설정 초기화)
|
||||
function widgetMouseUp(e) {
|
||||
function widgetMouseUp(e) {
|
||||
if (widgetDragManager.obj) {
|
||||
xPreventDefault(e);
|
||||
xRemoveEventListener(document, 'mouseup', widgetMouseUp, false);
|
||||
|
|
@ -1100,14 +1102,14 @@ function widgetMouseUp(e) {
|
|||
if (widgetDragManager.obj.dragEnd) {
|
||||
var evt = new xEvent(e);
|
||||
widgetDragManager.obj.dragEnd(widgetDragManager.obj, evt.pageX, evt.pageY);
|
||||
}
|
||||
}
|
||||
|
||||
widgetDragManager.obj = null;
|
||||
widgetDragManager.isDrag = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 드래그할때의 object이동등을 담당
|
||||
// 드래그할때의 object이동등을 담당
|
||||
function widgetDragMouseMove(e) {
|
||||
var evt = new xEvent(e);
|
||||
if(widgetDragManager.obj) {
|
||||
|
|
|
|||
|
|
@ -10,20 +10,20 @@ function completeGenerateCode(ret_obj) {
|
|||
|
||||
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();
|
||||
window.close();
|
||||
return;
|
||||
}
|
||||
|
||||
opener.doAddWidgetCode(widget_code);
|
||||
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
|
||||
/* 위젯 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */
|
||||
function doDisplaySkinColorset(sel, colorset) {
|
||||
|
|
@ -153,7 +153,7 @@ function doFillWidgetVars() {
|
|||
fo_obj.widget_padding_bottom.value = selected_node.getAttribute("widget_padding_bottom");
|
||||
fo_obj.widget_padding_top.value = selected_node.getAttribute("widget_padding_top");
|
||||
|
||||
|
||||
|
||||
// 컬러셋 설정
|
||||
if(skin && xGetElementById("widget_colorset").options.length<1 && colorset) {
|
||||
doDisplaySkinColorset(xGetElementById("widget_skin"), colorset);
|
||||
|
|
@ -178,7 +178,7 @@ function insertSelectedModule(id, module_srl, mid, browser_title) {
|
|||
var sObj = xGetElementById(id);
|
||||
sObj.value = module_srl;
|
||||
obj.value = browser_title+' ('+mid+')';
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 위젯의 대상 모듈 입력기 (다중 선택)
|
||||
|
|
@ -188,7 +188,7 @@ function insertSelectedModules(id, module_srl, mid, browser_title) {
|
|||
var opt = new Option(browser_title+' ('+mid+')', module_srl, false, false);
|
||||
sel_obj.options[sel_obj.options.length] = opt;
|
||||
if(sel_obj.options.length>8) sel_obj.size = sel_obj.options.length;
|
||||
|
||||
|
||||
syncMid(id);
|
||||
}
|
||||
|
||||
|
|
@ -208,7 +208,7 @@ function midMoveUp(id) {
|
|||
t_obj.value = value;
|
||||
t_obj.text = text;
|
||||
sel_obj.selectedIndex = idx-1;
|
||||
|
||||
|
||||
syncMid(id);
|
||||
}
|
||||
|
||||
|
|
@ -319,3 +319,9 @@ function excuteWindowLoadEvent() {
|
|||
}
|
||||
}
|
||||
xAddEventListener(window,'load',excuteWindowLoadEvent);
|
||||
|
||||
|
||||
function selectWidget(val){
|
||||
var url =current_url.setQuery('selected_widget', val);
|
||||
document.location.href = url;
|
||||
}
|
||||
|
|
@ -3,7 +3,14 @@
|
|||
<tr>
|
||||
<th scope="row"><div>{$lang->widget}</div></th>
|
||||
<td>
|
||||
{$widget_info->title} ver {$widget_info->version}
|
||||
<select name="selected_widget">
|
||||
<!--@foreach($widget_list as $widget)-->
|
||||
<option value="{$widget->widget}" <!--@if($widget_info->widget == $widget->widget)--> selected="selected" <!--@end-->>{$widget->title} ver {$widget_info->version}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<a href="#" class="button small" onclick="selectWidget(jQuery('select[name=selected_widget]').val())"><span>{$lang->cmd_move}</span></a>
|
||||
|
||||
|
||||
<!--@if($widget_info->author->description)-->
|
||||
<div class="widget_description">{nl2br(trim($widget_info->author->description))}</div>
|
||||
<!--@end-->
|
||||
|
|
@ -13,13 +20,13 @@
|
|||
<tr>
|
||||
<th scope="row"><div>{$lang->skin}</div></th>
|
||||
<td>
|
||||
<select name="skin" onchange="doDisplaySkinColorset(this);return false;" id="widget_skin">
|
||||
<select name="skin" id="widget_skin">
|
||||
<option value=""> </option>
|
||||
<!--@foreach($skin_list as $key => $val)-->
|
||||
<option value="{$key}">{$val->title} ({$key})</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
|
||||
<a href="#" class="button small" onclick="doDisplaySkinColorset(jQuery('#widget_skin').get(0))"><span>{$lang->cmd_move}</span></a>
|
||||
<div id="colorset_area" style="display:none">
|
||||
<div class="header">{$lang->colorset}</div>
|
||||
<div class="footer">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
</script>
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, generate_code_in_page);" id="fo_widget">
|
||||
<input type="hidden" name="selected_widget" value="{$selected_widget}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="widget_sequence" value="" />
|
||||
<input type="hidden" name="style" value="float:left;width:100%;margin:none;padding:none;" />
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
function dispWidgetGenerateCode() {
|
||||
// 선택된 위젯 정보를 구함
|
||||
$oWidgetModel = &getModel('widget');
|
||||
|
||||
$widget_info = $oWidgetModel->getWidgetInfo(Context::get('selected_widget'));
|
||||
Context::set('widget_info', $widget_info);
|
||||
|
||||
|
|
@ -75,6 +76,14 @@
|
|||
* @brief 페이지 관리에서 사용될 코드 생성 팝업
|
||||
**/
|
||||
function dispWidgetGenerateCodeInPage() {
|
||||
|
||||
$oWidgetModel = &getModel('widget');
|
||||
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
||||
Context::set('widget_list',$widget_list);
|
||||
|
||||
// 선택된 위젯이 없을경우 첫 위젯으로
|
||||
if(!Context::get('selected_widget')) Context::set('selected_widget',$widget_list[0]->widget);
|
||||
|
||||
$this->dispWidgetGenerateCode();
|
||||
$this->setTemplateFile('widget_generate_code_in_page');
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue