From: Wolfram Schneider Date: Fri, 18 Apr 2014 17:57:47 +0000 (+0000) Subject: Merge branch 'master' of ssh://git.indexdata.com:222/home/git/private/mkws X-Git-Tag: 1.0.0~907 X-Git-Url: http://sru.miketaylor.org.uk/?a=commitdiff_plain;h=65797bbce108101eb161721d4226eba5e46d5430;hp=232fc32806ba44ae680bf6619bbd237fda04f908;p=mkws-moved-to-github.git Merge branch 'master' of ssh://git.indexdata.com:222/home/git/private/mkws --- diff --git a/examples/htdocs/mike.html b/examples/htdocs/mike.html index 5959f7a..e3a1266 100644 --- a/examples/htdocs/mike.html +++ b/examples/htdocs/mike.html @@ -36,6 +36,8 @@
+
+
diff --git a/examples/htdocs/stateful.html b/examples/htdocs/stateful.html new file mode 100644 index 0000000..875c056 --- /dev/null +++ b/examples/htdocs/stateful.html @@ -0,0 +1,20 @@ + + + + MKWS demo client + + + + + +
+
+
+ +
+
+
+
+
+ + diff --git a/src/Makefile b/src/Makefile index 43eeadb..749d205 100644 --- a/src/Makefile +++ b/src/Makefile @@ -13,8 +13,8 @@ VERSION = $(shell tr -d '\012' < VERSION) COMPONENTS = mkws-handlebars.js \ mkws-core.js mkws-team.js mkws-widgets.js mkws-widget-termlists.js \ - mkws-widget-authname.js mkws-widget-log.js mkws-widget-record.js \ - mkws-widget-builder.js + mkws-widget-authname.js mkws-widget-categories.js mkws-widget-log.js \ + mkws-widget-record.js mkws-widget-builder.js INSTALLABLE = ${HANDLEBARS_FILE} ${JQUERY_FILE} ${JQUERY_JSON_FILE} ${PP2_FILE} \ mkws.js mkws-jquery.js mkws-complete.js \ diff --git a/src/mkws-core.js b/src/mkws-core.js index 07a4b2d..d6433f4 100644 --- a/src/mkws-core.js +++ b/src/mkws-core.js @@ -299,8 +299,10 @@ mkws.pagerNext = function(tname) { log("Service proxy auth successfully done"); mkws.authenticated = true; var authName = $(data).find("displayName").text(); + // You'd think there would be a better way to do this: + var realm = $(data).find("realm:not(realmAttributes realm)").text(); for (var teamName in mkws.teams) { - mkws.teams[teamName].queue("authenticated").publish(authName); + mkws.teams[teamName].queue("authenticated").publish(authName, realm); } runAutoSearches(); diff --git a/src/mkws-widget-categories.js b/src/mkws-widget-categories.js new file mode 100644 index 0000000..afb3875 --- /dev/null +++ b/src/mkws-widget-categories.js @@ -0,0 +1,35 @@ +mkws.registerWidgetType('Categories', function() { + var that = this; + + if (!this.config.use_service_proxy) { + alert("can't use categories widget without Service Proxy"); + return; + } + + this.team.queue("authenticated").subscribe(function(authName, realm) { + var req = new pzHttpRequest(that.config.pazpar2_url + "?command=categories", function(err) { + alert("HTTP call for categories failed: " + err) + }); + + req.get(null, function(data) { + if (!$.isXMLDoc(data)) { + alert("categories response document is not XML"); + return; + } + that.log("got categories: " + data); + + var text = []; + text.push("

Categories for " + realm + "

"); + text.push("
    "); + $(data).find('category').each(function() { + var name = $(this).find('categoryName').text(); + var id = $(this).find('categoryId').text(); + text.push("
  • "); + text.push('' + name + ''); + text.push("
  • "); + }); + text.push("
"); + $(that.node).html(text.join('')); + }); + }); +}); diff --git a/src/mkws-widgets.js b/src/mkws-widgets.js index 9f6c418..19f1066 100644 --- a/src/mkws-widgets.js +++ b/src/mkws-widgets.js @@ -222,6 +222,13 @@ mkws.registerWidgetType('Pager', function() { }); +mkws.registerWidgetType('Results', function() { + // Nothing to do apart from act as an autosearch trigger + // Contained elements do all the real work + widget.autosearch(this); +}); + + mkws.registerWidgetType('Records', function() { var that = this; var team = this.team; diff --git a/tools/apache2/mkws-ne b/tools/apache2/mkws-ne index c0ade2a..6677340 100644 --- a/tools/apache2/mkws-ne +++ b/tools/apache2/mkws-ne @@ -14,8 +14,8 @@ RewriteLog /var/log/apache2/mkws-dev-rewrite.log DocumentRoot /indexdata/gitprojects/mkws/examples/htdocs - #Alias /tools/htdocs /home/indexdata/mkws-dev/tools/htdocs - #Alias /src /home/indexdata/mkws-dev/src + Alias /tools/htdocs /indexdata/gitprojects/mkws/tools/htdocs + Alias /src /indexdata/gitprojects/mkws/src #Alias /test /home/indexdata/mkws-dev/test #Alias /jasmine /home/indexdata/mkws-dev/examples/jasmine