X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widgets.js;h=3020ef9f07f22c594be572d6e5de1b1b97ad4429;hb=bc8d1d0c893f1a8f9f230df1e3f498b6c806927d;hp=0f610f700db87c590bf7687bb49de95f1f24fb1a;hpb=a8dfa752badd610303a2dc4cbc55cc79cc2390ac;p=mkws-moved-to-github.git diff --git a/src/mkws-widgets.js b/src/mkws-widgets.js index 0f610f7..3020ef9 100644 --- a/src/mkws-widgets.js +++ b/src/mkws-widgets.js @@ -2,7 +2,7 @@ function widget($, team, type, node) { // Static register of attributes that do not contribute to config var ignoreAttrs = { - id:1, class:1, style:1, name:1, action:1, type:1, size:1, + id:1, 'class':1, style:1, name:1, action:1, type:1, size:1, value:1, width:1, valign:1 }; @@ -257,8 +257,7 @@ mkws.registerWidgetType('Records', function() { } $(that.node).html(html.join('')); - function renderSummary(hit) - { + function renderSummary(hit) { var template = team.loadTemplate("Summary"); hit._id = team.recordElementId(hit.recid[0]); hit._onclick = "mkws.showDetails('" + team.name() + "', '" + hit.recid[0] + "');return false;" @@ -266,13 +265,17 @@ mkws.registerWidgetType('Records', function() { } }); - var node = $(that.node); - var query = that.config.autosearch; + mkws.maybeAutosearch(that); +}); + + +mkws.maybeAutosearch = function(widget) { + var query = widget.config.autosearch; if (query) { if (query.match(/^!param!/)) { var param = query.replace(/^!param!/, ''); - query = getParameterByName(param); - that.log("obtained query '" + query + "' from param '" + 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"); } @@ -280,25 +283,30 @@ mkws.registerWidgetType('Records', function() { 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 + "'"); + 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); } } - that.log("node=" + node + ", class='" + node.className + "', query=" + query); - this.team.queue("ready").subscribe(function() { - var sortOrder = that.config.sort; - var targets = that.config.targets; + widget.team.queue("ready").subscribe(function() { + var sortOrder = widget.config.sort; + 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 (perpage) s += " with " + perpage + " per page"; + if (limit) s += " limited by '" + limit + "'"; if (targets) s += " in targets '" + targets + "'"; - that.log(s); + if (targetfilter) s += " constrained by targetfilter '" + targetfilter + "'"; + widget.log(s); - that.team.newSearch(query, sortOrder, targets); + widget.team.newSearch(query, sortOrder, perpage, limit, targets, targetfilter); }); } -}); +}; mkws.registerWidgetType('Navi', function() {