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