X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=7e87e96cd288aed1bf5a06b805cd394e991321f0;hb=37b40bc80ae5106c8b6fa2c921e1ad2cb1a837d5;hp=eacaec5fb5ad73de061a8549a1420b96001eccfb;hpb=15b1e6a3b136b4110e676455a2c504ee4c6d9315;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index eacaec5..7e87e96 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -41,22 +41,22 @@ function my_onshow(data) { // move it out var pager = document.getElementById("pager"); pager.innerHTML = ""; - pager.innerHTML +='
Target ID | Hits | Diags | ' +'Records | State |
" + data[i].id + " | " + data[i].hits +
@@ -143,8 +143,8 @@ function my_onbytarget(data) {
////////////////////////////////////////////////////////////////////////////////
// wait until the DOM is ready
-function domReady ()
-{
+function domReady ()
+{
document.search.onsubmit = onFormSubmitEventHandler;
document.search.query.value = '';
document.select.sort.onchange = onSelectDdChange;
@@ -152,7 +152,7 @@ function domReady ()
}
// when search button pressed
-function onFormSubmitEventHandler()
+function onFormSubmitEventHandler()
{
resetPage();
loadSelect();
@@ -198,7 +198,7 @@ function limitQuery (field, value)
function limitTarget (id, name)
{
var navi = document.getElementById('navi');
- navi.innerHTML =
+ navi.innerHTML =
'Source: '
+ name + '';
navi.innerHTML += ' '; @@ -213,7 +213,7 @@ function delimitTarget () { var navi = document.getElementById('navi'); navi.innerHTML = ''; - curFilter = null; + curFilter = null; resetPage(); loadSelect(); triggerSearch(); @@ -225,8 +225,8 @@ function drawPager (pagerDiv) //client indexes pages from 1 but pz2 from 0 var onsides = 6; var pages = Math.ceil(totalRec / recPerPage); - - var firstClkbl = ( curPage - onsides > 0 ) + + var firstClkbl = ( curPage - onsides > 0 ) ? curPage - onsides : 1; @@ -248,7 +248,7 @@ function drawPager (pagerDiv) middle += ' ' + numLabel + ' '; } - + var next = ' | Next >>'; if (pages - curPage > 0) next = ' | ' @@ -262,7 +262,7 @@ function drawPager (pagerDiv) if (lastClkbl < pages) postdots = '...'; - pagerDiv.innerHTML += ' '
+ pagerDiv.innerHTML += ' ');
+
+ $("#mkwsTargets").html('\
+ '
+ prev + predots + middle + postdots + next + ' '; } @@ -289,17 +289,17 @@ function pagerPrev() { // swithing view between targets and records function switchView(view) { - - var targets = document.getElementById('targetview'); - var records = document.getElementById('recordview'); - + + var targets = document.getElementById('mkwsTargets'); + var records = document.getElementById('mkwsRecords'); + switch(view) { - case 'targetview': - targets.style.display = "block"; + case 'targets': + targets.style.display = "block"; records.style.display = "none"; break; - case 'recordview': - targets.style.display = "none"; + case 'records': + targets.style.display = "none"; records.style.display = "block"; break; default: @@ -312,7 +312,7 @@ function showDetails (prefixRecId) { var recId = prefixRecId.replace('rec_', ''); var oldRecId = curDetRecId; curDetRecId = recId; - + // remove current detailed view if any var detRecordDiv = document.getElementById('det_'+oldRecId); // lovin DOM! @@ -371,19 +371,149 @@ 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, + 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() { + mkws_html_switch(config); + + // For some reason, doing this programmatically results in + // document.search.query being undefined, hence the raw HTML. + $("#mkwsSearch").html('\ + '); + + $("#mkwsRecords").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"); });
+}
- $("#mkwsSwitch").html($("", { href: '#',
- onclick: "switchView(\'recordview\')",
- text: "Record Browser",
- }));
+function mkws_html_switch(config) {
+ $("#mkwsSwitch").html($("", {
+ href: '#',
+ onclick: "switchView(\'records\')",
+ text: "Records"
+ }));
$("#mkwsSwitch").append($("", { text: " | " }));
- $("#mkwsSwitch").append($("", { href: '#',
- onclick: "switchView(\'targetview\')",
- text: "Target Info",
- }));
-});
+ $("#mkwsSwitch").append($("", {
+ href: '#',
+ onclick: "switchView(\'targets\')",
+ text: "Targets"
+ }));
+
+ if (!config.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) });
|