설문조사 기본 스킨의 사용성 개선

1. 모바일에서 투표하기 편리하도록 개선.
2. 기본 스킨과 심플 스킨의 자바스크립트가 같아서 생기는 문제 수정
3. 이미지 사용 최소화
4. 스킨 모양을 살짝 다듬음 (미솔의 미적 감각?)
This commit is contained in:
MinSoo Kim 2016-01-24 04:11:29 +09:00
parent eee619a743
commit 38ac054948
7 changed files with 248 additions and 249 deletions

View file

@ -250,37 +250,60 @@
<value xml:lang="jp"><![CDATA[選択したアンケート]]></value> <value xml:lang="jp"><![CDATA[選択したアンケート]]></value>
<value xml:lang="zh-TW"><![CDATA[已選擇的投票]]></value> <value xml:lang="zh-TW"><![CDATA[已選擇的投票]]></value>
</item> </item>
<item name="poll_no_poll_srl"> <item name="poll_no_poll_srl">
<value xml:lang="ko"><![CDATA[Poll srl 값이 없습니다.]]></value> <value xml:lang="ko"><![CDATA[Poll srl 값이 없습니다.]]></value>
</item> <value xml:lang="en"><![CDATA[There is no Poll srl value.]]></value>
<item name="poll_no_poll_or_deleted_poll"> </item>
<value xml:lang="ko"><![CDATA[삭제되었거나 잘못된 투표입니다.]]></value> <item name="poll_no_poll_or_deleted_poll">
</item> <value xml:lang="ko"><![CDATA[삭제되었거나 잘못된 투표입니다.]]></value>
<item name="poll_item_members"> <value xml:lang="en"><![CDATA[Deleted or invalid poll.]]></value>
<value xml:lang="ko"><![CDATA[%s 항목을 투표한 사용자]]></value> </item>
</item> <item name="poll_item_members">
<item name="btn_poll_gotovote"> <value xml:lang="ko"><![CDATA[%s 항목을 선택한 사용자]]></value>
<value xml:lang="ko"><![CDATA[투표 화면으로 가기]]></value> <value xml:lang="en"><![CDATA[Who select %s]]></value>
</item> </item>
<item name="btn_poll_gotoresult"> <item name="btn_poll_gotovote">
<value xml:lang="ko"><![CDATA[결과 화면으로 가기]]></value> <value xml:lang="ko"><![CDATA[투표 화면으로 가기]]></value>
</item> <value xml:lang="en"><![CDATA[Back to the poll]]></value>
<item name="msg_cannot_vote"> </item>
<value xml:lang="ko"><![CDATA[투표할 수 없습니다.]]></value> <item name="btn_poll_gotoresult">
</item> <value xml:lang="ko"><![CDATA[결과 화면으로 가기]]></value>
<item name="msg_exceed_max_select"> <value xml:lang="en"><![CDATA[See results]]></value>
<value xml:lang="ko"><![CDATA[최대 투표 항목수를 초과했습니다.]]></value> </item>
</item> <item name="msg_cannot_vote">
<item name="msg_cannot_add_item"> <value xml:lang="ko"><![CDATA[투표할 수 없습니다.]]></value>
<value xml:lang="ko"><![CDATA[항목을 추가할 수 없습니다.]]></value> <value xml:lang="en"><![CDATA[Unable to vote.]]></value>
</item> </item>
<item name="msg_cannot_delete_item"> <item name="msg_exceed_max_select">
<value xml:lang="ko"><![CDATA[항목을 삭제할 수 없습니다.]]></value> <value xml:lang="ko"><![CDATA[최대 투표 항목수를 초과했습니다.]]></value>
</item> <value xml:lang="en"><![CDATA[Exceed maximum selection limit.]]></value>
<item name="msg_item_title_cannot_empty"> </item>
<value xml:lang="ko"><![CDATA[항목의 이름은 비어 있을수 없습니다.]]></value> <item name="add_poll_item">
</item> <value xml:lang="ko"><![CDATA[항목 추가]]></value>
<item name="msg_cannot_delete_item_poll_exist"> <value xml:lang="en"><![CDATA[Add this item]]></value>
<value xml:lang="ko"><![CDATA[항목 투표수가 0 이상이므로 삭제할 수 없습니다.]]></value> </item>
</item> <item name="msg_can_add_item">
<value xml:lang="ko"><![CDATA[항목을 추가할 수 있습니다.]]></value>
<value xml:lang="en"><![CDATA[You can add items.]]></value>
</item>
<item name="msg_cannot_add_item">
<value xml:lang="ko"><![CDATA[항목을 추가할 수 없습니다.]]></value>
<value xml:lang="en"><![CDATA[Cannot add an item.]]></value>
</item>
<item name="delete_poll_item">
<value xml:lang="ko"><![CDATA[항목 삭제]]></value>
<value xml:lang="en"><![CDATA[Delete this item]]></value>
</item>
<item name="msg_cannot_delete_item">
<value xml:lang="ko"><![CDATA[항목을 삭제할 수 없습니다.]]></value>
<value xml:lang="en"><![CDATA[Cannot delete the item.]]></value>
</item>
<item name="msg_item_title_cannot_empty">
<value xml:lang="ko"><![CDATA[설문 항목은 빈칸일 수 없습니다.]]></value>
<value xml:lang="en"><![CDATA[Item cannot be an empty.]]></value>
</item>
<item name="msg_cannot_delete_item_poll_exist">
<value xml:lang="ko"><![CDATA[항목 투표수가 0 이상이므로 삭제할 수 없습니다.]]></value>
<value xml:lang="en"><![CDATA[Cannot delete this item, because someone selects this item.]]></value>
</item>
</lang> </lang>

