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);