X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=30bf3b21d93fe2c6904b6cb07fda0602c8ae8f1a;hb=cc0a141ede859ae7729f682c6c547829628f85ad;hp=af9ba2152b55ba7a802971b13aa1cfd28209b9b6;hpb=91e0c33b42f567a97dd88b0f415c4a4d5455ac89;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index af9ba21..30bf3b2 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -1,18 +1,29 @@ /* A very simple client that shows a basic usage of the pz2.js */ +"use strict"; // HTML5 + +if (!mkws_config) + var mkws_config = {}; // for the guys who forgot to define mkws_config... + +var pazpar2_url = mkws_config.pazpar2_url ? mkws_config.pazpar2_url : "/pazpar2/search.pz2"; +var service_proxy_url = mkws_config.service_proxy_url ? mkws_config.service_proxy_url : "/service-proxy/"; + +var pazpar2path = mkws_config.use_service_proxy ? service_proxy_url : pazpar2_url; +var usesessions = mkws_config.use_service_proxy ? false : true; + // create a parameters array and pass it to the pz2's constructor // then register the form submit event with the pz2.search function // autoInit is set to true on default var my_paz = new pz2( { "onshow": my_onshow, "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way - "pazpar2path": '/service-proxy/', + "pazpar2path": pazpar2path, "oninit": my_oninit, "onstat": my_onstat, "onterm": my_onterm, "termlist": "xtargets,subject,author", "onbytarget": my_onbytarget, - "usesessions" : false, + "usesessions" : usesessions, "showResponseType": '', // or "json" (for debugging?) "onrecord": my_onrecord } ); // some state vars @@ -371,19 +382,28 @@ function renderDetails(data, marker) return details; } - -$(document).ready(function() { - $("#mkwsSwitch").html($("", { - href: '#', - onclick: "switchView(\'records\')", - text: "Records", - })); - $("#mkwsSwitch").append($("", { text: " | " })); - $("#mkwsSwitch").append($("", { - href: '#', - onclick: "switchView(\'targets\')", - text: "Targets", - })); +/* + * 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]; + } // For some reason, doing this programmatically results in // document.search.query being undefined, hence the raw HTML. @@ -402,10 +422,8 @@ $(document).ready(function() { \
\
\ - Sort by\ - \ - and show \ - \ + Sort by' + mkws_html_sort(config) + '\ + and show ' + mkws_html_perpage(config) + '\ per page.\
\
\ @@ -417,19 +435,84 @@ $(document).ready(function() { \ '); + mkws_html_switch(config); + if (mkws_config.use_service_proxy) + mkws_service_proxy_auth(config.service_proxy_auth); + + domReady(); +} + +function mkws_html_switch(config) { + $("#mkwsSwitch").html($("
", { + href: '#', + onclick: "switchView(\'records\')", + text: "Records" + })); + $("#mkwsSwitch").append($("", { text: " | " })); + $("#mkwsSwitch").append($("", { + href: '#', + onclick: "switchView(\'targets\')", + text: "Targets" + })); + $("#mkwsTargets").html('\
\ No information available yet.\
'); $("#mkwsTargets").css("display", "none"); - domReady(); -}); + if (!config.switch) { + $("#mkwsSwitch").css("display", "none"); + } +} -function mkws_service_proxy_auth() { - var jqxhr = jQuery.get("/service-proxy-auth") +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 authentification failed, give up!"); + alert("service proxy authentication failed, give up!"); }) .success(function(data) { if (!jQuery.isXMLDoc(data)) { @@ -444,7 +527,5 @@ function mkws_service_proxy_auth() { }); } -$(document).ready(function() { - mkws_service_proxy_auth(); -}); - +/* magic */ +$(document).ready(function() { mkws_html_all(mkws_config) });