Commit 1bbd307babfac0befcffbd69947ccdf53338ac7b
1 parent
1f3b2247
Exists in
jasmine-testing
Resolve merge conflicts of testing Refactory
Showing
3 changed files
with
38 additions
and
40 deletions
Show diff stats
index.html
@@ -19,16 +19,8 @@ | @@ -19,16 +19,8 @@ | ||
19 | return { | 19 | return { |
20 | 20 | ||
21 | initBase: function(){ | 21 | initBase: function(){ |
22 | - _base = window.location.href; | ||
23 | - var host = window.location.host; | ||
24 | - var regex = new RegExp(".*" + host + '/', "g"); | ||
25 | - | ||
26 | - if(host){ | ||
27 | - _base = _base.replace(regex,''); | ||
28 | - }else{ | ||
29 | - _base = _base.replace('index.html',''); | ||
30 | - } | ||
31 | - return this; | 22 | + _base = "//" + window.location.host + window.location.pathname.replace('/index.html',''); |
23 | + return _base; | ||
32 | }, | 24 | }, |
33 | getBase: function(){ | 25 | getBase: function(){ |
34 | if(!_base){ | 26 | if(!_base){ |
@@ -37,17 +29,16 @@ | @@ -37,17 +29,16 @@ | ||
37 | 29 | ||
38 | return _base; | 30 | return _base; |
39 | }, | 31 | }, |
40 | - removeUrlParameters: function(full_url){ | ||
41 | - full_url = full_url || _base; | ||
42 | - var url_base = full_url.split('#').shift(); | ||
43 | - return url_base; | 32 | + getPath: function(){ |
33 | + | ||
34 | + return window.location.pathname.replace(/\/\w*\.html/g,''); | ||
44 | }, | 35 | }, |
45 | addBaseUrl: function(filename){ | 36 | addBaseUrl: function(filename){ |
46 | base = window.location.href; | 37 | base = window.location.href; |
47 | if(base.match(/file:/) || filename.match(/http:/)){ | 38 | if(base.match(/file:/) || filename.match(/http:/)){ |
48 | base = ''; | 39 | base = ''; |
49 | }else{ | 40 | }else{ |
50 | - base = this.removeUrlParameters(base) + '/'; | 41 | + base = this.initBase() + '/'; |
51 | } | 42 | } |
52 | return base + filename; | 43 | return base + filename; |
53 | }, | 44 | }, |
@@ -93,16 +84,16 @@ | @@ -93,16 +84,16 @@ | ||
93 | var script_element = document.createElement('script'); | 84 | var script_element = document.createElement('script'); |
94 | script_element.type = 'text/javascript'; | 85 | script_element.type = 'text/javascript'; |
95 | script_element.src = makeJSURL('js/require.js'); | 86 | script_element.src = makeJSURL('js/require.js'); |
96 | - // script_element.setAttribute('data-main', makeJSURL('js/requirejs-config.js')); | 87 | + |
97 | if(onLoad instanceof Function){ | 88 | if(onLoad instanceof Function){ |
98 | script_element.onreadystatechange = function(){ | 89 | script_element.onreadystatechange = function(){ |
99 | if (this.readyState == 'complete'){ | 90 | if (this.readyState == 'complete'){ |
100 | onload(); | 91 | onload(); |
101 | } | 92 | } |
93 | + | ||
102 | } | 94 | } |
103 | script_element.addEventListener('load', onLoad); | 95 | script_element.addEventListener('load', onLoad); |
104 | } | 96 | } |
105 | - | ||
106 | head.appendChild(script_element); | 97 | head.appendChild(script_element); |
107 | } | 98 | } |
108 | loadCSSFiles(); | 99 | loadCSSFiles(); |
@@ -245,6 +236,7 @@ | @@ -245,6 +236,7 @@ | ||
245 | </div> | 236 | </div> |
246 | </div> | 237 | </div> |
247 | <div class="results-container hide"></div> | 238 | <div class="results-container hide"></div> |
239 | + | ||
248 | <div class="experience-proposal-container"> | 240 | <div class="experience-proposal-container"> |
249 | <div class="experience-proposal"> | 241 | <div class="experience-proposal"> |
250 | <div class="container-title">Conte sua experiência</div> | 242 | <div class="container-title">Conte sua experiência</div> |
@@ -297,6 +289,8 @@ | @@ -297,6 +289,8 @@ | ||
297 | </ul> | 289 | </ul> |
298 | </div> | 290 | </div> |
299 | </div> | 291 | </div> |
292 | + | ||
293 | + <div class="clearfix"></div> | ||
300 | </div> | 294 | </div> |
301 | </div> | 295 | </div> |
302 | {{!-- </div> --}} | 296 | {{!-- </div> --}} |
@@ -363,13 +357,15 @@ | @@ -363,13 +357,15 @@ | ||
363 | </script> | 357 | </script> |
364 | 358 | ||
365 | <script type='text/javascript'> | 359 | <script type='text/javascript'> |
360 | + | ||
366 | loadRequireJS(function(){ | 361 | loadRequireJS(function(){ |
367 | 362 | ||
368 | - require([ Url.getBase()+'/js/requirejs-config' ], function(){ | 363 | + require([Url.getPath()+'/js/requirejs-config.js' ], function(){ |
369 | requirejs(['proposal_app','main']); | 364 | requirejs(['proposal_app','main']); |
370 | }); | 365 | }); |
371 | 366 | ||
372 | }); | 367 | }); |
368 | + | ||
373 | </script> | 369 | </script> |
374 | 370 | ||
375 | </body> | 371 | </body> |
js/handlebars-helpers.js
@@ -3,13 +3,13 @@ define(['handlebars'], function(Handlebars){ | @@ -3,13 +3,13 @@ define(['handlebars'], function(Handlebars){ | ||
3 | Handlebars.registerHelper('link', function(text, url) { | 3 | Handlebars.registerHelper('link', function(text, url) { |
4 | text = Handlebars.Utils.escapeExpression(text); | 4 | text = Handlebars.Utils.escapeExpression(text); |
5 | url = Handlebars.Utils.escapeExpression(url); | 5 | url = Handlebars.Utils.escapeExpression(url); |
6 | - | 6 | + |
7 | // Exemplo: <a href="#/programas/{{id}}" class="proposal-link" data-target="">{{name}}</a> | 7 | // Exemplo: <a href="#/programas/{{id}}" class="proposal-link" data-target="">{{name}}</a> |
8 | var result = '<a href="#/programas/' + url + '" data-target="proposal-item-' + url + '" class="proposal-link">' + text + '</a>'; | 8 | var result = '<a href="#/programas/' + url + '" data-target="proposal-item-' + url + '" class="proposal-link">' + text + '</a>'; |
9 | - | 9 | + |
10 | return new Handlebars.SafeString(result); | 10 | return new Handlebars.SafeString(result); |
11 | }); | 11 | }); |
12 | - | 12 | + |
13 | Handlebars.registerHelper('list_proposal', function(proposals, options) { | 13 | Handlebars.registerHelper('list_proposal', function(proposals, options) { |
14 | 14 | ||
15 | proposals = proposals.sort(function(p1, p2) { | 15 | proposals = proposals.sort(function(p1, p2) { |
@@ -18,19 +18,19 @@ define(['handlebars'], function(Handlebars){ | @@ -18,19 +18,19 @@ 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">' + | 21 | + |
22 | + element = '<li class="proposal-item">' + | ||
23 | '<a href="#/programas/'+proposal.id+'" data-target="proposal-item-'+proposal.id+'" class="proposal-link">' + | 23 | '<a href="#/programas/'+proposal.id+'" data-target="proposal-item-'+proposal.id+'" class="proposal-link">' + |
24 | '<div class="item">' + | 24 | '<div class="item">' + |
25 | '' + proposal.title; | 25 | '' + proposal.title; |
26 | category = "<ul class='category'>"; | 26 | category = "<ul class='category'>"; |
27 | - | ||
28 | - | 27 | + |
28 | + | ||
29 | for(var x=0, y=proposal.categories.length; x<y; x++) { | 29 | for(var x=0, y=proposal.categories.length; x<y; x++) { |
30 | if((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)){ | 30 | if((options.hash['category'] != null) && (options.hash['category'] != proposal.categories[x].slug)){ |
31 | element = ''; | 31 | element = ''; |
32 | continue; | 32 | continue; |
33 | - } | 33 | + } |
34 | category = category + '<li class="category-'+proposal.categories[x].slug+'">' + proposal.categories[x].name + '</li>'; | 34 | category = category + '<li class="category-'+proposal.categories[x].slug+'">' + proposal.categories[x].name + '</li>'; |
35 | } | 35 | } |
36 | if(element == ''){ | 36 | if(element == ''){ |
@@ -39,13 +39,13 @@ define(['handlebars'], function(Handlebars){ | @@ -39,13 +39,13 @@ define(['handlebars'], function(Handlebars){ | ||
39 | category = category + '</ul>'; | 39 | category = category + '</ul>'; |
40 | // element = element + options.fn(proposal); | 40 | // element = element + options.fn(proposal); |
41 | element = element + (proposal.abstract ? proposal.abstract : ''); | 41 | element = element + (proposal.abstract ? proposal.abstract : ''); |
42 | - | 42 | + |
43 | element = element + category; | 43 | element = element + category; |
44 | ret = ret + element + '</div></a></li>'; | 44 | ret = ret + element + '</div></a></li>'; |
45 | } | 45 | } |
46 | return ret; | 46 | return ret; |
47 | }); | 47 | }); |
48 | - | 48 | + |
49 | Handlebars.registerHelper('proposal_detail', function(proposals, options) { | 49 | Handlebars.registerHelper('proposal_detail', function(proposals, options) { |
50 | var ret = ""; | 50 | var ret = ""; |
51 | for(var i=0, j=proposals.length; i<j; i++) { | 51 | for(var i=0, j=proposals.length; i<j; i++) { |
@@ -56,29 +56,29 @@ define(['handlebars'], function(Handlebars){ | @@ -56,29 +56,29 @@ define(['handlebars'], function(Handlebars){ | ||
56 | } | 56 | } |
57 | return ret; | 57 | return ret; |
58 | }); | 58 | }); |
59 | - | 59 | + |
60 | Handlebars.registerHelper('replace', function(string, to_replace, replacement) { | 60 | Handlebars.registerHelper('replace', function(string, to_replace, replacement) { |
61 | return (string || '').replace(new RegExp(to_replace, 'g'), replacement); | 61 | return (string || '').replace(new RegExp(to_replace, 'g'), replacement); |
62 | }); | 62 | }); |
63 | - | 63 | + |
64 | Handlebars.registerHelper('score', function(article) { | 64 | Handlebars.registerHelper('score', function(article) { |
65 | return article.votes_for - article.votes_against; | 65 | return article.votes_for - article.votes_against; |
66 | }); | 66 | }); |
67 | - | 67 | + |
68 | Handlebars.registerHelper('apoio', function(article) { | 68 | Handlebars.registerHelper('apoio', function(article) { |
69 | // return (article.votes_for - article.votes_against)/(article.countViews); | 69 | // return (article.votes_for - article.votes_against)/(article.countViews); |
70 | return 0; | 70 | return 0; |
71 | }); | 71 | }); |
72 | - | 72 | + |
73 | Handlebars.registerHelper('participacao', function(article) { | 73 | Handlebars.registerHelper('participacao', function(article) { |
74 | // return (article.votes_for + article.votes_against)/(article.countViews); | 74 | // return (article.votes_for + article.votes_against)/(article.countViews); |
75 | return 0; | 75 | return 0; |
76 | }); | 76 | }); |
77 | - | 77 | + |
78 | Handlebars.registerHelper('select_proposal', function(proposals, category_slug, selected_id) { | 78 | Handlebars.registerHelper('select_proposal', function(proposals, category_slug, selected_id) { |
79 | var ret = '<label for="proposal-selection" class="sr-only">Selecione o programa</label>' | 79 | var ret = '<label for="proposal-selection" class="sr-only">Selecione o programa</label>' |
80 | ret = ret + '<select id="proposal-selection" name="proposal-selection" data-proposal="'+selected_id+'" title="Selecione o programa" class="proposal-selection">'; | 80 | ret = ret + '<select id="proposal-selection" name="proposal-selection" data-proposal="'+selected_id+'" title="Selecione o programa" class="proposal-selection">'; |
81 | - | 81 | + |
82 | for(var i=0; i<proposals.length; i++) { | 82 | for(var i=0; i<proposals.length; i++) { |
83 | if(!proposal_has_category(proposals[i], category_slug)) continue; | 83 | if(!proposal_has_category(proposals[i], category_slug)) continue; |
84 | var selected = proposals[i].id===selected_id ? "selected" : ""; | 84 | var selected = proposals[i].id===selected_id ? "selected" : ""; |
@@ -109,4 +109,6 @@ define(['handlebars'], function(Handlebars){ | @@ -109,4 +109,6 @@ define(['handlebars'], function(Handlebars){ | ||
109 | return false; | 109 | return false; |
110 | } | 110 | } |
111 | 111 | ||
112 | + return Handlebars; | ||
113 | + | ||
112 | }); | 114 | }); |
js/requirejs-config.js
1 | var base,test = ''; | 1 | var base,test = ''; |
2 | 2 | ||
3 | if(window.Url){ | 3 | if(window.Url){ |
4 | - var base = Url.initBase().removeUrlParameters()+'/js/'; | 4 | + base = Url.initBase() + '/js/'; |
5 | }else{ | 5 | }else{ |
6 | - base = '../js' | 6 | + base = '../js'; |
7 | test = window.location.href.replace(/\/\w*\.html/g,''); | 7 | test = window.location.href.replace(/\/\w*\.html/g,''); |
8 | } | 8 | } |
9 | 9 | ||
@@ -45,13 +45,13 @@ requirejs.config({ | @@ -45,13 +45,13 @@ requirejs.config({ | ||
45 | 'jquery_maxlength':{ | 45 | 'jquery_maxlength':{ |
46 | deps: ['jquery'] | 46 | deps: ['jquery'] |
47 | }, | 47 | }, |
48 | - 'jquery_cookie':{ | ||
49 | - deps: ['jquery'] | ||
50 | - }, | ||
51 | 'jquery_slick': { | 48 | 'jquery_slick': { |
52 | deps: ['jquery'] | 49 | deps: ['jquery'] |
53 | }, | 50 | }, |
54 | - 'proposal_app' :{ | 51 | + 'jquery_cookie':{ |
52 | + deps: ['jquery'] | ||
53 | + }, | ||
54 | + 'proposal_app': { | ||
55 | deps: ['jquery'], | 55 | deps: ['jquery'], |
56 | exports: 'ProposalApp' | 56 | exports: 'ProposalApp' |
57 | } | 57 | } |