From f113859530f680f561a7318b746981f22f153b54 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Tue, 1 Apr 2014 12:49:24 +0100 Subject: [PATCH] Only establish the "ready" subscriber if there's an autosearch attribute. --- src/mkws-widgets.js | 59 +++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/src/mkws-widgets.js b/src/mkws-widgets.js index 3ffb150..429aa97 100644 --- a/src/mkws-widgets.js +++ b/src/mkws-widgets.js @@ -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); + }); + } }); -- 1.7.10.4