issue 44 : Remove x-functions from the poll module

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8495 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
taggon 2011-06-16 02:02:41 +00:00
parent 657061e16a
commit db7403c469
12 changed files with 63 additions and 92 deletions

View file

@ -0,0 +1 @@
.poll_table{table-layout:fixed;width:100%;padding:0;border:none}.poll_table td{padding:0;margin:0}.poll_table td.h{background:url(../images/top_bg.png) repeat-x left top}.poll_table td.title{height:28px;background:url(../images/top_title_bg.png) repeat-x left top;padding:0 20px 0 20px;color:#C3C3C4}.poll_table td.title strong{color:#FFFFFF;font-weight:bold}.poll_table td.l{border-left:1px solid #E5E5E5}.poll_table td.r{border-right:1px solid #E5E5E5}.poll_table td.poll_content{padding:18px 13px 18px 13px}.poll_table td.poll_button{border:1px solid #E5E5E5;border-bottom:none;background-color:#F6F6F5}.poll_table td.poll_button div{padding:5px 0 2px 0;text-align:center}.poll_table td.b{background-color:#F6F6F5;height:7px}.poll_table td.b img{width:100%;height:6px;border-bottom:1px solid #E5E5E5}.poll_table td.bb{height:7px}.poll_table td.bb img{width:100%;height:6px;border-bottom:1px solid #E5E5E5}.poll_table td.poll_content div.title{color:#000000;background-color:#F5F5F5;border-top:2px solid #C1C0BD;border-bottom:2px solid #C1C0BD;font-weight:bold;padding:7px 0 7px 10px;margin-bottom:10px}.poll_table td.poll_content div.item_text{color:#636363;padding:0 10px 0 10px;margin-top:10px}.poll_table td.poll_content div.item_text strong{font-weight:bold;color:#000000;font-family:;font-size:12px}.poll_table td.poll_content table.item_bar_table{width:100%;table-layout:fixed;border-bottom:1px solid #EDEDED;margin-top:10px}.poll_table td.poll_content table.noborder{border-bottom:none;margin-bottom:10px}.poll_table td.poll_content table.item_bar_table td.bar{padding:0 0 5px 0;background:url(../images/back_bar.png) repeat-x left 4px}.poll_table td.poll_content table.item_bar_table td.bar img{width:100%;height:6px}.poll_table td.poll_content table.item_bar_table td.status{font-size:.9em;padding-bottom:5px;color:#636363;padding-left:15px}.poll_table td.poll_content table.item_bar_table td.status strong{font-weight:bold;color:#58C011}.poll_table td.poll_content div.item{color:#636363;border-bottom:1px solid #EDEDED;padding:5px 0 8px 10px;margin-bottom:3px}.poll_table td.poll_content div.noborder{border-bottom:none;margin-bottom:10px}.poll_table td.poll_content div.checkcount{border-bottom:1px dashed #EDEDED;padding:0 0 8px 10px;margin-bottom:3px;text-align:right;color:#636363}

View file

@ -1,6 +1,11 @@
<!--%import("filter/poll.xml")-->
<!--%import("js/poll.js")-->
<!--%import("css/poll.css")-->
<load target="filter/poll.xml" />
<!--@if(__DEBUG__)-->
<load target="css/poll.css" />
<load target="../../tpl/js/poll.js" />
<!--@else-->
<load target="css/poll.min.css" />
<load target="../../tpl/js/poll.min.js" />
<!--@end-->
<script type="text/javascript">
var poll_alert_lang = "{$lang->msg_check_poll_item}";
@ -67,7 +72,7 @@
<tr>
<td colspan="3" class="poll_button">
<div>
<span class="button"><input type="button" value="{$lang->cmd_view_result}" class="poll_button" onclick="doPollViewResult('{$poll->poll_srl}','{$skin}'); return false;"/></span>
<span class="button"><input type="button" value="{$lang->cmd_view_result}" class="poll_button _poll_result _srl_{$poll->poll_srl} _skin_{$skin}" /></span>
<span class="button"><input type="submit" value="{$lang->cmd_apply_poll}" class="poll_button" /></span>
</div>
</td>

View file

@ -14,7 +14,7 @@
<description xml:lang="vi">Skin mặc định của thăm dò.</description>
<description xml:lang="zh-TW">投票系統預設面板。</description>
<description xml:lang="tr">Oylamanın Varsayılan Dış Görünümü</description>
<version>0.1</version>
<version>0.2</version>
<date>2007-02-28</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">

View file

@ -0,0 +1 @@
.simple_poll{table-layout:fixed;padding:0;margin:0;border:none}.simple_poll td{padding:0;margin:0}.simple_poll td.title{text-align:right}.simple_poll td .itemDiv{border-top:1px solid #BBBBBB;margin-top:3px;padding:3px 0 3px 0}.simple_poll td .title{color:#000000;font-weight:bold;letter-spacing:-1px}.simple_poll td .checkcount{color:#AAAAAA}.simple_poll td .item{color:#636363;margin:5px 0 5px 0}.simple_poll td .item input{margin:0;padding:0}.simple_poll td .item label{letter-spacing:-1px}.simple_poll td .resultItem{color:#636363;margin:6px 0 0 10px;letter-spacing:-1px}.simple_poll td .barBox{margin-left:10px}.simple_poll td .barBox .bar{margin:3px 0}.simple_poll td .barBox .status{color:#AAAAAA}.simple_poll td.stopDate{color:#AAAAAA;border-top:1px solid #BBBBBB;padding-top:3px}.simple_poll td.stopDate a{color:#AAAAAA;text-decoration:none}.simple_poll td.poll_button{text-align:left;padding-top:3px}.simple_poll td.poll_button .poll_button{border:1px solid #EEEEEE;background-color:#AAAAAA;color:#FFFFFF;font-weight:bold;padding:1px 3px 1px 3px;height:20px}.simple_poll td.b{background-color:#F6F6F5;height:7px}.simple_poll td.b img{width:100%;height:6px;border-bottom:1px solid #E5E5E5}.simple_poll td.bb{height:7px}.simple_poll td.bb img{width:100%;height:6px;border-bottom:1px solid #E5E5E5}

View file

@ -1,6 +1,11 @@
<!--%import("filter/poll.xml")-->
<!--%import("js/poll.js")-->
<!--%import("css/poll.css")-->
<load target="filter/poll.xml" />
<!--@if(__DEBUG__)-->
<load target="css/poll.css" />
<load target="../../tpl/js/poll.js" />
<!--@else-->
<load target="css/poll.min.css" />
<load target="../../tpl/js/poll.min.js" />
<!--@end-->
<script type="text/javascript">
var poll_alert_lang = "{$lang->msg_check_poll_item}";
@ -47,7 +52,7 @@
</tr>
<tr>
<td class="stopDate">
~<strong>{zdate($poll->stop_date, "Y-m-d")}</strong> (<a href="#" onclick="doPollViewResult('{$poll->poll_srl}','{$skin}'); return false;"/>{$lang->cmd_view_result}</a>)
~<strong>{zdate($poll->stop_date, "Y-m-d")}</strong> (<a href="#" class="_poll_result _srl_{$poll->poll_srl} _skin_{$skin}">{$lang->cmd_view_result}</a>)
</td>
</tr>
<tr>

View file

@ -1,64 +0,0 @@
/* 설문 참여 함수 */
function doPoll(fo_obj) {
var checkcount = new Array();
var item = new Array();
for(var i=0;i<fo_obj.length;i++) {
var obj = fo_obj[i];
if(obj.nodeName != 'INPUT') continue;
var name = obj.name;
if(name.indexOf('checkcount')>-1) {
var t = name.split('_');
var poll_srl_index = parseInt(t[1],10);
checkcount[poll_srl_index] = obj.value;
item[poll_srl_index] = new Array();
} else if(name.indexOf('item_')>-1) {
var t = name.split('_');
var poll_srl = parseInt(t[1],10);
var poll_srl_index = parseInt(t[2],10);
if(obj.checked == true) item[poll_srl_index][item[poll_srl_index].length] = obj.value;
}
}
var poll_srl_indexes = "";
for(var poll_srl_index in checkcount) {
if(!checkcount.hasOwnProperty(poll_srl_index)) continue;
var count = checkcount[poll_srl_index];
var items = item[poll_srl_index];
if(items.length < 1 || count < items.length) {
alert(poll_alert_lang);
return false;
}
poll_srl_indexes += items.join(',')+',';
}
fo_obj.poll_srl_indexes.value = poll_srl_indexes;
procFilter(fo_obj, poll);
return false;
}
/* 설문 조사후 내용을 바꿀 함수 */
function completePoll(ret_obj) {
var poll_srl = ret_obj['poll_srl'];
var tpl = ret_obj['tpl'];
var width = xWidth("poll_"+poll_srl);
xInnerHtml("poll_"+poll_srl, tpl);
xWidth("poll_"+poll_srl, width);
}
/* 설문 미리 보기 */
function doPollViewResult(poll_srl, skin) {
var params = new Array();
params['poll_srl'] = poll_srl;
if(typeof(skin)=='undefined') skin = 'default';
params['skin'] = skin;
var response_tags = new Array('error','message','poll_srl', 'tpl');
exec_xml('poll','procPollViewResult', params, completePoll, response_tags);
}

View file

@ -12,7 +12,7 @@
<description xml:lang="zh-CN">投票系统简易皮肤。</description>
<description xml:lang="zh-TW">投票系統簡單面板。</description>
<description xml:lang="tr">Oylama Sistemi Dış Görünümü</description>
<version>0.1</version>
<version>0.2</version>
<date>2008-04-16</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">

1
modules/poll/tpl/css/poll.min.css vendored Normal file
View file

@ -0,0 +1 @@
.poll_box{border:3px solid #555555;background-color:#EEEEEE;margin:5px;padding:8px 5px 8px 5px;width:500px}.poll_title_box{border:2px solid #444444;background-color:#888888;color:#FFFFFF;font-weight:bold;margin:5px;padding:5px;height:13px;clear:both}.poll_stop_date{float:left}.poll_join_count{float:right}.poll_detail_box{border:1px solid #444444;background-color:#FFFFFF;margin:5px;padding-bottom:5px}.poll_detail_box .title{background-color:#555555;color:#FFFFFF;padding:5px;font-weight:bold}.poll_detail_box .item{padding:5px;border-bottom:1px solid #EEEEEE}.poll_detail_box .checkcount{background-color:#AAAAAA;text-align:right;color:#EEEEEE;padding:5px}.poll_detail_box .text{margin:5px 0px 5px 20px}.poll_detail_box .bar_box{width:80%;margin-bottom:10px;border:1px solid #DDDDDD;margin:0px 5px 5px 35px;padding:1px}.poll_detail_box .bar{background-color:#444444;border-bottom:1px solid #AAAAAA;height:5px}.poll_button_area{text-align:center}.poll_button{border:1px solid #555555;background-color:#FFFFFF;font-weight:bold;height:20px}

View file

@ -41,24 +41,35 @@ function doPoll(fo_obj) {
return false;
}
/* 설문 조사후 내용을 바꿀 함수 */
function completePoll(ret_obj) {
var poll_srl = ret_obj['poll_srl'];
var tpl = ret_obj['tpl'];
var width = xWidth("poll_"+poll_srl);
xInnerHtml("poll_"+poll_srl, tpl);
xWidth("poll_"+poll_srl, width);
}
jQuery(function($){
/* View poll result */
$('._poll_result').click(function(){
var cls = $(this).attr('class'), srl, skin;
/* 설문 미리 보기 */
function doPollViewResult(poll_srl, skin) {
var params = new Array();
params['poll_srl'] = poll_srl;
try{
srl = cls.match(/\b_srl_(\d+)\b/)[1];
skin = cls.match(/\b_skin_(.+?)\b/)[1];
}catch(e){ };
if(typeof(skin)=='undefined') skin = 'default';
params['skin'] = skin;
if(!srl) return false;
if(!skin) skin = 'default';
var response_tags = new Array('error','message','poll_srl', 'tpl');
function on_complete(ret) {
var $poll = $('#poll_'+srl), width;
exec_xml('poll','procPollViewResult', params, completePoll, response_tags);
}
width = $poll.width();
$poll.html(ret['tpl']);
$poll.width(width);
}
exec_xml(
'poll', // module
'procPollViewResult', // act
{poll_srl:srl, skin:skin}, // parameters
on_complete,
['error','message','tpl']
);
return false;
});
});

2
modules/poll/tpl/js/poll.min.js vendored Normal file
View file

@ -0,0 +1,2 @@
function doPoll(fo_obj){var checkcount=new Array(),item=new Array();for(var i=0;i<fo_obj.length;i++){var obj=fo_obj[i];if(obj.nodeName!='INPUT')continue;var name=obj.name;if(name.indexOf('checkcount')>-1){var t=name.split('_'),poll_srl_index=parseInt(t[1],10);checkcount[poll_srl_index]=obj.value;item[poll_srl_index]=new Array()}else if(name.indexOf('item_')>-1){var t=name.split('_'),poll_srl=parseInt(t[1],10),poll_srl_index=parseInt(t[2],10);if(obj.checked==true)item[poll_srl_index][item[poll_srl_index].length]=obj.value}};var poll_srl_indexes="";for(var poll_srl_index in checkcount){if(!checkcount.hasOwnProperty(poll_srl_index))continue;var count=checkcount[poll_srl_index],items=item[poll_srl_index];if(items.length<1||count<items.length){alert(poll_alert_lang);return false};poll_srl_indexes+=items.join(',')+','};fo_obj.poll_srl_indexes.value=poll_srl_indexes;procFilter(fo_obj,poll);return false};jQuery(function($){$('._poll_result').click(function(){var cls=$(this).attr('class'),srl,skin;try{srl=cls.match(/\b_srl_(\d+)\b/)[1];skin=cls.match(/\b_skin_(.+?)\b/)[1]}catch(e){};if(!srl)return false;if(!skin)skin='default'
function on_complete(ret){var $poll=$('#poll_'+srl),width;width=$poll.width();$poll.html(ret.tpl);$poll.width(width)};exec_xml('poll','procPollViewResult',{poll_srl:srl,skin:skin},on_complete,['error','message','tpl']);return false})})

View file

@ -19,7 +19,7 @@ function doDisplaySkinColorset(sel, colorset) {
/* 서버에서 받아온 컬러셋을 표시 */
function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) {
var sel = xGetElementById("fo_poll").poll_colorset;
var sel = get_by_id("fo_poll").poll_colorset;
var length = sel.options.length;
var selected_colorset = params["colorset"];
for(var i=0;i<length;i++) sel.remove(0);

9
modules/poll/tpl/js/poll_admin.min.js vendored Normal file
View file

@ -0,0 +1,9 @@
/**
* @file modules/poll/js/poll_admin.js
* @author NHN (developers@xpressengine.com)
* @brief poll 모듈의 관리자용 javascript
**/
function doDisplaySkinColorset(sel,colorset){var skin=sel.options[sel.selectedIndex].value,params=new Array();params.skin=skin;params.colorset=colorset;var response_tags=new Array("error","message","colorset_list");exec_xml("poll","getPollGetColorsetList",params,completeGetSkinColorset,response_tags,params)}
function completeGetSkinColorset(ret_obj,response_tags,params,fo_obj){var sel=get_by_id("fo_poll").poll_colorset,length=sel.options.length,selected_colorset=params.colorset;for(var i=0;i<length;i++)sel.remove(0);var colorset_list=ret_obj.colorset_list.split("\n"),selected_index=0;for(var i=0;i<colorset_list.length;i++){var tmp=colorset_list[i].split("|@|");if(selected_colorset&&selected_colorset==tmp[0])selected_index=i;var opt=new Option(tmp[1],tmp[0],false,false);sel.options.add(opt)};sel.selectedIndex=selected_index}
function doMovePoll(poll_srl,upload_target_srl){var params=new Array();params.poll_srl=poll_srl;params.upload_target_srl=upload_target_srl;var response_tags=new Array('error','message','document_srl','comment_srl');exec_xml('poll','getPollAdminTarget',params,completeMovePoll,response_tags)}
function completeMovePoll(ret_obj,response_tags){var document_srl=ret_obj.document_srl,comment_srl=ret_obj.comment_srl,url=request_uri.setQuery('document_srl',document_srl);if(comment_srl)url=url+'#comment_'+comment_srl;winopen(url,'pollTarget')}