Vertical ws.
[mkws-moved-to-github.git] / src / mkws-widgets.js
index 79e83eb..312bfab 100644 (file)
@@ -59,12 +59,8 @@ function widget($, team, type, node) {
 }
 
 
-// This is a utility function that can be used by all widgets that can
-// invoke an autosearch. It properly belongs to the widget superclass,
-// but since there are no classes in JavaScript there's no scope for
-// it to live in, hence its being put into the mkws object.
-
-mkws.maybeAutosearch = function(widget) {
+// 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!/)) {
@@ -86,19 +82,22 @@ mkws.maybeAutosearch = function(widget) {
 
        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 s = "running auto search: '" + query + "'";
            if (sortOrder) s += " sorted by '" + sortOrder + "'";
+           if (maxrecs) s += " restricted to " + maxrecs + " records";
            if (perpage) s += " with " + perpage + " per page";
            if (limit) s += " limited by '" + limit + "'";
            if (targets) s += " in targets '" + targets + "'";
            if (targetfilter) s += " constrained by targetfilter '" + targetfilter + "'";
            widget.log(s);
 
-           widget.team.newSearch(query, sortOrder, perpage, limit, targets, targetfilter);
+           widget.team.newSearch(query, sortOrder, maxrecs, perpage, limit, targets, targetfilter);
        });
     }
 };
@@ -215,6 +214,8 @@ mkws.registerWidgetType('Termlists', function() {
            acc.push('</div>');
        }
     });
+
+    widget.autosearch(that);
 });
 
 
@@ -310,7 +311,7 @@ mkws.registerWidgetType('Records', function() {
        }
     });
 
-    mkws.maybeAutosearch(that);
+    widget.autosearch(that);
 });