X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-core.js;h=f09bf1624beee49c9ce18e5853b82744409118f0;hb=2d767b00aac7337471fd609fb600aa250a205e75;hp=325de02fe0181fd6885fde9d619f4ceebaf0a18a;hpb=950c995e759d65d8dd4e9fc11383d4ed269b35bd;p=mkws-moved-to-github.git
diff --git a/src/mkws-core.js b/src/mkws-core.js
index 325de02..f09bf16 100644
--- a/src/mkws-core.js
+++ b/src/mkws-core.js
@@ -78,6 +78,12 @@ var mkws = {
}
};
+// We may be using a separate copy
+if (typeof(mkws_jQuery) !== "undefined") {
+ mkws.$ = mkws_jQuery;
+} else {
+ mkws.$ = jQuery;
+}
mkws.log = function(string) {
if (!mkws.log_level)
@@ -98,6 +104,24 @@ mkws.log = function(string) {
};
+// Incredible that the standard JavaScript runtime doesn't define a
+// unique windowId. Instead, we have to make one up. And since there's
+// no global area shared between windows, the best we can do for
+// ensuring uniqueness is generating a random ID and crossing our
+// fingers. We stash this in window.name, as it's the only place to
+// keep data that is preserved across reloads and within-site
+// navigation. pz2.js picks this up and uses it as part of the
+// cookie-name, to ensure each tab gets its own session.
+if (window.name) {
+ mkws.log("Using existing window.name '" + window.name + "'");
+} else {
+ // Ten chars from 26 alpha-numerics = 36^10 = 3.65e15 combinations.
+ // At one per second, it will take 116 million years to duplicate a session
+ window.name = Math.random().toString(36).slice(2, 12);
+ mkws.log("Generated new window.name '" + window.name + "'");
+}
+
+
// Translation function.
mkws.M = function(word) {
var lang = mkws.config.lang;
@@ -139,7 +163,7 @@ mkws.setMkwsConfig = function(overrides) {
var config_default = {
use_service_proxy: true,
- pazpar2_url: "//mkws.indexdata.com/service-proxy/",
+ pazpar2_url: "//mkws.indexdata.com/service-proxy/",
service_proxy_auth: "//mkws.indexdata.com/service-proxy-auth",
lang: "",
sort_options: [["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]],
@@ -249,6 +273,14 @@ mkws.defaultTemplate = function(name) {
{{#if md-title-responsibility}}\
{{md-title-responsibility}}\
{{/if}}\
+{{#if md-date}}, {{md-date}}\
+{{#if location}}\
+, {{#mkws-first location}}{{mkws-attr "@name"}}{{/mkws-first}}\
+{{/if}}\
+{{#if md-medium}}\
+, {{md-medium}}\
+{{/if}}\
+{{/if}}\
';
} else if (name === "Image") {
return '\
@@ -261,14 +293,16 @@ mkws.defaultTemplate = function(name) {
';
} else if (name === 'Facet') {
return '\
-{{term}}\
+{{term}}\
{{count}}\
';
}
- var s = "There is no default '" + name +"' template!";
- alert(s);
- return s;
+ return null;
};
@@ -403,12 +437,13 @@ mkws.pagerNext = function(tname) {
request.get(null, function(data) {
if (!$.isXMLDoc(data)) {
- alert("service proxy auth response document is not valid XML document, give up!");
+ alert("Service Proxy authentication response is not a valid XML document");
return;
}
var status = $(data).find("status");
if (status.text() != "OK") {
- alert("service proxy auth response status: " + status.text() + ", give up!");
+ var message = $(data).find("message");
+ alert("Service Proxy authentication response: " + status.text() + " (" + message.text() + ")");
return;
}
@@ -579,4 +614,4 @@ mkws.pagerNext = function(tname) {
var widgetSelector = selectorForAllWidgets();
if (widgetSelector && $(widgetSelector).length !== 0) init();
});
-})(jQuery);
+})(mkws.$);