X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widget-main.js;h=2d4761766650ff1c1a6f7a93d5fb7d508c7a01c4;hb=a4bc69c1158498afe0c0f0eab4d2a136526b8695;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..2d47617 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -138,7 +138,26 @@ mkws.registerWidgetType('records', function() { hit.renderedDetails = team.renderDetails(team.currentRecordData()); } } + + var urls = hit['md-electronic-url']; + if (urls) { + 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 +168,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 +186,6 @@ mkws.registerWidgetType('records', function() { function unfreezeRecordDisplay() { clearTimeout(m_timer); - that.info("refreshing records"); that.node.css('opacity', 1); m_frozen = false; refreshRecordData(); @@ -272,7 +288,7 @@ mkws.registerWidgetType('search-form', function() { var team = this.team; this.node.submit(function() { var val = team.widget('query').value(); - team.newSearch(val); + team.newSearch(this, val); return false; }); });