From: Jason Skomorowski Date: Thu, 5 Feb 2015 15:58:28 +0000 (-0500) Subject: Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/mkws X-Git-Url: http://git.indexdata.com/cgi-bin?a=commitdiff_plain;h=bceda32ec4c5aaed6ce3e244aedc0ee47292ef97;hp=38168b75a739c506f0a8f03687cc2cd5c40f518a;p=mkws-moved-to-github.git Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/mkws --- diff --git a/doc/mkws-manual.markdown b/doc/mkws-manual.markdown index 1066f63..e16fc72 100644 --- a/doc/mkws-manual.markdown +++ b/doc/mkws-manual.markdown @@ -820,6 +820,11 @@ Name Description found for the current search, any diagnostics they have returned, the number of records that have been returned for display, and the connection state. + +`waiting` An image, defaulting to unless overridden with the `src` configuration + item, which is initially invisible, appears when a search is submitted, and disappears when the search is + complete. + ---- @@ -840,7 +845,7 @@ the relevant widgets are listed. All entries are optional, but if specified must default values are in footnotes to keep the table reasonably narrow. ---- -Element Widget Type Default Description +Setting Widget Type Default Description -------- ------ ----- --------- ------------ autosearch facet, string If provided, this setting contains a query which is immediately run on behalf facets, of the team. Often used with an [indirect setting](#indirect-settings). @@ -891,6 +896,10 @@ maxrecs facet, int Limits the metasearching m records, results +newsearch_opacity records, float If defined, a fractional value between in the range 0.0 (transparent) to 1.0 + facets (opaque). When a new search is submitted, the widget fades to that opacity + (reverting to full opacity when data arrives). + paragraphs reference int Limits the number of paragraphs rendered to the specified number. If omitted, there is no limit. @@ -980,6 +989,9 @@ sp_auth_path _global_ string Part of the URL used for a sp_auth_query _global_ string *Note 6* Part of the URL used for authentication. See the [Assembling Pazpar2 URLs](#assembling-pazpar2-urls) section below. +src waiting url The address of an image to use in the `waiting` widget in place of the + default spinning wheel. Used to indicate that a search is in progress. + target facet, string One of three ways to select which targets an auto-searching widgets uses. See facets, the [Choosing targets from the library](#choosing-targets-from-the-library) record, section above. @@ -1177,7 +1189,7 @@ Popup windows can contain any HTML, not just MKWS widgets. The properties of the `popup` widget are as follows: ---- -Element Type Default Description +Setting Type Default Description -------- ----- ------- ------------ popup_width int 880 Width of the popup window, in pixels. diff --git a/src/mkws-widget-facets.js b/src/mkws-widget-facets.js index fbf0e47..2eefb95 100644 --- a/src/mkws-widget-facets.js +++ b/src/mkws-widget-facets.js @@ -2,7 +2,14 @@ mkws.registerWidgetType('facets', function() { // Initially hide the facets; display when we get results var that = this; var team = this.team; + + this.team.queue("searchtriggered").subscribe(function() { + var op = that.config.newsearch_opacity; + if (op !== undefined) { that.node.fadeTo(500, op); } + }); + team.queue("facets").subscribe(function(data) { + that.node.css('opacity', 1); that.node.addClass("active"); }); diff --git a/src/mkws-widget-main.js b/src/mkws-widget-main.js index 8fad7d9..2a68283 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -114,7 +114,13 @@ mkws.registerWidgetType('records', function() { var that = this; var team = this.team; + this.team.queue("searchtriggered").subscribe(function() { + var op = that.config.newsearch_opacity; + if (op !== undefined) { that.node.fadeTo(500, op); } + }); + this.team.queue("records").subscribe(function(data) { + that.node.css('opacity', 1); for (var i = 0; i < data.hits.length; i++) { var hit = data.hits[i]; hit.detailLinkId = team.recordElementId(hit.recid[0]); @@ -378,6 +384,22 @@ mkws.registerWidgetType('progress', function() { }); +mkws.registerWidgetType('waiting', function() { + var that = this; + + this.node.css("visibility", "hidden"); + var src = this.config.src || "http://mkws.indexdata.com/progress.gif"; + this.node.html(''); + + this.team.queue("searchtriggered").subscribe(function(data) { + that.node.css("visibility", "visible"); + }); + this.team.queue("complete").subscribe(function(n) { + that.node.css("visibility", "hidden"); + }); +}); + + // Some elements have mkws* classes that makes them appear as widgets // -- for example, because we want to style them using CSS -- but have // no actual functionality. We register these to prevent ignorable diff --git a/src/templates/pager.handlebars b/src/templates/pager.handlebars index 0b3f953..16b29aa 100644 --- a/src/templates/pager.handlebars +++ b/src/templates/pager.handlebars @@ -14,9 +14,13 @@ pages: click - script to go to this page unless it is the current one }}
+ {{#if found}} {{mkws-translate "Displaying"}}: {{first}} {{mkws-translate "to"}} {{last}} {{mkws-translate "of"}} {{count}} ({{{mkws-translate "found"}}}: {{found}}) + {{else}} + No hits. + {{/if}}
diff --git a/tools/htdocs/progress.gif b/tools/htdocs/progress.gif new file mode 100755 index 0000000..529e72f Binary files /dev/null and b/tools/htdocs/progress.gif differ