+
+For first form is more convenient; the second is more correct.
+
+Because some configuration items take structured values rather than
+simple strings, they cannot be directly provided by inline
+attributes. To allow for this, the special attribute
+`data-mkws-config`, if provided, is parsed as JSON and its key-value
+pairs set as configuration items for the widget in question. For
+example, the value of `lang_options` is an array of strings specifying
+which of the supported UI languages should be made available. The
+following invocation will limit this list to only English and Danish
+(omitting German):
+
+
+
+(Note that, as JSON requires double quotes around all strings, single
+quotes must be used to contain the entire attribute value.)
+
Control over HTML and CSS
=========================
-More sophisticated applications will not simply place the `
`s
+More sophisticated applications will not simply place the widgets
together, but position them carefully within an existing page
framework -- such as a Drupal template, an OPAC or a SharePoint page.
While it's convenient for simple applications to use a monolithic
-`mkwsResults` area which contains record, facets, sorting options,
+`mkws-results` area which contains record, facets, sorting options,
etc., customised layouts may wish to treat each of these components
-separately. In this case, `mkwsResults` can be omitted, and the
+separately. In this case, `mkws-results` can be omitted, and the
following lower-level widgets provided instead:
-* `mkwsTermlists` -- provides the facets
+* `mkws-termlists` -- provides the facets
-* `mkwsRanking` -- provides the options for how records are sorted and
+* `mkws-ranking` -- provides the options for how records are sorted and
how many are included on each page of results.
-* `mkwsPager` -- provides the links for navigating back and forth
+* `mkws-pager` -- provides the links for navigating back and forth
through the pages of records.
-* `mkwsNavi` -- when a search result has been narrowed by one or more
+* `mkws-navi` -- when a search result has been narrowed by one or more
facets, this area shows the names of those facets, and allows the
selected values to be clicked in order to remove them.
-* `mkwsRecords` -- lists the actual result records.
+* `mkws-records` -- lists the actual result records.
Customisation of MKWS searching widgets can also be achieved by
overriding the styles set in the toolkit's CSS stylesheet. The default
@@ -284,14 +326,17 @@ pager template you would include this in your document:
...new Pager template
-The Facet template has a special feature where you can override it on a
-per-facet basis by adding a dash and the facet name as a suffix eg.
-`facet-subjects` rather than `facet`. (So `class="mkws-template-facet-subjects"`)
+The Facet template has a special feature where you can override it on
+a per-facet basis by adding a dash and the facet name as a suffix eg.
+`facet-subjects`. (So `class="mkws-template-facet-subjects"`.) When
+rendering a facet for which no specific template is defined, the code
+falls back to using the generic facet template, just called `facet`.
-You can also explicitly specify a different template for a particular instance
-of a widget by providing the name of your alternative (eg. SpecialPager) as the
-value of the `template` key in the MKWS config object for that widget:
-for example, ``.
+You can also explicitly specify a different template for a particular
+instance of a widget by providing the name of your alternative
+(eg. `special-pager`) as the value of the `template` key in the MKWS
+config object for that widget: for example, ``.
Templates for MKWS can also be
[precompiled](http://handlebarsjs.com/precompilation.html). If a precompiled
@@ -301,10 +346,10 @@ will be used instead of the default.
Inspecting metadata for templating
----------------------------------
-MKWS makes requests to Service Proxy or Pazpar2 that perform the actual
-searching. Depending on how these are configured and what is available from the
-targets you are searching there may be more data available than what is
-presented by the default templates.
+MKWS makes requests to the Service Proxy or Pazpar2 that perform the
+actual searching. Depending on how these are configured and what is
+available from the targets you are searching there may be more data
+available than what is presented by the default templates.
Handlebars offers a convenient log helper that will output the contents of a
variable for you to inspect. This lets you look at exactly what is being
@@ -326,24 +371,21 @@ output locale specific text via the mkws-translate helper like so:
Example
-------
-Rather than use the included AJAX helpers to render record details inline,
-here's a Records template that will link directly to the source via the address
-provided in the metadata as the first element of `md-electronic-url`:
-
-
For a more involved example where markup for multiple widgets is decorated with
@@ -352,8 +394,8 @@ employed, take a look at the source of
[topic.html](http://example.indexdata.com/topic.html?q=water).
-Refinements
-===========
+Some Refinements
+================
Message of the day
@@ -362,9 +404,9 @@ Message of the day
Some applications might like to open with content in the area that
will subsequently be filled with result-records -- a message of the
day, a welcome message or a help page. This can be done by placing an
-`mkwsMOTD` division anywhere on the page. It will be moved into the
-`mkwsResults` area and initially displayed, but will be hidden when a
-search is made.
+`mkws-motd` division anywhere on the page. It will initially be moved
+into the `mkws-results` area and displayed, but will be hidden as soon
+as the first search is made.
Popup results with jQuery UI
@@ -376,17 +418,17 @@ generally visible on the page is a search box, and the results appear
in a popup. The key part of such an application is this invocation of
the MKWS jQuery plugin:
-
-