X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=124b3115fb9723bcf7227d31e86b8337e09fd45a;hb=588dc0fed2bd1f9240418e05a87514796679223a;hp=1a58f589edbb429d74b57b58082a902e3e6fef47;hpb=a8625b5faf5a1217e894d60b61cf93925fed4906;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 1a58f58..124b311 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -101,13 +101,38 @@ mkws.debug_function = function (string) { var debug = mkws.debug_function; // local alias -Handlebars.registerHelper('link', function(text, url) { - text = Handlebars.Utils.escapeExpression(text); - url = Handlebars.Utils.escapeExpression(url); +Handlebars.registerHelper('link', function(a) { + var result = ""; + for (var i in a) { + if (i > 0) result += "
"; + var text = Handlebars.Utils.escapeExpression(a[i]); + result += '' + text + ''; + } + + return new Handlebars.SafeString(result); +}); + + +Handlebars.registerHelper('json', function(obj) { + return JSON.stringify(obj); +}); - var result = '' + text + ''; - return new Handlebars.SafeString(result); +// We need {{attr name}} because Handlebars can't parse {{@@name}} +Handlebars.registerHelper('attr', function(attrName) { + return this['@' + attrName]; +}); + + +Handlebars.registerHelper('first', function(items, options) { + var having = options.hash.having; + for (var i in items) { + var item = items[i] + if (!having || item[having]) { + return options.fn(item); + } + } + return ""; });