-/* A very simple client that shows a basic usage of the pz2.js
-*/
+/* MKWS, the MasterKey Widget Set. Copyright (C) 2013, Index Data */
"use strict"; // HTML5: disable for debug_level >= 2
var mkws = {
sort: 'relevance',
authenticated: false,
- filters: [],
+ filters: []
};
/*
Handlebars.registerHelper('json', function(obj) {
- return JSON.stringify(obj);
+ return $.toJSON(obj);
});
function newSearch(query, sort, targets)
{
- if (!mkws.authenticated) {
+ debug("newSearch: " + query);
+
+ if (mkws_config.use_service_proxy && !mkws.authenticated) {
alert("searching before authentication");
return;
}
}
}
- debug("triggerSearch(" + mkws.query + "): filters = " + JSON.stringify(mkws.filters) + ", pp2filter = " + pp2filter + ", pp2limit = " + pp2limit);
+ debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(mkws.filters) + ", pp2filter = " + pp2filter + ", pp2limit = " + pp2limit);
my_paz.search(mkws.query, recPerPage, mkws.sort, pp2filter, undefined, { limit: pp2limit });
}
if (filter.field &&
field == filter.field &&
value == filter.value) {
- debug("delimitTarget() removing filter " + JSON.stringify(filter));
+ debug("delimitTarget() removing filter " + $.toJSON(filter));
} else {
- debug("delimitTarget() keeping filter " + JSON.stringify(filter));
+ debug("delimitTarget() keeping filter " + $.toJSON(filter));
newFilters.push(filter);
}
}
for (var i in mkws.filters) {
var filter = mkws.filters[i];
if (filter.id) {
- debug("delimitTarget() removing filter " + JSON.stringify(filter));
+ debug("delimitTarget() removing filter " + $.toJSON(filter));
} else {
- debug("delimitTarget() keeping filter " + JSON.stringify(filter));
+ debug("delimitTarget() keeping filter " + $.toJSON(filter));
newFilters.push(filter);
}
}
mkws_html_switch();
- if (mkws_config.use_service_proxy)
+ if (mkws_config.use_service_proxy) {
mkws_service_proxy_auth(mkws_config.service_proxy_auth,
- mkws_config.service_proxy_auth_domain);
+ mkws_config.service_proxy_auth_domain,
+ mkws_config.pazpar2_url);
+ } else {
+ // raw pp2
+ run_auto_searches();
+ }
if (mkws_config.responsive_design_width) {
// Responsive web design - change layout on the fly based on
function run_auto_searches() {
+ debug("run auto searches");
+
var node = $('#mkwsRecords');
if (node.attr('autosearch')) {
var query = node.attr('autosearch');
* The username/password is configured in the apache config file
* for the site.
*/
-function mkws_service_proxy_auth(auth_url, auth_domain) {
+function mkws_service_proxy_auth(auth_url, auth_domain, pp2_url) {
debug("Run service proxy auth URL: " + auth_url);
+ if (!auth_domain) {
+ auth_domain = pp2_url.replace(/^http:\/\/(.*?)\/.*/, '$1');
+ debug("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'");
+ }
+
var request = new pzHttpRequest(auth_url, function(err) {
alert("HTTP call for authentication failed: " + err)
return;