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 <http://mkws.indexdata.com/progress.gif> unless overridden with the `src` configuration
+ item, which is initially invisible, appears when a search is submitted, and disappears when the search is
+ complete.
+
----
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).
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.
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.
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.
// 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");
});
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]);
});
+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('<img src="' + src + '"/>');
+
+ 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