diff --git a/index.html b/index.html index d82ed1a..5f5cf64 100644 --- a/index.html +++ b/index.html @@ -7,33 +7,58 @@ diff --git a/js/main.js b/js/main.js index dfb6246..a90c739 100644 --- a/js/main.js +++ b/js/main.js @@ -1,4 +1,4 @@ -define(['handlebars','handlebars_helpers','jquery'], function(Handlebars){ +define(['handlebars','handlebars_helpers'], function(Handlebars){ /* global Handlebars, $ */ @@ -227,7 +227,7 @@ define(['handlebars','handlebars_helpers','jquery'], function(Handlebars){ $body.off('click', '.vote-actions .like'); $body.on('click', '.vote-actions .like', function(e) { //Helps to prevent more than one vote per proposal - if(contextMain.hasProposalbeenVoted(article.id)){ + if(ProposalApp.hasProposalbeenVoted(article.id)){ console.log("Proposta " + article.id + " já havia sido votada"); contextMain.loadRandomProposal(topic_id, private_token); e.preventDefault(); @@ -241,7 +241,7 @@ define(['handlebars','handlebars_helpers','jquery'], function(Handlebars){ private_token: private_token } }).done(function( /*data*/ ) { - contextMain.addVotedProposal(article.id); + ProposalApp.addVotedProposal(article.id); contextMain.loadRandomProposal(topic_id, private_token); }); e.preventDefault(); @@ -516,28 +516,7 @@ define(['handlebars','handlebars_helpers','jquery'], function(Handlebars){ }else{ this.display_proposal_by_category('proposal-item-' + categoryId); } - }, - addVotedProposal: function(id) { - var votedProposals; - if (typeof($.cookie("votedProposals")) == "undefined"){ - votedProposals = []; - } - else{ - votedProposals = JSON.parse($.cookie("votedProposals")); - } - if (votedProposals.indexOf(id)==-1){ - votedProposals.push(id); - } - $.cookie("votedProposals", JSON.stringify(votedProposals), {expires : 999 }) ; - return votedProposals; - }, - hasProposalbeenVoted: function(id) { - if (typeof($.cookie("votedProposals")) == "undefined") { - return false; - } - votedProposals = JSON.parse($.cookie("votedProposals")); - return votedProposals.indexOf(id)!=-1; - } + } } })(); diff --git a/js/proposal-app.js b/js/proposal-app.js new file mode 100644 index 0000000..75b81a7 --- /dev/null +++ b/js/proposal-app.js @@ -0,0 +1,34 @@ +define(['jquery','jquery_cookie'],function($){ + + + ProposalApp = (function (){ + + return { + addVotedProposal: function(id) { + var votedProposals; + if (typeof($.cookie("votedProposals")) == "undefined"){ + votedProposals = []; + } + else{ + votedProposals = JSON.parse($.cookie("votedProposals")); + } + if (votedProposals.indexOf(id)==-1){ + votedProposals.push(id); + } + $.cookie("votedProposals", JSON.stringify(votedProposals), {expires : 999 }) ; + return votedProposals; + }, + + hasProposalbeenVoted: function(id) { + if (typeof($.cookie("votedProposals")) == "undefined") { + return false; + } + votedProposals = JSON.parse($.cookie("votedProposals")); + return votedProposals.indexOf(id)!=-1; + } + }; + + })(); + + return ProposalApp; +}); diff --git a/js/requirejs-config.js b/js/requirejs-config.js index 827522f..9c7433b 100644 --- a/js/requirejs-config.js +++ b/js/requirejs-config.js @@ -1,26 +1,23 @@ -var base = window.location.href; -var host = window.location.host; -var regex = new RegExp(".*" + host + '/', "g"); - -if(host){ - base = base.replace(regex,''); +if(window.Url){ + var base = Url.initBase(); + base = Url.removeUrlParameters(base) + '/js/'; }else{ - base = base.replace('index.html',''); + base = '../js' } -base = removeUrlParameters(base); requirejs.config({ - baseUrl: ( base + '/js/'), + baseUrl: base, waitSeconds: 0, paths: { jquery: 'jquery-2.1.3.min', - jquery_ui: 'jquery-ui-1.11.4.custom/jquery-ui.min', - jquery_cookie: 'jquery.cookie', + jquery_ui: 'jquery-ui-1.11.4.custom/jquery-ui.min', + jquery_cookie: 'jquery.cookie', handlebars: 'handlebars-v3.0.1', handlebars_helpers: 'handlebars-helpers', jquery_maxlength: 'jquery.maxlength.min', layout: 'layout', - main: 'main' + main: 'main', + proposal_app: 'proposal-app' }, shim: { 'handlebars':{ @@ -38,9 +35,13 @@ requirejs.config({ }, 'handlebars_helpers':{ deps: ['handlebars'] + }, + 'proposal_app' :{ + deps: ['jquery'], + exports: 'ProposalApp' } } }); -requirejs(['jquery', 'jquery_ui', 'jquery_cookie', 'handlebars', 'handlebars_helpers']); -requirejs(['jquery_maxlength', 'layout', 'main']); +requirejs(['jquery', 'proposal_app', 'jquery_ui','handlebars_helpers']); +requirejs(['jquery_maxlength', 'layout','main']); -- libgit2 0.21.2