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