"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 = {
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;
}