X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=0cfea64b5288451796fbdcbf0543429d5f1a7899;hb=90c8a221be04648a94698a476c132bbebd630a87;hp=a96fd32fd08fb9b71bf8e0700ad5a7a4cd123dae;hpb=23efd7251999817caf5e29ee9361e17c4b417dff;p=mkws-moved-to-github.git
diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js
index a96fd32..0cfea64 100644
--- a/tools/htdocs/mkws.js
+++ b/tools/htdocs/mkws.js
@@ -71,7 +71,8 @@ Handlebars.registerHelper('commaList', function(items, options) {
//
var mkws = {
authenticated: false,
- debug_level: undefined, // will be initialised from mkws_config
+ debug_level: 1, // Will be overridden from mkws_config, but
+ // initial value allows jQuery popup to use logging.
paz: undefined, // will be set up during initialisation
teams: {},
locale_lang: {
@@ -329,11 +330,13 @@ function team($, teamName) {
for (var i = 0; i < data.length && i < max; i++) {
acc.push('
');
acc.push('
\
- \
- \
+ \
+ \
');
});
});
@@ -879,13 +891,13 @@ function team($, teamName) {
\
\
\
-
\
+
\
\
\
-
\
- \
-
\
-
\
+
\
+ \
+
\
+
\
\
\
\
@@ -1106,141 +1118,6 @@ function team($, teamName) {
};
-/*
- * implement jQuery plugin $.pazpar2({})
- */
-function _mkws_jquery_plugin ($) {
- function debug (string) {
- mkws.debug("jquery.pazpar2: " + string);
- }
-
- function init_popup(obj) {
- var config = obj ? obj : {};
-
- var height = config.height || 760;
- var width = config.width || 880;
- var id_button = config.id_button || "input#mkwsButton";
- var id_popup = config.id_popup || "#mkwsPopup";
-
- debug("popup height: " + height + ", width: " + width);
-
- // make sure that jquery-ui was loaded afte jQuery core lib, e.g.:
- //
- if (!$.ui) {
- debug("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?");
- return;
- }
-
- $(id_popup).dialog({
- closeOnEscape: true,
- autoOpen: false,
- height: height,
- width: width,
- modal: true,
- resizable: true,
- buttons: {
- Cancel: function() {
- $(this).dialog("close");
- }
- },
- close: function() { }
- });
-
- $(id_button)
- .button()
- .click(function() {
- $(id_popup).dialog("open");
- });
- };
-
- $.extend({
-
- // service-proxy or pazpar2
- pazpar2: function(config) {
- var id_popup = config.id_popup || "#mkwsPopup";
- id_popup = id_popup.replace(/^#/, "");
-
- // simple layout
- var div = '\
-
\
-
\
-
\
-
\
-
\
-
';
-
- // new table layout
- var table = '\
-\
- \
-\
- \
- \
-
\
-
\
-
\
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
-
\
- \
- \
-
';
-
- var popup = '\
-
\
-'
-
- if (config && config.layout == 'div') {
- debug("jquery plugin layout: div");
- document.write(div);
- } else if (config && config.layout == 'popup') {
- debug("jquery plugin layout: popup with id: " + id_popup);
- document.write(popup);
- $(document).ready(function() { init_popup(config); });
- } else {
- debug("jquery plugin layout: table");
- document.write(table);
- }
- }
- });
-};
-
-
// wrapper to call team() after page load
(function (j) {
mkws.debug = function (string) {
@@ -1262,10 +1139,6 @@ function _mkws_jquery_plugin ($) {
var debug = mkws.debug;
- // enable before page load, so we could call it before mkws() runs
- _mkws_jquery_plugin(j);
-
-
mkws.handle_node_with_team = function(node, callback) {
var classes = node.className;
var list = classes.split(/\s+/)
@@ -1437,6 +1310,24 @@ function _mkws_jquery_plugin ($) {
// ### should check mkwsTermlist as well, for facet-only teams
var node = $('.mkwsRecords.mkwsTeam_' + teamName);
var query = node.attr('autosearch');
+
+ if (query.match(/^!param!/)) {
+ var param = query.replace(/^!param!/, '');
+ query = getParameterByName(param);
+ debug("obtained query '" + query + "' from param '" + param + "'");
+ if (!query) {
+ alert("This page has a MasterKey widget that needs a query specified by the '" + param + "' parameter");
+ }
+ } else if (query.match(/^!path!/)) {
+ var index = query.replace(/^!path!/, '');
+ var path = window.location.pathname.split('/');
+ query = path[path.length - index];
+ debug("obtained query '" + query + "' from path-component '" + index + "'");
+ if (!query) {
+ alert("This page has a MasterKey widget that needs a query specified by the path-component " + index);
+ }
+ }
+
debug("teamName '" + teamName + "', node=" + node + ", class='" + node.className + "', query=" + query);
if (query) {
@@ -1455,6 +1346,16 @@ function _mkws_jquery_plugin ($) {
}
+ // This function is taken from a StackOverflow answer
+ // http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#901144
+ function getParameterByName(name) {
+ name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
+ var regex = new RegExp("[\\?&]" + name + "=([^]*)"),
+ results = regex.exec(location.search);
+ return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
+ }
+
+
$(document).ready(function() {
debug("on load ready");
default_mkws_config();