X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=12f3f710de31677386d47b42eac24677c9e7051a;hb=cbc77f8ae0471f0c2702a78743aebc711a15e781;hp=04977cdcd62802d9e350e55f01e029876fc75100;hpb=10792e58f76ed88fcfff475ee71fbf4933ee7a65;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 04977cd..12f3f71 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -2,64 +2,71 @@ "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" + } } }; @@ -268,6 +275,7 @@ function _make_mkws_team($, teamName) { 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); @@ -313,13 +321,10 @@ function _make_mkws_team($, teamName) { 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); } @@ -489,7 +494,7 @@ function _make_mkws_team($, teamName) { // Re-use previous query/sort if new ones are not specified if (query) { - mkws.query = query; + m_query = query; } if (sort) { m_sort = sort; @@ -524,9 +529,9 @@ function _make_mkws_team($, teamName) { 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 () @@ -775,11 +780,7 @@ function _make_mkws_team($, teamName) { function renderDetails(data, marker) { - if (mkws.templateRecord === undefined) { - loadTemplate("Record"); - } - - var template = mkws.templateRecord; + var template = loadTemplate("Record"); var details = template(data); return '
' + details + '
'; } @@ -787,14 +788,20 @@ function _make_mkws_team($, teamName) { 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; }