Only establish the "ready" subscriber if there's an autosearch attribute.
authorMike Taylor <mike@indexdata.com>
Tue, 1 Apr 2014 11:49:24 +0000 (12:49 +0100)
committerMike Taylor <mike@indexdata.com>
Tue, 1 Apr 2014 11:49:24 +0000 (12:49 +0100)
src/mkws-widgets.js

index 3ffb150..429aa97 100644 (file)
@@ -266,40 +266,39 @@ mkws.registerWidgetType('Records', function() {
        }
     });
 
-    this.team.queue("ready").subscribe(function() {
-       var node = $(that.node);
-       var query = node.attr('autosearch');
-       if (!query)
-           return;
-
-       if (query.match(/^!param!/)) {
-           var param = query.replace(/^!param!/, '');
-           query = getParameterByName(param);
-           that.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];
-           that.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);
+    var node = $(that.node);
+    var query = node.attr('autosearch');
+    if (query) {
+       this.team.queue("ready").subscribe(function() {
+           if (query.match(/^!param!/)) {
+               var param = query.replace(/^!param!/, '');
+               query = getParameterByName(param);
+               that.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];
+               that.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);
+               }
            }
-       }
 
-       that.log("node=" + node + ", class='" + node.className + "', query=" + query);
+           that.log("node=" + node + ", class='" + node.className + "', query=" + query);
 
-       var sortOrder = node.attr('sort');
-       var targets = node.attr('targets');
-       var s = "running auto search: '" + query + "'";
-       if (sortOrder) s += " sorted by '" + sortOrder + "'";
-       if (targets) s += " in targets '" + targets + "'";
-       that.log(s);
+           var sortOrder = node.attr('sort');
+           var targets = node.attr('targets');
+           var s = "running auto search: '" + query + "'";
+           if (sortOrder) s += " sorted by '" + sortOrder + "'";
+           if (targets) s += " in targets '" + targets + "'";
+           that.log(s);
 
-       that.team.newSearch(query, sortOrder, targets);
-    });
+           that.team.newSearch(query, sortOrder, targets);
+       });
+    }
 });