Commit 11c05398a641bf8f4eec4c105e707e3780657b3f
Exists in
master
and in
11 other branches
Merge branch 'master' of https://gitlab.com/participa/proposal-app
Showing
8 changed files
with
66 additions
and
26 deletions
Show diff stats
2.3 KB
images/icons/pobreza.png
1.05 KB
images/icons/reducao-da-pobreza.png
index.html
| @@ -24,7 +24,7 @@ | @@ -24,7 +24,7 @@ | ||
| 24 | <nav> | 24 | <nav> |
| 25 | <ul> | 25 | <ul> |
| 26 | <li id='nav-proposal-categories'><a href="#proposal-categories" class="active">Temas</a></li> | 26 | <li id='nav-proposal-categories'><a href="#proposal-categories" class="active">Temas</a></li> |
| 27 | - <li id='nav-proposal-group'><a href="#proposal-group">Todos os Programas</a></li> | 27 | + <li id='nav-proposal-group'><a href="#proposal-group">Programas</a></li> |
| 28 | </ul> | 28 | </ul> |
| 29 | </nav> | 29 | </nav> |
| 30 | 30 | ||
| @@ -173,26 +173,29 @@ | @@ -173,26 +173,29 @@ | ||
| 173 | <a href="#" class="like dislike" data-vote-value="-1"></a> | 173 | <a href="#" class="like dislike" data-vote-value="-1"></a> |
| 174 | <a href="#" class="like" data-vote-value="1"></a> | 174 | <a href="#" class="like" data-vote-value="1"></a> |
| 175 | <a href="#" class="skip">Pular</a> | 175 | <a href="#" class="skip">Pular</a> |
| 176 | - <a href="#" class="result">Resultado</a> | 176 | + <a href="#" class="vote-result">Resultado</a> |
| 177 | </div> | 177 | </div> |
| 178 | </script> | 178 | </script> |
| 179 | 179 | ||
| 180 | <script id="results" type='text/x-handlebars-template'> | 180 | <script id="results" type='text/x-handlebars-template'> |
| 181 | <div class="results-content"> | 181 | <div class="results-content"> |
| 182 | - <table> | ||
| 183 | - <tr class="header"> | ||
| 184 | - <td class="abstract-text">Texto da Alternativa</td> | ||
| 185 | - <td class="votes-for">Gostei</td> | ||
| 186 | - <td class="votes-against">Não Gostei</td> | ||
| 187 | - </tr> | ||
| 188 | - {{#each articles}} | ||
| 189 | - <tr> | ||
| 190 | - <td class="abstract-text"><div class="truncate"><p class="truncated">{{abstract}}</p></div></td> | ||
| 191 | - <td class="votes-for">{{votes_for}}</td> | ||
| 192 | - <td class="votes-against">{{votes_against}}</td> | 182 | + <a href="#" class="vote-result">Fechar</a> |
| 183 | + <table> | ||
| 184 | + <tr class="header"> | ||
| 185 | + <td class="abstract-text">Texto da Alternativa</td> | ||
| 186 | + <td class="votes-for">Gostei</td> | ||
| 187 | + <td class="votes-against">Não Gostei</td> | ||
| 188 | + <td class="score">Pontuação</td> | ||
| 193 | </tr> | 189 | </tr> |
| 194 | - {{/each}} | ||
| 195 | - </table> | 190 | + {{#each articles}} |
| 191 | + <tr> | ||
| 192 | + <td class="abstract-text"><div class="truncate"><p class="truncated">{{abstract}}</p></div></td> | ||
| 193 | + <td class="votes-for">{{votes_for}}</td> | ||
| 194 | + <td class="votes-against">{{votes_against}}</td> | ||
| 195 | + <td class="score">{{#score .}}{{/score}}</td> | ||
| 196 | + </tr> | ||
| 197 | + {{/each}} | ||
| 198 | + </table> | ||
| 196 | </div> | 199 | </div> |
| 197 | </script> | 200 | </script> |
| 198 | 201 |
js/handlebars-helpers.js
| @@ -12,21 +12,23 @@ Handlebars.registerHelper('list_proposal', function(proposals, options) { | @@ -12,21 +12,23 @@ Handlebars.registerHelper('list_proposal', function(proposals, options) { | ||
| 12 | var ret = ""; | 12 | var ret = ""; |
| 13 | for(var i=0, j=proposals.length; i<j; i++) { | 13 | for(var i=0, j=proposals.length; i<j; i++) { |
| 14 | element = "<li class='proposal-item'><div class='item'>"; | 14 | element = "<li class='proposal-item'><div class='item'>"; |
| 15 | - element = element + "<ul class='category'>"; | 15 | + category = "<ul class='category'>"; |
| 16 | 16 | ||
| 17 | for(var x=0, y=proposals[i].categories.length; x<y; x++) { | 17 | for(var x=0, y=proposals[i].categories.length; x<y; x++) { |
| 18 | if((options.hash['category'] != null) && (options.hash['category'] != proposals[i].categories[x].slug)){ | 18 | if((options.hash['category'] != null) && (options.hash['category'] != proposals[i].categories[x].slug)){ |
| 19 | element = ''; | 19 | element = ''; |
| 20 | continue; | 20 | continue; |
| 21 | } | 21 | } |
| 22 | - element = element + '<li class="category-'+proposals[i].categories[x].slug+'">' + proposals[i].categories[x].name + '</li>'; | 22 | + category = category + '<li class="category-'+proposals[i].categories[x].slug+'">' + proposals[i].categories[x].name + '</li>'; |
| 23 | } | 23 | } |
| 24 | if(element == ''){ | 24 | if(element == ''){ |
| 25 | continue; | 25 | continue; |
| 26 | } | 26 | } |
| 27 | - element = element + '</ul>'; | 27 | + category = category + '</ul>'; |
| 28 | element = element + options.fn(proposals[i]); | 28 | element = element + options.fn(proposals[i]); |
| 29 | - element = element + '<p>' + (proposals[i].abstract ? proposals[i].abstract : '') + '</p>'; | 29 | + element = element + (proposals[i].abstract ? proposals[i].abstract : ''); |
| 30 | + | ||
| 31 | + element = element + category; | ||
| 30 | ret = ret + element + '</div></li>'; | 32 | ret = ret + element + '</div></li>'; |
| 31 | } | 33 | } |
| 32 | return ret; | 34 | return ret; |
| @@ -46,3 +48,7 @@ Handlebars.registerHelper('proposal_detail', function(proposals, options) { | @@ -46,3 +48,7 @@ Handlebars.registerHelper('proposal_detail', function(proposals, options) { | ||
| 46 | Handlebars.registerHelper('replace', function(string, to_replace, replacement) { | 48 | Handlebars.registerHelper('replace', function(string, to_replace, replacement) { |
| 47 | return (string || '').replace(new RegExp(to_replace, 'g'), replacement); | 49 | return (string || '').replace(new RegExp(to_replace, 'g'), replacement); |
| 48 | }); | 50 | }); |
| 51 | + | ||
| 52 | +Handlebars.registerHelper('score', function(article) { | ||
| 53 | + return article.votes_for - article.votes_against; | ||
| 54 | +}); |
js/main.js
| @@ -158,8 +158,8 @@ function loadRandomProposal(topic_id, private_token) { | @@ -158,8 +158,8 @@ function loadRandomProposal(topic_id, private_token) { | ||
| 158 | }); | 158 | }); |
| 159 | e.preventDefault(); | 159 | e.preventDefault(); |
| 160 | }); | 160 | }); |
| 161 | - $(document.body).off('click', '.vote-actions .result'); | ||
| 162 | - $(document.body).on('click', '.vote-actions .result', function(e) { | 161 | + $(document.body).off('click', '.vote-result'); |
| 162 | + $(document.body).on('click', '.vote-result', function(e) { | ||
| 163 | $('.results-container').toggle(); | 163 | $('.results-container').toggle(); |
| 164 | if($('.results-container').is(":visible")) { | 164 | if($('.results-container').is(":visible")) { |
| 165 | var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=10&fields=id,name,abstract,votes_for,votes_against&content_type=ProposalsDiscussionPlugin::Proposal'; | 165 | var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=10&fields=id,name,abstract,votes_for,votes_against&content_type=ProposalsDiscussionPlugin::Proposal'; |
sass/_proposal_categories.scss
| @@ -50,8 +50,10 @@ | @@ -50,8 +50,10 @@ | ||
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | ul.category { | 52 | ul.category { |
| 53 | + border-top: 1px dotted #045312; | ||
| 53 | text-align: left; | 54 | text-align: left; |
| 54 | padding: 0; | 55 | padding: 0; |
| 56 | + padding-top: 10px; | ||
| 55 | } | 57 | } |
| 56 | 58 | ||
| 57 | .proposal-item p { | 59 | .proposal-item p { |
| @@ -68,7 +70,6 @@ | @@ -68,7 +70,6 @@ | ||
| 68 | } | 70 | } |
| 69 | 71 | ||
| 70 | .proposal-item .proposal-link { | 72 | .proposal-item .proposal-link { |
| 71 | - border-top: 1px dotted #045312; | ||
| 72 | padding-top: 10px; | 73 | padding-top: 10px; |
| 73 | display: block; | 74 | display: block; |
| 74 | margin: 0; | 75 | margin: 0; |
sass/_proposal_detail.scss
| @@ -87,15 +87,37 @@ | @@ -87,15 +87,37 @@ | ||
| 87 | } | 87 | } |
| 88 | } | 88 | } |
| 89 | .results-container { | 89 | .results-container { |
| 90 | - th, td { | ||
| 91 | - border: 1px solid rgb(223, 223, 223); | 90 | + &:before { |
| 91 | + content:""; | ||
| 92 | + display:table; | ||
| 93 | + clear:both; | ||
| 92 | } | 94 | } |
| 93 | .results-content { | 95 | .results-content { |
| 94 | border: 1px solid #00a9bd; | 96 | border: 1px solid #00a9bd; |
| 97 | + margin-top: 20px; | ||
| 98 | + .vote-result { | ||
| 99 | + font-weight: bolder; | ||
| 100 | + font-size: 12px; | ||
| 101 | + text-transform: uppercase; | ||
| 102 | + background-color: gray; | ||
| 103 | + color: white; | ||
| 104 | + width: 4%; | ||
| 105 | + border: none; | ||
| 106 | + margin: 10px; | ||
| 107 | + border-radius: 6px; | ||
| 108 | + text-align: center; | ||
| 109 | + text-decoration: none; | ||
| 110 | + padding: 9px; | ||
| 111 | + display: block; | ||
| 112 | + float: right; | ||
| 113 | + } | ||
| 95 | } | 114 | } |
| 96 | table { | 115 | table { |
| 97 | - border-collapse: collapse; | 116 | + clear: both; |
| 98 | margin-top: 20px; | 117 | margin-top: 20px; |
| 118 | + tbody tr:nth-child(odd) { | ||
| 119 | + background-color: #e5e5e5; | ||
| 120 | + } | ||
| 99 | 121 | ||
| 100 | .abstract-text { | 122 | .abstract-text { |
| 101 | width: 80%; | 123 | width: 80%; |
| @@ -107,9 +129,14 @@ | @@ -107,9 +129,14 @@ | ||
| 107 | .votes-against { | 129 | .votes-against { |
| 108 | @extend .votes-for; | 130 | @extend .votes-for; |
| 109 | } | 131 | } |
| 132 | + .score { | ||
| 133 | + @extend .votes-for; | ||
| 134 | + } | ||
| 110 | .header { | 135 | .header { |
| 136 | + line-height: 32px; | ||
| 111 | font-weight: bold; | 137 | font-weight: bold; |
| 112 | text-align: center; | 138 | text-align: center; |
| 139 | + color: rgb(68, 68, 68); | ||
| 113 | } | 140 | } |
| 114 | 141 | ||
| 115 | .truncate { | 142 | .truncate { |
| @@ -122,6 +149,9 @@ | @@ -122,6 +149,9 @@ | ||
| 122 | text-overflow: ellipsis; | 149 | text-overflow: ellipsis; |
| 123 | white-space: nowrap; | 150 | white-space: nowrap; |
| 124 | } | 151 | } |
| 152 | + tr { | ||
| 153 | + color: rgb(77, 77, 77); | ||
| 154 | + } | ||
| 125 | } | 155 | } |
| 126 | } | 156 | } |
| 127 | 157 | ||
| @@ -293,7 +323,7 @@ | @@ -293,7 +323,7 @@ | ||
| 293 | padding: 20px; | 323 | padding: 20px; |
| 294 | display: block; | 324 | display: block; |
| 295 | } | 325 | } |
| 296 | - .result { | 326 | + .vote-result { |
| 297 | @extend .skip | 327 | @extend .skip |
| 298 | } | 328 | } |
| 299 | } | 329 | } |