joytpl
Version:
joy - js template engine with short syntax and modern features
3 lines • 1.22 kB
JavaScript
define(['libs/joy-runtime', 'utils/li', 'utils/l10n', 'tpl/forms/input', 'tpl/alert'], function(joy, li, l10n, input, alert) {
return function(data) {data=joy.o(data);return ' '+'\r\n'+'\r\n'+' '+'\r\n'+'\r\n\r\n'+joy.p(alert({type:'info',content:joy.e(joy.p(data.info))}))+'\r\n'+joy.p(alert({content:'\r\n '+'{'+'\r\n "content": "'+joy.e(joy.p(data.error))+'",\r\n "type": "error"\r\n '+'}'+'\r\n'}))+'\r\n\r\n<nav>\r\n '+joy.l(data.menuItems, function(a,i) {return '\r\n <a class="'+((i%2)?'even':'odd')+'" href="'+joy.e(joy.p(a.url))+'">'+joy.e(joy.p(a.text))+'</a>\r\n '})+'\r\n</nav>\r\n\r\n<article>\r\n <h1>'+joy.p(l10n('Hello from %s',data.title))+'!</h1>\r\n <hr />\r\n <h2>'+joy.e(joy.p(l10n('Loop with helpers')))+':</h2>\r\n <ul class="features">\r\n '+joy.l(data.users, function(employee,key) {return '\r\n '+joy.p(li({content:'\r\n <b>'+joy.e(joy.p(key))+'</b>\r\n '+joy.p(input(employee.name))+'<i>'+joy.e(joy.p(employee.age))+'</i>\r\n '}))+'\r\n '})+'\r\n </ul>\r\n\r\n <h2>'+joy.e(joy.p(l10n('Empty value')))+':</h2>\r\n '+joy.e(joy.p(data.empty))+'\r\n</article>\r\n';}
});