X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2Fmkws-widget.js;h=4cace293c2025351d227161f2968715517153d08;hp=d254019cc8884f931feabecf0639ddad84cd1756;hb=058ce4a204a9ce4d63b2d319037f60cd9f94ff1b;hpb=f56cbf9df50657048c566264ed241d25e2b1a574 diff --git a/src/mkws-widget.js b/src/mkws-widget.js index d254019..4cace29 100644 --- a/src/mkws-widget.js +++ b/src/mkws-widget.js @@ -71,9 +71,13 @@ mkws.makeWidget = function($, team, type, node) { function expandValue(val) { if (val.match(/^!param!/)) { var param = val.replace(/^!param!/, ''); + var optional = param.match(/^\?/); + if (optional) { + param = param.replace(/^\?/, ''); + } val = mkws.getParameterByName(param); that.info("obtained val '" + val + "' from param '" + param + "'"); - if (!val) { + if (!val && !optional) { alert("This page has a MasterKey widget that needs a val specified by the '" + param + "' parameter"); } } else if (val.match(/^!path!/)) { @@ -100,17 +104,9 @@ mkws.makeWidget = function($, team, type, node) { var that = this; var query = this.config.autosearch; if (query) { - var old = this.team.config.query; - if (!old) { - // Stash this for subsequent inspection - this.team.config.query = query; - } else if (old === query) { - this.warn("duplicate autosearch: '" + query + "': ignoring"); - return; - } else { - this.warn("conflicting autosearch: '" + query + "' vs '" + old + "': ignoring"); - return; - } + // Should do this more elegantly with message passing + var widget = this.team.widget('query'); + if (widget) { widget.node.val(query); } this.team.queue("ready").subscribe(function() { // Postpone testing for the configuration items: these are not