getReblastPropertyByLanguage helper
by John Allan
HTML
<script src="http://www.resaas.com/assets/common/js/vendor/handlebars/handlebars-v3.0.0.min.js?v=1-7"></script>
<div id="body"></div>
JavaScript
Handlebars.registerHelper('getReblastPropertyByLanguage', function(lang, property) {
if (this.AttachmentLanguageList[lang]) {
return this.AttachmentLanguageList[lang][property];
}
return this.AttachmentLanguageList[this.OriginalLanguage][property]
});
var template, t, data, html;
data = {
'DefaultLanguage': 'en',
'Reblasts': [
{
'User': 'John',
'OriginalLanguage': 'fr',
'AttachmentLanguageList': {
'en': {
'title': 'en title',
'description': 'en desc'
},
'fr': {
'title': 'fr title',
'description': 'fr desc'
}
}
},
{
'User': 'Roberge',
'OriginalLanguage': 'fr',
'AttachmentLanguageList': {
'sp': {
'title': 'sp 2 title',
'description': 'sp 2 desc'
},
'fr': {
'title': 'fr 2 title',
'description': 'fr 2 desc'
}
}
}
]
}
template = '{{#each Reblasts}}<h1>{{getReblastPropertyByLanguage ../DefaultLanguage "title"}}</h1><p>By: {{User}}</p><p>{{getReblastPropertyByLanguage ../DefaultLanguage "description"}}{{/each}}</p>';
t = Handlebars.compile(template);
html = t(data);
$('#body').append(html);