Commit 279e0627d30988676c536dc2fc5a2ddcfa68865f
Exists in
master
and in
5 other branches
Merge branch 'master' of https://gitlab.com/participa/proposal-app
Showing
2 changed files
with
189 additions
and
58 deletions
Show diff stats
js/main.js
| @@ -52,7 +52,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -52,7 +52,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 52 | var API = { | 52 | var API = { |
| 53 | articles: '', | 53 | articles: '', |
| 54 | proposals: '/api/v1/articles/{topic_id}/children', | 54 | proposals: '/api/v1/articles/{topic_id}/children', |
| 55 | - | 55 | + |
| 56 | }; | 56 | }; |
| 57 | 57 | ||
| 58 | API.getProposalsURL = function (topicId){ | 58 | API.getProposalsURL = function (topicId){ |
| @@ -63,6 +63,16 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -63,6 +63,16 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 63 | return str.replace(new RegExp(pattern, 'g'), value); | 63 | return str.replace(new RegExp(pattern, 'g'), value); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | + function fillSignupForm(signupForm, user) { | ||
| 67 | + signupForm.find('#signup-user_email').val(user.email); | ||
| 68 | + signupForm.find('#signup-user_name').val(user.login); | ||
| 69 | + signupForm.find('#user_oauth_providers').val(user.oauth_providers); | ||
| 70 | + /*signupForm.find('div.password').hide(); | ||
| 71 | + signupForm.find('div.password-confirmation').hide(); | ||
| 72 | + signupForm.find('#signup-user_password').attr('required', false); | ||
| 73 | + signupForm.find('#user_password_confirmation').attr('required', false);*/ | ||
| 74 | + }; | ||
| 75 | + | ||
| 66 | return { | 76 | return { |
| 67 | private_token: '375bee7e17d0021af7160ce664874618', | 77 | private_token: '375bee7e17d0021af7160ce664874618', |
| 68 | getProposalId: function() { | 78 | getProposalId: function() { |
| @@ -97,7 +107,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -97,7 +107,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 97 | if(childId !== 0 && !force){ | 107 | if(childId !== 0 && !force){ |
| 98 | url += '/' + childId; | 108 | url += '/' + childId; |
| 99 | } | 109 | } |
| 100 | - url += '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal'; | 110 | + url += '?private_ftoken=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal'; |
| 101 | 111 | ||
| 102 | $.getJSON(url).done(function( data ) { | 112 | $.getJSON(url).done(function( data ) { |
| 103 | $loading.hide(); | 113 | $loading.hide(); |
| @@ -120,10 +130,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -120,10 +130,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 120 | }); | 130 | }); |
| 121 | $body.off('click', '.vote-actions .vote-action'); | 131 | $body.off('click', '.vote-actions .vote-action'); |
| 122 | $body.on('click', '.vote-actions .vote-action', function(e) { | 132 | $body.on('click', '.vote-actions .vote-action', function(e) { |
| 123 | - //Helps to prevent more than one vote per proposal | ||
| 124 | - var button = $(this); | ||
| 125 | e.preventDefault(); | 133 | e.preventDefault(); |
| 126 | 134 | ||
| 135 | + //Helps to prevent more than one vote per proposal | ||
| 136 | + var $button = $(this); | ||
| 137 | + var $proposal = $button.closest('.random-proposal'); | ||
| 138 | + | ||
| 127 | if(!logged_in) { | 139 | if(!logged_in) { |
| 128 | $(this).closest('.require-login-container').find('.button-send a').click(); | 140 | $(this).closest('.require-login-container').find('.button-send a').click(); |
| 129 | return; | 141 | return; |
| @@ -131,7 +143,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -131,7 +143,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 131 | 143 | ||
| 132 | if(ProposalApp.hasProposalbeenVoted(article.id)){ | 144 | if(ProposalApp.hasProposalbeenVoted(article.id)){ |
| 133 | // console.debug("Proposta " + article.id + " já havia sido votada"); | 145 | // console.debug("Proposta " + article.id + " já havia sido votada"); |
| 134 | - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); | 146 | + Main.displaySuccess($button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); |
| 135 | contextMain.loadRandomProposal(topic_id, true); | 147 | contextMain.loadRandomProposal(topic_id, true); |
| 136 | return; | 148 | return; |
| 137 | } | 149 | } |
| @@ -145,12 +157,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -145,12 +157,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 145 | } | 157 | } |
| 146 | }).done(function(data) { | 158 | }).done(function(data) { |
| 147 | if(data.vote) { | 159 | if(data.vote) { |
| 148 | - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Voto realizado com sucesso', 800); | 160 | + // Main.displaySuccess($button.closest('.support-proposal .section-content'), '', 800); |
| 161 | + $proposal.find('.abstract').hide(); | ||
| 162 | + $proposal.find('.vote-actions .like').hide(); | ||
| 163 | + $proposal.find('.vote-actions .dislike').hide(); | ||
| 164 | + // $proposal.find('.vote-actions .vote-result').hide(); | ||
| 165 | + var $successPanel = $('.success-panel').clone(); | ||
| 166 | + $successPanel.find('.icon').addClass('icon-proposal-sent'); | ||
| 167 | + $successPanel.find('.message').html('Voto realizado com sucesso'); | ||
| 168 | + $successPanel.removeClass('hide'); | ||
| 169 | + $proposal.prepend($successPanel); | ||
| 170 | + $successPanel.show(); | ||
| 171 | + // $successPanel.css('top', Math.max(0, (($proposal.height() - $successPanel.outerHeight()) / 2) + $proposal.offset().top) + 'px'); | ||
| 172 | + // $successPanel.css('left', Math.max(0, (($proposal.width() - $successPanel.outerWidth()) / 2) + $proposal.offset().left) + 'px'); | ||
| 149 | } else { | 173 | } else { |
| 150 | - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); | 174 | + $proposal.find('.abstract').hide(); |
| 175 | + $proposal.find('.vote-actions .like').hide(); | ||
| 176 | + $proposal.find('.vote-actions .dislike').hide(); | ||
| 177 | + | ||
| 178 | + var $successPanel = $('.success-panel').clone(); | ||
| 179 | + // $successPanel.find('.icon').addClass('icon-proposal-sent'); | ||
| 180 | + $successPanel.find('.message').html('Seu voto já foi computado nesta proposta'); | ||
| 181 | + $successPanel.removeClass('hide'); | ||
| 182 | + $proposal.prepend($successPanel); | ||
| 183 | + $successPanel.show(); | ||
| 184 | + // Main.displaySuccess($button.closest('.support-proposal .section-content'), , 800); | ||
| 185 | + // $successPanel.find('.message').html('Seu voto já foi computado nesta proposta'); | ||
| 151 | } | 186 | } |
| 152 | - ProposalApp.addVotedProposal(article.id); | ||
| 153 | - contextMain.loadRandomProposal(topic_id, true); | 187 | + // ProposalApp.addVotedProposal(article.id); |
| 188 | + // contextMain.loadRandomProposal(topic_id, true); | ||
| 154 | }); | 189 | }); |
| 155 | }); | 190 | }); |
| 156 | 191 | ||
| @@ -239,6 +274,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -239,6 +274,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 239 | $('.login .message').text(''); | 274 | $('.login .message').text(''); |
| 240 | var requireLoginContainer = loginButton.closest('.require-login-container'); | 275 | var requireLoginContainer = loginButton.closest('.require-login-container'); |
| 241 | 276 | ||
| 277 | + if(user && !Main.getUser()) { | ||
| 278 | + Main.setUser(user); | ||
| 279 | + } | ||
| 280 | + | ||
| 242 | if(logged_in) { | 281 | if(logged_in) { |
| 243 | Main.showLogout(); | 282 | Main.showLogout(); |
| 244 | if(token){ | 283 | if(token){ |
| @@ -251,13 +290,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -251,13 +290,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 251 | $.cookie('_dialoga_session', Main.private_token); | 290 | $.cookie('_dialoga_session', Main.private_token); |
| 252 | $('#login-panel').hide(); | 291 | $('#login-panel').hide(); |
| 253 | } else if (user) { | 292 | } else if (user) { |
| 254 | - var loginContainer = requireLoginContainer.find('.login-container'); | ||
| 255 | - loginContainer.show(); | ||
| 256 | - loginContainer.find('.new-user').click(); | ||
| 257 | - var $signupForm = loginContainer.find('#signup-form'); | ||
| 258 | - $signupForm.find('#user_email').val(user.email); | ||
| 259 | - $signupForm.find('#user_name').val(user.login); | ||
| 260 | - $signupForm.find('#user_oauth_providers').val(user.oauth_providers); | 293 | + // fluxo signup vindo das caixas de login dentro dos programas |
| 294 | + if(requireLoginContainer.length > 0){ | ||
| 295 | + var loginContainer = requireLoginContainer.find('.login-container'); | ||
| 296 | + loginContainer.show(); | ||
| 297 | + loginContainer.find('.new-user').click(); | ||
| 298 | + var $signupForm = loginContainer.find('#signup-form'); | ||
| 299 | + fillSignupForm($signupForm, user); | ||
| 300 | + } else { //signup botão Entrar principal vindo de OAUTH | ||
| 301 | + $('#login-panel').find('a.new-user').click(); | ||
| 302 | + var $signupForm = $('#login-panel #signup-form'); | ||
| 303 | + fillSignupForm($signupForm, user); | ||
| 304 | + } | ||
| 261 | } else { | 305 | } else { |
| 262 | requireLoginContainer.find('.require-login').hide(); | 306 | requireLoginContainer.find('.require-login').hide(); |
| 263 | requireLoginContainer.find('.login-container').show(); | 307 | requireLoginContainer.find('.login-container').show(); |
| @@ -292,7 +336,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -292,7 +336,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 292 | var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass); | 336 | var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass); |
| 293 | var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length); | 337 | var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length); |
| 294 | var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item'); | 338 | var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item'); |
| 295 | - $(proposalToShow).show(); | 339 | + $(proposalToShow).show(); |
| 296 | }); | 340 | }); |
| 297 | }, | 341 | }, |
| 298 | display_category_tab: function(){ | 342 | display_category_tab: function(){ |
| @@ -539,7 +583,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -539,7 +583,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 539 | var $proposal = $('#proposal-item-' + proposalId); | 583 | var $proposal = $('#proposal-item-' + proposalId); |
| 540 | proposalTitle = $proposal.find('.title').text(); | 584 | proposalTitle = $proposal.find('.title').text(); |
| 541 | var proposalOffset = $proposal.offset(); | 585 | var proposalOffset = $proposal.offset(); |
| 542 | - | 586 | + |
| 543 | if(proposalOffset){ | 587 | if(proposalOffset){ |
| 544 | scrollTop = proposalOffset.top; | 588 | scrollTop = proposalOffset.top; |
| 545 | }else{ | 589 | }else{ |
| @@ -696,7 +740,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -696,7 +740,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 696 | var name = ''; | 740 | var name = ''; |
| 697 | var user = Main.getUser(); | 741 | var user = Main.getUser(); |
| 698 | if(user){ | 742 | if(user){ |
| 699 | - name = user.person.name + ' - '; | 743 | + if(user.person && user.person.name){ |
| 744 | + name = user.person.name + ' - '; | ||
| 745 | + }else{ | ||
| 746 | + name = user.login + ' - '; | ||
| 747 | + } | ||
| 748 | + | ||
| 700 | } | 749 | } |
| 701 | $('#logout-button .name').text(name); | 750 | $('#logout-button .name').text(name); |
| 702 | $('#logout-button').show(); | 751 | $('#logout-button').show(); |
| @@ -724,7 +773,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -724,7 +773,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 724 | display_events: function(cat_id, active_category) { | 773 | display_events: function(cat_id, active_category) { |
| 725 | var url = host + '/api/v1/communities/' + dialoga_community + '/articles?categories_ids[]=' + cat_id + '&content_type=Event&private_token=' + '375bee7e17d0021af7160ce664874618'; | 774 | var url = host + '/api/v1/communities/' + dialoga_community + '/articles?categories_ids[]=' + cat_id + '&content_type=Event&private_token=' + '375bee7e17d0021af7160ce664874618'; |
| 726 | $.getJSON(url).done(function (data) { | 775 | $.getJSON(url).done(function (data) { |
| 727 | - | 776 | + |
| 728 | if(data.articles.length === 0){ | 777 | if(data.articles.length === 0){ |
| 729 | return; | 778 | return; |
| 730 | } | 779 | } |
| @@ -785,7 +834,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -785,7 +834,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 785 | var maxLinesByParagraph = 0; | 834 | var maxLinesByParagraph = 0; |
| 786 | var maxLinesByTitle = 0; | 835 | var maxLinesByTitle = 0; |
| 787 | var $visibleProposals = $('.proposal-list .proposal-item:visible'); | 836 | var $visibleProposals = $('.proposal-list .proposal-item:visible'); |
| 788 | - | 837 | + |
| 789 | // get the bigger paragraph | 838 | // get the bigger paragraph |
| 790 | $visibleProposals.each(function(index, proposalItemEl){ | 839 | $visibleProposals.each(function(index, proposalItemEl){ |
| 791 | var $proposalItemEl = $(proposalItemEl); | 840 | var $proposalItemEl = $(proposalItemEl); |
| @@ -796,7 +845,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -796,7 +845,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 796 | } | 845 | } |
| 797 | }); | 846 | }); |
| 798 | // console.log('maxLinesByParagraph', maxLinesByParagraph); | 847 | // console.log('maxLinesByParagraph', maxLinesByParagraph); |
| 799 | - | 848 | + |
| 800 | // get the bigger title | 849 | // get the bigger title |
| 801 | $visibleProposals.each(function(index, proposalItemEl){ | 850 | $visibleProposals.each(function(index, proposalItemEl){ |
| 802 | var $proposalItemEl = $(proposalItemEl); | 851 | var $proposalItemEl = $(proposalItemEl); |
| @@ -812,10 +861,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -812,10 +861,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 812 | var $proposalItemEl = $(proposalItemEl); | 861 | var $proposalItemEl = $(proposalItemEl); |
| 813 | var $title = $proposalItemEl.find('.box__title'); | 862 | var $title = $proposalItemEl.find('.box__title'); |
| 814 | var $paragraph = $proposalItemEl.find('p'); | 863 | var $paragraph = $proposalItemEl.find('p'); |
| 815 | - | 864 | + |
| 816 | var newTitleHeight = maxLinesByTitle * hPerLineOnTitle; | 865 | var newTitleHeight = maxLinesByTitle * hPerLineOnTitle; |
| 817 | var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph; | 866 | var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph; |
| 818 | - | 867 | + |
| 819 | $title.css('height', newTitleHeight + 'px'); | 868 | $title.css('height', newTitleHeight + 'px'); |
| 820 | $paragraph.css('height', newParagraphHeight + 'px'); | 869 | $paragraph.css('height', newParagraphHeight + 'px'); |
| 821 | }); | 870 | }); |
| @@ -827,7 +876,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -827,7 +876,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 827 | computeLines: function ($el) { | 876 | computeLines: function ($el) { |
| 828 | // reset height | 877 | // reset height |
| 829 | $el.height('auto'); | 878 | $el.height('auto'); |
| 830 | - | 879 | + |
| 831 | var divHeight = $el.height(); | 880 | var divHeight = $el.height(); |
| 832 | var lineHeight = parseInt($el.css('lineHeight')); | 881 | var lineHeight = parseInt($el.css('lineHeight')); |
| 833 | var lines = Math.ceil(divHeight / lineHeight); | 882 | var lines = Math.ceil(divHeight / lineHeight); |
| @@ -845,7 +894,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -845,7 +894,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 845 | }; | 894 | }; |
| 846 | })(); | 895 | })(); |
| 847 | 896 | ||
| 848 | - | 897 | + |
| 849 | var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + Main.private_token + '&fields=id,children,categories,abstract,title,image,url,setting,position'; | 898 | var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + Main.private_token + '&fields=id,children,categories,abstract,title,image,url,setting,position'; |
| 850 | 899 | ||
| 851 | $.getJSON(noosferoAPI) | 900 | $.getJSON(noosferoAPI) |
| @@ -879,7 +928,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -879,7 +928,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 879 | if(url.indexOf('?') !== -1){ | 928 | if(url.indexOf('?') !== -1){ |
| 880 | c = '&'; | 929 | c = '&'; |
| 881 | } | 930 | } |
| 882 | - | 931 | + |
| 883 | var resultUrl = url + c + 'wmode=opaque'; | 932 | var resultUrl = url + c + 'wmode=opaque'; |
| 884 | article.abstract = abstract.replace(url, resultUrl); | 933 | article.abstract = abstract.replace(url, resultUrl); |
| 885 | // console.log('article.abstract', article.abstract); | 934 | // console.log('article.abstract', article.abstract); |
| @@ -887,6 +936,28 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -887,6 +936,28 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 887 | 936 | ||
| 888 | forceWmodeIframe(data.article); | 937 | forceWmodeIframe(data.article); |
| 889 | 938 | ||
| 939 | + function removeStylefromIframe (article){ | ||
| 940 | + var abstract = article.abstract; | ||
| 941 | + | ||
| 942 | + var patternIframe = 'style="'; | ||
| 943 | + var indexOfIframe = abstract.indexOf('<iframe'); | ||
| 944 | + var indexOfStyleOnIframe = abstract.indexOf('style="', indexOfIframe); | ||
| 945 | + | ||
| 946 | + if(indexOfStyleOnIframe === -1){ | ||
| 947 | + return; | ||
| 948 | + } | ||
| 949 | + | ||
| 950 | + var startStyleContent = indexOfStyleOnIframe + patternIframe.length; | ||
| 951 | + var endStyleContent = abstract.indexOf('"', startStyleContent); | ||
| 952 | + var style = abstract.substring(startStyleContent , endStyleContent); | ||
| 953 | + // console.log('style', style); | ||
| 954 | + | ||
| 955 | + article.abstract = abstract.replace(style, ''); | ||
| 956 | + // console.log('article.abstract', article.abstract); | ||
| 957 | + } | ||
| 958 | + | ||
| 959 | + removeStylefromIframe(data.article); | ||
| 960 | + | ||
| 890 | resultsPlaceholder.innerHTML = template(data); | 961 | resultsPlaceholder.innerHTML = template(data); |
| 891 | $('.login-container').html(loginTemplate()); | 962 | $('.login-container').html(loginTemplate()); |
| 892 | $('.countdown').maxlength({text: '%left caracteres restantes'}); | 963 | $('.countdown').maxlength({text: '%left caracteres restantes'}); |
| @@ -930,17 +1001,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -930,17 +1001,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 930 | var $target = $(e.target); | 1001 | var $target = $(e.target); |
| 931 | 1002 | ||
| 932 | var isLoginButton = ($target.attr('id') === 'login-button'); | 1003 | var isLoginButton = ($target.attr('id') === 'login-button'); |
| 1004 | + var isLoginButtonIcon = $target.hasClass('icon-login'); | ||
| 933 | var requireLogin = $target.hasClass('require-main-login'); | 1005 | var requireLogin = $target.hasClass('require-main-login'); |
| 934 | var isChildOfPanel = ($target.closest(loginPanelId).length !== 0); | 1006 | var isChildOfPanel = ($target.closest(loginPanelId).length !== 0); |
| 935 | 1007 | ||
| 936 | - if( !isLoginButton && !isChildOfPanel && !requireLogin ){ | 1008 | + if( !isLoginButton && !isLoginButtonIcon && !isChildOfPanel && !requireLogin ){ |
| 937 | $loginPanel.hide(); | 1009 | $loginPanel.hide(); |
| 938 | } | 1010 | } |
| 939 | }); | 1011 | }); |
| 940 | 1012 | ||
| 941 | // handle esc | 1013 | // handle esc |
| 942 | $(document).keyup(function(e) { | 1014 | $(document).keyup(function(e) { |
| 943 | - | 1015 | + |
| 944 | // escape key maps to keycode `27` | 1016 | // escape key maps to keycode `27` |
| 945 | if (e.keyCode === 27) { // ESC | 1017 | if (e.keyCode === 27) { // ESC |
| 946 | $loginPanel.hide(); | 1018 | $loginPanel.hide(); |
| @@ -1199,7 +1271,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1199,7 +1271,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1199 | }); | 1271 | }); |
| 1200 | 1272 | ||
| 1201 | $(document).on('click', '.new-user', function(e) { | 1273 | $(document).on('click', '.new-user', function(e) { |
| 1202 | - | 1274 | + |
| 1203 | if(window.lastCaptcha){ | 1275 | if(window.lastCaptcha){ |
| 1204 | window.lastCaptcha.destruir(); | 1276 | window.lastCaptcha.destruir(); |
| 1205 | } | 1277 | } |
| @@ -1213,28 +1285,33 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1213,28 +1285,33 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1213 | 1285 | ||
| 1214 | signupForm.find('.password').show(); | 1286 | signupForm.find('.password').show(); |
| 1215 | signupForm.find('.password-confirmation').show(); | 1287 | signupForm.find('.password-confirmation').show(); |
| 1288 | + | ||
| 1289 | + signupForm.find('signup-user_password').attr('required', true); | ||
| 1290 | + signupForm.find('#user_password_confirmation').attr('required', true); | ||
| 1291 | + | ||
| 1216 | loginForm.find('.message').hide(); | 1292 | loginForm.find('.message').hide(); |
| 1217 | signupForm.find('#serpro_captcha').empty(); | 1293 | signupForm.find('#serpro_captcha').empty(); |
| 1218 | - | 1294 | + |
| 1219 | var oCaptcha_serpro_gov_br; | 1295 | var oCaptcha_serpro_gov_br; |
| 1220 | oCaptcha_serpro_gov_br = new captcha_serpro_gov_br(); | 1296 | oCaptcha_serpro_gov_br = new captcha_serpro_gov_br(); |
| 1221 | window.lastCaptcha = oCaptcha_serpro_gov_br; | 1297 | window.lastCaptcha = oCaptcha_serpro_gov_br; |
| 1222 | oCaptcha_serpro_gov_br.clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17'; | 1298 | oCaptcha_serpro_gov_br.clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17'; |
| 1223 | oCaptcha_serpro_gov_br.url = "/captchaserpro" | 1299 | oCaptcha_serpro_gov_br.url = "/captchaserpro" |
| 1224 | oCaptcha_serpro_gov_br.criarUI(signupForm.find('#serpro_captcha')[0], 'css', 'serpro_captcha_component_'); | 1300 | oCaptcha_serpro_gov_br.criarUI(signupForm.find('#serpro_captcha')[0], 'css', 'serpro_captcha_component_'); |
| 1225 | - | 1301 | + |
| 1226 | e.preventDefault(); | 1302 | e.preventDefault(); |
| 1227 | }); | 1303 | }); |
| 1228 | 1304 | ||
| 1229 | $(document).on('click', '.cancel-signup', function(e) { | 1305 | $(document).on('click', '.cancel-signup', function(e) { |
| 1230 | var signupForm = $(this).parents('#signup-form'); | 1306 | var signupForm = $(this).parents('#signup-form'); |
| 1307 | + signupForm.find('#user_oauth_providers').val(''); | ||
| 1231 | signupForm.hide(); | 1308 | signupForm.hide(); |
| 1232 | signupForm.siblings('#login-form').show(); | 1309 | signupForm.siblings('#login-form').show(); |
| 1233 | e.preventDefault(); | 1310 | e.preventDefault(); |
| 1234 | }); | 1311 | }); |
| 1235 | 1312 | ||
| 1236 | $(document).on('click', '.confirm-signup', function(e) { | 1313 | $(document).on('click', '.confirm-signup', function(e) { |
| 1237 | - | 1314 | + |
| 1238 | var $button = $(this); | 1315 | var $button = $(this); |
| 1239 | var $signupForm = $(this).parents('form.signup'); | 1316 | var $signupForm = $(this).parents('form.signup'); |
| 1240 | var $inputEmail = $signupForm.find('#signup-user_email'); | 1317 | var $inputEmail = $signupForm.find('#signup-user_email'); |
| @@ -1243,7 +1320,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1243,7 +1320,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1243 | var $inputPasswordConfirmation = $signupForm.find('#user_password_confirmation'); | 1320 | var $inputPasswordConfirmation = $signupForm.find('#user_password_confirmation'); |
| 1244 | var $inputAcceptation = $signupForm.find('#user_terms_accepted'); | 1321 | var $inputAcceptation = $signupForm.find('#user_terms_accepted'); |
| 1245 | var $inputCaptcha = $signupForm.find('#captcha_text'); | 1322 | var $inputCaptcha = $signupForm.find('#captcha_text'); |
| 1246 | - | 1323 | + |
| 1247 | // clear messages | 1324 | // clear messages |
| 1248 | var message = $('.signup .message'); | 1325 | var message = $('.signup .message'); |
| 1249 | message.hide(); | 1326 | message.hide(); |
| @@ -1252,9 +1329,19 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1252,9 +1329,19 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1252 | // Validate form | 1329 | // Validate form |
| 1253 | var hasEmail = $inputEmail && $inputEmail.val().length > 0; | 1330 | var hasEmail = $inputEmail && $inputEmail.val().length > 0; |
| 1254 | var hasUsername = $inputUsername && $inputUsername.val().length > 0; | 1331 | var hasUsername = $inputUsername && $inputUsername.val().length > 0; |
| 1255 | - var hasPassword = $inputPassword && $inputPassword.val().length > 0; | ||
| 1256 | - var hasPasswordConfirmation = $inputPasswordConfirmation && $inputPasswordConfirmation.val().length > 0; | ||
| 1257 | - var hasPasswordEquals = $inputPassword.val() === $inputPasswordConfirmation.val(); | 1332 | + |
| 1333 | + var isOAUTH = $signupForm.find('#user_oauth_providers').val() !== ''; | ||
| 1334 | + | ||
| 1335 | + var hasPassword = true; | ||
| 1336 | + var hasPasswordConfirmation = true; | ||
| 1337 | + var hasPasswordEquals = true; | ||
| 1338 | + | ||
| 1339 | + //if(! isOAUTH){ | ||
| 1340 | + hasPassword = $inputPassword && $inputPassword.val().length > 0; | ||
| 1341 | + hasPasswordConfirmation = $inputPasswordConfirmation && $inputPasswordConfirmation.val().length > 0; | ||
| 1342 | + hasPasswordEquals = $inputPassword.val() === $inputPasswordConfirmation.val(); | ||
| 1343 | + //} | ||
| 1344 | + | ||
| 1258 | var hasAcceptation = $inputAcceptation.val(); | 1345 | var hasAcceptation = $inputAcceptation.val(); |
| 1259 | var hasCaptcha = $inputCaptcha.val().length > 0; | 1346 | var hasCaptcha = $inputCaptcha.val().length > 0; |
| 1260 | var hasError = (!hasEmail || !hasUsername || !hasPassword || !hasPasswordConfirmation || !hasPasswordEquals || !hasAcceptation || !hasCaptcha); | 1347 | var hasError = (!hasEmail || !hasUsername || !hasPassword || !hasPasswordConfirmation || !hasPasswordEquals || !hasAcceptation || !hasCaptcha); |
| @@ -1266,32 +1353,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1266,32 +1353,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1266 | 1353 | ||
| 1267 | var messageErrors = []; | 1354 | var messageErrors = []; |
| 1268 | 1355 | ||
| 1356 | + | ||
| 1269 | messageErrors.push('<ul>'); // start a HTML list | 1357 | messageErrors.push('<ul>'); // start a HTML list |
| 1270 | - | 1358 | + |
| 1271 | if (!hasEmail){ | 1359 | if (!hasEmail){ |
| 1272 | messageErrors.push('<li>O e-mail é um campo obrigatório.</li>'); | 1360 | messageErrors.push('<li>O e-mail é um campo obrigatório.</li>'); |
| 1273 | } | 1361 | } |
| 1274 | - | 1362 | + |
| 1275 | if (!hasUsername){ | 1363 | if (!hasUsername){ |
| 1276 | messageErrors.push('<li>O nome de usuário é um campo obrigatório.</li>'); | 1364 | messageErrors.push('<li>O nome de usuário é um campo obrigatório.</li>'); |
| 1277 | } | 1365 | } |
| 1278 | - | ||
| 1279 | - if (!hasPassword){ | ||
| 1280 | - messageErrors.push('<li>A senha é um campo obrigatório.</li>'); | ||
| 1281 | - } | ||
| 1282 | - | ||
| 1283 | - if (!hasPasswordConfirmation){ | ||
| 1284 | - messageErrors.push('<li>A confirmação da senha é um campo obrigatório.</li>'); | ||
| 1285 | - } | ||
| 1286 | - | ||
| 1287 | - if (!hasPasswordEquals){ | ||
| 1288 | - messageErrors.push('<li>A senha e confirmação da senha devem ser iguais.</li>'); | 1366 | + |
| 1367 | + if(!isOAUTH){ | ||
| 1368 | + if (!hasPassword){ | ||
| 1369 | + messageErrors.push('<li>A senha é um campo obrigatório.</li>'); | ||
| 1370 | + } | ||
| 1371 | + | ||
| 1372 | + if (!hasPasswordConfirmation){ | ||
| 1373 | + messageErrors.push('<li>A confirmação da senha é um campo obrigatório.</li>'); | ||
| 1374 | + } | ||
| 1375 | + | ||
| 1376 | + if (!hasPasswordEquals){ | ||
| 1377 | + messageErrors.push('<li>A senha e confirmação da senha devem ser iguais.</li>'); | ||
| 1378 | + } | ||
| 1289 | } | 1379 | } |
| 1290 | - | 1380 | + |
| 1291 | if (!hasAcceptation){ | 1381 | if (!hasAcceptation){ |
| 1292 | messageErrors.push('<li>Você deve ler e aceitar os termos de uso.</li>'); | 1382 | messageErrors.push('<li>Você deve ler e aceitar os termos de uso.</li>'); |
| 1293 | } | 1383 | } |
| 1294 | - | 1384 | + |
| 1295 | if (!hasCaptcha){ | 1385 | if (!hasCaptcha){ |
| 1296 | messageErrors.push('<li>O ReCaptcha é um campo obrigatório.</li>'); | 1386 | messageErrors.push('<li>O ReCaptcha é um campo obrigatório.</li>'); |
| 1297 | } | 1387 | } |
| @@ -1358,6 +1448,30 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1358,6 +1448,30 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1358 | } | 1448 | } |
| 1359 | }); | 1449 | }); |
| 1360 | 1450 | ||
| 1451 | + var popupCenter = function(url, title, w, h) { | ||
| 1452 | + var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left; | ||
| 1453 | + var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top; | ||
| 1454 | + | ||
| 1455 | + var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; | ||
| 1456 | + var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; | ||
| 1457 | + | ||
| 1458 | + var left = ((width / 2) - (w / 2)) + dualScreenLeft; | ||
| 1459 | + var top = ((height / 3) - (h / 3)) + dualScreenTop; | ||
| 1460 | + | ||
| 1461 | + var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); | ||
| 1462 | + | ||
| 1463 | + // Puts focus on the newWindow | ||
| 1464 | + if (window.focus) { | ||
| 1465 | + newWindow.focus(); | ||
| 1466 | + } | ||
| 1467 | + }; | ||
| 1468 | + | ||
| 1469 | + $(document).on('click', '.social a.popup', {}, function popUp(e) { | ||
| 1470 | + var self = $(this); | ||
| 1471 | + popupCenter(self.attr('href'), self.find('.rrssb-text').html(), 580, 470); | ||
| 1472 | + e.preventDefault(); | ||
| 1473 | + }); | ||
| 1474 | + | ||
| 1361 | $(document).on('click', '#logout-button', function (e){ | 1475 | $(document).on('click', '#logout-button', function (e){ |
| 1362 | $.removeCookie('_dialoga_session'); | 1476 | $.removeCookie('_dialoga_session'); |
| 1363 | $.removeCookie('votedProposals'); | 1477 | $.removeCookie('votedProposals'); |
| @@ -1395,7 +1509,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1395,7 +1509,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1395 | // if(url.indexOf('?') !== -1){ | 1509 | // if(url.indexOf('?') !== -1){ |
| 1396 | // c = '&'; | 1510 | // c = '&'; |
| 1397 | // } | 1511 | // } |
| 1398 | - | 1512 | + |
| 1399 | // $iframe.attr("src",url+c+"wmode=opaque"); | 1513 | // $iframe.attr("src",url+c+"wmode=opaque"); |
| 1400 | // // console.debug('iframe changed to opaque mode'); | 1514 | // // console.debug('iframe changed to opaque mode'); |
| 1401 | // }); | 1515 | // }); |
| @@ -1431,7 +1545,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1431,7 +1545,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1431 | 1545 | ||
| 1432 | return function debounced () { | 1546 | return function debounced () { |
| 1433 | var obj = this, args = arguments; | 1547 | var obj = this, args = arguments; |
| 1434 | - | 1548 | + |
| 1435 | function delayed () { | 1549 | function delayed () { |
| 1436 | if (!execAsap){ | 1550 | if (!execAsap){ |
| 1437 | func.apply(obj, args); | 1551 | func.apply(obj, args); |
| @@ -1449,7 +1563,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -1449,7 +1563,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 1449 | }; | 1563 | }; |
| 1450 | }; | 1564 | }; |
| 1451 | 1565 | ||
| 1452 | - // smartresize | 1566 | + // smartresize |
| 1453 | jQuery.fn[sr] = function(fn){ | 1567 | jQuery.fn[sr] = function(fn){ |
| 1454 | return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); | 1568 | return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); |
| 1455 | }; | 1569 | }; |
sass/style.sass
| @@ -425,6 +425,8 @@ h1 | @@ -425,6 +425,8 @@ h1 | ||
| 425 | // 6.3 - video | 425 | // 6.3 - video |
| 426 | #content | 426 | #content |
| 427 | margin-bottom: $gutter * 1.5 | 427 | margin-bottom: $gutter * 1.5 |
| 428 | + .embed-responsive | ||
| 429 | + border: 1px solid #333 | ||
| 428 | 430 | ||
| 429 | // 6.4 - background do conteudo | 431 | // 6.4 - background do conteudo |
| 430 | .content | 432 | .content |
| @@ -1212,11 +1214,23 @@ td | @@ -1212,11 +1214,23 @@ td | ||
| 1212 | clear: both | 1214 | clear: both |
| 1213 | content: " " | 1215 | content: " " |
| 1214 | display: table | 1216 | display: table |
| 1215 | - #serpro_captcha_component_img_captcha_serpro_gov_br | 1217 | + #divContainerUI_captcha_serpro_gov_br |
| 1218 | + border: none | ||
| 1219 | + box-shadow: none | ||
| 1220 | + width: 250px | ||
| 1221 | + #img_captcha_serpro_gov_br | ||
| 1216 | float: left | 1222 | float: left |
| 1217 | - #serpro_captcha_component_divButtons_captcha_serpro_gov_br | 1223 | + #divButtons_captcha_serpro_gov_br |
| 1218 | float: left | 1224 | float: left |
| 1219 | - margin: 10px | 1225 | + width: 100px |
| 1226 | + img | ||
| 1227 | + float: left | ||
| 1228 | + margin: 0 0 0 10px | ||
| 1229 | + | ||
| 1230 | +// 6.22 - random proposal | ||
| 1231 | +.random-proposal > .success-panel | ||
| 1232 | + position: relative | ||
| 1233 | + margin-bottom: 10px | ||
| 1220 | 1234 | ||
| 1221 | // ------------------------------------ | 1235 | // ------------------------------------ |
| 1222 | // 7 - Modificadores | 1236 | // 7 - Modificadores |
| @@ -1462,6 +1476,9 @@ h3.titulo-destaque | @@ -1462,6 +1476,9 @@ h3.titulo-destaque | ||
| 1462 | .embed-responsive | 1476 | .embed-responsive |
| 1463 | margin-left: $gutter * (-1) | 1477 | margin-left: $gutter * (-1) |
| 1464 | margin-right: $gutter * (-1) | 1478 | margin-right: $gutter * (-1) |
| 1479 | + iframe | ||
| 1480 | + left: 0 !important | ||
| 1481 | + | ||
| 1465 | .themes | 1482 | .themes |
| 1466 | margin-bottom: $gutter * 1.5 | 1483 | margin-bottom: $gutter * 1.5 |
| 1467 | margin-left: $gutter * 1.5 * (-1) | 1484 | margin-left: $gutter * 1.5 * (-1) |