Record details generated by a Handlebars template now correctly appear
authorMike Taylor <mike@indexdata.com>
Wed, 27 Nov 2013 11:47:56 +0000 (11:47 +0000)
committerMike Taylor <mike@indexdata.com>
Wed, 27 Nov 2013 11:47:56 +0000 (11:47 +0000)
within <div class="details"> with proper ID. As a result, they share
cosmetics with the default case and respond properly to clicks
elsewhere.

tools/htdocs/mkws.js

index 3702be0..60464d7 100644 (file)
@@ -640,16 +640,26 @@ function replaceHtml(el, html) {
 
 function renderDetails(data, marker)
 {
 
 function renderDetails(data, marker)
 {
+    var details = '<div class="details" id="mkwsDet_'+data.recid+'">';
+
     if (mkws.templateRecord === undefined) {
        maybeLoadTemplate("Record");
     }
 
     if (mkws.templateRecord) {
        var template = mkws.templateRecord;
     if (mkws.templateRecord === undefined) {
        maybeLoadTemplate("Record");
     }
 
     if (mkws.templateRecord) {
        var template = mkws.templateRecord;
-       return template(data);
+       details += template(data);
+    } else {
+       details += defaultRenderRecord(data, marker);
     }
 
     }
 
-    var details = '<div class="details" id="mkwsDet_'+data.recid+'"><table>';
+    details += '</div>';
+    return details;
+}
+
+function defaultRenderRecord(data, marker)
+{
+    var details = '<table>';
     if (marker) details += '<tr><td colspan="2">'+ marker + '</td></tr>';
 
     var locations = [];
     if (marker) details += '<tr><td colspan="2">'+ marker + '</td></tr>';
 
     var locations = [];
@@ -667,8 +677,7 @@ function renderDetails(data, marker)
     } else {
        details += renderField("Location" + (locations.length == 1 ? "" : "s"), locations);
     }
     } else {
        details += renderField("Location" + (locations.length == 1 ? "" : "s"), locations);
     }
-    details += '</table></div>';
-
+    details += '</table>';
     return details;
 }
 
     return details;
 }