handlebars-helpers.js
1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Handlebars.registerHelper('link', function(text, url) {
text = Handlebars.Utils.escapeExpression(text);
url = Handlebars.Utils.escapeExpression(url);
var result = '<a id="#' + url + '" href="#proposal-item-' + url + '">' + text + '</a>';
return new Handlebars.SafeString(result);
});
Handlebars.registerHelper('list_proposal', function(proposals, options) {
var ret = "";
for(var i=0, j=proposals.length; i<j; i++) {
element = "<li class='proposal-item'>";
element = element + "<ul class='category'>";
for(var x=0, y=proposals[i].categories.length; x<y; x++) {
if((options.hash['category'] != null) && (options.hash['category'] != proposals[i].categories[x].slug)){
element = '';
continue;
}
element = element + '<li>' + proposals[i].categories[x].name + '</li>';
}
if(element == ''){
continue;
}
element = element + '</ul>';
element = element + options.fn(proposals[i]);
element = element + '<p>' + proposals[i].body + '</p>';
ret = ret + element + '</li>';
}
return ret;
});
Handlebars.registerHelper('proposal_detail', function(proposals, options) {
var ret = "";
for(var i=0, j=proposals.length; i<j; i++) {
ret = ret + "<div class='proposal-detail hide' id='proposal-item-" + proposals[i].id + "'>";
ret = ret + "<div class='title'>" + proposals[i].title + "</div>";
ret = ret + "<span>" + proposals[i].body + "</span>";
ret = ret + '</div>';
}
return ret;
});