"use strict"; // HTML5: disable for debug_level >= 2
+// Some functions are visible to be called from outside code, namely
+// generated HTML: mkws.switchView(), showDetails(), limitTarget(),
+// limitQuery(), delimitTarget(), delimitQuery(), pagerPrev(),
+// pagerNext(), showPage()
+
// Set up global mkws object. Contains a hash of session objects,
// indexed by windowid.
var mkws = {
authenticated: false,
- sessions: {}
-};
-
-mkws.locale_lang = {
- "de": {
- "Authors": "Autoren",
- "Subjects": "Schlagwörter",
- "Sources": "Daten und Quellen",
- "Termlists": "Termlisten",
- "Next": "Weiter",
- "Prev": "Zurück",
- "Search": "Suche",
- "Sort by": "Sortieren nach",
- "and show": "und zeige",
- "per page": "pro Seite",
- "Displaying": "Zeige",
- "to": "von",
- "of": "aus",
- "found": "gefunden",
- "Title": "Titel",
- "Author": "Autor",
- "Date": "Datum",
- "Subject": "Schlagwort",
- "Location": "Ort",
- "Records": "Datensätze",
- "Targets": "Datenbanken",
-
- "dummy": "dummy"
- },
-
- "da": {
- "Authors": "Forfattere",
- "Subjects": "Emner",
- "Sources": "Kilder",
- "Termlists": "Termlists",
- "Next": "Næste",
- "Prev": "Forrige",
- "Search": "Søg",
- "Sort by": "Sorter efter",
- "and show": "og vis",
- "per page": "per side",
- "Displaying": "Viser",
- "to": "til",
- "of": "ud af",
- "found": "fandt",
- "Title": "Title",
- "Author": "Forfatter",
- "Date": "Dato",
- "Subject": "Emneord",
- "Location": "Lokation",
- "Records": "Poster",
- "Targets": "Baser",
-
- "dummy": "dummy"
+ init: false,
+ debug_function: undefined, // will be set during initialisation
+ debug_level: undefined, // will be initialised from mkws_config
+ sessions: {},
+ locale_lang: {
+ "de": {
+ "Authors": "Autoren",
+ "Subjects": "Schlagwörter",
+ "Sources": "Daten und Quellen",
+ "Termlists": "Termlisten",
+ "Next": "Weiter",
+ "Prev": "Zurück",
+ "Search": "Suche",
+ "Sort by": "Sortieren nach",
+ "and show": "und zeige",
+ "per page": "pro Seite",
+ "Displaying": "Zeige",
+ "to": "von",
+ "of": "aus",
+ "found": "gefunden",
+ "Title": "Titel",
+ "Author": "Autor",
+ "Date": "Datum",
+ "Subject": "Schlagwort",
+ "Location": "Ort",
+ "Records": "Datensätze",
+ "Targets": "Datenbanken",
+
+ "dummy": "dummy"
+ },
+
+ "da": {
+ "Authors": "Forfattere",
+ "Subjects": "Emner",
+ "Sources": "Kilder",
+ "Termlists": "Termlists",
+ "Next": "Næste",
+ "Prev": "Forrige",
+ "Search": "Søg",
+ "Sort by": "Sorter efter",
+ "and show": "og vis",
+ "per page": "per side",
+ "Displaying": "Viser",
+ "to": "til",
+ "of": "ud af",
+ "found": "fandt",
+ "Title": "Title",
+ "Author": "Forfatter",
+ "Date": "Dato",
+ "Subject": "Emneord",
+ "Location": "Lokation",
+ "Records": "Poster",
+ "Targets": "Baser",
+
+ "dummy": "dummy"
+ }
}
};
// wrapper for jQuery lib
function _make_mkws_team($, teamName) {
- if (console && console.log)
- console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")");
+ // if (console && console.log) // disabled, will fail in IE8
+ // console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")");
// call this function only once
if (mkws.init) {
var SourceMax = 16;
var SubjectMax = 10;
var AuthorMax = 10;
+ var m_query; // initially undefined
if (!isNaN(parseInt(mkws_config.perpage_default))) {
recPerPage = parseInt(mkws_config.perpage_default);
function renderSummary(hit)
{
- if (mkws.templateSummary === undefined) {
- loadTemplate("Summary");
- }
-
+ var template = loadTemplate("Summary");
hit._id = "mkwsRec_" + hit.recid;
hit._onclick = "mkws.showDetails(this.id);return false;"
- return mkws.templateSummary(hit);
+ return template(hit);
}
// Re-use previous query/sort if new ones are not specified
if (query) {
- mkws.query = query;
+ m_query = query;
}
if (sort) {
m_sort = sort;
if (windowid) {
params.windowid = windowid;
}
- debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
+ debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
- m_paz.search(mkws.query, recPerPage, m_sort, pp2filter, undefined, params);
+ m_paz.search(m_query, recPerPage, m_sort, pp2filter, undefined, params);
}
function loadSelect ()
function renderDetails(data, marker)
{
- if (mkws.templateRecord === undefined) {
- loadTemplate("Record");
- }
-
- var template = mkws.templateRecord;
+ var template = loadTemplate("Record");
var details = template(data);
return '<div class="details" id="mkwsDet_' + data.recid + '">' + details + '</div>';
}
function loadTemplate(name)
{
- var source = $("#mkwsTemplate" + name).html();
- if (!source) {
- source = defaultTemplate(name);
+ var template = mkws['template' + name];
+
+ if (template === undefined) {
+ var source = $("#mkwsTemplate" + name).html();
+ if (!source) {
+ source = defaultTemplate(name);
+ }
+
+ template = Handlebars.compile(source);
+ debug("compiled template '" + name + "'");
+ mkws['template' + name] = template;
}
- var template = Handlebars.compile(source);
- debug("compiled template '" + name + "'");
- mkws['template' + name] = template;
+ return template;
}