X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widget-main.js;h=f1b13e02879078b4f6d346a238c520b367ebe944;hb=a6921ecbf975ae32008c7b18f437d3f3b4773d6e;hp=e264ebacb1c5ba22c71a828d16db8c91c1a20e2f;hpb=43a735e20bc1f9de6943a11b432fc03094588ce5;p=mkws-moved-to-github.git diff --git a/src/mkws-widget-main.js b/src/mkws-widget-main.js index e264eba..f1b13e0 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -138,7 +138,24 @@ mkws.registerWidgetType('records', function() { hit.renderedDetails = team.renderDetails(team.currentRecordData()); } } + + var urls = hit['md-electronic-url']; + var bestLink = null; + var otherLinks = []; + for (var j = 0; j < urls.length; j++) { + var url = urls[j]; + if (!url.match(/^(https?:)?\/\//)) { + that.warn("link '" + url + "' is not a valid URL"); + } else if (!bestLink) { + bestLink = url; + } else { + otherLinks.push(url); + } + } + hit.bestLink = bestLink; + hit.otherLinks = otherLinks; } + var template = team.loadTemplate(that.config.template || "records"); var summaryPartial = team.loadTemplate(that.config['summary-template'] || "summary"); var tdata = $.extend({}, {"hits": m_dataToRedraw.hits}, that.config.template_vars); @@ -149,19 +166,17 @@ mkws.registerWidgetType('records', function() { } var m_frozen = false; - function setRecordData(data) { + this.team.queue("records").subscribe(function(data) { m_dataToRedraw = data; if (!m_frozen) { refreshRecordData(); } - } - - this.team.queue("records").subscribe(setRecordData); + }); var m_timer; this.node.mousemove(function() { - that.info("freezing display records"); - that.node.css('opacity', 0.5); + var op = that.config.freeze_opacity; + if (op !== undefined) { that.node.css('opacity', op); } m_frozen = true; clearTimeout(m_timer); m_timer = setTimeout(unfreezeRecordDisplay, 1000); @@ -169,7 +184,6 @@ mkws.registerWidgetType('records', function() { function unfreezeRecordDisplay() { clearTimeout(m_timer); - that.info("refreshing records"); that.node.css('opacity', 1); m_frozen = false; refreshRecordData();