Commit 66f5cb153cd454c219bfb3242b2a3aa7c98842d4
Exists in
master
and in
5 other branches
Merge branch 'master' of gitlab.com:participa/proposal-app
Conflicts: js/handlebars-helpers.js js/main.js
Showing
7 changed files
with
862 additions
and
511 deletions
Show diff stats
images/logo.png
index.html
| @@ -90,7 +90,6 @@ | @@ -90,7 +90,6 @@ | ||
| 90 | fjs.parentNode.insertBefore(js, fjs); | 90 | fjs.parentNode.insertBefore(js, fjs); |
| 91 | }(document, 'script', 'facebook-jssdk'));</script> | 91 | }(document, 'script', 'facebook-jssdk'));</script> |
| 92 | 92 | ||
| 93 | - | ||
| 94 | <div class=""> | 93 | <div class=""> |
| 95 | <div id="proposal-result"></div> | 94 | <div id="proposal-result"></div> |
| 96 | </div> | 95 | </div> |
| @@ -98,11 +97,20 @@ | @@ -98,11 +97,20 @@ | ||
| 98 | 97 | ||
| 99 | <script id="proposal-template" type="text/x-handlebars-template"> | 98 | <script id="proposal-template" type="text/x-handlebars-template"> |
| 100 | <header class="container"> | 99 | <header class="container"> |
| 101 | - <a id="display-contrast" href="#">Alto Contraste</a> | ||
| 102 | - <div class="participar"> | ||
| 103 | - <!--<a href="#" class="button button-inline participe">Participe</a>--> | ||
| 104 | - <a href="#" class="entrar">Entrar</a> | ||
| 105 | - <a href="#" class="logout hide">Sair</a> | 100 | + <div class="row" style="margin: 10px 0 0 0"> |
| 101 | + <div class="col-xs-5"> | ||
| 102 | + <a id="display-contrast" href="#">Alto Contraste</a> | ||
| 103 | + </div> | ||
| 104 | + <div class="col-xs-7"> | ||
| 105 | + <div class="participar"> | ||
| 106 | + <!--<a href="#" class="button button-inline participe">Participe</a>--> | ||
| 107 | + <a id="login-button" href="#" class="login"><i class="icon icon-login"></i>Entrar</a> | ||
| 108 | + <a id="logout-button" href="#" class="logout hide"><i class="icon icon-login"></i><span class="name"></span>Sair</a> | ||
| 109 | + </div> | ||
| 110 | + </div> | ||
| 111 | + <div class="col-xs-12"> | ||
| 112 | + <div id="login-panel" class="hide"></div> | ||
| 113 | + </div> | ||
| 106 | </div> | 114 | </div> |
| 107 | <h1> | 115 | <h1> |
| 108 | <a href="#" class='logo'>{{article.title}}</a> | 116 | <a href="#" class='logo'>{{article.title}}</a> |
| @@ -304,34 +312,34 @@ | @@ -304,34 +312,34 @@ | ||
| 304 | 312 | ||
| 305 | <div class="talk-proposal-container col-sm-12"> | 313 | <div class="talk-proposal-container col-sm-12"> |
| 306 | <section class="talk-proposal box box-propostas"> | 314 | <section class="talk-proposal box box-propostas"> |
| 307 | - <div class="container-title box-title">Bate-papo com os ministros</div> | 315 | + <div class="container-title box-title">Bate-papo com ministras e ministros</div> |
| 308 | <p>Confira as datas e horários:</p> | 316 | <p>Confira as datas e horários:</p> |
| 309 | <ul class="calendar saude" data-slick='{"infinite": false, "rows": 2}'> | 317 | <ul class="calendar saude" data-slick='{"infinite": false, "rows": 2}'> |
| 310 | <li> | 318 | <li> |
| 311 | - <span id='ep0'>Arthur Chioro</span> | 319 | + <span id='ep0'></span> |
| 312 | <span>Saúde</span> | 320 | <span>Saúde</span> |
| 313 | - <div id='ed0' class="date"><i class="fa fa-calendar"></i> 17/06/2015</div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> | 321 | + <div id='ed0' class="date"><i class="fa fa-calendar"></i></div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> |
| 314 | </li> | 322 | </li> |
| 315 | </ul> | 323 | </ul> |
| 316 | <ul class="calendar seguranca-publica" data-slick='{"infinite": false, "rows": 2}'> | 324 | <ul class="calendar seguranca-publica" data-slick='{"infinite": false, "rows": 2}'> |
| 317 | <li> | 325 | <li> |
| 318 | - <span id='ep1'>José Eduardo Cardozo</span> | 326 | + <span id='ep1'></span> |
| 319 | <span id='ed1'>Justiça</span> | 327 | <span id='ed1'>Justiça</span> |
| 320 | - <div class="date"><i class="fa fa-calendar"></i> 25/04/2015</div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> | 328 | + <div class="date"><i class="fa fa-calendar"></i></div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> |
| 321 | </li> | 329 | </li> |
| 322 | </ul> | 330 | </ul> |
| 323 | <ul class="calendar educacao" data-slick='{"infinite": false, "rows": 2}'> | 331 | <ul class="calendar educacao" data-slick='{"infinite": false, "rows": 2}'> |
| 324 | <li> | 332 | <li> |
| 325 | - <span id='ep2'>Renato Janine Ribeiro</span> | 333 | + <span id='ep2'></span> |
| 326 | <span>Educação</span> | 334 | <span>Educação</span> |
| 327 | - <div id='ed2' class="date"><i class="fa fa-calendar"></i> 24/06/2015</div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> | 335 | + <div id='ed2' class="date"><i class="fa fa-calendar"></i></div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> |
| 328 | </li> | 336 | </li> |
| 329 | </ul> | 337 | </ul> |
| 330 | <ul class="calendar reducao-da-pobreza" data-slick='{"infinite": false, "rows": 2}'> | 338 | <ul class="calendar reducao-da-pobreza" data-slick='{"infinite": false, "rows": 2}'> |
| 331 | <li> | 339 | <li> |
| 332 | - <span id='ep3'>Tereza Campello</span> | 340 | + <span id='ep3'></span> |
| 333 | <span>Desenvolvimento Social</span> | 341 | <span>Desenvolvimento Social</span> |
| 334 | - <div id='ed3' class="date"><i class="fa fa-calendar"></i> 18/06/2015</div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> | 342 | + <div id='ed3' class="date"><i class="fa fa-calendar"></i></div><div class="time"><i class="fa fa-clock-o"></i> 19:00</div> |
| 335 | </li> | 343 | </li> |
| 336 | </ul> | 344 | </ul> |
| 337 | </section> | 345 | </section> |
| @@ -359,7 +367,7 @@ | @@ -359,7 +367,7 @@ | ||
| 359 | <a href="#" class="skip button box-footer">Pular</a> | 367 | <a href="#" class="skip button box-footer">Pular</a> |
| 360 | </div> | 368 | </div> |
| 361 | </div> | 369 | </div> |
| 362 | - <a href="#" class="vote-result box-bottom">Resultados</a> | 370 | + <a href="#/programas/{{parent.id}}/resultados" class="vote-result box-bottom">Resultados</a> |
| 363 | </div> | 371 | </div> |
| 364 | <div class="social"> | 372 | <div class="social"> |
| 365 | <span>Compartilhe esta proposta</span> | 373 | <span>Compartilhe esta proposta</span> |
| @@ -367,13 +375,13 @@ | @@ -367,13 +375,13 @@ | ||
| 367 | </div> | 375 | </div> |
| 368 | </script> | 376 | </script> |
| 369 | 377 | ||
| 370 | - <script id="results" type="text/x-handlebars-template"> | 378 | + <script id="results-template" type="text/x-handlebars-template"> |
| 371 | <div class="box box-propostas"> | 379 | <div class="box box-propostas"> |
| 372 | <div class="loading">Carregando...</div> | 380 | <div class="loading">Carregando...</div> |
| 373 | <div class="results-content hide"> | 381 | <div class="results-content hide"> |
| 374 | <a href="#" class="vote-result"><span class="sr-only">Fechar</span><span class="fa fa-times"></span></a> | 382 | <a href="#" class="vote-result"><span class="sr-only">Fechar</span><span class="fa fa-times"></span></a> |
| 375 | <h2>Resultados</h2> | 383 | <h2>Resultados</h2> |
| 376 | - <span class="total">Total de propostas: <strong class="value">{{pagination.total}}</strong></span> | 384 | + <span class="total">Total de propostas para o programa {{title}}: <strong class="value">{{pagination.total}}</strong></span> |
| 377 | <div class="updated-at"> | 385 | <div class="updated-at"> |
| 378 | <span>Última atualização </span> | 386 | <span>Última atualização </span> |
| 379 | <span class="timeago" title="{{updated_at}}"></span> | 387 | <span class="timeago" title="{{updated_at}}"></span> |
| @@ -382,7 +390,7 @@ | @@ -382,7 +390,7 @@ | ||
| 382 | <table class="footable"> | 390 | <table class="footable"> |
| 383 | <thead> | 391 | <thead> |
| 384 | <tr class="header"> | 392 | <tr class="header"> |
| 385 | - <th class="position">Posição <a href="#/artigo/108047" class="hidden-xs"><span class="fa fa-question"></span></a></th> | 393 | + <th class="position">Posição <a href="#/artigo/108047" class="question-link"><span class="fa fa-question"></span></a></th> |
| 386 | <th class="abstract-text" data-toggle="true">Propostas</th> | 394 | <th class="abstract-text" data-toggle="true">Propostas</th> |
| 387 | <th class="views" data-hide="phone">Exibições</th> | 395 | <th class="views" data-hide="phone">Exibições</th> |
| 388 | <th class="votes-for" data-hide="phone"><span class="sr-only">A favor</span><span class="fa fa-check"></span></th> | 396 | <th class="votes-for" data-hide="phone"><span class="sr-only">A favor</span><span class="fa fa-check"></span></th> |
| @@ -407,7 +415,7 @@ | @@ -407,7 +415,7 @@ | ||
| 407 | </div> | 415 | </div> |
| 408 | </script> | 416 | </script> |
| 409 | 417 | ||
| 410 | - <script id="login" type="text/x-handlebars-template"> | 418 | + <script id="login-template" type="text/x-handlebars-template"> |
| 411 | <div class="loading">Carregando...</div> | 419 | <div class="loading">Carregando...</div> |
| 412 | <form id="login-form" class="login"> | 420 | <form id="login-form" class="login"> |
| 413 | <div class="message hide"></div> | 421 | <div class="message hide"></div> |
| @@ -485,7 +493,7 @@ | @@ -485,7 +493,7 @@ | ||
| 485 | </ul> | 493 | </ul> |
| 486 | </script> | 494 | </script> |
| 487 | 495 | ||
| 488 | - <script id="article" type="text/x-handlebars-template"> | 496 | + <script id="article-template" type="text/x-handlebars-template"> |
| 489 | <div class="title"> | 497 | <div class="title"> |
| 490 | {{{title}}} | 498 | {{{title}}} |
| 491 | </div> | 499 | </div> |
| @@ -506,11 +514,11 @@ | @@ -506,11 +514,11 @@ | ||
| 506 | <a href="#/artigo/107880">Termos de uso</a> | 514 | <a href="#/artigo/107880">Termos de uso</a> |
| 507 | </div> | 515 | </div> |
| 508 | 516 | ||
| 509 | - <script type='text/javascript' > | 517 | + <script type="text/javascript"> |
| 510 | loadRequireJS(); | 518 | loadRequireJS(); |
| 511 | </script> | 519 | </script> |
| 512 | 520 | ||
| 513 | - <script src='https://www.google.com/recaptcha/api.js?hl=pt-BR' async defer></script> | 521 | + <script src="https://www.google.com/recaptcha/api.js?hl=pt-BR" async defer></script> |
| 514 | 522 | ||
| 515 | </body> | 523 | </body> |
| 516 | 524 |
js/handlebars-helpers.js
| @@ -18,26 +18,34 @@ define(['handlebars'], function(Handlebars){ | @@ -18,26 +18,34 @@ define(['handlebars'], function(Handlebars){ | ||
| 18 | var ret = ""; | 18 | var ret = ""; |
| 19 | for(var i=0, j=proposals.length; i<j; i++) { | 19 | for(var i=0, j=proposals.length; i<j; i++) { |
| 20 | var proposal = proposals[i]; | 20 | var proposal = proposals[i]; |
| 21 | - | ||
| 22 | - element = '<li class="proposal-item col-sm-6">' + | ||
| 23 | - '<a href="#/programas/'+proposal.id+'" data-target="proposal-item-'+proposal.id+'" class="proposal-link box">' + | 21 | + |
| 22 | + element = '<li class="proposal-item col-sm-6">' + | ||
| 23 | + '<a href="#/programas/' + proposal.id + '" data-target="proposal-item-' + proposal.id + '" class="proposal-link box">' + | ||
| 24 | '<div class="box-header item">'; | 24 | '<div class="box-header item">'; |
| 25 | category = "<div class='category box-category'>"; | 25 | category = "<div class='category box-category'>"; |
| 26 | - | ||
| 27 | - | ||
| 28 | - for(var x=0, y=proposal.categories.length; x<y; x++) { | ||
| 29 | - if((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)){ | 26 | + |
| 27 | + | ||
| 28 | + for (var x = 0, y = proposal.categories.length; x < y; x++) { | ||
| 29 | + if ((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)) { | ||
| 30 | element = ''; | 30 | element = ''; |
| 31 | continue; | 31 | continue; |
| 32 | - } | ||
| 33 | - category = category + '<div class="category-'+proposal.categories[x].slug+'">' + proposal.categories[x].name + '</div>'; | 32 | + } |
| 33 | + category = category + '<div class="category-' + proposal.categories[x].slug + '">' + proposal.categories[x].name + '</div>'; | ||
| 34 | } | 34 | } |
| 35 | - if(element == ''){ | 35 | + if (element == '') { |
| 36 | continue; | 36 | continue; |
| 37 | } | 37 | } |
| 38 | + if (proposal.image) { | ||
| 39 | + category = category + '</div>' + | ||
| 40 | + '<div class="box-body">' + | ||
| 41 | + // '<div class="box__image">' + '<img src="' + options.hash['host'] + proposal.image.url + '" alt="Imagem de apresentação do programa."/>' + '</div>' + | ||
| 42 | + '<div class="box__image" style="background-image:url(' + (options.hash['host'] + proposal.image.url) + ')"></div>' + | ||
| 43 | + '<div class="box__title">' + proposal.title + '</div>' + | ||
| 44 | + (proposal.abstract ? '<div class="box__abstract">' + proposal.abstract + '</div>' : '') + | ||
| 45 | + '<div class="box__footer">' + '<span class="button participe">OPINE NESTE PROGRAMA</span>' + '</div>' + | ||
| 46 | + '</div>'; | ||
| 47 | + } | ||
| 38 | 48 | ||
| 39 | - if(proposal.image) | ||
| 40 | - category = category + '</div>' + '<div class="box-body">' + '<img src="' + options.hash['host'] + proposal.image.url + '" alt="Imagem de apresentação do programa."/>' + proposal.title + (proposal.abstract ? proposal.abstract : '') + '<span class="button participe">OPINE NESTE PROGRAMA</span></div>'; | ||
| 41 | // element = element + options.fn(proposal); | 49 | // element = element + options.fn(proposal); |
| 42 | 50 | ||
| 43 | element = element + category; | 51 | element = element + category; |
| @@ -0,0 +1,31 @@ | @@ -0,0 +1,31 @@ | ||
| 1 | +$.fn.equalHeights = function(px) { | ||
| 2 | + 'use strict'; | ||
| 3 | + | ||
| 4 | + var currentTallest = 0; | ||
| 5 | + $(this).each(function(index, item){ | ||
| 6 | + var $item = $(item); | ||
| 7 | + $item.height('auto'); // force a 'recalc' height | ||
| 8 | + | ||
| 9 | + if ($item.height() > currentTallest) { currentTallest = $item.height(); } | ||
| 10 | + if (!px && Number.prototype.pxToEm) { currentTallest = currentTallest.pxToEm(); } //use ems unless px is specified | ||
| 11 | + // for ie6, set height since min-height isn't supported | ||
| 12 | + if (typeof(document.body.style.minHeight) === 'undefined') { $item.css({'height': currentTallest}); } | ||
| 13 | + $item.css({'height': currentTallest}); | ||
| 14 | + }); | ||
| 15 | + return this; | ||
| 16 | +}; | ||
| 17 | + | ||
| 18 | +// just in case you need it... | ||
| 19 | +// $.fn.equalWidths = function(px) { | ||
| 20 | +// $(this).each(function(){ | ||
| 21 | +// var currentWidest = 0; | ||
| 22 | +// $(this).children().each(function(i){ | ||
| 23 | +// if($(this).width() > currentWidest) { currentWidest = $(this).width(); } | ||
| 24 | +// }); | ||
| 25 | +// if(!px && Number.prototype.pxToEm) currentWidest = currentWidest.pxToEm(); //use ems unless px is specified | ||
| 26 | +// // for ie6, set width since min-width isn't supported | ||
| 27 | +// if (typeof(document.body.style.minHeight) === "undefined") { $(this).children().css({'width': currentWidest}); } | ||
| 28 | +// $(this).children().css({'min-width': currentWidest}); | ||
| 29 | +// }); | ||
| 30 | +// return this; | ||
| 31 | +// }; | ||
| 0 | \ No newline at end of file | 32 | \ No newline at end of file |
js/main.js
| @@ -7,9 +7,9 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -7,9 +7,9 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 7 | // compile the template | 7 | // compile the template |
| 8 | var template = Handlebars.compile(templateSource); | 8 | var template = Handlebars.compile(templateSource); |
| 9 | var supportProposalTemplate = Handlebars.compile(document.getElementById('support-proposal-template').innerHTML); | 9 | var supportProposalTemplate = Handlebars.compile(document.getElementById('support-proposal-template').innerHTML); |
| 10 | - var loginTemplate = Handlebars.compile(document.getElementById('login').innerHTML); | ||
| 11 | - var resultsTemplate = Handlebars.compile(document.getElementById('results').innerHTML); | ||
| 12 | - var articleTemplate = Handlebars.compile(document.getElementById('article').innerHTML); | 10 | + var loginTemplate = Handlebars.compile(document.getElementById('login-template').innerHTML); |
| 11 | + var resultsTemplate = Handlebars.compile(document.getElementById('results-template').innerHTML); | ||
| 12 | + var articleTemplate = Handlebars.compile(document.getElementById('article-template').innerHTML); | ||
| 13 | 13 | ||
| 14 | // The div/container that we are going to display the results in | 14 | // The div/container that we are going to display the results in |
| 15 | var resultsPlaceholder = document.getElementById('proposal-result'); | 15 | var resultsPlaceholder = document.getElementById('proposal-result'); |
| @@ -18,7 +18,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -18,7 +18,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 18 | 18 | ||
| 19 | var loginButton; | 19 | var loginButton; |
| 20 | 20 | ||
| 21 | - var lastHash; | 21 | + var lastHash = window.location.hash; |
| 22 | 22 | ||
| 23 | var participa = true; | 23 | var participa = true; |
| 24 | 24 | ||
| @@ -130,7 +130,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -130,7 +130,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 130 | 130 | ||
| 131 | if(ProposalApp.hasProposalbeenVoted(article.id)){ | 131 | if(ProposalApp.hasProposalbeenVoted(article.id)){ |
| 132 | console.log("Proposta " + article.id + " já havia sido votada"); | 132 | console.log("Proposta " + article.id + " já havia sido votada"); |
| 133 | - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Voto realizado com sucesso', 800); | 133 | + Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); |
| 134 | contextMain.loadRandomProposal(topic_id); | 134 | contextMain.loadRandomProposal(topic_id); |
| 135 | e.preventDefault(); | 135 | e.preventDefault(); |
| 136 | return; | 136 | return; |
| @@ -143,8 +143,12 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -143,8 +143,12 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 143 | value: $(this).data('vote-value'), | 143 | value: $(this).data('vote-value'), |
| 144 | private_token: Main.private_token | 144 | private_token: Main.private_token |
| 145 | } | 145 | } |
| 146 | - }).done(function( /*data*/ ) { | ||
| 147 | - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Voto realizado com sucesso', 800); | 146 | + }).done(function(data) { |
| 147 | + if(data.vote) { | ||
| 148 | + Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Voto realizado com sucesso', 800); | ||
| 149 | + } else { | ||
| 150 | + Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); | ||
| 151 | + } | ||
| 148 | ProposalApp.addVotedProposal(article.id); | 152 | ProposalApp.addVotedProposal(article.id); |
| 149 | contextMain.loadRandomProposal(topic_id); | 153 | contextMain.loadRandomProposal(topic_id); |
| 150 | }); | 154 | }); |
| @@ -153,6 +157,8 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -153,6 +157,8 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 153 | 157 | ||
| 154 | $body.off('click', '.vote-result'); | 158 | $body.off('click', '.vote-result'); |
| 155 | $body.on('click', '.vote-result', function(e) { | 159 | $body.on('click', '.vote-result', function(e) { |
| 160 | + // e.preventDefault(); | ||
| 161 | + | ||
| 156 | var $this = $(this); | 162 | var $this = $(this); |
| 157 | var $proposalDetail = $this.parents('.proposal-detail'); | 163 | var $proposalDetail = $this.parents('.proposal-detail'); |
| 158 | var $resultsContainer = $proposalDetail.find('.results-container'); | 164 | var $resultsContainer = $proposalDetail.find('.results-container'); |
| @@ -160,463 +166,494 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -160,463 +166,494 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 160 | if($resultsContainer.css('display') === 'none') { | 166 | if($resultsContainer.css('display') === 'none') { |
| 161 | Main.loadRanking($resultsContainer, topic_id, 1); | 167 | Main.loadRanking($resultsContainer, topic_id, 1); |
| 162 | } else { | 168 | } else { |
| 163 | - $('.experience-proposal-container').show(); | ||
| 164 | - $('.talk-proposal-container').show(); | 169 | + $proposalDetail.find('.experience-proposal-container').show(); |
| 170 | + $proposalDetail.find('.talk-proposal-container').show(); | ||
| 165 | $resultsContainer.hide(); | 171 | $resultsContainer.hide(); |
| 166 | } | 172 | } |
| 167 | - e.preventDefault(); | ||
| 168 | }); | 173 | }); |
| 174 | + | ||
| 175 | + // $body.off('click', '.question-link'); | ||
| 176 | + // $body.on('click', '.question-link', function(e) { | ||
| 177 | + // var $this = $(this); | ||
| 178 | + | ||
| 179 | + // // Main.navigateTo($this.attr('href'), backTo); | ||
| 180 | + // }); | ||
| 169 | }).fail(function(){ | 181 | }).fail(function(){ |
| 170 | $loading.hide(); | 182 | $loading.hide(); |
| 171 | $('.support-proposal .alert').show(); | 183 | $('.support-proposal .alert').show(); |
| 172 | }); | 184 | }); |
| 173 | - }, | ||
| 174 | - | ||
| 175 | - loadRanking: function($resultsContainer, topic_id, page) { | ||
| 176 | - $resultsContainer.find('.loading').show(); | ||
| 177 | - $resultsContainer.find('.results-content').hide(); | ||
| 178 | - | ||
| 179 | - var per_page = 10; | ||
| 180 | - var url = host + '/api/v1/proposals_discussion_plugin/' + topic_id + '/ranking' + '?private_token=' + Main.private_token + '&per_page='+per_page+'&page='+page; | ||
| 181 | - $.getJSON(url).done(function( data, stats, xhr ) { | ||
| 182 | - data.pagination = { | ||
| 183 | - total: parseInt(xhr.getResponseHeader('Total')), | ||
| 184 | - per_page: parseInt(xhr.getResponseHeader('Per-Page')), | ||
| 185 | - page: page, | ||
| 186 | - }; | ||
| 187 | - | ||
| 188 | - $resultsContainer.html(resultsTemplate(data)); | ||
| 189 | - $resultsContainer.find('.loading').hide(); | ||
| 190 | - $resultsContainer.find('.results-content').show(); | ||
| 191 | - $(".timeago").timeago(); | ||
| 192 | - $resultsContainer.show(); | ||
| 193 | - | ||
| 194 | - $('.footable').footable(); | ||
| 195 | - | ||
| 196 | - if(data.pagination.total > data.pagination.per_page) { | ||
| 197 | - $resultsContainer.find('.paging').pagination({ | ||
| 198 | - items: data.pagination.total, | ||
| 199 | - itemsOnPage: data.pagination.per_page, | ||
| 200 | - currentPage: data.pagination.page, | ||
| 201 | - prevText: '«', | ||
| 202 | - nextText: '»', | ||
| 203 | - cssStyle: 'compact-theme', | ||
| 204 | - onPageClick: function(page, e) { | ||
| 205 | - Main.loadRanking($resultsContainer, topic_id, page); | ||
| 206 | - e.preventDefault(); | ||
| 207 | - } | ||
| 208 | - }); | ||
| 209 | - } | ||
| 210 | - $resultsContainer.find('.abstract-text .truncated').click(function() { | ||
| 211 | - $(this).toggleClass('truncated'); | 185 | + }, |
| 186 | + loadRanking: function($resultsContainer, topic_id, page) { | ||
| 187 | + $resultsContainer.find('.loading').show(); | ||
| 188 | + $resultsContainer.find('.results-content').hide(); | ||
| 189 | + | ||
| 190 | + var per_page = 10; | ||
| 191 | + var url = host + '/api/v1/proposals_discussion_plugin/' + topic_id + '/ranking' + '?private_token=' + Main.private_token + '&per_page='+per_page+'&page='+page; | ||
| 192 | + $.getJSON(url).done(function( data, stats, xhr ) { | ||
| 193 | + data.pagination = { | ||
| 194 | + total: parseInt(xhr.getResponseHeader('Total')), | ||
| 195 | + per_page: parseInt(xhr.getResponseHeader('Per-Page')), | ||
| 196 | + page: page, | ||
| 197 | + }; | ||
| 198 | + | ||
| 199 | + // hack: add title to result table | ||
| 200 | + data.title = $resultsContainer.closest('.categories').find('.proposal-header .title').text(); | ||
| 201 | + | ||
| 202 | + $resultsContainer.html(resultsTemplate(data)); | ||
| 203 | + $resultsContainer.find('.loading').hide(); | ||
| 204 | + $resultsContainer.find('.results-content').show(); | ||
| 205 | + $(".timeago").timeago(); | ||
| 206 | + $resultsContainer.show(); | ||
| 207 | + | ||
| 208 | + $('.footable').footable(); | ||
| 209 | + | ||
| 210 | + if(data.pagination.total > data.pagination.per_page) { | ||
| 211 | + $resultsContainer.find('.paging').pagination({ | ||
| 212 | + items: data.pagination.total, | ||
| 213 | + itemsOnPage: data.pagination.per_page, | ||
| 214 | + currentPage: data.pagination.page, | ||
| 215 | + prevText: '«', | ||
| 216 | + nextText: '»', | ||
| 217 | + cssStyle: 'compact-theme', | ||
| 218 | + onPageClick: function(page, e) { | ||
| 219 | + Main.loadRanking($resultsContainer, topic_id, page); | ||
| 220 | + e.preventDefault(); | ||
| 221 | + } | ||
| 212 | }); | 222 | }); |
| 213 | - | ||
| 214 | - // scroll to the end | ||
| 215 | - $('html, body').animate({ | ||
| 216 | - scrollTop: $(document).height() | ||
| 217 | - }, 'fast'); | 223 | + } |
| 224 | + $resultsContainer.find('.abstract-text .truncated').click(function() { | ||
| 225 | + $(this).toggleClass('truncated'); | ||
| 218 | }); | 226 | }); |
| 219 | - $('.experience-proposal-container').hide(); | ||
| 220 | - $('.talk-proposal-container').hide(); | ||
| 221 | - }, | ||
| 222 | 227 | ||
| 223 | - loginCallback: function(loggedIn, token, user) { | ||
| 224 | - logged_in = loggedIn; | ||
| 225 | - $('.login .message').text(''); | ||
| 226 | - var requireLoginContainer = loginButton.closest('.require-login-container'); | ||
| 227 | - | ||
| 228 | - if(logged_in) { | ||
| 229 | - Main.showLogout(); | ||
| 230 | - if(token){ | ||
| 231 | - Main.private_token = token; | ||
| 232 | - } | ||
| 233 | - requireLoginContainer = $('.require-login-container'); | ||
| 234 | - requireLoginContainer.find('.require-login').show(); | ||
| 235 | - requireLoginContainer.find('.require-login .message').show(); | ||
| 236 | - requireLoginContainer.find('.login-container').hide(); | ||
| 237 | - $.cookie('_dialoga_session', Main.private_token); | ||
| 238 | - } else if (user) { | ||
| 239 | - var loginContainer = requireLoginContainer.find('.login-container'); | ||
| 240 | - loginContainer.show(); | ||
| 241 | - loginContainer.find('.new-user').click(); | ||
| 242 | - var signupForm = loginContainer.find('#signup-form'); | ||
| 243 | - signupForm.find("#user_email").val(user.email); | ||
| 244 | - signupForm.find("#user_name").val(user.login); | ||
| 245 | - signupForm.find("#user_oauth_providers").val(user.oauth_providers); | ||
| 246 | - //signupForm.find(".password").hide(); | ||
| 247 | - //signupForm.find(".password-confirmation").hide(); | ||
| 248 | - } else { | ||
| 249 | - requireLoginContainer.find('.require-login').hide(); | ||
| 250 | - requireLoginContainer.find('.login-container').show(); | ||
| 251 | - Main.showLogin(); | 228 | + var scrollTop = $(document).height(); |
| 229 | + var proposalOffset = $resultsContainer.offset(); | ||
| 230 | + if(proposalOffset){ | ||
| 231 | + scrollTop = proposalOffset.top; | ||
| 252 | } | 232 | } |
| 253 | - }, | ||
| 254 | - guid: function() { | ||
| 255 | - function s4() { | ||
| 256 | - return Math.floor((1 + Math.random()) * 0x10000) | ||
| 257 | - .toString(16) | ||
| 258 | - .substring(1); | 233 | + |
| 234 | + // scroll to the end | ||
| 235 | + $('html, body').animate({scrollTop: scrollTop }, 'fast'); | ||
| 236 | + }); | ||
| 237 | + $('.experience-proposal-container').hide(); | ||
| 238 | + $('.talk-proposal-container').hide(); | ||
| 239 | + }, | ||
| 240 | + loginCallback: function(loggedIn, token, user) { | ||
| 241 | + logged_in = loggedIn; | ||
| 242 | + $('.login .message').text(''); | ||
| 243 | + var requireLoginContainer = loginButton.closest('.require-login-container'); | ||
| 244 | + | ||
| 245 | + if(logged_in) { | ||
| 246 | + Main.showLogout(); | ||
| 247 | + if(token){ | ||
| 248 | + Main.private_token = token; | ||
| 259 | } | 249 | } |
| 260 | - return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); | ||
| 261 | - }, | ||
| 262 | - display_article: function(article_id, backTo) { | ||
| 263 | - var url = host + '/api/v1/articles/' + article_id + '?private_token=' + Main.private_token; | ||
| 264 | - $.getJSON(url).done(function( data ) { | ||
| 265 | - $('#article-container .article-content').html(articleTemplate(data.article)); | ||
| 266 | - $('#article-container').show(); | ||
| 267 | - $('#proposal-categories').hide(); | ||
| 268 | - $('#proposal-group').hide(); | ||
| 269 | - $('nav').hide(); | ||
| 270 | - $('#content').hide(); | ||
| 271 | - $('#article-container .go-back').attr('href', backTo); | ||
| 272 | - }); | ||
| 273 | - }, | ||
| 274 | - // inicio Eduardo | ||
| 275 | - randomProposalByTheme: function(themeClasses) { | ||
| 276 | - $('#proposal-group .proposal-list .proposal-item').hide(); | ||
| 277 | - $.each(themeClasses, function(i, themeClass) { | ||
| 278 | - var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass); | ||
| 279 | - var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length); | ||
| 280 | - var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item'); | ||
| 281 | - $(proposalToShow).show(); | ||
| 282 | - }); | ||
| 283 | - }, | ||
| 284 | - display_category_tab: function(){ | ||
| 285 | - // $('#proposal-group').hide(); | ||
| 286 | - this.randomProposalByTheme(['category-saude', 'category-seguranca-publica', 'category-educacao', 'category-reducao-da-pobreza']); | ||
| 287 | - $('#proposal-group').show(); /* Show random proposals*/ | ||
| 288 | - $('.content').addClass('background'); /* Add class background */ | 250 | + // requireLoginContainer = $('.require-login-container'); |
| 251 | + requireLoginContainer.find('.require-login').show(); | ||
| 252 | + requireLoginContainer.find('.require-login .message').show(); | ||
| 253 | + requireLoginContainer.find('.login-container').hide(); | ||
| 254 | + $.cookie('_dialoga_session', Main.private_token); | ||
| 255 | + } else if (user) { | ||
| 256 | + var loginContainer = requireLoginContainer.find('.login-container'); | ||
| 257 | + loginContainer.show(); | ||
| 258 | + loginContainer.find('.new-user').click(); | ||
| 259 | + var signupForm = loginContainer.find('#signup-form'); | ||
| 260 | + signupForm.find('#user_email').val(user.email); | ||
| 261 | + signupForm.find('#user_name').val(user.login); | ||
| 262 | + signupForm.find('#user_oauth_providers').val(user.oauth_providers); | ||
| 263 | + //signupForm.find(".password").hide(); | ||
| 264 | + //signupForm.find(".password-confirmation").hide(); | ||
| 265 | + } else { | ||
| 266 | + requireLoginContainer.find('.require-login').hide(); | ||
| 267 | + requireLoginContainer.find('.login-container').show(); | ||
| 268 | + Main.showLogin(); | ||
| 269 | + } | ||
| 270 | + }, | ||
| 271 | + guid: function() { | ||
| 272 | + function s4() { | ||
| 273 | + return Math.floor((1 + Math.random()) * 0x10000) | ||
| 274 | + .toString(16) | ||
| 275 | + .substring(1); | ||
| 276 | + } | ||
| 277 | + return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); | ||
| 278 | + }, | ||
| 279 | + display_article: function(article_id, backTo) { | ||
| 280 | + var url = host + '/api/v1/articles/' + article_id + '?private_token=' + Main.private_token; | ||
| 281 | + $.getJSON(url).done(function( data ) { | ||
| 282 | + $('#article-container .article-content').html(articleTemplate(data.article)); | ||
| 283 | + $('#article-container').show(); | ||
| 284 | + $('#proposal-categories').hide(); | ||
| 285 | + $('#proposal-group').hide(); | ||
| 286 | + $('nav').hide(); | ||
| 287 | + $('#content').hide(); | ||
| 288 | + $('#article-container .go-back').attr('href', backTo); | ||
| 289 | + }); | ||
| 290 | + }, | ||
| 291 | + // inicio Eduardo | ||
| 292 | + randomProposalByTheme: function(themeClasses) { | ||
| 293 | + $('#proposal-group .proposal-list .proposal-item').hide(); | ||
| 294 | + $.each(themeClasses, function(i, themeClass) { | ||
| 295 | + var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass); | ||
| 296 | + var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length); | ||
| 297 | + var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item'); | ||
| 298 | + $(proposalToShow).show(); | ||
| 299 | + }); | ||
| 300 | + }, | ||
| 301 | + display_category_tab: function(){ | ||
| 302 | + // $('#proposal-group').hide(); | ||
| 303 | + this.randomProposalByTheme(['category-saude', 'category-seguranca-publica', 'category-educacao', 'category-reducao-da-pobreza']); | ||
| 304 | + $('#proposal-group').show(); /* Show random proposals*/ | ||
| 305 | + $('.content').addClass('background'); /* Add class background */ | ||
| 306 | + $('#proposal-categories').show(); | ||
| 307 | + $('#nav-proposal-categories a').addClass('active'); | ||
| 308 | + $('#nav-proposal-group a').removeClass('active'); | ||
| 309 | + $('.proposal-category-items').hide(); | ||
| 310 | + $('.proposal-category .arrow-box').hide(); | ||
| 311 | + $('.proposal-detail').hide(); | ||
| 312 | + $('#article-container').hide(); | ||
| 313 | + | ||
| 314 | + $('#content').show(); | ||
| 315 | + $('nav').show(); | ||
| 316 | + | ||
| 317 | + this.computeBoxHeight(); | ||
| 318 | + }, | ||
| 319 | + display_proposals_tab: function(){ | ||
| 320 | + // $('#proposal-categories').hide(); | ||
| 321 | + // this.randomProposalByTheme(['category-saude', 'category-seguranca-publica', 'category-educacao', 'category-reducao-da-pobreza']); | ||
| 322 | + $('.proposal-item').show(); /* Show all programs */ | ||
| 323 | + $('#proposal-group').show(); | ||
| 324 | + $('#proposal-categories').show(); | ||
| 325 | + $('.proposal-category-items').hide(); | ||
| 326 | + $('#nav-proposal-group a').addClass('active'); | ||
| 327 | + $('#nav-proposal-categories a').removeClass('active'); | ||
| 328 | + $('#content').show(); | ||
| 329 | + $('#article-container').hide(); | ||
| 330 | + $('nav').show(); | ||
| 331 | + $('html, body').animate({ scrollTop: $('#proposal-group').offset().top }, 'fast'); | ||
| 332 | + | ||
| 333 | + this.computeBoxHeight(); | ||
| 334 | + }, | ||
| 335 | + // fim Eduardo | ||
| 336 | + display_proposal: function(proposal_id){ | ||
| 337 | + $('#proposal-categories').hide(); | ||
| 338 | + $('#proposal-group').hide(); | ||
| 339 | + $('.proposal-category-items').hide(); /* Hide Category Items */ | ||
| 340 | + $('.content').removeClass('background'); /* Remove class background*/ | ||
| 341 | + $('nav').hide(); | ||
| 342 | + $('#content').hide(); | ||
| 343 | + $('#article-container').hide(); | ||
| 344 | + // $('.make-proposal-form').hide(); | ||
| 345 | + // $('.login-container').hide(); | ||
| 346 | + $('.proposal-detail').hide(); // hide all proposals | ||
| 347 | + // $('.proposal-detail-base').hide(); | ||
| 348 | + var $proposal = $('#' + proposal_id); | ||
| 349 | + $proposal.find('.proposal-detail-base').hide(); | ||
| 350 | + $proposal.show(); | ||
| 351 | + $proposal.find('.proposal-header').show(); | ||
| 352 | + $proposal.find('.make-proposal-container').show(); | ||
| 353 | + $proposal.find('.support-proposal-container').show(); | ||
| 354 | + $proposal.find('.results-container').hide(); | ||
| 355 | + $proposal.find('.results-container .loading').hide(); | ||
| 356 | + $proposal.find('.results-container .results-content').hide(); | ||
| 357 | + $proposal.find('.experience-proposal-container').show(); | ||
| 358 | + $proposal.find('.talk-proposal-container').show(); | ||
| 359 | + $proposal.find('.calendar').hide(); | ||
| 360 | + var active_category = ''; | ||
| 361 | + switch($proposal.find('.categories').attr('class')) { | ||
| 362 | + case 'categories saude': | ||
| 363 | + active_category = 'saude'; | ||
| 364 | + break; | ||
| 365 | + case 'categories educacao': | ||
| 366 | + active_category = 'educacao'; | ||
| 367 | + break; | ||
| 368 | + case 'categories seguranca-publica': | ||
| 369 | + active_category = 'seguranca-publica'; | ||
| 370 | + break; | ||
| 371 | + case 'categories reducao-da-pobreza': | ||
| 372 | + active_category = 'reducao-da-pobreza'; | ||
| 373 | + break; | ||
| 374 | + } | ||
| 375 | + | ||
| 376 | + $proposal.find('.calendar.' + active_category).show(); | ||
| 377 | + $proposal.find('.calendar').slick(); | ||
| 378 | + | ||
| 379 | + var topic_id = proposal_id.split('-').pop(); | ||
| 380 | + this.loadRandomProposal(topic_id); | ||
| 381 | + }, | ||
| 382 | + display_proposal_detail: function(proposal_id){ | ||
| 383 | + $('.content').removeClass('background'); /* Remove class background */ | ||
| 384 | + $('#proposal-categories').hide(); | ||
| 385 | + $('#proposal-group').hide(); | ||
| 386 | + $('nav').hide(); | ||
| 387 | + $('#content').hide(); | ||
| 388 | + $('#article-container').hide(); | ||
| 389 | + var $proposal = $('#proposal-item-' + proposal_id); | ||
| 390 | + $proposal.find('.proposal-header').hide(); | ||
| 391 | + $proposal.find('.make-proposal-container').hide(); | ||
| 392 | + $proposal.find('.support-proposal-container').hide(); | ||
| 393 | + $proposal.find('.results-container').hide(); | ||
| 394 | + $proposal.find('.experience-proposal-container').hide(); | ||
| 395 | + $proposal.find('.talk-proposal-container').hide(); | ||
| 396 | + $proposal.find('.body').show(); | ||
| 397 | + $proposal.show(); | ||
| 398 | + | ||
| 399 | + var url = host + '/api/v1/articles/' + proposal_id + '?private_token=' + Main.private_token + '&fields=id,body&content_type=ProposalsDiscussionPlugin::Topic'; | ||
| 400 | + $.getJSON(url).done(function( data ) { | ||
| 401 | + $('#proposal-item-' + proposal_id + ' .body-content').replaceWith(data.article.body); | ||
| 402 | + }) | ||
| 403 | + .fail(function( jqxhr, textStatus, error ) { | ||
| 404 | + var err = textStatus + ', ' + error; | ||
| 405 | + console.log( 'Request Failed: ' + err ); | ||
| 406 | + }); | ||
| 407 | + }, | ||
| 408 | + display_proposal_by_category: function(item){ | ||
| 409 | + var $item = $('#' + item); | ||
| 410 | + | ||
| 411 | + if($item.hasClass('proposal-category-items')){ | ||
| 412 | + //Display Topics or Discussion by category | ||
| 413 | + $('nav').show(); | ||
| 414 | + $('#content').show(); | ||
| 289 | $('#proposal-categories').show(); | 415 | $('#proposal-categories').show(); |
| 290 | $('#nav-proposal-categories a').addClass('active'); | 416 | $('#nav-proposal-categories a').addClass('active'); |
| 291 | $('#nav-proposal-group a').removeClass('active'); | 417 | $('#nav-proposal-group a').removeClass('active'); |
| 418 | + $('#proposal-group').hide(); /* Hide section "Programas" */ | ||
| 419 | + $('.content').addClass('background'); /* Add class background */ | ||
| 292 | $('.proposal-category-items').hide(); | 420 | $('.proposal-category-items').hide(); |
| 293 | - $('.proposal-category .arrow-box').hide(); | ||
| 294 | $('.proposal-detail').hide(); | 421 | $('.proposal-detail').hide(); |
| 295 | - $('#article-container').hide(); | ||
| 296 | - | ||
| 297 | - $('#content').show(); | ||
| 298 | - $('nav').show(); | ||
| 299 | - }, | ||
| 300 | - display_proposals_tab: function(){ | ||
| 301 | - // $('#proposal-categories').hide(); | ||
| 302 | - // this.randomProposalByTheme(['category-saude', 'category-seguranca-publica', 'category-educacao', 'category-reducao-da-pobreza']); | ||
| 303 | - $('.proposal-item').show(); /* Show all programs */ | ||
| 304 | - $('#proposal-group').show(); | ||
| 305 | - $('#proposal-categories').show(); | ||
| 306 | - $('.proposal-category-items').hide(); | ||
| 307 | - $('#nav-proposal-group a').addClass('active'); | ||
| 308 | - $('#nav-proposal-categories a').removeClass('active'); | ||
| 309 | - $('#content').show(); | ||
| 310 | - $('#article-container').hide(); | ||
| 311 | - $('nav').show(); | ||
| 312 | - $('html, body').animate({ scrollTop: $('#proposal-group').offset().top }, 'fast'); | ||
| 313 | - }, | ||
| 314 | - // fim Eduardo | ||
| 315 | - display_proposal: function(proposal_id){ | ||
| 316 | - $('#proposal-categories').hide(); | ||
| 317 | - $('#proposal-group').hide(); | ||
| 318 | - $('.proposal-category-items').hide(); /* Hide Category Items */ | ||
| 319 | - $('.content').removeClass('background'); /* Remove class background*/ | ||
| 320 | - $('nav').hide(); | ||
| 321 | - $('#content').hide(); | ||
| 322 | - $('#article-container').hide(); | ||
| 323 | - // $('.make-proposal-form').hide(); | ||
| 324 | - // $('.login-container').hide(); | ||
| 325 | - $('.proposal-detail').hide(); // hide all proposals | ||
| 326 | - // $('.proposal-detail-base').hide(); | ||
| 327 | - $proposal = $('#' + proposal_id); | ||
| 328 | - $proposal.find('.proposal-detail-base').hide(); | ||
| 329 | - $proposal.show(); | ||
| 330 | - $proposal.find('.proposal-header').show(); | ||
| 331 | - $proposal.find('.make-proposal-container').show(); | ||
| 332 | - $proposal.find('.support-proposal-container').show(); | ||
| 333 | - $proposal.find('.results-container').hide(); | ||
| 334 | - $proposal.find('.results-container .loading').hide(); | ||
| 335 | - $proposal.find('.results-container .results-content').hide(); | ||
| 336 | - $proposal.find('.experience-proposal-container').show(); | ||
| 337 | - $proposal.find('.talk-proposal-container').show(); | ||
| 338 | - $proposal.find('.calendar').hide(); | ||
| 339 | - var active_category = ''; | ||
| 340 | - switch($proposal.find('.categories').attr('class')) { | ||
| 341 | - case 'categories saude': | ||
| 342 | - active_category = 'saude'; | ||
| 343 | - break; | ||
| 344 | - case 'categories educacao': | ||
| 345 | - active_category = 'educacao'; | ||
| 346 | - break; | ||
| 347 | - case 'categories seguranca-publica': | ||
| 348 | - active_category = 'seguranca-publica'; | ||
| 349 | - break; | ||
| 350 | - case 'categories reducao-da-pobreza': | ||
| 351 | - active_category = 'reducao-da-pobreza'; | ||
| 352 | - break; | ||
| 353 | - } | ||
| 354 | - | ||
| 355 | - $proposal.find('.calendar.' + active_category).show(); | ||
| 356 | - $proposal.find('.calendar').slick(); | ||
| 357 | - | ||
| 358 | - var topic_id = proposal_id.split('-').pop(); | ||
| 359 | - this.loadRandomProposal(topic_id); | ||
| 360 | - }, | ||
| 361 | - display_proposal_detail: function(proposal_id){ | ||
| 362 | - $('.content').removeClass('background'); /* Remove class background */ | ||
| 363 | - $('#proposal-categories').hide(); | ||
| 364 | - $('#proposal-group').hide(); | ||
| 365 | - $('nav').hide(); | ||
| 366 | - $('#content').hide(); | ||
| 367 | - $('#article-container').hide(); | ||
| 368 | - $proposal = $('#proposal-item-' + proposal_id); | ||
| 369 | - $proposal.find('.proposal-header').hide(); | ||
| 370 | - $proposal.find('.make-proposal-container').hide(); | ||
| 371 | - $proposal.find('.support-proposal-container').hide(); | ||
| 372 | - $proposal.find('.results-container').hide(); | ||
| 373 | - $proposal.find('.experience-proposal-container').hide(); | ||
| 374 | - $proposal.find('.talk-proposal-container').hide(); | ||
| 375 | - $proposal.find('.body').show(); | ||
| 376 | - $proposal.show(); | ||
| 377 | - | ||
| 378 | - var url = host + '/api/v1/articles/' + proposal_id + '?private_token=' + Main.private_token + '&fields=id,body&content_type=ProposalsDiscussionPlugin::Topic'; | ||
| 379 | - $.getJSON(url).done(function( data ) { | ||
| 380 | - $('#proposal-item-' + proposal_id + ' .body-content').replaceWith(data.article.body); | ||
| 381 | - }) | ||
| 382 | - .fail(function( jqxhr, textStatus, error ) { | ||
| 383 | - var err = textStatus + ', ' + error; | ||
| 384 | - console.log( 'Request Failed: ' + err ); | ||
| 385 | - }); | ||
| 386 | - }, | ||
| 387 | - display_proposal_by_category: function(item){ | ||
| 388 | - var $item = $('#' + item); | ||
| 389 | - | ||
| 390 | - if($item.hasClass('proposal-category-items')){ | ||
| 391 | - //Display Topics or Discussion by category | ||
| 392 | - $('nav').show(); | ||
| 393 | - $('#content').show(); | ||
| 394 | - $('#proposal-categories').show(); | ||
| 395 | - $('#nav-proposal-categories a').addClass('active'); | ||
| 396 | - $('#nav-proposal-group a').removeClass('active'); | ||
| 397 | - $('#proposal-group').hide(); /* Hide section "Programas" */ | ||
| 398 | - $('.content').addClass('background'); /* Add class background */ | ||
| 399 | - $('.proposal-category-items').hide(); | ||
| 400 | - $('.proposal-detail').hide(); | ||
| 401 | - $item.toggle( 'blind', 200, function () { | ||
| 402 | - var itemOffset = $item.offset(); | ||
| 403 | - if(itemOffset){ | ||
| 404 | - $('html, body').animate({ scrollTop: itemOffset.top }, 'fast'); | ||
| 405 | - } | ||
| 406 | - } ); | ||
| 407 | - $('.proposal-category .arrow-box').hide(); | ||
| 408 | - var categorySlug = $item.data('category'); | ||
| 409 | - $('#proposal-category-' + categorySlug).find('.arrow-box').show(); | 422 | + $item.toggle( 'blind', 200, function () { |
| 423 | + var itemOffset = $item.offset(); | ||
| 424 | + if(itemOffset){ | ||
| 425 | + $('html, body').animate({ scrollTop: itemOffset.top }, 'fast'); | ||
| 426 | + } | ||
| 427 | + } ); | ||
| 428 | + $('.proposal-category .arrow-box').hide(); | ||
| 429 | + var categorySlug = $item.data('category'); | ||
| 430 | + $('#proposal-category-' + categorySlug).find('.arrow-box').show(); | ||
| 410 | 431 | ||
| 411 | - } | ||
| 412 | - }, | ||
| 413 | - addBarraDoGoverno: function(){ | ||
| 414 | - | ||
| 415 | - if( BARRA_ADDED ) { return; } | ||
| 416 | - | ||
| 417 | - var HTML_BODY_PREPEND = '' + | ||
| 418 | - '<div id="barra-brasil" style="background:#7F7F7F; height: 20px; padding:0 0 0 10px;display:block;"> ' + | ||
| 419 | - '<ul id="menu-barra-temp" style="list-style:none;">' + | ||
| 420 | - '<li style="display:inline; float:left;padding-right:10px; margin-right:10px; border-right:1px solid #EDEDED"><a href="http://brasil.gov.br" style="font-family:sans,sans-serif; text-decoration:none; color:white;">Portal do Governo Brasileiro</a></li> ' + | ||
| 421 | - '<li><a style="font-family:sans,sans-serif; text-decoration:none; color:white;" href="http://epwg.governoeletronico.gov.br/barra/atualize.html">Atualize sua Barra de Governo</a></li>' + | ||
| 422 | - '</ul>' + | ||
| 423 | - '</div>'; | ||
| 424 | - | ||
| 425 | - var HTML_BODY_APPEND = ''+ | ||
| 426 | - '<footer id="footer-brasil"></footer>' + | ||
| 427 | - '<script defer="defer" src="http://barra.brasil.gov.br/barra.js" type="text/javascript"></script>'; | ||
| 428 | - | ||
| 429 | - var STYLE_TEMA_AZUL = '' + | ||
| 430 | - '<style>'+ | ||
| 431 | - '#footer-brasil {'+ | ||
| 432 | - 'background: none repeat scroll 0% 0% #0042b1;'+ | ||
| 433 | - 'padding: 1em 0px;'+ | ||
| 434 | - 'max-width: 100%;'+ | ||
| 435 | - 'margin-top: 40px;'+ | ||
| 436 | - '}'+ | ||
| 437 | - '#barra-brasil ul {'+ | ||
| 438 | - 'width: auto;'+ | ||
| 439 | - '}'+ | ||
| 440 | - '<style>'; | 432 | + this.computeBoxHeight(); |
| 441 | 433 | ||
| 442 | - var $body = $(document.body); | ||
| 443 | - $body.prepend(HTML_BODY_PREPEND); | ||
| 444 | - $body.append(HTML_BODY_APPEND); | ||
| 445 | - $body.append(STYLE_TEMA_AZUL); | 434 | + } |
| 435 | + }, | ||
| 436 | + addBarraDoGoverno: function(){ | ||
| 437 | + | ||
| 438 | + if( BARRA_ADDED ) { return; } | ||
| 439 | + | ||
| 440 | + var HTML_BODY_PREPEND = '' + | ||
| 441 | + '<div id="barra-brasil" style="background:#7F7F7F; height: 20px; padding:0 0 0 10px;display:block;"> ' + | ||
| 442 | + '<ul id="menu-barra-temp" style="list-style:none;">' + | ||
| 443 | + '<li style="display:inline; float:left;padding-right:10px; margin-right:10px; border-right:1px solid #EDEDED"><a href="http://brasil.gov.br" style="font-family:sans,sans-serif; text-decoration:none; color:white;">Portal do Governo Brasileiro</a></li> ' + | ||
| 444 | + '<li><a style="font-family:sans,sans-serif; text-decoration:none; color:white;" href="http://epwg.governoeletronico.gov.br/barra/atualize.html">Atualize sua Barra de Governo</a></li>' + | ||
| 445 | + '</ul>' + | ||
| 446 | + '</div>'; | ||
| 447 | + | ||
| 448 | + var HTML_BODY_APPEND = ''+ | ||
| 449 | + '<footer id="footer-brasil"></footer>' + | ||
| 450 | + '<script defer="defer" src="http://barra.brasil.gov.br/barra.js" type="text/javascript"></script>'; | ||
| 451 | + | ||
| 452 | + var STYLE_TEMA_AZUL = '' + | ||
| 453 | + '<style>'+ | ||
| 454 | + '#footer-brasil {'+ | ||
| 455 | + 'background: none repeat scroll 0% 0% #0042b1;'+ | ||
| 456 | + 'padding: 1em 0px;'+ | ||
| 457 | + 'max-width: 100%;'+ | ||
| 458 | + 'margin-top: 40px;'+ | ||
| 459 | + '}'+ | ||
| 460 | + '#barra-brasil ul {'+ | ||
| 461 | + 'width: auto;'+ | ||
| 462 | + '}'+ | ||
| 463 | + '<style>'; | ||
| 464 | + | ||
| 465 | + var $body = $(document.body); | ||
| 466 | + $body.prepend(HTML_BODY_PREPEND); | ||
| 467 | + $body.append(HTML_BODY_APPEND); | ||
| 468 | + $body.append(STYLE_TEMA_AZUL); | ||
| 469 | + | ||
| 470 | + BARRA_ADDED = true; | ||
| 471 | + }, | ||
| 472 | + updateHash: function(hash){ | ||
| 473 | + var id = hash.replace(/^.*#/, ''); | ||
| 474 | + var elem = document.getElementById(id); | ||
| 446 | 475 | ||
| 447 | - BARRA_ADDED = true; | ||
| 448 | - }, | ||
| 449 | - updateHash: function(hash){ | ||
| 450 | - var id = hash.replace(/^.*#/, ''); | ||
| 451 | - var elem = document.getElementById(id); | ||
| 452 | - | ||
| 453 | - // preserve the query param | ||
| 454 | - // if (HIDE_BARRA_DO_GOVERNO && (hash.indexOf('?barra=false') === -1)){ | ||
| 455 | - // hash += '?barra=false'; | ||
| 456 | - // } | ||
| 457 | - | ||
| 458 | - if ( !elem ) { | ||
| 459 | - window.location.hash = hash; | ||
| 460 | - return; | ||
| 461 | - } | 476 | + // preserve the query param |
| 477 | + // if (HIDE_BARRA_DO_GOVERNO && (hash.indexOf('?barra=false') === -1)){ | ||
| 478 | + // hash += '?barra=false'; | ||
| 479 | + // } | ||
| 462 | 480 | ||
| 463 | - elem.id = id+'-tmp'; | 481 | + if ( !elem ) { |
| 464 | window.location.hash = hash; | 482 | window.location.hash = hash; |
| 465 | - elem.id = id; | ||
| 466 | - }, | ||
| 467 | - locationHashChanged: function(){ | ||
| 468 | - var hash = window.location.hash; | ||
| 469 | - this.navigateTo(hash, lastHash); | ||
| 470 | - lastHash = hash; | ||
| 471 | - }, | ||
| 472 | - navigateTo: function(hash, lastHash) { | ||
| 473 | - var scrollTop = 0; | ||
| 474 | - var $nav = $('nav[role="tabpanel"]'); | ||
| 475 | - var navOffset = $nav.offset(); | ||
| 476 | - | ||
| 477 | - var regexProposals = /#\/programas/; | ||
| 478 | - var regexCategory = /#\/temas/; | ||
| 479 | - var regexHideBarra = /barra=false$/; | ||
| 480 | - var regexArticle = /#\/artigo/; | ||
| 481 | - | ||
| 482 | - if( !(regexHideBarra.exec(hash) !== null) && !HIDE_BARRA_DO_GOVERNO ){ | ||
| 483 | - this.addBarraDoGoverno(); | ||
| 484 | - }else{ | ||
| 485 | - HIDE_BARRA_DO_GOVERNO = true; | ||
| 486 | - } | 483 | + return; |
| 484 | + } | ||
| 487 | 485 | ||
| 488 | - // remove query params | ||
| 489 | - hash = hash.split('?')[0]; | 486 | + elem.id = id+'-tmp'; |
| 487 | + window.location.hash = hash; | ||
| 488 | + elem.id = id; | ||
| 489 | + }, | ||
| 490 | + locationHashChanged: function(){ | ||
| 491 | + var hash = window.location.hash; | ||
| 492 | + this.navigateTo(hash, lastHash); | ||
| 493 | + lastHash = hash; | ||
| 494 | + }, | ||
| 495 | + navigateTo: function(hash, lastHash) { | ||
| 496 | + var scrollTop = 0; | ||
| 497 | + var $nav = $('nav[role="tabpanel"]'); | ||
| 498 | + var navOffset = $nav.offset(); | ||
| 499 | + | ||
| 500 | + var regexProposals = /#\/programas/; | ||
| 501 | + var regexCategory = /#\/temas/; | ||
| 502 | + var regexHideBarra = /barra=false$/; | ||
| 503 | + var regexArticle = /#\/artigo/; | ||
| 504 | + var regexResultados = /resultados$/; | ||
| 505 | + | ||
| 506 | + if( !(regexHideBarra.exec(hash) !== null) && !HIDE_BARRA_DO_GOVERNO ){ | ||
| 507 | + this.addBarraDoGoverno(); | ||
| 508 | + }else{ | ||
| 509 | + HIDE_BARRA_DO_GOVERNO = true; | ||
| 510 | + } | ||
| 490 | 511 | ||
| 491 | - var parts = hash.split('/'); | 512 | + // remove query params |
| 513 | + hash = hash.split('?')[0]; | ||
| 492 | 514 | ||
| 493 | - var isProposal = regexProposals.exec(hash) !== null; | ||
| 494 | - var isCategory = regexCategory.exec(hash) !== null; | ||
| 495 | - var isArticle = regexArticle.exec(hash) !== null; | 515 | + var parts = hash.split('/'); |
| 496 | 516 | ||
| 497 | - if(isArticle) { | ||
| 498 | - this.display_article(hash.split('/')[2], lastHash); | ||
| 499 | - } | 517 | + var isProposal = regexProposals.exec(hash) !== null; |
| 518 | + var isCategory = regexCategory.exec(hash) !== null; | ||
| 519 | + var isArticle = regexArticle.exec(hash) !== null; | ||
| 520 | + var isResultados = regexResultados.exec(hash) !== null; | ||
| 500 | 521 | ||
| 501 | - if( isProposal ){ | 522 | + if(isArticle) { |
| 523 | + this.display_article(hash.split('/')[2], lastHash); | ||
| 524 | + } | ||
| 502 | 525 | ||
| 503 | - // go to proposal | ||
| 504 | - var proposalId = parts[2]; | ||
| 505 | - this.navigateToProposal(proposalId); | 526 | + if( isProposal ){ |
| 506 | 527 | ||
| 507 | - var $proposal = $('#proposal-item-' + proposalId); | ||
| 508 | - var proposalOffset = $proposal.offset(); | ||
| 509 | - if(proposalOffset){ | ||
| 510 | - scrollTop = proposalOffset.top; | ||
| 511 | - }else{ | ||
| 512 | - if(navOffset){ | ||
| 513 | - scrollTop = navOffset.top; | ||
| 514 | - } else { | ||
| 515 | - scrollTop = $('#proposal-group').offset().top; | ||
| 516 | - } | 528 | + // go to proposal |
| 529 | + var proposalId = parts[2]; | ||
| 530 | + this.navigateToProposal(proposalId); | ||
| 531 | + | ||
| 532 | + var $proposal = $('#proposal-item-' + proposalId); | ||
| 533 | + var proposalOffset = $proposal.offset(); | ||
| 534 | + if(proposalOffset){ | ||
| 535 | + scrollTop = proposalOffset.top; | ||
| 536 | + }else{ | ||
| 537 | + if(navOffset){ | ||
| 538 | + scrollTop = navOffset.top; | ||
| 539 | + } else { | ||
| 540 | + scrollTop = $('#proposal-group').offset().top; | ||
| 517 | } | 541 | } |
| 518 | } | 542 | } |
| 519 | 543 | ||
| 520 | - if( isCategory ){ | 544 | + if(isResultados){ |
| 545 | + var $resultsContainer = $proposal.find('.results-container'); | ||
| 521 | 546 | ||
| 522 | - // go to category | ||
| 523 | - var categoryId = parts[3]; | ||
| 524 | - this.navigateToCategory(categoryId); | 547 | + if($resultsContainer.css('display') === 'none') { |
| 548 | + Main.loadRanking($resultsContainer, proposalId, 1); | ||
| 549 | + } else { | ||
| 550 | + $proposalDetail.find('.experience-proposal-container').show(); | ||
| 551 | + $proposalDetail.find('.talk-proposal-container').show(); | ||
| 552 | + $resultsContainer.hide(); | ||
| 553 | + } | ||
| 525 | 554 | ||
| 526 | - var $category = $('#proposal-item-' + categoryId); | ||
| 527 | - var categoryOffset = $category.offset(); | ||
| 528 | - if(categoryOffset){ | ||
| 529 | - scrollTop = categoryOffset.top; | ||
| 530 | - }else{ | ||
| 531 | - if(navOffset){ | ||
| 532 | - scrollTop = navOffset.top; | ||
| 533 | - } | 555 | + var proposalOffset = $resultsContainer.offset(); |
| 556 | + if(proposalOffset){ | ||
| 557 | + scrollTop = proposalOffset.top; | ||
| 534 | } | 558 | } |
| 535 | } | 559 | } |
| 560 | + } | ||
| 536 | 561 | ||
| 537 | - // default | ||
| 538 | - if( !isProposal && !isCategory ){ | ||
| 539 | - // show the 'index' -> category tab | ||
| 540 | - this.display_category_tab(); | ||
| 541 | - | 562 | + if( isCategory ){ |
| 542 | 563 | ||
| 543 | - // if(navOffset){ | ||
| 544 | - // scrollTop = navOffset.top; | ||
| 545 | - // } | ||
| 546 | - } | 564 | + // go to category |
| 565 | + var categoryId = parts[3]; | ||
| 566 | + this.navigateToCategory(categoryId); | ||
| 547 | 567 | ||
| 548 | - $('html, body').animate({ scrollTop: scrollTop }, 'fast'); | ||
| 549 | - }, | ||
| 550 | - navigateToProposal: function(proposalId){ | ||
| 551 | - var regexSubpages = /sobre-o-programa$/; | ||
| 552 | - if(proposalId === undefined){ | ||
| 553 | - this.display_proposals_tab(); | ||
| 554 | - }else if(regexSubpages.exec(window.location.hash) == null){ | ||
| 555 | - this.display_proposal('proposal-item-' + proposalId); | ||
| 556 | - }else{ | ||
| 557 | - this.display_proposal_detail(proposalId); | ||
| 558 | - } | ||
| 559 | - }, | ||
| 560 | - navigateToCategory: function(categoryId){ | ||
| 561 | - if(categoryId === undefined){ | ||
| 562 | - this.display_category_tab(); | 568 | + var $category = $('#proposal-item-' + categoryId); |
| 569 | + var categoryOffset = $category.offset(); | ||
| 570 | + if(categoryOffset){ | ||
| 571 | + scrollTop = categoryOffset.top; | ||
| 563 | }else{ | 572 | }else{ |
| 564 | - this.display_proposal_by_category('proposal-item-' + categoryId); | 573 | + if(navOffset){ |
| 574 | + scrollTop = navOffset.top; | ||
| 575 | + } | ||
| 565 | } | 576 | } |
| 566 | - }, | ||
| 567 | - oauthClientAction: function(url) { | ||
| 568 | - var child = window.open(url, "_blank"); | ||
| 569 | - var interval = setInterval(function() { | ||
| 570 | - try { | ||
| 571 | - if(!child.closed) { | ||
| 572 | - child.postMessage({ message: "requestOauthClientPluginResult" }, "*"); | ||
| 573 | - } | ||
| 574 | - } | ||
| 575 | - catch(e) { | ||
| 576 | - // we're here when the child window has been navigated away or closed | ||
| 577 | - if (child.closed) { | ||
| 578 | - clearInterval(interval); | ||
| 579 | - return; | ||
| 580 | - } | 577 | + } |
| 578 | + | ||
| 579 | + // default | ||
| 580 | + if( !isProposal && !isCategory ){ | ||
| 581 | + // show the 'index' -> category tab | ||
| 582 | + this.display_category_tab(); | ||
| 583 | + } | ||
| 584 | + | ||
| 585 | + $('html, body').animate({ scrollTop: scrollTop }, 'fast'); | ||
| 586 | + }, | ||
| 587 | + navigateToProposal: function(proposalId){ | ||
| 588 | + var regexSobreOPrograma = /sobre-o-programa$/; | ||
| 589 | + if(proposalId === undefined){ | ||
| 590 | + this.display_proposals_tab(); | ||
| 591 | + }else if(regexSobreOPrograma.exec(window.location.hash) == null){ | ||
| 592 | + this.display_proposal('proposal-item-' + proposalId); | ||
| 593 | + }else{ | ||
| 594 | + this.display_proposal_detail(proposalId); | ||
| 595 | + } | ||
| 596 | + }, | ||
| 597 | + navigateToCategory: function(categoryId){ | ||
| 598 | + if(categoryId === undefined){ | ||
| 599 | + this.display_category_tab(); | ||
| 600 | + }else{ | ||
| 601 | + this.display_proposal_by_category('proposal-item-' + categoryId); | ||
| 602 | + } | ||
| 603 | + }, | ||
| 604 | + oauthClientAction: function(url) { | ||
| 605 | + var child = window.open(url, "_blank"); | ||
| 606 | + var interval = setInterval(function() { | ||
| 607 | + try { | ||
| 608 | + if(!child.closed) { | ||
| 609 | + child.postMessage({ message: "requestOauthClientPluginResult" }, "*"); | ||
| 581 | } | 610 | } |
| 582 | - }, 300); | ||
| 583 | - }, | ||
| 584 | - displaySuccess: function(container, text, timeout, iconClass) { | ||
| 585 | - timeout = typeof timeout !== 'undefined' ? timeout : 2000; | ||
| 586 | - container.css('opacity', 0.1); | ||
| 587 | - var successPanel = $('.success-panel').clone(); | ||
| 588 | - successPanel.find('.icon').addClass(iconClass); | ||
| 589 | - successPanel.find('.message').html(text); | ||
| 590 | - successPanel.appendTo(container.closest('.categories')); | ||
| 591 | - successPanel.show(); | ||
| 592 | - successPanel.css("top", Math.max(0, ((container.height() - successPanel.outerHeight()) / 2) + container.offset().top) + "px"); | ||
| 593 | - successPanel.css("left", Math.max(0, ((container.width() - successPanel.outerWidth()) / 2) + container.offset().left) + "px"); | ||
| 594 | - | ||
| 595 | - var interval = setTimeout(function() { | ||
| 596 | - successPanel.hide(); | ||
| 597 | - container.css('opacity', 1); | ||
| 598 | - successPanel.remove(); | ||
| 599 | - }, timeout); | ||
| 600 | - }, | ||
| 601 | - setUser: function(user){ | ||
| 602 | - this.user = user; | ||
| 603 | - }, | ||
| 604 | - getUser: function(){ | ||
| 605 | - return this.user; | ||
| 606 | - }, | ||
| 607 | - showLogin: function(){ | ||
| 608 | - $('.entrar').show(); | ||
| 609 | - $('.logout').hide(); | ||
| 610 | - }, | ||
| 611 | - showLogout: function(){ | ||
| 612 | - $('.entrar').hide(); | ||
| 613 | - var name = ''; | ||
| 614 | - if(this.user){ | ||
| 615 | - name = this.user.person.name + ' | '; | ||
| 616 | - } | ||
| 617 | - $('.logout').text(name + 'Sair'); | ||
| 618 | - $('.logout').show(); | ||
| 619 | - }, | 611 | + } |
| 612 | + catch(e) { | ||
| 613 | + // we're here when the child window has been navigated away or closed | ||
| 614 | + if (child.closed) { | ||
| 615 | + clearInterval(interval); | ||
| 616 | + return; | ||
| 617 | + } | ||
| 618 | + } | ||
| 619 | + }, 300); | ||
| 620 | + }, | ||
| 621 | + displaySuccess: function(container, text, timeout, iconClass) { | ||
| 622 | + timeout = typeof timeout !== 'undefined' ? timeout : 2000; | ||
| 623 | + container.css('opacity', 0.1); | ||
| 624 | + var successPanel = $('.success-panel').clone(); | ||
| 625 | + successPanel.find('.icon').addClass(iconClass); | ||
| 626 | + successPanel.find('.message').html(text); | ||
| 627 | + successPanel.appendTo(container.closest('.categories')); | ||
| 628 | + successPanel.show(); | ||
| 629 | + successPanel.css("top", Math.max(0, ((container.height() - successPanel.outerHeight()) / 2) + container.offset().top) + "px"); | ||
| 630 | + successPanel.css("left", Math.max(0, ((container.width() - successPanel.outerWidth()) / 2) + container.offset().left) + "px"); | ||
| 631 | + | ||
| 632 | + var interval = setTimeout(function() { | ||
| 633 | + successPanel.hide(); | ||
| 634 | + container.css('opacity', 1); | ||
| 635 | + successPanel.remove(); | ||
| 636 | + }, timeout); | ||
| 637 | + }, | ||
| 638 | + setUser: function(user){ | ||
| 639 | + this.user = user; | ||
| 640 | + }, | ||
| 641 | + getUser: function(){ | ||
| 642 | + return this.user; | ||
| 643 | + }, | ||
| 644 | + showLogin: function(){ | ||
| 645 | + $('#login-button').show(); | ||
| 646 | + $('#logout-button').hide(); | ||
| 647 | + }, | ||
| 648 | + showLogout: function(){ | ||
| 649 | + $('#login-button').hide(); | ||
| 650 | + var name = ''; | ||
| 651 | + if(this.user){ | ||
| 652 | + name = this.user.person.name + ' - '; | ||
| 653 | + } | ||
| 654 | + $('#logout-button .name').text(name); | ||
| 655 | + $('#logout-button').show(); | ||
| 656 | + }, | ||
| 620 | responseToText: function(responseJSONmessage){ | 657 | responseToText: function(responseJSONmessage){ |
| 621 | var o = JSON.parse(responseJSONmessage); | 658 | var o = JSON.parse(responseJSONmessage); |
| 622 | var msg = ""; | 659 | var msg = ""; |
| @@ -641,20 +678,83 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -641,20 +678,83 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 641 | // /api/v1/communities/64/articles?from=2013-04-04-14:41:43&until=2015-06-11-14:41:43&limit=10&categories_ids[]=7&categories_ids[]=8&private_token=a97b6a5cae2c4c54e4ae18dde1829a49 | 678 | // /api/v1/communities/64/articles?from=2013-04-04-14:41:43&until=2015-06-11-14:41:43&limit=10&categories_ids[]=7&categories_ids[]=8&private_token=a97b6a5cae2c4c54e4ae18dde1829a49 |
| 642 | var url; | 679 | var url; |
| 643 | count = 0; | 680 | count = 0; |
| 644 | - for(var i = 0; i < window.themes_cat.length; ++i){ | ||
| 645 | - url = host + '/api/v1/communities/' + window.dialoga_community + '/articles?categories_ids[]=' + window.themes_cat[i] + '&content_type=Event&private_token=' + Main.private_token; | 681 | + for (var i = 0; i < window.themes_cat.length; ++i) { |
| 682 | + url = host + '/api/v1/communities/' + window.dialoga_community + '/articles?categories_ids[]=' + window.themes_cat[i] + '&content_type=Event&private_token=' + Main.private_token; | ||
| 646 | console.log(url); | 683 | console.log(url); |
| 647 | - $.getJSON(url).done(function( data ) { | 684 | + $.getJSON(url).done(function (data) { |
| 648 | console.log(data); | 685 | console.log(data); |
| 649 | $('#ep' + count).text(data.articles[0].author.name); | 686 | $('#ep' + count).text(data.articles[0].author.name); |
| 650 | var dt = data.articles[0].start_date; | 687 | var dt = data.articles[0].start_date; |
| 651 | - dia = dt.substr(8,2); | ||
| 652 | - mes = dt.substr(5,2); | ||
| 653 | - ano = dt.substr(0,4); | 688 | + dia = dt.substr(8, 2); |
| 689 | + mes = dt.substr(5, 2); | ||
| 690 | + ano = dt.substr(0, 4); | ||
| 654 | $('#ed' + count).text(dia + '/' + mes + '/' + ano); | 691 | $('#ed' + count).text(dia + '/' + mes + '/' + ano); |
| 655 | count++; | 692 | count++; |
| 656 | }); | 693 | }); |
| 657 | } | 694 | } |
| 695 | + }, | ||
| 696 | + computeBoxHeight: function(){ | ||
| 697 | + var hPerLineOnTitle = 25; | ||
| 698 | + var hPerLineOnParagraph = 20; | ||
| 699 | + var maxLinesByParagraph = 0; | ||
| 700 | + var maxLinesByTitle = 0; | ||
| 701 | + var $visibleProposals = $('.proposal-list .proposal-item:visible'); | ||
| 702 | + | ||
| 703 | + // get the bigger paragraph | ||
| 704 | + $visibleProposals.each(function(index, proposalItemEl){ | ||
| 705 | + var $proposalItemEl = $(proposalItemEl); | ||
| 706 | + var $paragraph = $proposalItemEl.find('p'); | ||
| 707 | + var lines = Main.computeLines($paragraph); | ||
| 708 | + if(lines > maxLinesByParagraph ){ | ||
| 709 | + maxLinesByParagraph = lines | ||
| 710 | + } | ||
| 711 | + }); | ||
| 712 | + // console.log('maxLinesByParagraph', maxLinesByParagraph); | ||
| 713 | + | ||
| 714 | + // get the bigger title | ||
| 715 | + $visibleProposals.each(function(index, proposalItemEl){ | ||
| 716 | + var $proposalItemEl = $(proposalItemEl); | ||
| 717 | + var $title = $proposalItemEl.find('.box__title'); | ||
| 718 | + var lines = Main.computeLines($title); | ||
| 719 | + if(lines > maxLinesByTitle ){ | ||
| 720 | + maxLinesByTitle = lines | ||
| 721 | + } | ||
| 722 | + }); | ||
| 723 | + // console.log('maxLinesByTitle', maxLinesByTitle); | ||
| 724 | + | ||
| 725 | + $visibleProposals.each(function(index, proposalItemEl){ | ||
| 726 | + var $proposalItemEl = $(proposalItemEl); | ||
| 727 | + var $title = $proposalItemEl.find('.box__title'); | ||
| 728 | + var $paragraph = $proposalItemEl.find('p'); | ||
| 729 | + | ||
| 730 | + var newTitleHeight = maxLinesByTitle * hPerLineOnTitle; | ||
| 731 | + var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph; | ||
| 732 | + | ||
| 733 | + $title.css('height', newTitleHeight + 'px'); | ||
| 734 | + $paragraph.css('height', newParagraphHeight + 'px'); | ||
| 735 | + }); | ||
| 736 | + | ||
| 737 | + // recalc box heights | ||
| 738 | + var setAsPx = true; | ||
| 739 | + $visibleProposals.equalHeights(setAsPx); | ||
| 740 | + }, | ||
| 741 | + computeLines: function ($el) { | ||
| 742 | + // reset height | ||
| 743 | + $el.height('auto'); | ||
| 744 | + | ||
| 745 | + var divHeight = $el.height(); | ||
| 746 | + var lineHeight = parseInt($el.css('lineHeight')); | ||
| 747 | + var lines = Math.ceil(divHeight / lineHeight); | ||
| 748 | + return lines; | ||
| 749 | + }, | ||
| 750 | + handleLoginSuccess: function (e, data){ | ||
| 751 | + if(data.person){ | ||
| 752 | + Main.setUser({person: data.person}); | ||
| 753 | + } | ||
| 754 | + Main.loginCallback(true, data.private_token); | ||
| 755 | + }, | ||
| 756 | + handleLoginFail: function (e){ | ||
| 757 | + // console.log('Event', e); | ||
| 658 | } | 758 | } |
| 659 | } | 759 | } |
| 660 | })(); | 760 | })(); |
| @@ -721,8 +821,8 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -721,8 +821,8 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 721 | e.preventDefault(); | 821 | e.preventDefault(); |
| 722 | 822 | ||
| 723 | var oldHash = window.location.hash; | 823 | var oldHash = window.location.hash; |
| 724 | - var regexSubpages = /sobre-o-programa$/; | ||
| 725 | - var isSubpage = regexSubpages.exec(oldHash) !== null; | 824 | + var regexSobreOPrograma = /sobre-o-programa$/; |
| 825 | + var isSubpage = regexSobreOPrograma.exec(oldHash) !== null; | ||
| 726 | var newHash = '#/temas'; // default page | 826 | var newHash = '#/temas'; // default page |
| 727 | 827 | ||
| 728 | if(isSubpage){ | 828 | if(isSubpage){ |
| @@ -742,10 +842,10 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -742,10 +842,10 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 742 | 842 | ||
| 743 | //display form to send proposal (or login form for non-logged users) | 843 | //display form to send proposal (or login form for non-logged users) |
| 744 | var $this = $(this); | 844 | var $this = $(this); |
| 745 | - loginButton = $this.parents('.button-send'); | 845 | + loginButton = $this.closest('.button-send'); |
| 746 | loginButton.hide(); | 846 | loginButton.hide(); |
| 747 | - $this.parents('.success-proposal-sent').hide(); | ||
| 748 | - $wrapper = $this.parents('.make-proposal'); | 847 | + $this.closest('.success-proposal-sent').hide(); |
| 848 | + var $wrapper = $this.closest('.make-proposal'); | ||
| 749 | $wrapper.find('.subtitle').show(); | 849 | $wrapper.find('.subtitle').show(); |
| 750 | $wrapper.find('.info').show(); | 850 | $wrapper.find('.info').show(); |
| 751 | Main.loginCallback(logged_in); | 851 | Main.loginCallback(logged_in); |
| @@ -859,30 +959,50 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -859,30 +959,50 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 859 | }); | 959 | }); |
| 860 | } | 960 | } |
| 861 | 961 | ||
| 962 | + $(document).on('login:success', Main.handleLoginSuccess); | ||
| 963 | + $(document).on('login:fail', Main.handleLoginFail); | ||
| 964 | + | ||
| 862 | $(document).on('click', '.login-action', function(e) { | 965 | $(document).on('click', '.login-action', function(e) { |
| 863 | - var message = $('.login .message'); | ||
| 864 | - message.hide(); | ||
| 865 | - message.text(''); | ||
| 866 | - var button = $(this); | 966 | + e.preventDefault(); |
| 967 | + // console.log('obj', obj); | ||
| 968 | + | ||
| 969 | + var $this = $(this); // button | ||
| 970 | + var $form = $this.closest('#login-form'); | ||
| 971 | + var $message = $form.find('.message'); | ||
| 972 | + $message.text('').hide(); | ||
| 973 | + | ||
| 974 | + loginButton = $this; | ||
| 975 | + | ||
| 867 | $.ajax({ | 976 | $.ajax({ |
| 868 | type: 'post', | 977 | type: 'post', |
| 869 | url: host + '/api/v1/login', | 978 | url: host + '/api/v1/login', |
| 870 | - data: $(this).parents('.login').serialize(), | 979 | + data: $form.serialize(), |
| 871 | xhrFields: { | 980 | xhrFields: { |
| 872 | //withCredentials: true | 981 | //withCredentials: true |
| 873 | } | 982 | } |
| 874 | }).done(function(data) { | 983 | }).done(function(data) { |
| 875 | - Main.loginCallback(true, data.private_token); | ||
| 876 | - Main.displaySuccess(button.closest('.section-content'), 'Login efetuado com sucesso', 1000, 'icon-login-success'); | 984 | + $(document).trigger('login:success', data); |
| 985 | + | ||
| 986 | + var $sectionContent = $form.closest('.section-content'); | ||
| 987 | + if($sectionContent && $sectionContent.length > 0){ | ||
| 988 | + Main.displaySuccess($sectionContent, 'Login efetuado com sucesso', 1000, 'icon-login-success'); | ||
| 989 | + } | ||
| 990 | + | ||
| 991 | + var $loginPanel = $form.closest('#login-panel'); | ||
| 992 | + if($loginPanel && $loginPanel.length > 0){ | ||
| 993 | + $loginPanel.hide(); | ||
| 994 | + } | ||
| 995 | + | ||
| 877 | }).fail(function(data) { | 996 | }).fail(function(data) { |
| 878 | - message.show(); | 997 | + $(document).trigger('login:fail', data); |
| 998 | + | ||
| 999 | + $message.show(); | ||
| 879 | if(data.status==401){ | 1000 | if(data.status==401){ |
| 880 | - message.text('Nome de usuário, e-mail ou senha incorretos, não foi possível acessar.'); | 1001 | + $message.text('Nome de usuário, e-mail ou senha incorretos, não foi possível acessar.'); |
| 881 | }else{ | 1002 | }else{ |
| 882 | - message.text('Um erro inesperado ocorreu'); | 1003 | + $message.text('Um erro inesperado ocorreu'); |
| 883 | } | 1004 | } |
| 884 | }); | 1005 | }); |
| 885 | - e.preventDefault(); | ||
| 886 | }); | 1006 | }); |
| 887 | 1007 | ||
| 888 | $(document).on('click', '.social .fb-share', function(e) { | 1008 | $(document).on('click', '.social .fb-share', function(e) { |
| @@ -973,7 +1093,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -973,7 +1093,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 973 | e.preventDefault(); | 1093 | e.preventDefault(); |
| 974 | }); | 1094 | }); |
| 975 | 1095 | ||
| 976 | - $(document).on('click', '.logout', function (e){ | 1096 | + $(document).on('click', '#logout-button', function (e){ |
| 977 | var self = $(this); | 1097 | var self = $(this); |
| 978 | $.removeCookie('_dialoga_session'); | 1098 | $.removeCookie('_dialoga_session'); |
| 979 | $.removeCookie('votedProposals'); | 1099 | $.removeCookie('votedProposals'); |
| @@ -984,6 +1104,29 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -984,6 +1104,29 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 984 | e.preventDefault(); | 1104 | e.preventDefault(); |
| 985 | }); | 1105 | }); |
| 986 | 1106 | ||
| 1107 | + // create login panel on header | ||
| 1108 | + (function (){ | ||
| 1109 | + var $loginPanel = $('#login-panel'); | ||
| 1110 | + $loginPanel.hide(); | ||
| 1111 | + $loginPanel.removeClass('hide'); | ||
| 1112 | + $loginPanel.append(loginTemplate()); | ||
| 1113 | + $loginPanel.find('.actions') | ||
| 1114 | + .removeClass('col-sm-4') | ||
| 1115 | + .addClass('col-sm-12'); | ||
| 1116 | + $loginPanel.find('.oauth') | ||
| 1117 | + .removeClass('col-sm-8') | ||
| 1118 | + .addClass('col-sm-12'); | ||
| 1119 | + $loginPanel.find('.new-user').parent() | ||
| 1120 | + .removeClass('col-sm-4') | ||
| 1121 | + .addClass('col-sm-12'); | ||
| 1122 | + | ||
| 1123 | + $(document).on('click', '#login-button', function (e){ | ||
| 1124 | + e.preventDefault(); | ||
| 1125 | + | ||
| 1126 | + $loginPanel.toggle(); | ||
| 1127 | + }); | ||
| 1128 | + })(); | ||
| 1129 | + | ||
| 987 | }); | 1130 | }); |
| 988 | 1131 | ||
| 989 | window.addEventListener("message", function(ev) { | 1132 | window.addEventListener("message", function(ev) { |
| @@ -1001,5 +1144,45 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | @@ -1001,5 +1144,45 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F | ||
| 1001 | console.log('The browser not supports the hashchange event!'); | 1144 | console.log('The browser not supports the hashchange event!'); |
| 1002 | } | 1145 | } |
| 1003 | 1146 | ||
| 1147 | + // Handle resize event | ||
| 1148 | + (function($,sr){ | ||
| 1149 | + | ||
| 1150 | + // debouncing function from John Hann | ||
| 1151 | + // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/ | ||
| 1152 | + var debounce = function (func, threshold, execAsap) { | ||
| 1153 | + var timeout; | ||
| 1154 | + | ||
| 1155 | + return function debounced () { | ||
| 1156 | + var obj = this, args = arguments; | ||
| 1157 | + | ||
| 1158 | + function delayed () { | ||
| 1159 | + if (!execAsap){ | ||
| 1160 | + func.apply(obj, args); | ||
| 1161 | + } | ||
| 1162 | + timeout = null; | ||
| 1163 | + } | ||
| 1164 | + | ||
| 1165 | + if (timeout){ | ||
| 1166 | + clearTimeout(timeout); | ||
| 1167 | + }else if (execAsap){ | ||
| 1168 | + func.apply(obj, args); | ||
| 1169 | + } | ||
| 1170 | + | ||
| 1171 | + timeout = setTimeout(delayed, threshold || 100); | ||
| 1172 | + }; | ||
| 1173 | + } | ||
| 1174 | + | ||
| 1175 | + // smartresize | ||
| 1176 | + jQuery.fn[sr] = function(fn){ | ||
| 1177 | + return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); | ||
| 1178 | + }; | ||
| 1179 | + | ||
| 1180 | + })(jQuery, 'smartresize'); | ||
| 1181 | + | ||
| 1182 | + $(window).smartresize(function(){ | ||
| 1183 | + // console.log('window resized'); | ||
| 1184 | + Main.computeBoxHeight(); | ||
| 1185 | + }); | ||
| 1186 | + | ||
| 1004 | return Main; | 1187 | return Main; |
| 1005 | }); | 1188 | }); |
js/requirejs-config.js
| @@ -15,6 +15,7 @@ requirejs.config({ | @@ -15,6 +15,7 @@ requirejs.config({ | ||
| 15 | jquery_timeago: 'jquery.timeago', | 15 | jquery_timeago: 'jquery.timeago', |
| 16 | jquery_timeago_pt: 'jquery.timeago.pt-br', | 16 | jquery_timeago_pt: 'jquery.timeago.pt-br', |
| 17 | jquery_simplePagination: 'jquery.simplePagination', | 17 | jquery_simplePagination: 'jquery.simplePagination', |
| 18 | + jquery_equalHeights: 'jquery.equalHeights', | ||
| 18 | jquery_footable: 'footable', | 19 | jquery_footable: 'footable', |
| 19 | handlebars: 'handlebars-v3.0.1', | 20 | handlebars: 'handlebars-v3.0.1', |
| 20 | handlebars_helpers: 'handlebars-helpers', | 21 | handlebars_helpers: 'handlebars-helpers', |
| @@ -42,6 +43,9 @@ requirejs.config({ | @@ -42,6 +43,9 @@ requirejs.config({ | ||
| 42 | 'jquery_simplePagination': { | 43 | 'jquery_simplePagination': { |
| 43 | deps: ['jquery'] | 44 | deps: ['jquery'] |
| 44 | }, | 45 | }, |
| 46 | + 'jquery_equalHeights': { | ||
| 47 | + deps: ['jquery'] | ||
| 48 | + }, | ||
| 45 | 'footable': { | 49 | 'footable': { |
| 46 | deps: ['jquery'] | 50 | deps: ['jquery'] |
| 47 | }, | 51 | }, |
| @@ -70,5 +74,5 @@ requirejs.config({ | @@ -70,5 +74,5 @@ requirejs.config({ | ||
| 70 | } | 74 | } |
| 71 | }); | 75 | }); |
| 72 | 76 | ||
| 73 | -requirejs(['jquery', 'proposal_app', 'jquery_ui', 'jquery_xdomainrequest', 'jquery_timeago_pt', 'jquery_simplePagination', 'footable', 'handlebars_helpers']); | 77 | +requirejs(['jquery', 'proposal_app', 'jquery_ui', 'jquery_xdomainrequest', 'jquery_timeago_pt', 'jquery_simplePagination', 'jquery_equalHeights', 'footable', 'handlebars_helpers']); |
| 74 | requirejs(['slick', 'fastclick', 'jquery_maxlength', 'layout','main']); | 78 | requirejs(['slick', 'fastclick', 'jquery_maxlength', 'layout','main']); |
sass/style.sass
| @@ -176,6 +176,7 @@ textarea | @@ -176,6 +176,7 @@ textarea | ||
| 176 | padding-right: $gutter * 0.5 | 176 | padding-right: $gutter * 0.5 |
| 177 | padding-top: $gutter * 0.25 | 177 | padding-top: $gutter * 0.25 |
| 178 | width: 100% | 178 | width: 100% |
| 179 | + height: 100px | ||
| 179 | 180 | ||
| 180 | 181 | ||
| 181 | // ------------------------------------ | 182 | // ------------------------------------ |
| @@ -371,7 +372,7 @@ h1 | @@ -371,7 +372,7 @@ h1 | ||
| 371 | display: inline-block | 372 | display: inline-block |
| 372 | height: 80px | 373 | height: 80px |
| 373 | text-indent: -99999px | 374 | text-indent: -99999px |
| 374 | - width: 160px | 375 | + width: 180px |
| 375 | 376 | ||
| 376 | // 6.3 - menu topo | 377 | // 6.3 - menu topo |
| 377 | .top-menu | 378 | .top-menu |
| @@ -436,6 +437,7 @@ h1 | @@ -436,6 +437,7 @@ h1 | ||
| 436 | border-bottom: 1px solid #f1f1f1 | 437 | border-bottom: 1px solid #f1f1f1 |
| 437 | display: block | 438 | display: block |
| 438 | font-size: $font-size-base | 439 | font-size: $font-size-base |
| 440 | + position: relative | ||
| 439 | a | 441 | a |
| 440 | background-color: #fff | 442 | background-color: #fff |
| 441 | color: #484848 | 443 | color: #484848 |
| @@ -453,24 +455,27 @@ h1 | @@ -453,24 +455,27 @@ h1 | ||
| 453 | text-decoration: none | 455 | text-decoration: none |
| 454 | .fa | 456 | .fa |
| 455 | color: #898989 | 457 | color: #898989 |
| 456 | - float: right | ||
| 457 | font-size: 45px | 458 | font-size: 45px |
| 459 | + position: absolute | ||
| 460 | + top: 50% | ||
| 461 | + margin-top: -22px | ||
| 462 | + right: 8px | ||
| 458 | &-name | 463 | &-name |
| 459 | display: inline-block | 464 | display: inline-block |
| 460 | width: 50% | 465 | width: 50% |
| 461 | vertical-align: middle | 466 | vertical-align: middle |
| 462 | - .arrow-box | ||
| 463 | - position: relative | ||
| 464 | - top: $gutter | ||
| 465 | - &:after | ||
| 466 | - bottom: 100% | ||
| 467 | - left: 50% | ||
| 468 | - border: solid transparent | ||
| 469 | - content: "" | ||
| 470 | - position: absolute | ||
| 471 | - border-bottom-color: #000 | ||
| 472 | - border-width: 8px | ||
| 473 | - margin-left: -8px | 467 | + // .arrow-box |
| 468 | + // position: relative | ||
| 469 | + // top: $gutter | ||
| 470 | + // &:after | ||
| 471 | + // bottom: 100% | ||
| 472 | + // left: 50% | ||
| 473 | + // border: solid transparent | ||
| 474 | + // content: "" | ||
| 475 | + // position: absolute | ||
| 476 | + // border-bottom-color: #000 | ||
| 477 | + // border-width: 8px | ||
| 478 | + // margin-left: -8px | ||
| 474 | 479 | ||
| 475 | // 6.7 - listagem dos programas aleatorios | 480 | // 6.7 - listagem dos programas aleatorios |
| 476 | .ver-todos | 481 | .ver-todos |
| @@ -486,6 +491,8 @@ h1 | @@ -486,6 +491,8 @@ h1 | ||
| 486 | &-list | 491 | &-list |
| 487 | list-style: none | 492 | list-style: none |
| 488 | padding-left: 0 | 493 | padding-left: 0 |
| 494 | + .proposal-item | ||
| 495 | + margin-bottom: $gutter | ||
| 489 | &-group | 496 | &-group |
| 490 | ul | 497 | ul |
| 491 | list-style: none | 498 | list-style: none |
| @@ -500,6 +507,7 @@ h1 | @@ -500,6 +507,7 @@ h1 | ||
| 500 | color: #000 | 507 | color: #000 |
| 501 | display: block | 508 | display: block |
| 502 | margin-top: $gutter * 1.5 | 509 | margin-top: $gutter * 1.5 |
| 510 | + height: 100% | ||
| 503 | overflow: hidden | 511 | overflow: hidden |
| 504 | transition: all 400ms | 512 | transition: all 400ms |
| 505 | +hover(#fff,$darken) | 513 | +hover(#fff,$darken) |
| @@ -534,15 +542,28 @@ h1 | @@ -534,15 +542,28 @@ h1 | ||
| 534 | font-size: $font-size-small | 542 | font-size: $font-size-small |
| 535 | font-weight: 500 | 543 | font-weight: 500 |
| 536 | margin-top: $gutter * 0.5 | 544 | margin-top: $gutter * 0.5 |
| 537 | - height: $gutter * 2 | 545 | + // height: $gutter * 2 |
| 546 | + // @media (min-width: 768px) | ||
| 547 | + // height: $gutter * 3 | ||
| 538 | &-body | 548 | &-body |
| 539 | padding: $gutter | 549 | padding: $gutter |
| 540 | - img | ||
| 541 | - margin-left: $gutter * (-1) | ||
| 542 | - margin-right: $gutter * (-1) | ||
| 543 | - margin-top: $gutter * (-1) | ||
| 544 | - margin-bottom: $gutter | ||
| 545 | - height: 170px | 550 | + // img |
| 551 | + // margin-left: $gutter * (-1) | ||
| 552 | + // margin-right: $gutter * (-1) | ||
| 553 | + // margin-top: $gutter * (-1) | ||
| 554 | + // margin-bottom: $gutter | ||
| 555 | + // height: 170px | ||
| 556 | + &__image | ||
| 557 | + background-size: cover | ||
| 558 | + height: 170px | ||
| 559 | + margin: -20px -20px 10px | ||
| 560 | + background-position: center center | ||
| 561 | + // &__footer | ||
| 562 | + // position: absolute | ||
| 563 | + // left: 0 | ||
| 564 | + // width: 100% | ||
| 565 | + // bottom: $gutter | ||
| 566 | + // padding: 0 10% | ||
| 546 | &-category | 567 | &-category |
| 547 | font-size: $font-size-small | 568 | font-size: $font-size-small |
| 548 | font-weight: 700 | 569 | font-weight: 700 |
| @@ -663,21 +684,38 @@ h1 | @@ -663,21 +684,38 @@ h1 | ||
| 663 | 684 | ||
| 664 | // 6.11 - login form | 685 | // 6.11 - login form |
| 665 | .participar | 686 | .participar |
| 687 | + position: relative | ||
| 666 | text-align: right | 688 | text-align: right |
| 667 | .participe | 689 | .participe |
| 668 | font-size: 14px | 690 | font-size: 14px |
| 669 | padding: 2px 10px | 691 | padding: 2px 10px |
| 670 | - .entrar | 692 | + .icon-login |
| 693 | + display: inline-block | ||
| 694 | + position: relative | ||
| 695 | + top: -2px | ||
| 696 | + right: 5px | ||
| 697 | + width: 20px | ||
| 698 | + height: 20px | ||
| 699 | + padding: 12px | ||
| 700 | + vertical-align: middle | ||
| 701 | + border: 1px solid #ccc !important | ||
| 671 | background: url(images/icons/icon-user.png) no-repeat 20px 50% | 702 | background: url(images/icons/icon-user.png) no-repeat 20px 50% |
| 672 | - // border-left: 1px solid #bcbcbc | ||
| 673 | - // margin-left: 20px | ||
| 674 | - padding-left: 40px | 703 | + .login |
| 704 | + margin-left: 20px | ||
| 675 | .logout | 705 | .logout |
| 676 | - background: url(images/icons/icon-user.png) no-repeat 20px 50% | ||
| 677 | - // border-left: 1px solid #bcbcbc | ||
| 678 | - // margin-left: 20px | ||
| 679 | - padding-left: 40px | ||
| 680 | -.login,.signup | 706 | + margin-left: 20px |
| 707 | +#login-panel | ||
| 708 | + position: absolute | ||
| 709 | + top: 0 | ||
| 710 | + right: 0 | ||
| 711 | + padding: 20px | ||
| 712 | + z-index: 9999 | ||
| 713 | + background-color: #fff | ||
| 714 | + border: 1px solid #ccc | ||
| 715 | + .loading | ||
| 716 | + display: none | ||
| 717 | +.login, | ||
| 718 | +.signup | ||
| 681 | text-align: left | 719 | text-align: left |
| 682 | .message | 720 | .message |
| 683 | background: #fcc | 721 | background: #fcc |
| @@ -833,10 +871,79 @@ td | @@ -833,10 +871,79 @@ td | ||
| 833 | display: table | 871 | display: table |
| 834 | table-layout: fixed | 872 | table-layout: fixed |
| 835 | width: 100% | 873 | width: 100% |
| 874 | + @media (max-width: 567px) | ||
| 875 | + width: 90% | ||
| 836 | .truncated | 876 | .truncated |
| 837 | overflow-x: hidden | 877 | overflow-x: hidden |
| 838 | text-overflow: ellipsis | 878 | text-overflow: ellipsis |
| 839 | white-space: nowrap | 879 | white-space: nowrap |
| 880 | + &.phone | ||
| 881 | + .footable-toggle | ||
| 882 | + float: right | ||
| 883 | + padding: 5px 0 !important | ||
| 884 | + width: 10% | ||
| 885 | + text-align: center | ||
| 886 | + background-color: #e0e0e0 | ||
| 887 | + .footable-row-detail-row | ||
| 888 | + display: inline-block | ||
| 889 | + &:not(:last-child) | ||
| 890 | + margin-right: 10px | ||
| 891 | + padding-right: 10px | ||
| 892 | + border-right: 1px solid #ccc | ||
| 893 | + .footable-row-detail-inner | ||
| 894 | + margin: 0 auto | ||
| 895 | + .footable-row-detail-cell | ||
| 896 | + background-color: #e0e0e0 | ||
| 897 | + .footable-row-detail-name | ||
| 898 | + display: block | ||
| 899 | + text-transform: uppercase | ||
| 900 | + .footable-row-detail-value | ||
| 901 | + display: block | ||
| 902 | + | ||
| 903 | + // fix height | ||
| 904 | + .footable-row-detail-row:nth-child(1) | ||
| 905 | + .footable-row-detail-value:before | ||
| 906 | + height: 30px | ||
| 907 | + | ||
| 908 | + // check icon | ||
| 909 | + .footable-row-detail-row:nth-child(2) | ||
| 910 | + .footable-row-detail-name | ||
| 911 | + display: none | ||
| 912 | + .footable-row-detail-value:before | ||
| 913 | + content: '\f00c' | ||
| 914 | + font: normal normal normal 14px/1 'FontAwesome' | ||
| 915 | + display: block | ||
| 916 | + background-color: #32dbb5 | ||
| 917 | + border: 2px solid #ffffff | ||
| 918 | + border-radius: 100% | ||
| 919 | + color: #fff | ||
| 920 | + font-size: 16px | ||
| 921 | + height: 30px | ||
| 922 | + padding: 5px 0 | ||
| 923 | + text-align: center | ||
| 924 | + transition: all 200ms ease 0s | ||
| 925 | + width: 30px | ||
| 926 | + margin: 0 20px | ||
| 927 | + | ||
| 928 | + // check icon | ||
| 929 | + .footable-row-detail-row:nth-child(3) | ||
| 930 | + .footable-row-detail-name | ||
| 931 | + display: none | ||
| 932 | + .footable-row-detail-value:before | ||
| 933 | + content: '\f00d' | ||
| 934 | + font: normal normal normal 14px/1 'FontAwesome' | ||
| 935 | + display: block | ||
| 936 | + background-color: #DB4127 | ||
| 937 | + border: 2px solid #ffffff | ||
| 938 | + border-radius: 100% | ||
| 939 | + color: #fff | ||
| 940 | + font-size: 16px | ||
| 941 | + height: 30px | ||
| 942 | + padding: 5px 0 | ||
| 943 | + text-align: center | ||
| 944 | + transition: all 200ms ease 0s | ||
| 945 | + width: 30px | ||
| 946 | + margin: 0 20px | ||
| 840 | 947 | ||
| 841 | // 6.15 - paginador | 948 | // 6.15 - paginador |
| 842 | .paging | 949 | .paging |
| @@ -1242,9 +1349,19 @@ h3.titulo-destaque | @@ -1242,9 +1349,19 @@ h3.titulo-destaque | ||
| 1242 | width: 100% | 1349 | width: 100% |
| 1243 | p | 1350 | p |
| 1244 | padding-bottom: $gutter | 1351 | padding-bottom: $gutter |
| 1352 | + .proposal-list | ||
| 1353 | + .proposal-item, | ||
| 1354 | + .box__title, | ||
| 1355 | + .box__abstract p | ||
| 1356 | + height: auto !important | ||
| 1245 | .select | 1357 | .select |
| 1246 | .proposal | 1358 | .proposal |
| 1247 | &-selection | 1359 | &-selection |
| 1248 | float: none | 1360 | float: none |
| 1249 | margin: 0 | 1361 | margin: 0 |
| 1250 | width: 100% | 1362 | width: 100% |
| 1363 | + table | ||
| 1364 | + .position | ||
| 1365 | + a | ||
| 1366 | + margin-left: 0 | ||
| 1367 | + margin-top: 5px | ||
| 1251 | \ No newline at end of file | 1368 | \ No newline at end of file |