Commit 0e8518bf6927664cb924c1c0d50164ea75851441
1 parent
e4c7476f
Exists in
master
and in
11 other branches
filter proposal by category
Showing
3 changed files
with
18 additions
and
9 deletions
Show diff stats
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('link', 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(); | ... | ... |