X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=21cd04b3d1d57c059bc81f96f961666de0af9239;hb=1f5c472fe0aad8f7c9526fc24b8d2626774cf5a5;hp=82b0d505a06a3b64a39b66072f608a712ae2b249;hpb=5cf6caebcc8be1c26f21586286a2447571fc36f6;p=mkws-moved-to-github.git
diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js
index 82b0d50..21cd04b 100644
--- a/experiments/spclient/mkws.js
+++ b/experiments/spclient/mkws.js
@@ -72,7 +72,7 @@ function my_onshow(data) {
}
function my_onstat(data) {
- var stat = document.getElementById("stat");
+ var stat = document.getElementById("mkwsStat");
if (stat == null)
return;
@@ -371,17 +371,30 @@ function renderDetails(data, marker)
return details;
}
+/*
+ * All the HTML stuff to render the search forms and
+ * result pages.
+ */
+function mkws_html_all(data) {
+
+ /* default config */
+ var config = {
+ sort: [["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]],
+ perpage: [10, 20, 30, 50],
+ sort_default: "relevance",
+ perpage_default: 20,
+ query_width: 50,
+ mkws_switch: true, /* show/hide Records|Targets menu */
+
+ dummy: "dummy"
+ };
+
+ /* override standard config values by function parameters */
+ for (var k in data) {
+ config[k] = data[k];
+ }
-$(document).ready(function() {
- $("#mkwsSwitch").html($("", { href: '#',
- onclick: "switchView(\'records\')",
- text: "Record Browser",
- }));
- $("#mkwsSwitch").append($("", { text: " | " }));
- $("#mkwsSwitch").append($("", { href: '#',
- onclick: "switchView(\'targets\')",
- text: "Target Info",
- }));
+ mkws_html_switch(config);
// For some reason, doing this programmatically results in
// document.search.query being undefined, hence the raw HTML.
@@ -391,15 +404,116 @@ $(document).ready(function() {
\
');
+ $("#mkwsRecords").html('\
+
\
+ \
+ \
+ \
+ | \
+ \
+ \
+ \
+ \
+ \
+ \
+ \
+ | \
+
\
+
\
+ ');
+
$("#mkwsTargets").html('\
\
No information available yet.\
');
$("#mkwsTargets").css("display", "none");
+ mkws_service_proxy_auth(config.service_proxy_auth);
domReady();
+}
- var jqxhr = jQuery.get("/service-proxy-auth")
- .fail(function() { alert("service proxy authentifiction failed"); });
+function mkws_html_switch(config) {
+ $("#mkwsSwitch").html($("", {
+ href: '#',
+ onclick: "switchView(\'records\')",
+ text: "Records"
+ }));
+ $("#mkwsSwitch").append($("", { text: " | " }));
+ $("#mkwsSwitch").append($("", {
+ href: '#',
+ onclick: "switchView(\'targets\')",
+ text: "Targets"
+ }));
+
+ if (!config.mkws_switch) {
+ $("#mkwsSwitch").css("display", "none");
+ }
+}
+
+function mkws_html_sort(config) {
+ var sort_html = '';
+
+ return sort_html;
+}
+
+function mkws_html_perpage(config) {
+ var perpage_html = '';
+
+ return perpage_html;
+}
+
+/*
+ * Run service-proxy authentication in background (after page load).
+ * The username/password is configured in the apache config file
+ * for the site.
+ */
+function mkws_service_proxy_auth(auth_url) {
+ if (!auth_url)
+ auth_url = "/service-proxy-auth";
+
+ var jqxhr = jQuery.get(auth_url)
+ .fail(function() {
+ alert("service proxy authentication failed, give up!");
+ })
+ .success(function(data) {
+ if (!jQuery.isXMLDoc(data)) {
+ alert("service proxy auth response document is not valid XML document, give up!");
+ return;
+ }
+ var status = $(data).find("status");
+ if (status.text() != "OK") {
+ alert("service proxy auth repsonse status: " + status.text() + ", give up!");
+ return;
+ }
+ });
+}
-});
+/* magic */
+$(document).ready(function() { mkws_html_all(mkws_config) });