View file

@ -1,4 +1,33 @@
.rx_poll_default_wrap{max-width:100%;}
.pollWidget{padding:5px;} .pollWidget{padding:5px;}
.rx_poll_default{border-radius: 10px;border:1px solid #e0e0e0;overflow:auto; background-color:#ffffff; color:#000000; font-size:12px; font-family:"Open Sans","나눔바른고딕",NanumBarunGothic,"맑은 고딕","Malgun Gothic","돋움",Dotum,"애플 SD 산돌고딕 Neo","Apple SD Gothic Neo",AppleGothic,Helvetica,sans-serif;}
.rx_poll_default .rx_poll_header{padding:13px 15px 10px;overflow:auto;background: #000;background: linear-gradient(-180deg, #212121, #424242);color:#e0e0e0;}
.rx_poll_default .rx_poll_h_strong{color:#FFFFFF;font-weight:bold}
.rx_poll_default .rx_poll_content{padding: 15px;}
.rx_poll_default .rx_poll_content .title{background-color:#f5f5f5;border-top:2px solid #bdbdbd;border-bottom:2px solid #bdbdbd;font-weight:bold;padding:7px 10px;margin-bottom:10px}
.rx_poll_default .rx_poll_content .rx_poll_default_item,.rx_poll_default .rx_poll_content .poll_vote .checkcount,.rx_poll_default .rx_poll_content .poll_vote .poll_item label{padding: 10px 0px;}
.rx_poll_default .rx_poll_content .rx_poll_default_item .item_text strong{display:inline-block; padding-right:10px; margin-right:10px;border-right:2px solid #e0e0e0;}
.rx_poll_default .rx_poll_content .rx_poll_default_item>div.item_bar{height:22px;position:relative;margin:6px 0px;background-color:#eeeeee;}
.rx_poll_default .rx_poll_content .rx_poll_default_item>div.item_bar div.item_bar{position:absolute;top:0px;left:0;background-color:#66bb6a;}
.rx_poll_default .rx_poll_content .rx_poll_default_item div.item_bar .item_bar_text{position:absolute;top:0px;right:3px;}
.rx_poll_default div.poll_button{background-color:#f5f5f5;padding:10px 15px;width:auto;text-align:center}
.rx_poll_default .rx_poll_content .poll_vote{margin:5px 0px;}
.rx_poll_default .rx_poll_content .poll_vote .poll_item, .rx_poll_default .rx_poll_content .poll_vote .poll_item_add{position:relative;border-bottom:1px solid #e0e0e0;}
.rx_poll_default .rx_poll_content .poll_vote .poll_item label{display:block;width:auto}
.rx_poll_default .rx_poll_content .poll_vote .poll_item .poll_item_delete{position:absolute;right:0;top:7px;}
.rx_poll_default .rx_poll_content .poll_vote .poll_item_add input[type="text"]{width:100%;
line-height: 25px;
font-size: 14px;
margin: 0;
padding: 8px 0;
outline: none;
border: none;
border-bottom:1px solid #e0e0e0;
}
.rx_poll_default .rx_poll_content .poll_vote .poll_item_add input[type="button"]{position:absolute;right:0;top:7px;}
.poll_table{table-layout:fixed;width:100%;padding:0;border:none} .poll_table{table-layout:fixed;width:100%;padding:0;border:none}
.poll_table td{padding:0;margin:0} .poll_table td{padding:0;margin:0}
.poll_table td.h{background:url(../images/top_bg.png) repeat-x left top} .poll_table td.h{background:url(../images/top_bg.png) repeat-x left top}
@ -26,6 +55,3 @@
.poll_table td.poll_content div.noborder{border-bottom:none;margin-bottom:10px} .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} .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}
.poll_table tr.cap>td{font-size:0;line-height:0;height:7px;overflow:hidden} .poll_table tr.cap>td{font-size:0;line-height:0;height:7px;overflow:hidden}
.item.add{-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box; }
.item.add *{-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box; }
.item.add input[type='text']{width:90%;width:-webkit-calc(100% - 35px);width:-moz-calc(100% - 35px);width:calc(100% - 35px);}

View file

@ -1 +0,0 @@
.poll_table{table-layout:fixed;width:100%;padding:0;border:0}.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;color:#C3C3C4}.poll_table td.title strong{color:#FFF;font-weight:700}.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}.poll_table td.poll_button{border:1px solid #E5E5E5;border-bottom:0;background-color:#F6F6F5}.poll_table td.poll_button div{padding:5px 0 2px;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:#000;background-color:#F5F5F5;border-top:2px solid #C1C0BD;border-bottom:2px solid #C1C0BD;font-weight:700;padding:7px 0 7px 10px;margin-bottom:10px}.poll_table td.poll_content div.item_text{color:#636363;padding:0 10px;margin-top:10px}.poll_table td.poll_content div.item_text strong{font-weight:700;color:#000;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:0;margin-bottom:10px}.poll_table td.poll_content table.item_bar_table td.bar{padding:0 0 5px;background:url(../images/back_bar.png) repeat-x left center}.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:700;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:0;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}.poll_table tr.cap>td{font-size:0;line-height:0;height:7px;overflow:hidden}

View file

@ -1,25 +1,25 @@
function initTemplete(type) function initRxDefaultTemplete(type, poll_srl)
{ {
switch(type) switch(type)
{ {
case 'poll': case 'poll':
if(typeof window.template == 'undefined') if(typeof window.template == 'undefined')
{ {
var source = jQuery("#entry-template").html(); var source = jQuery("#entry-template-" + poll_srl).html();
window.template = Handlebars.compile(source); window.template = Handlebars.compile(source);
} }
break; break;
case 'result': case 'result':
if(typeof window.template_result == 'undefined') if(typeof window.template_result == 'undefined')
{ {
var source = jQuery("#entry-template-result").html(); var source = jQuery("#entry-template-result-" + poll_srl).html();
window.template_result = Handlebars.compile(source); window.template_result = Handlebars.compile(source);
} }
break; break;
case 'members': case 'members':
if(typeof window.template_member == 'undefined') if(typeof window.template_member == 'undefined')
{ {
var source = jQuery("#entry-template-members").html(); var source = jQuery("#entry-template-members-" + poll_srl).html();
window.template_member = Handlebars.compile(source); window.template_member = Handlebars.compile(source);
} }
break; break;
@ -68,13 +68,13 @@ function doPoll(fo_obj) {
if(data.error!=0) alert(data.message); if(data.error!=0) alert(data.message);
else else
{ {
loadPollResult(poll_srl); loadRxDefaultPollResult(poll_srl);
jQuery("#poll_" + poll_srl + "_gotoresult_button").css({ jQuery("#poll_" + poll_srl + "_gotoresult_button").css({
display: "none" display: "none"
}); });
jQuery("#poll_" + poll_srl + "_result_nobutton").css({ jQuery("#poll_" + poll_srl + "_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + poll_srl + "_result_yesbutton").css({ jQuery("#poll_" + poll_srl + "_result_yesbutton").css({
@ -96,14 +96,14 @@ function addItem(poll_srl,poll_srl_indexes) {
}); });
jQuery("#poll_" + poll_srl + "_result_nobutton").css({ jQuery("#poll_" + poll_srl + "_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + poll_srl + "_result_yesbutton").css({ jQuery("#poll_" + poll_srl + "_result_yesbutton").css({
display: "none" display: "none"
}); });
loadPoll(poll_srl); loadRxDefaultPoll(poll_srl);
} }
}); });
return false; return false;
@ -120,32 +120,32 @@ function deleteItem(poll_srl,poll_srl_indexes,poll_item_srl) {
}); });
jQuery("#poll_" + poll_srl + "_result_nobutton").css({ jQuery("#poll_" + poll_srl + "_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + poll_srl + "_result_yesbutton").css({ jQuery("#poll_" + poll_srl + "_result_yesbutton").css({
display: "none" display: "none"
}); });
loadPoll(poll_srl); loadRxDefaultPoll(poll_srl);
} }
}); });
return false; return false;
} }
function loadPoll(poll_srl,data) function loadRxDefaultPoll(poll_srl,data)
{ {
if(typeof data == 'undefined') if(typeof data == 'undefined')
{ {
jQuery.exec_json("poll.getPollinfo", {"poll_srl":poll_srl}, function(data){ jQuery.exec_json("poll.getPollinfo", {"poll_srl":poll_srl}, function(data){
loadPoll(parseInt(data.poll.poll_srl),data); loadRxDefaultPoll(parseInt(data.poll.poll_srl),data);
}); });
} }
else else
{ {
jQuery("#stop_date_"+poll_srl).html(data.poll.stop_date); jQuery("#stop_date_"+poll_srl).html(data.poll.stop_date);
initTemplete('poll'); initRxDefaultTemplete('poll',poll_srl);
var template = window.template; var template = window.template;
var context = Object; var context = Object;
var additem = data.caniadditem; var additem = data.caniadditem;
@ -174,7 +174,7 @@ function loadPoll(poll_srl,data)
} }
} }
function showPollMemberNext(poll_srl,poll_item_srl) function showRxDefaultPollMemberNext(poll_srl,poll_item_srl)
{ {
if(typeof window.cur_page == 'undefined') if(typeof window.cur_page == 'undefined')
{ {
@ -184,7 +184,7 @@ function showPollMemberNext(poll_srl,poll_item_srl)
window.cur_page++; window.cur_page++;
jQuery.exec_json("poll.getPollitemInfo", {"poll_srl":poll_srl,"poll_item":poll_item_srl,"page":window.cur_page}, function(data){ jQuery.exec_json("poll.getPollitemInfo", {"poll_srl":poll_srl,"poll_item":poll_item_srl,"page":window.cur_page}, function(data){
initTemplete('members'); initRxDefaultTemplete('members',poll_srl);
var template = window.template_member; var template = window.template_member;
var context = Object; var context = Object;
@ -213,12 +213,12 @@ function showPollMemberNext(poll_srl,poll_item_srl)
return false; return false;
} }
function showPollMember(poll_srl,poll_item_srl) function showRxDefaultPollMember(poll_srl,poll_item_srl)
{ {
window.cur_page = 1; window.cur_page = 1;
jQuery.exec_json("poll.getPollitemInfo", {"poll_srl":poll_srl,"poll_item":poll_item_srl,"page":window.cur_page}, function(data){ jQuery.exec_json("poll.getPollitemInfo", {"poll_srl":poll_srl,"poll_item":poll_item_srl,"page":window.cur_page}, function(data){
initTemplete('members'); initRxDefaultTemplete('members',poll_srl);
var template = window.template_member; var template = window.template_member;
var context = Object; var context = Object;
var title = poll_member_lang; var title = poll_member_lang;
@ -246,7 +246,7 @@ function showPollMember(poll_srl,poll_item_srl)
jQuery("#poll_content_" + poll_srl + "_result").html(html); jQuery("#poll_content_" + poll_srl + "_result").html(html);
jQuery("#poll_" + poll_srl + "_gotoresult_button").css({ jQuery("#poll_" + poll_srl + "_gotoresult_button").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + poll_srl + "_result_nobutton").css({ jQuery("#poll_" + poll_srl + "_result_nobutton").css({
@ -254,19 +254,19 @@ function showPollMember(poll_srl,poll_item_srl)
}); });
jQuery("#poll_" + poll_srl + "_result_yesbutton").css({ jQuery("#poll_" + poll_srl + "_result_yesbutton").css({
display: "table-row" display: "block"
}); });
}); });
return false; return false;
} }
function loadPollResult(poll_srl,data) function loadRxDefaultPollResult(poll_srl,data)
{ {
if(typeof data == 'undefined') if(typeof data == 'undefined')
{ {
jQuery.exec_json("poll.getPollinfo", {"poll_srl":poll_srl}, function(data){ jQuery.exec_json("poll.getPollinfo", {"poll_srl":poll_srl}, function(data){
loadPollResult(parseInt(data.poll.poll_srl),data); loadRxDefaultPollResult(parseInt(data.poll.poll_srl),data);
}); });
} }
else else
@ -274,7 +274,7 @@ function loadPollResult(poll_srl,data)
jQuery("#stop_date_result_" + poll_srl).html(data.poll.stop_date); jQuery("#stop_date_result_" + poll_srl).html(data.poll.stop_date);
jQuery("#poll_count_result_" + poll_srl).html(data.poll.poll_count); jQuery("#poll_count_result_" + poll_srl).html(data.poll.poll_count);
initTemplete('result'); initRxDefaultTemplete('result',poll_srl);
var template = window.template_result; var template = window.template_result;
var context = Object; var context = Object;
var showMembers = (data.poll.poll_type==1 || data.poll.poll_type==3); var showMembers = (data.poll.poll_type==1 || data.poll.poll_type==3);
@ -322,7 +322,7 @@ function loadPollResult(poll_srl,data)
jQuery(function($){ jQuery(function($){
/* View poll result */ /* View poll result */
$('._poll_result').click(function(){ $('._rx_default_poll_result').click(function(){
var cls = $(this).attr('class'), srl, skin; var cls = $(this).attr('class'), srl, skin;
try{ try{
@ -332,7 +332,7 @@ jQuery(function($){
if(!srl) return false; if(!srl) return false;
jQuery("#poll_" + srl + "_result_button").css({ jQuery("#poll_" + srl + "_result_button").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + srl + "_result_nobutton").css({ jQuery("#poll_" + srl + "_result_nobutton").css({
@ -340,16 +340,16 @@ jQuery(function($){
}); });
jQuery("#poll_" + srl + "_result_yesbutton").css({ jQuery("#poll_" + srl + "_result_yesbutton").css({
display: "table-row" display: "block"
}); });
loadPollResult(srl); loadRxDefaultPollResult(srl);
return false; return false;
}); });
/* goto poll result */ /* goto poll result */
$('._gotoresult_screen').click(function(){ $('._rx_default_gotoresult_screen').click(function(){
var cls = $(this).attr('class'), srl, skin; var cls = $(this).attr('class'), srl, skin;
try{ try{
@ -363,20 +363,20 @@ jQuery(function($){
}); });
jQuery("#poll_" + srl + "_result_nobutton").css({ jQuery("#poll_" + srl + "_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + srl + "_result_yesbutton").css({ jQuery("#poll_" + srl + "_result_yesbutton").css({
display: "none" display: "none"
}); });
loadPollResult(srl); loadRxDefaultPollResult(srl);
return false; return false;
}); });
/* View poll screen */ /* View poll screen */
$('._poll_screen').click(function(){ $('._rx_default_poll_screen').click(function(){
var cls = $(this).attr('class'), srl, skin; var cls = $(this).attr('class'), srl, skin;
try{ try{
@ -390,14 +390,14 @@ jQuery(function($){
}); });
jQuery("#poll_" + srl + "_result_nobutton").css({ jQuery("#poll_" + srl + "_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_" + srl + "_result_yesbutton").css({ jQuery("#poll_" + srl + "_result_yesbutton").css({
display: "none" display: "none"
}); });
loadPoll(srl); loadRxDefaultPoll(srl);
return false; return false;
}); });

View file

@ -5,16 +5,16 @@
var poll_member_lang = "{$lang->poll_item_members}"; var poll_member_lang = "{$lang->poll_item_members}";
jQuery(document).ready(function(){ jQuery(document).ready(function(){
var data = {json_encode($poll_data)}; var data = {json_encode($poll_data)};
if(data.poll.is_polled==0) loadPoll({$poll_srl},data); if(data.poll.is_polled==0) loadRxDefaultPoll({$poll_srl},data);
else else
{ {
loadPollResult({$poll_srl},data); loadRxDefaultPollResult({$poll_srl},data);
jQuery("#poll_{$poll_srl}_result_button").css({ jQuery("#poll_{$poll_srl}_result_button").css({
display: "none" display: "none"
}); });
jQuery("#poll_{$poll_srl}_result_nobutton").css({ jQuery("#poll_{$poll_srl}_result_nobutton").css({
display: "table-row" display: "block"
}); });
jQuery("#poll_{$poll_srl}_result_yesbutton").css({ jQuery("#poll_{$poll_srl}_result_yesbutton").css({
@ -23,37 +23,41 @@
} }
}); });
</script> </script>
<div style="{$style}"> <div style="{$style}" class="rx_poll_default_wrap">
<div id="poll_{$poll_srl}" class="pollWidget" style="display:none;"> <div id="poll_{$poll_srl}" class="pollWidget" style="display:none;">
<script id="entry-template" type="text/x-handlebars-template"> <script id="entry-template-{$poll_srl}" type="text/x-handlebars-template">
{{#each questions as |question questionid|}} {{#each questions as |question questionid|}}
<input type="hidden" name="checkcount_{{question.poll_index_srl}}" value="{{question.checkcount}}" /> <div class="poll_vote">
<div class="title">Q : {{question.title}}</div> <input type="hidden" name="checkcount_{{question.poll_index_srl}}" value="{{question.checkcount}}" />
<div class="title">Q : {{question.title}}</div>
{{#if question.isMultipleChoice}} {{#if question.isMultipleChoice}}
<div class="checkcount"> <div class="checkcount">
{$lang->poll_checkcount} : {{question.checkcount}} {$lang->poll_checkcount} : {{question.checkcount}}
</div> </div>
{{/if}} {{/if}}
{{#each question.items as |item itemid|}} {{#each question.items as |item itemid|}}
<div class="item"> <div class="poll_item">
{{#if question.isMultipleChoice}} <label for="item_{{item.poll_item_srl}}">
<input type="checkbox" name="item_{{question.poll_srl}}_{{question.poll_index_srl}}" value="{{item.poll_item_srl}}" id="item_{{item.poll_item_srl}}" /> {{#if question.isMultipleChoice}}
{{else}} <input type="checkbox" name="item_{{question.poll_srl}}_{{question.poll_index_srl}}" value="{{item.poll_item_srl}}" id="item_{{item.poll_item_srl}}" />
<input type="radio" name="item_{{question.poll_srl}}_{{question.poll_index_srl}}" value="{{item.poll_item_srl}}" id="item_{{item.poll_item_srl}}" /> {{else}}
{{/if}} <input type="radio" name="item_{{question.poll_srl}}_{{question.poll_index_srl}}" value="{{item.poll_item_srl}}" id="item_{{item.poll_item_srl}}" />
<label for="item_{{item.poll_item_srl}}">{{item.title}}</label> {{/if}}
{{#if item.my_item}} {{item.title}}
<input type="button" value="x" onclick="deleteItem({{question.poll_srl}},{{question.poll_index_srl}},{{item.poll_item_srl}})" style="float: right;" class="btn poll_button _poll_delete_item" /> </label>
{{/if}} {{#if item.my_item}}
</div> <input type="button" value="x" title="{$lang->delete_poll_item}" onclick="deleteItem({{question.poll_srl}},{{question.poll_index_srl}},{{item.poll_item_srl}})" class="btn poll_button poll_item_delete" />
{{/each}} {{/if}}
{{#if question.additem}} </div>
<div class="item add"> {{/each}}
<input type="text" name="new_item" id="new_item_{{question.poll_index_srl}}" value="" /> <input type="button" value="+" onclick="addItem({{question.poll_srl}},{{question.poll_index_srl}})" style="float: right;" class="btn poll_button _poll_add_item" /> {{#if question.additem}}
</div> <div class="poll_item_add">
{{/if}} <input type="text" name="new_item" id="new_item_{{question.poll_index_srl}}" class="poll_item_add" placeholder="{$lang->msg_can_add_item}" /> <input type="button" value="+" title="{$lang->add_poll_item}" onclick="addItem({{question.poll_srl}},{{question.poll_index_srl}})" style="float: right;" class="btn poll_button poll_item_add" />
</div>
{{/if}}
</div>
{{/each}} {{/each}}
</script> </script>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'widgets/pollWidget/skins/default/form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}"> <div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'widgets/pollWidget/skins/default/form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
@ -67,76 +71,49 @@
<input type="hidden" name="skin" value="{$skin}" /> <input type="hidden" name="skin" value="{$skin}" />
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" /> <input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
<input type="hidden" name="xe_validator_id" value="widgets/pollWidget/skins/default/form/1" /> <input type="hidden" name="xe_validator_id" value="widgets/pollWidget/skins/default/form/1" />
<table cellspacing="0" class="poll_table"> <section class="rx_poll_default">
<col width="7" /> <div class="rx_poll_header">
<col /> <div style="float:left">
<col width="7" /> {$lang->poll_stop_date}: <time class="rx_poll_h_strong" id="stop_date_{$poll_srl}"></time>
<tr class="cap"> </div>
<td><img src="./images/lh.png" alt="lh" width="7" height="7" /></td> </div>
<td class="h"><img src="./images/blank.gif" height="7" alt="blank" /></td> <div id="poll_content_{$poll_srl}" class="rx_poll_content">
<td><img src="./images/rh.png" alt="rh" width="7" height="7" /></td> </div>
</tr> <div class="poll_button">
<tr> <input type="button" value="{$lang->cmd_view_result}" class="btn poll_button _rx_default_poll_result _srl_{$poll_srl}" />
<td class="title" colspan="3"> <input type="submit" value="{$lang->cmd_apply_poll}" class="btn poll_button" />
{$lang->poll_stop_date}: <strong id="stop_date_{$poll_srl}"></strong> </div>
</td> </section>
</tr>
<tr>
<td class="l"><img src="./images/blank.gif" height="7" alt="blank" /></td>
<td id="poll_content_{$poll_srl}" class="poll_content">
</td>
<td class="r"><img src="./images/blank.gif" height="7" alt="blank" /></td>
</tr>
<tr>
<td colspan="3" class="poll_button">
<div>
<input type="button" value="{$lang->cmd_view_result}" class="btn poll_button _poll_result _srl_{$poll_srl}" />
<input type="submit" value="{$lang->cmd_apply_poll}" class="btn poll_button" />
</div>
</td>
</tr>
<tr class="cap">
<td class="lb" ><img src="./images/lb.png" alt="lb" width="7" height="7" /></td>
<td class="b"><img src="./images/blank.gif" alt="blank" /></td>
<td class="rb" ><img src="./images/rb.png" alt="rb" width="7" height="7" /></td>
</tr>
</table>
</form> </form>
</div> </div>
<div id="poll_{$poll_srl}_result" class="pollWidget poll_box" style="display:none;"> <div id="poll_{$poll_srl}_result" class="pollWidget poll_box" style="display:none;">
<script id="entry-template-result" type="text/x-handlebars-template"> <script id="entry-template-result-{$poll_srl}" type="text/x-handlebars-template">
{{#each questions as |question questionid|}} {{#each questions as |question questionid|}}
<div class="title">{{question.title}} ({{question.poll_count}})</div> <div class="title">{{question.title}} ({{question.poll_count}})</div>
{{#each question.items as |item itemid|}} {{#each question.items as |item itemid|}}
<div class="item_text"> <div class="rx_poll_default_item">
{{#if question.showMembers}} <div class="item_text">
<strong>{{item.number}}</strong> <img src="./images/pipe.png" alt="" /> <a href="#" onclick="showPollMember({{question.poll_srl}},{{item.poll_item_srl}});return false;">{{item.title}}</a> {{#if question.showMembers}}
{{else}} <strong>{{item.number}}</strong> <a href="#" onclick="showRxDefaultPollMember({{question.poll_srl}},{{item.poll_item_srl}});return false;">{{item.title}}</a>
<strong>{{item.number}}</strong> <img src="./images/pipe.png" alt="" /> {{item.title}} {{else}}
{{/if}} <strong>{{item.number}}</strong> {{item.title}}
</div> {{/if}}
</div>
<table cellspacing="0" class="item_bar_table"> <div class="item_bar">
<col width="30" /> {{#if item.isVote}}
<col/> <div class="item_bar" title="{{item.per}}%" style="width:{{item.per}}%;height:22px;">&nbsp;</div>
<col width="75" /> {{else}}
<tr> <div class="item_bar" style="width:1px;height:22px;">&nbsp;</div>
<td>&nbsp;</td> {{/if}}
<td class="bar"> <div class="item_bar_text">{{item.poll_count}}</strong> ({{item.per}}%)</div>
{{#if item.isVote}} </div>
<img src="./images/color_bar.png" style="width:{{item.per}}%;height:6px;" alt="bar" /> </div>
{{else}}
<img src="./images/blank.gif" width="1" height="1" alt="" />
{{/if}}
</td>
<td class="status"><strong>{{item.poll_count}}</strong> ({{item.per}}%)</td>
</tr>
</table>
{{/each}} {{/each}}
{{/each}} {{/each}}
</script> </script>
<script id="entry-template-members" type="text/x-handlebars-template"> <script id="entry-template-members-{$poll_srl}" type="text/x-handlebars-template">
{{#each members as |member memberid|}} {{#each members as |member memberid|}}
{{#if member.isImage}} {{#if member.isImage}}
<li><img src="{{member.profile_image}}" width="16" height="16" /> <a href="#popup_menu_area" class="member_{{member.member_srl}}" onclick="return false">{{member.nick_name}}</a></li> <li><img src="{{member.profile_image}}" width="16" height="16" /> <a href="#popup_menu_area" class="member_{{member.member_srl}}" onclick="return false">{{member.nick_name}}</a></li>
@ -145,62 +122,28 @@
{{/if}} {{/if}}
{{/each}} {{/each}}
{{#if isPage}} {{#if isPage}}
<input type="button" id="btn_load_more_{{poll_item_srl}}" value="More..." onclick="showPollMemberNext({{poll_srl}},{{poll_item_srl}});return false;" style="width:100%;" class="btn poll_button" /> <input type="button" id="btn_load_more_{{poll_item_srl}}" value="More..." onclick="showRxDefaultPollMemberNext({{poll_srl}},{{poll_item_srl}});return false;" style="width:100%;" class="btn poll_button" />
{{/if}} {{/if}}
</script> </script>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/poll/skins/default/form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}"> <div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/poll/skins/default/form/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p> <p>{$XE_VALIDATOR_MESSAGE}</p>
</div> </div>
<section class="rx_poll_default">
<table cellspacing="0" class="poll_table"> <div class="rx_poll_header">
<col width="7" /> <div style="float:left">
<col /> {$lang->poll_stop_date}: <time class="rx_poll_h_strong" id="stop_date_result_{$poll_srl}"></time>
<col width="7" /> </div>
<tr class="cap"> <div style="float:right">
<td><img src="./images/lh.png" alt="lh" width="7" height="7" /></td> {$lang->poll_join_count}: <span class="rx_poll_h_strong" id="poll_count_result_{$poll_srl}"></span>
<td class="h"><img src="./images/blank.gif" height="7" alt="blank" /></td> </div>
<td><img src="./images/rh.png" alt="rh" width="7" height="7" /></td> </div>
</tr> <div id="poll_content_{$poll_srl}_result" class="rx_poll_content">
<tr> </div>
<td class="title" colspan="3"> <div id="poll_{$poll_srl}_result_button" class="rx_poll_footer" style="width:100%;display: none;">
<div style="float:left"> <div class="poll_button">
{$lang->poll_stop_date}: <strong id="stop_date_result_{$poll_srl}"></strong> 24:00 <input type="button" value="{$lang->btn_poll_gotovote}" class="btn poll_button _rx_default_poll_screen _srl_{$poll_srl}" />
</div> </div>
<div style="float:right"> </div>
{$lang->poll_join_count}: <strong id="poll_count_result_{$poll_srl}"></strong> </section>
</div>
</td>
</tr>
<tr>
<td class="l"><img src="./images/blank.gif" height="7" alt="blank" /></td>
<td id="poll_content_{$poll_srl}_result" class="poll_content">
</td>
<td class="r"><img src="./images/blank.gif" height="7" alt="blank" /></td>
</tr>
<tr id="poll_{$poll_srl}_result_button" style="width:100%;display: none;">
<td colspan="3" class="poll_button">
<div>
<input type="button" value="{$lang->btn_poll_gotovote}" class="btn poll_button _poll_screen _srl_{$poll_srl}" />
</div>
</td>
</tr>
<tr id="poll_{$poll_srl}_gotoresult_button" style="width:100%;display: none;">
<td colspan="3" class="poll_button">
<div>
<input type="button" value="{$lang->btn_poll_gotoresult}" class="btn poll_button _gotoresult_screen _srl_{$poll_srl}" />
</div>
</td>
</tr>
<tr id="poll_{$poll_srl}_result_nobutton" class="cap">
<td class="rlb" ><img src="./images/rlb.png" alt="lb" width="7" height="7" /></td>
<td class="bb"><img src="./images/blank.gif" alt="blank" /></td>
<td class="rrb" ><img src="./images/rrb.png" alt="rb" width="7" height="7" /></td>
</tr>
<tr id="poll_{$poll_srl}_result_yesbutton" class="cap">
<td class="lb" ><img src="./images/lb.png" alt="lb" width="7" height="7" /></td>
<td class="b"><img src="./images/blank.gif" alt="blank" /></td>
<td class="rb" ><img src="./images/rb.png" alt="rb" width="7" height="7" /></td>
</tr>
</table>
</div> </div>
</div> </div>

View file

@ -1,41 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<skin version="0.2"> <skin version="0.2">
<title xml:lang="ko">설문조사 기본 스킨</title> <title xml:lang="ko">설문조사 기본 스킨</title>
<title xml:lang="zh-CN">投票系统默认皮肤</title> <title xml:lang="zh-CN">投票系统默认皮肤</title>
<title xml:lang="jp">アンケート調査デフォルトスキン</title> <title xml:lang="jp">アンケート調査デフォルトスキン</title>
<title xml:lang="en">Default Skin of teh Poll</title> <title xml:lang="en">Default Skin of teh Poll</title>
<title xml:lang="vi">Skin mặc định của thăm dò</title> <title xml:lang="vi">Skin mặc định của thăm dò</title>
<title xml:lang="zh-TW">投票系統預設面板</title> <title xml:lang="zh-TW">投票系統預設面板</title>
<title xml:lang="tr">Oylamanın Varsayılan Dış Görünümü</title> <title xml:lang="tr">Oylamanın Varsayılan Dış Görünümü</title>
<description xml:lang="ko">설문조사 기본 스킨</description> <description xml:lang="ko">설문조사 기본 스킨</description>
<description xml:lang="zh-CN">投票系统默认皮肤。</description> <description xml:lang="zh-CN">投票系统默认皮肤。</description>
<description xml:lang="jp">アンケート調査デフォルトスキン</description> <description xml:lang="jp">アンケート調査デフォルトスキン</description>
<description xml:lang="en">Default Skin of the Poll</description> <description xml:lang="en">Default Skin of the Poll</description>
<description xml:lang="vi">Skin mặc định của thăm dò.</description> <description xml:lang="vi">Skin mặc định của thăm dò.</description>
<description xml:lang="zh-TW">投票系統預設面板。</description> <description xml:lang="zh-TW">投票系統預設面板。</description>
<description xml:lang="tr">Oylamanın Varsayılan Dış Görünümü</description> <description xml:lang="tr">Oylamanın Varsayılan Dış Görünümü</description>
<version>2.0</version> <version>2.0.1</version>
<date>2015-06-09</date> <date>2016-01-24</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/"> <author email_address="misol.kr@gmail.com" link="https://github.com/misol">
<name xml:lang="ko">NAVER</name> <name xml:lang="ko">misol</name>
<name xml:lang="vi">NAVER</name> <name xml:lang="vi">misol</name>
<name xml:lang="zh-CN">NAVER</name> <name xml:lang="zh-CN">misol</name>
<name xml:lang="jp">NAVER</name> <name xml:lang="jp">misol</name>
<name xml:lang="en">NAVER</name> <name xml:lang="en">misol</name>
<name xml:lang="zh-TW">NAVER</name> <name xml:lang="zh-TW">misol</name>
<name xml:lang="tr">NAVER</name> <name xml:lang="tr">misol</name>
</author> </author>
<author email_address="developers@xpressengine.com" link="https://www.xpressengine.com/">
<name xml:lang="ko">NAVER</name>
<name xml:lang="vi">NAVER</name>
<name xml:lang="zh-CN">NAVER</name>
<name xml:lang="jp">NAVER</name>
<name xml:lang="en">NAVER</name>
<name xml:lang="zh-TW">NAVER</name>
<name xml:lang="tr">NAVER</name>
</author>
<colorset> <colorset>
<color name="normal"> <color name="normal">
<title xml:lang="ko">기본</title> <title xml:lang="ko">기본</title>
<title xml:lang="vi">Mặc định</title> <title xml:lang="vi">Mặc định</title>
<title xml:lang="zh-CN">默认</title> <title xml:lang="zh-CN">默认</title>
<title xml:lang="jp">デフォルト</title> <title xml:lang="jp">デフォルト</title>
<title xml:lang="en">Default</title> <title xml:lang="en">Default</title>
<title xml:lang="zh-TW">預設</title> <title xml:lang="zh-TW">預設</title>
<title xml:lang="tr">Varsayılan</title> <title xml:lang="tr">Varsayılan</title>
</color> </color>
</colorset> </colorset>
</skin> </skin>

View file

@ -1 +0,0 @@
.simple_poll{table-layout:fixed;padding:0;margin:0;border:0}.simple_poll td{padding:0;margin:0}.simple_poll td.title{text-align:right}.simple_poll td .itemDiv{border-top:1px solid #BBB;margin-top:3px;padding:3px 0}.simple_poll td .title{color:#000;font-weight:700;letter-spacing:-1px}.simple_poll td .checkcount{color:#AAA}.simple_poll td .item{color:#636363;margin: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:#AAA}.simple_poll td.stopDate{color:#AAA;border-top:1px solid #BBB;padding-top:3px}.simple_poll td.stopDate a{color:#AAA;text-decoration:none}.simple_poll td.poll_button{text-align:left;padding-top:3px}.simple_poll td.poll_button .poll_button{border:1px solid #EEE;background-color:#AAA;color:#FFF;font-weight:700;padding: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}