X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmkws-team.js;h=ead2f0311faff02717ca0bcb0f462b732767a3b7;hb=696d1d9e680bfb287e5347134768f5d0e8c10567;hp=a2dd506dd77aa4ad9aba47ec1339e1d13eb7c090;hpb=a3507a2e136008e3e2e0ae407ce52cf2657fce6e;p=mkws-moved-to-github.git diff --git a/src/mkws-team.js b/src/mkws-team.js index a2dd506..ead2f03 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -46,6 +46,7 @@ function team($, teamName) { that.currentRecordId = function() { return m_currentRecordId; }; that.currentRecordData = function() { return m_currentRecordData; }; that.filters = function() { return m_filterSet; }; + that.gotRecords = function() { return m_gotRecords; }; // Accessor methods for individual widgets: writers that.set_sortOrder = function(val) { m_sortOrder = val }; @@ -149,6 +150,7 @@ function team($, teamName) { log("record"); // FIXME: record is async!! clearTimeout(m_paz.recordTimer); + queue("record").publish(data); var detRecordDiv = findnode(recordDetailsId(data.recid[0])); if (detRecordDiv.length) { // in case on_show was faster to redraw element @@ -293,7 +295,7 @@ function team($, teamName) { if (maxrecs) params.maxrecs = maxrecs; if (torusquery) { if (!mkws.config.use_service_proxy) - alert("can't narrow search by torusquery when Service Proxy is not in use"); + alert("can't narrow search by torusquery when not authenticated"); params.torusquery = torusquery; } @@ -303,6 +305,12 @@ function team($, teamName) { m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params); } + // fetch record details to be retrieved from the record queue + that.fetchDetails = function(recId) { + log("fetchDetails() requesting record '" + recId + "'"); + m_paz.record(recId); + }; + // switching view between targets and records function switchView(view) { @@ -389,38 +397,34 @@ function team($, teamName) { function loadTemplate(name, fallbackString) { var template = m_template[name]; - - if (template === undefined) { - // Fall back to generic template if there is no team-specific one + if (template === undefined && Handlebars.compile) { var source; var node = $(".mkwsTemplate_" + name + " .mkwsTeam_" + that.name()); if (node && node.length < 1) { node = $(".mkwsTemplate_" + name); } - if (node) { - source = node.html(); - } - - // If the template is not defined in HTML, check the following - // in order: template registered in the team by a widget; - // fallback string provided on this invocation; global default. - if (!source) { - source = m_templateText[name]; - } - if (!source) { - source = fallbackString; + if (node) source = node.html(); + if (!source) source = m_templateText[name]; + if (source) { + template = Handlebars.compile(source); + log("compiled template '" + name + "'"); } - if (!source) { - source = mkws.defaultTemplate(name); - } - - if (!source) return null; - template = Handlebars.compile(source); - log("compiled template '" + name + "'"); + } + //if (template === undefined) template = mkws_templatesbyteam[m_teamName][name]; + if (template === undefined && Handlebars.templates) { + template = Handlebars.templates[name]; + } + if (template === undefined && mkws.defaultTemplates) { + template = mkws.defaultTemplates[name]; + } + if (template) { m_template[name] = template; + return template; } - - return template; + else { + mkws.log("No MKWS template for " + name); + return null; + } } that.loadTemplate = loadTemplate;