Use <div></div> instead of <div/>
[mkws-moved-to-github.git] / src / mkws-widgets.js
index 312bfab..98a48bd 100644 (file)
@@ -61,32 +61,34 @@ function widget($, team, type, node) {
 
 // Utility function for use by all widgets that can invoke autosearch.
 widget.autosearch = function(widget) {
-    var query = widget.config.autosearch;
-    if (query) {
-       if (query.match(/^!param!/)) {
-           var param = query.replace(/^!param!/, '');
-           query = mkws.getParameterByName(param);
-           widget.log("obtained query '" + query + "' from param '" + param + "'");
-           if (!query) {
-               alert("This page has a MasterKey widget that needs a query specified by the '" + param + "' parameter");
-           }
-       } else if (query.match(/^!path!/)) {
-           var index = query.replace(/^!path!/, '');
-           var path = window.location.pathname.split('/');
-           query = path[path.length - index];
-           widget.log("obtained query '" + query + "' from path-component '" + index + "'");
-           if (!query) {
-               alert("This page has a MasterKey widget that needs a query specified by the path-component " + index);
+    widget.team.queue("ready").subscribe(function() {
+       var query = widget.config.autosearch;
+       if (query) {
+           if (query.match(/^!param!/)) {
+               var param = query.replace(/^!param!/, '');
+               query = mkws.getParameterByName(param);
+               widget.log("obtained query '" + query + "' from param '" + param + "'");
+               if (!query) {
+                   alert("This page has a MasterKey widget that needs a query specified by the '" + param + "' parameter");
+               }
+           } else if (query.match(/^!path!/)) {
+               var index = query.replace(/^!path!/, '');
+               var path = window.location.pathname.split('/');
+               query = path[path.length - index];
+               widget.log("obtained query '" + query + "' from path-component '" + index + "'");
+               if (!query) {
+                   alert("This page has a MasterKey widget that needs a query specified by the path-component " + index);
+               }
            }
-       }
 
-       widget.team.queue("ready").subscribe(function() {
            var sortOrder = widget.config.sort;
            var maxrecs = widget.config.maxrecs;
            var perpage = widget.config.perpage;
            var limit = widget.config.limit;
            var targets = widget.config.targets;
            var targetfilter = widget.config.targetfilter;
+           var target = widget.config.target;
+           if (target) targetfilter = 'udb=="' + target + '"';
 
            var s = "running auto search: '" + query + "'";
            if (sortOrder) s += " sorted by '" + sortOrder + "'";
@@ -98,8 +100,8 @@ widget.autosearch = function(widget) {
            widget.log(s);
 
            widget.team.newSearch(query, sortOrder, maxrecs, perpage, limit, targets, targetfilter);
-       });
-    }
+       }
+    });
 };
 
 
@@ -304,7 +306,7 @@ mkws.registerWidgetType('Records', function() {
        $(that.node).html(html.join(''));
 
        function renderSummary(hit) {
-           var template = team.loadTemplate("Summary");
+           var template = team.loadTemplate(that.config.template || "Summary");
            hit._id = team.recordElementId(hit.recid[0]);
            hit._onclick = "mkws.showDetails('" + team.name() + "', '" + hit.recid[0] + "');return false;"
            return template(hit);