X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=21cd04b3d1d57c059bc81f96f961666de0af9239;hb=1f5c472fe0aad8f7c9526fc24b8d2626774cf5a5;hp=ff03ce131506288a873feb1d0e29a5b7d7023db3;hpb=eb2f9d378d4d1db90548f9a9655c8733110f7924;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index ff03ce1..21cd04b 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -371,19 +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: "Records", - })); - $("#mkwsSwitch").append($("", { text: " | " })); - $("#mkwsSwitch").append($("", { - href: '#', - onclick: "switchView(\'targets\')", - text: "Targets", - })); + mkws_html_switch(config); // For some reason, doing this programmatically results in // document.search.query being undefined, hence the raw HTML. @@ -402,10 +413,8 @@ $(document).ready(function() { \
\
\ - Sort by\ - \ - and show \ - \ + Sort by' + mkws_html_sort(config) + '\ + and show ' + mkws_html_perpage(config) + '\ per page.\
\
\ @@ -423,26 +432,88 @@ $(document).ready(function() { '); $("#mkwsTargets").css("display", "none"); + mkws_service_proxy_auth(config.service_proxy_auth); domReady(); -}); - -$(document).ready(function() { - if (useServiceProxy) { - var jqxhr = jQuery.get(authURLServiceProxy) - .fail(function() { - alert("service proxy authentifiction failed for URL " + authURLServiceProxy + " , 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") { +} + +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) });