Commit 1bbd307babfac0befcffbd69947ccdf53338ac7b

Authored by Michel Felipe
1 parent 1f3b2247
Exists in jasmine-testing

Resolve merge conflicts of testing Refactory

@@ -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([&#39;handlebars&#39;], function(Handlebars){ @@ -3,13 +3,13 @@ define([&#39;handlebars&#39;], 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([&#39;handlebars&#39;], function(Handlebars){ @@ -18,19 +18,19 @@ define([&#39;handlebars&#39;], 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([&#39;handlebars&#39;], function(Handlebars){ @@ -39,13 +39,13 @@ define([&#39;handlebars&#39;], 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([&#39;handlebars&#39;], function(Handlebars){ @@ -56,29 +56,29 @@ define([&#39;handlebars&#39;], 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([&#39;handlebars&#39;], function(Handlebars){ @@ -109,4 +109,6 @@ define([&#39;handlebars&#39;], 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 }