X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=1a58f589edbb429d74b57b58082a902e3e6fef47;hb=a8625b5faf5a1217e894d60b61cf93925fed4906;hp=3702be04d697e98075dd419cf7f9174f7806f50c;hpb=14d2a436cb3b68039e79481fefa36d57197cfbe3;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 3702be0..1a58f58 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -100,6 +100,17 @@ 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); + + var result = '' + text + ''; + + return new Handlebars.SafeString(result); +}); + + { /* default mkws config */ var config_default = { @@ -644,12 +655,37 @@ function renderDetails(data, marker) maybeLoadTemplate("Record"); } + var details; if (mkws.templateRecord) { var template = mkws.templateRecord; - return template(data); + details = template(data); + } else { + details = defaultRenderDetails(data, marker); + } + + return '
' + details + '
'; +} + + +function maybeLoadTemplate(name) +{ + var source = $("#mkwsTemplate" + name).html(); + if (!source) { + debug("no template '" + name + "': falling back to default behaviour"); + // Mark template as not provided + mkws['template' + name] = 0; + return; } - var details = '
'; + var template = Handlebars.compile(source); + debug("compiled template '" + name + "'"); + mkws['template' + name] = template; +} + + +function defaultRenderDetails(data, marker) +{ + var details = '
'; if (marker) details += ''; var locations = []; @@ -667,28 +703,11 @@ function renderDetails(data, marker) } else { details += renderField("Location" + (locations.length == 1 ? "" : "s"), locations); } - details += '
'+ marker + '
'; - + details += ''; return details; } -function maybeLoadTemplate(name) -{ - var source = $("#mkwsTemplate" + name).html(); - if (!source) { - debug("no template '" + name + "': falling back to default behaviour"); - // Mark template as not provided - mkws['template' + name] = 0; - return; - } - - var template = Handlebars.compile(source); - debug("compiled template '" + name + "'"); - mkws['template' + name] = template; -} - - function renderField(caption, data, data2, data3) { if (data === undefined) { return "";