X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widget.js;h=f050e77bc7033d6627f1736a48784d915adccb3f;hb=2db7fbc13228be3ab6032f3299ddea116895ebbb;hp=e67a9cb8a7b0730e42fcb4f0940980cfa6d2bf9a;hpb=2d134c98589bd0a5c31cd70b33e91aeb167db595;p=mkws-moved-to-github.git diff --git a/src/mkws-widget.js b/src/mkws-widget.js index e67a9cb..f050e77 100644 --- a/src/mkws-widget.js +++ b/src/mkws-widget.js @@ -9,7 +9,7 @@ function widget($, team, type, node) { var that = { team: team, type: type, - node: node, + node: $(node), config: mkws.objectInheritingFrom(team.config()) }; @@ -24,7 +24,7 @@ function widget($, team, type, node) { that.value = function() { return node.value; - } + }; for (var i = 0; i < node.attributes.length; i++) { var a = node.attributes[i]; @@ -33,21 +33,21 @@ function widget($, team, type, node) { log(node + ": parsing config fragment '" + a.value + "'"); var data; try { - data = $.parseJSON(a.value); - for (var key in data) { - log(node + ": adding config element " + key + "='" + data[key] + "'"); - that.config[key] = data[key]; - } + data = $.parseJSON(a.value); + for (var key in data) { + log(node + ": adding config element " + key + "='" + data[key] + "'"); + that.config[key] = data[key]; + } } catch (err) { - alert("Can't parse " + node + " data-mkws-config as JSON: " + a.value); + alert("Can't parse " + node + " data-mkws-config as JSON: " + a.value); } } else if (a.name.match (/^data-mkws-/)) { var name = a.name.replace(/^data-mkws-/, '') that.config[name] = a.value; - log(node + ": set data-mkws attribute " + name + "='" + a.value + "'"); + log(that + ": set data-mkws attribute " + name + "='" + a.value + "'"); } else if (!ignoreAttrs[a.name]) { that.config[a.name] = a.value; - log(node + ": set regular attribute " + a.name + "='" + a.value + "'"); + log(that + ": set regular attribute " + a.name + "='" + a.value + "'"); } } @@ -55,6 +55,8 @@ function widget($, team, type, node) { if (fn) { fn.call(that); log("made " + type + " widget(node=" + node + ")"); + } else if (type.match(/-Container-(narrow|wide)$/)) { + // Not really a widget: no need to log its lack of promotion } else { log("made UNPROMOTED widget(type=" + type + ", node=" + node + ")"); } @@ -69,27 +71,27 @@ widget.autosearch = function(widget) { var query = widget.config.autosearch; if (query) { if (query.match(/^!param!/)) { - var param = query.replace(/^!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"); - } + var param = query.replace(/^!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"); + } } else if (query.match(/^!path!/)) { - var index = query.replace(/^!path!/, ''); - var path = window.location.pathname.split('/'); - query = path[path.length - 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); - } + var index = query.replace(/^!path!/, ''); + var path = window.location.pathname.split('/'); + query = path[path.length - 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); + } } else if (query.match(/^!var!/)) { - var name = query.replace(/^!var!/, ''); - query = window[name]; // It's ridiculous that this works - widget.log("obtained query '" + query + "' from variable '" + name + "'"); - if (!query) { - alert("This page has a MasterKey widget that needs a query specified by the '" + name + "' variable"); - } + var name = query.replace(/^!var!/, ''); + query = window[name]; // It's ridiculous that this works + widget.log("obtained query '" + query + "' from variable '" + name + "'"); + if (!query) { + alert("This page has a MasterKey widget that needs a query specified by the '" + name + "' variable"); + } } var sortOrder = widget.config.sort; @@ -119,10 +121,10 @@ widget.autosearch = function(widget) { // Utility function for all widgets that want to hide in narrow windows widget.hideWhenNarrow = function(widget) { widget.team.queue("resize-narrow").subscribe(function(n) { - $(widget.node).hide(); + widget.node.hide(); }); widget.team.queue("resize-wide").subscribe(function(n) { - $(widget.node).show(); + widget.node.show(); }); };