Commit 0e8518bf6927664cb924c1c0d50164ea75851441

Authored by Leandro Santos
1 parent e4c7476f

filter proposal by category

index.html
... ... @@ -31,7 +31,7 @@
31 31 <img src="{{../host}}{{image.thumb_url}}"/>
32 32 {{#link name id}}{{/link}}
33 33 <ul id='proposal-item-{{id}}' class='proposal-category-item hide'>
34   - {{#list_proposal ../article.children}}
  34 + {{#list_proposal ../article.children category=slug}}
35 35 {{#link title id}}{{/link}}
36 36 {{/list_proposal}}
37 37 </ul>
... ... @@ -44,6 +44,7 @@
44 44 {{#link title id}}{{/link}}
45 45 {{/list_proposal}}
46 46 </ul>
  47 +
47 48 {{#each article.children}}
48 49 <div class='proposal-detail hide' id="proposal-item-{{id}}">
49 50 <div class='title'>{{title}}</div>
... ...
js/handlebars-helpers.js
... ... @@ -10,18 +10,24 @@ Handlebars.registerHelper(&#39;link&#39;, function(text, url) {
10 10 Handlebars.registerHelper('list_proposal', function(proposals, options) {
11 11  
12 12 var ret = "";
13   -
14 13 for(var i=0, j=proposals.length; i<j; i++) {
15   - ret = ret + "<li class='proposal-item'>";
16   - ret = ret + "<ul class='category'>";
  14 + element = "<li class='proposal-item'>";
  15 + element = element + "<ul class='category'>";
17 16  
18 17 for(var x=0, y=proposals[i].categories.length; x<y; x++) {
19   - ret = ret + '<li>' + proposals[i].categories[x].name + '</li>';
  18 + if((options.hash['category'] != null) && (options.hash['category'] != proposals[i].categories[x].slug)){
  19 + element = '';
  20 + continue;
  21 + }
  22 + element = element + '<li>' + proposals[i].categories[x].name + '</li>';
  23 + }
  24 + if(element == ''){
  25 + continue;
20 26 }
21   - ret = ret + '</ul>';
22   - ret = ret + options.fn(proposals[i]);
23   - ret = ret + '<p>' + proposals[i].body + '</p>';
24   - ret = ret + '</li>';
  27 + element = element + '</ul>';
  28 + element = element + options.fn(proposals[i]);
  29 + element = element + '<p>' + proposals[i].body + '</p>';
  30 + ret = ret + element + '</li>';
25 31 }
26 32  
27 33 return ret;
... ...
js/main.js
... ... @@ -33,6 +33,8 @@ $.getJSON(noosferoAPI)
33 33 $('#proposal-categories').show();
34 34 $('#nav-proposal-categories a').addClass('active');
35 35 $('#nav-proposal-group a').removeClass('active');
  36 + $('.proposal-category-item').hide();
  37 + $('.proposal-detail').hide();
36 38 }else if(item == 'proposal-group'){
37 39 //Display the Topics or Discussions tab
38 40 $('#proposal-categories').hide();
... ...