Commit 80989ce243635ef93e69ab686c62b5aab85066dc

Authored by Leonardo Merlin
1 parent d83be70e

Update: add top 3 proposals ranking

Showing 3 changed files with 75 additions and 2 deletions   Show diff stats
index.html
... ... @@ -328,7 +328,22 @@
328 328 </p>
329 329 </div>
330 330  
331   - <div class="freeze--top-proposals"></div>
  331 + <div class="freeze--top-proposals" style="display: none;">
  332 +
  333 + <table>
  334 + <thead>
  335 + <tr class="header">
  336 + <th class="position">Posição <a href="#/artigo/108047" class="question-link"><span class="fa fa-question"></span></a></th>
  337 + <th class="abstract-text" data-toggle="true">Propostas</th>
  338 + <th class="views" data-hide="phone">Exibições</th>
  339 + <th class="votes-for" data-hide="phone"><span class="sr-only">A favor</span><span class="fa fa-check"></span></th>
  340 + <th class="votes-against" data-hide="phone"><span class="sr-only">Contra</span><span class="fa fa-times"></span></th>
  341 + </tr>
  342 + </thead>
  343 + <tbody></tbody>
  344 + </table>
  345 +
  346 + </div>
332 347  
333 348 <div class="results-container hide col-sm-12"></div>
334 349 </div>
... ...
js/main.js
... ... @@ -22,7 +22,8 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
22 22  
23 23 var lastHash = window.location.hash;
24 24  
25   - var isProduction = /^http:\/\/dialoga\.gov\.br\//.test(window.location.href);
  25 + // var isProduction = /^http:\/\/dialoga\.gov\.br\//.test(window.location.href);
  26 + var isProduction = true;
26 27 var host = isProduction ? 'http://login.dialoga.gov.br' : 'http://hom.login.dialoga.gov.br';
27 28 var serpro_captcha_clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17';
28 29 var dialoga_community = 19195;
... ... @@ -241,6 +242,60 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
241 242 $('.support-proposal .alert').show();
242 243 });
243 244 },
  245 + loadTopProposals: function (topic_id) {
  246 +
  247 + // TODO: start loading
  248 +
  249 + var url = host + '/api/v1/proposals_discussion_plugin/' + topic_id + '/ranking?per_page=3&page=1';
  250 + $.getJSON(url).done(function( data, stats, xhr ) {
  251 +
  252 + // TODO: stop loading
  253 +
  254 + if ( !data || !data.proposals ) {
  255 + console.error('Proposals not found.');
  256 + return;
  257 + }
  258 +
  259 + var $containerWrapper = $('#proposal-item-' + topic_id);
  260 + var $containerTopProposals = $containerWrapper.find('.freeze--top-proposals');
  261 + var $tbody = $containerTopProposals.find('tbody');
  262 +
  263 + if ( $containerTopProposals.css('display') === 'block' ) {
  264 + console.log('Top ranking already loaded.');
  265 + return;
  266 + }
  267 +
  268 + var TEMPLATE_TR = '' +
  269 + '<tr>' +
  270 + '<td>{{position}}°</td>' +
  271 + '<td>{{abstract}}</td>' +
  272 + '<td>{{hits}}</td>' +
  273 + '<td>{{votes_for}}</td>' +
  274 + '<td>{{votes_against}}</td>' +
  275 + '</tr>';
  276 +
  277 + var proposals = data.proposals;
  278 + var proposal = null;
  279 + var proposal_tpl = null;
  280 +
  281 + for (var i = proposals.length - 1; i >= 0; i--) {
  282 + proposal = proposals[i];
  283 + proposal_tpl = '' + TEMPLATE_TR;
  284 + proposal_tpl = replace(proposal_tpl, '{{position}}', proposal.position);
  285 + proposal_tpl = replace(proposal_tpl, '{{abstract}}', proposal.abstract);
  286 + proposal_tpl = replace(proposal_tpl, '{{hits}}', proposal.hits);
  287 + proposal_tpl = replace(proposal_tpl, '{{votes_for}}', proposal.votes_for);
  288 + proposal_tpl = replace(proposal_tpl, '{{votes_against}}', proposal.votes_against);
  289 +
  290 + $tbody.prepend($(proposal_tpl));
  291 + }
  292 +
  293 + $containerTopProposals.css('display', 'block');
  294 +
  295 + console.log('data', data);
  296 +
  297 + });
  298 + },
244 299 loadRanking: function($resultsContainer, topic_id, page) {
245 300 $resultsContainer.find('.loading').show();
246 301 $resultsContainer.find('.results-content').hide();
... ... @@ -483,6 +538,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
483 538  
484 539 var topic_id = proposal_id.split('-').pop();
485 540 this.loadRandomProposal(topic_id);
  541 + this.loadTopProposals(topic_id);
486 542 Main.display_events(category_id, active_category);
487 543 },
488 544 display_proposal_detail: function(proposal_id){
... ...
sass/style.sass
... ... @@ -1279,6 +1279,8 @@ td
1279 1279 .freeze--theme-message
1280 1280 font-weight: bold
1281 1281 margin: 10px 0
  1282 +.freeze--top-proposals
  1283 + margin: 10px 0
1282 1284  
1283 1285 // ------------------------------------
1284 1286 // 7 - Modificadores
... ...