From: Mike Taylor Date: Fri, 25 Apr 2014 16:25:48 +0000 (+0100) Subject: Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkws X-Git-Tag: 1.0.0~841 X-Git-Url: http://sru.miketaylor.org.uk/?a=commitdiff_plain;h=6f905c7634b188ac07d3450709bca7a2ca6752b1;hp=9f5634aae3265dff242615b82419ca15f3dc3d14;p=mkws-moved-to-github.git Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkws --- diff --git a/examples/htdocs/mkws-widget-reference.js b/examples/htdocs/mkws-widget-reference.js new file mode 100644 index 0000000..71f91ea --- /dev/null +++ b/examples/htdocs/mkws-widget-reference.js @@ -0,0 +1,26 @@ +mkws.registerWidgetType('Reference', function() { + mkws.promotionFunction('Record').call(this); + if (!this.config.target) this.config.target = 'wikimedia_wikipedia_single_result'; + if (!this.config.template) this.config.template = 'Reference'; + + this.team.registerTemplate('Reference', '\ +\ +

{{md-title}}

\ +
\ +{{#if md-title-remainder}}\ + {{md-title-remainder}}\ +{{/if}}\ +{{#if md-title-responsibility}}\ + {{md-title-responsibility}}\ +{{/if}}\ +

\ + {{md-title}}\ + {{md-description}}\ +

\ +'); + + var that = this; + this.team.queue("record").subscribe(function(data) { + that.log("got data " + $.toJSON(data)); + }); +}); diff --git a/examples/htdocs/reference-universe.html b/examples/htdocs/reference-universe.html new file mode 100644 index 0000000..b2c148e --- /dev/null +++ b/examples/htdocs/reference-universe.html @@ -0,0 +1,15 @@ + + + + MKWS demo: Reference Universe widget + + + + + + +
result will appear here
+ + diff --git a/src/mkws-team.js b/src/mkws-team.js index a76c65c..cf4794b 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -26,7 +26,8 @@ function team($, teamName) { "last": $.now() }; var m_paz; // will be initialised below - var m_template = {}; + var m_tempateText = {}; // widgets can register tempates to be compiled + var m_template = {}; // compiled templates, from any source var m_config = mkws.objectInheritingFrom(mkws.config); var m_widgets = {}; // Maps widget-type to object @@ -616,6 +617,11 @@ function team($, teamName) { that.renderDetails = renderDetails; + that.registerTemplate = function(name, text) { + m_tempateText[name] = text; + }; + + function loadTemplate(name) { var template = m_template[name]; @@ -631,6 +637,9 @@ function team($, teamName) { } if (!source) { + source = m_tempateText[name]; + } + if (!source) { source = defaultTemplate(name); } diff --git a/src/mkws-widgets.js b/src/mkws-widgets.js index cd9e45d..517850b 100644 --- a/src/mkws-widgets.js +++ b/src/mkws-widgets.js @@ -237,6 +237,7 @@ mkws.registerWidgetType('Records', function() { var html = []; for (var i = 0; i < data.hits.length; i++) { var hit = data.hits[i]; + that.team.queue("record").publish(hit); var divId = team.recordElementId(hit.recid[0]); html.push('
', renderSummary(hit), '
'); // ### At some point, we may be able to move the