From 607d27f0724d46e06783c69c1d7b9f17a783670f Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Tue, 1 Apr 2014 12:26:29 +0100 Subject: [PATCH] Auto-searching code is now part of the Records widget. --- src/mkws-widgets.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/mkws-widgets.js b/src/mkws-widgets.js index c3a309d..3ffb150 100644 --- a/src/mkws-widgets.js +++ b/src/mkws-widgets.js @@ -265,6 +265,41 @@ mkws.registerWidgetType('Records', function() { return template(hit); } }); + + 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); + } + } + + 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); + + that.team.newSearch(query, sortOrder, targets); + }); }); -- 1.7.10.4