"use strict"; // HTML5: disable for debug_level >= 2
-// Set up namespace and some state.
+// Set up global mkws object. Contains a hash of session objects,
+// indexed by windowid.
var mkws = {
- sort: 'relevance',
authenticated: false,
- filters: []
+ sessions: {}
};
// Define empty mkws_config for simple applications that don't define it.
}
// wrapper for jQuery lib
-function _mkws($) {
- // if (console && console.log) console.log("run _mkws()");
+function _make_mkws_team($, teamName) {
+ if (console && console.log)
+ console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")");
// call this function only once
- if (mkws.init) return;
+ if (mkws.init) {
+ alert("_make_mkws_team() called twice: how did that happen?!");
+ return;
+ }
+
+var m_sort = 'relevance';
+var m_filters = [];
mkws.locale_lang = {
"de": {
"Date": "Datum",
"Subject": "Schlagwort",
"Location": "Ort",
- // ### to add: Records, Targets
+ "Records": "Datensätze",
+ "Targets": "Datenbanken",
"dummy": "dummy"
},
"Date": "Dato",
"Subject": "Emneord",
"Location": "Lokation",
- // ### to add: Records, Targets
+ "Records": "Poster",
+ "Targets": "Baser",
"dummy": "dummy"
}
}
-mkws.sort = mkws_config.sort_default;
-debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to mkws.sort");
+m_sort = mkws_config.sort_default;
+debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to m_sort");
mkws.usesessions = mkws_config.use_service_proxy ? false : true;
}
}
+// protocol independend link for pazpar2: "//mkws/sp" -> "https://mkws/sp"
+if (mkws_config.pazpar2_url.match(/^\/\//)) {
+ mkws_config.pazpar2_url = document.location.protocol + mkws_config.pazpar2_url;
+ debug("adjust protocol independend links: " + mkws_config.pazpar2_url);
+}
+
debug("Create main pz2 object");
// create a parameters array and pass it to the pz2's constructor
// then register the form submit event with the pz2.search function
return;
}
- mkws.filters = []
+ m_filters = []
redraw_navi(); // ### should use windowid
resetPage(); // ### the globals it resents should be indexed by windowid
loadSelect(); // ### should use windowid
if (!submitted) return false;
resetPage();
loadSelect();
- my_paz.show(0, recPerPage, mkws.sort);
+ my_paz.show(0, recPerPage, m_sort);
return false;
}
mkws.query = query;
}
if (sort) {
- mkws.sort = sort;
+ m_sort = sort;
}
if (targets) {
// ### should support multiple |-separated targets
- mkws.filters.push({ id: targets, name: targets });
+ m_filters.push({ id: targets, name: targets });
}
- for (var i in mkws.filters) {
- var filter = mkws.filters[i];
+ for (var i in m_filters) {
+ var filter = m_filters[i];
if (filter.id) {
if (pp2filter)
pp2filter += ",";
if (windowid) {
params.windowid = windowid;
}
- debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(mkws.filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
+ debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
- my_paz.search(mkws.query, recPerPage, mkws.sort, pp2filter, undefined, params);
+ my_paz.search(mkws.query, recPerPage, m_sort, pp2filter, undefined, params);
}
function loadSelect ()
{
if (document.mkwsSelect) {
if (document.mkwsSelect.mkwsSort)
- mkws.sort = document.mkwsSelect.mkwsSort.value;
+ m_sort = document.mkwsSelect.mkwsSort.value;
if (document.mkwsSelect.mkwsPerpage)
recPerPage = document.mkwsSelect.mkwsPerpage.value;
}
mkws.limitQuery = function (field, value)
{
debug("limitQuery(field=" + field + ", value=" + value + ")");
- mkws.filters.push({ field: field, value: value });
+ m_filters.push({ field: field, value: value });
redraw_navi();
resetPage();
loadSelect();
mkws.limitTarget = function (id, name)
{
debug("limitTarget(id=" + id + ", name=" + name + ")");
- mkws.filters.push({ id: id, name: name });
+ m_filters.push({ id: id, name: name });
redraw_navi();
resetPage();
loadSelect();
{
debug("delimitQuery(field=" + field + ", value=" + value + ")");
var newFilters = [];
- for (var i in mkws.filters) {
- var filter = mkws.filters[i];
+ for (var i in m_filters) {
+ var filter = m_filters[i];
if (filter.field &&
field == filter.field &&
value == filter.value) {
newFilters.push(filter);
}
}
- mkws.filters = newFilters;
+ m_filters = newFilters;
redraw_navi();
resetPage();
{
debug("delimitTarget(id=" + id + ")");
var newFilters = [];
- for (var i in mkws.filters) {
- var filter = mkws.filters[i];
+ for (var i in m_filters) {
+ var filter = m_filters[i];
if (filter.id) {
debug("delimitTarget() removing filter " + $.toJSON(filter));
} else {
newFilters.push(filter);
}
}
- mkws.filters = newFilters;
+ m_filters = newFilters;
redraw_navi();
resetPage();
if (!navi) return;
var text = "";
- for (var i in mkws.filters) {
+ for (var i in m_filters) {
if (text) {
text += " | ";
}
- var filter = mkws.filters[i];
+ var filter = m_filters[i];
if (filter.id) {
text += 'Source: <a class="crossout" href="#" onclick="mkws.delimitTarget(' +
"'" + filter.id + "'" + ');return false;">' + filter.name + '</a>';
}
function mkws_html_sort() {
- debug("HTML sort, mkws.sort = '" + mkws.sort + "'");
+ debug("HTML sort, m_sort = '" + m_sort + "'");
var sort_html = '<select name="mkwsSort" id="mkwsSort">';
for(var i = 0; i < mkws_config.sort_options.length; i++) {
var val = opt.length == 1 ? opt[0] : opt[1];
sort_html += '<option value="' + key + '"';
- if (mkws.sort == key || mkws.sort == val) {
+ if (m_sort == key || m_sort == val) {
sort_html += ' selected="selected"';
}
sort_html += '>' + M(val) + '</option>';
debug("Run service proxy auth URL: " + auth_url);
if (!auth_domain) {
- auth_domain = pp2_url.replace(/^http:\/\/(.*?)\/.*/, '$1');
+ auth_domain = pp2_url.replace(/^(https?:)?\/\/(.*?)\/.*/, '$2');
debug("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'");
}
* implement jQuery plugin $.pazpar2({})
*/
function _mkws_jquery_plugin ($) {
- // delayed debug, internal variables are set after dom ready
+ var debug_level = 1;
+
function debug (string) {
- setTimeout(function() { mkws.debug_function(string); }, 500);
+ if (!debug_level)
+ return;
+
+ if (typeof console === "undefined" || typeof console.log === "undefined")
+ return;
+
+ console.log("jquery.pazpar2: " + string);
}
function init_popup(obj) {
// make sure that jquery-ui was loaded afte jQuery core lib, e.g.:
// <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
if (!$.ui) {
- debug("Error: jquery-ui.js is missing, did you included it after jquery core in the HTML file?");
+ debug("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?");
return;
}
});
};
-// wrapper to call _mkws after page load
+// wrapper to call _make_mkws_team() after page load
(function (j) {
// enable before page load, so we could call it before mkws() runs
_mkws_jquery_plugin(j);
$(document).ready(function() {
// if (console && console.log) console.log("on load ready");
- _mkws(j);
+ _make_mkws_team(j, null);
});
})(jQuery);