@ -60,7 +60,11 @@ class Poll extends ImmutablePureComponent {
if ( this . props . poll . get ( 'multiple' ) ) {
const tmp = { ... this . state . selected } ;
tmp [ value ] = true ;
if ( tmp [ value ] ) {
delete tmp [ value ] ;
} else {
tmp [ value ] = true ;
}
this . setState ( { selected : tmp } ) ;
} else {
const tmp = { } ;
@ -86,11 +90,11 @@ class Poll extends ImmutablePureComponent {
} ;
renderOption ( option , optionIndex ) {
const { poll } = this . props ;
const percent = ( option . get ( 'votes_count' ) / poll . get ( 'votes_count' ) ) * 100 ;
const leading = poll . get ( 'options' ) . filterNot ( other => other . get ( 'title' ) === option . get ( 'title' ) ) . every ( other => option . get ( 'votes_count' ) > other . get ( 'votes_count' ) ) ;
const active = ! ! this . state . selected [ ` ${ optionIndex } ` ] ;
const showResults = poll . get ( 'voted' ) || poll . get ( 'expired' ) ;
const { poll , disabled } = this . props ;
const percent = ( option . get ( 'votes_count' ) / poll . get ( 'votes_count' ) ) * 100 ;
const leading = poll . get ( 'options' ) . filterNot ( other => other . get ( 'title' ) === option . get ( 'title' ) ) . every ( other => option . get ( 'votes_count' ) > other . get ( 'votes_count' ) ) ;
const active = ! ! this . state . selected [ ` ${ optionIndex } ` ] ;
const showResults = poll . get ( 'voted' ) || poll . get ( 'expired' ) ;
return (
< li key = { option . get ( 'title' ) } >
@ -109,9 +113,10 @@ class Poll extends ImmutablePureComponent {
value = { optionIndex }
checked = { active }
onChange = { this . handleOptionChange }
disabled = { disabled }
/ >
{ ! showResults && < span className = { classNames ( 'poll__input' , { active } ) } / > }
{ ! showResults && < span className = { classNames ( 'poll__input' , { checkbox: poll . get ( 'multiple' ) , active } ) } / > }
{ showResults && < span className = 'poll__number' > { Math . floor ( percent ) } % < / s p a n > }
{ option . get ( 'title' ) }