X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widget-main.js;h=4b1cf3417f9d3c5a0ec63d9ca11bf3680a3d7d84;hb=6bdc28a3072c622e756f0377f375ae64c5492ff8;hp=3986c16fa21b04ac72796964cc3841cbf7f6975c;hpb=7610fdb0a2ebc53d9e9f960bbd9f2c806ec3d738;p=mkws-moved-to-github.git diff --git a/src/mkws-widget-main.js b/src/mkws-widget-main.js index 3986c16..4b1cf34 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -73,19 +73,19 @@ mkws.registerWidgetType('pager', function() { if (firstClkbl > 1) output.morePrev = true; if (lastClkbl < pages) output.moreNext = true; - if (currentPage > 1) output.prevClick = "mkws.pagerPrev(\'" + teamName + "\');"; + if (currentPage > 1) output.prevHref = '#' + that.team.urlFragment({ page: currentPage-1 }); output.pages = []; for(var i = firstClkbl; i <= lastClkbl; i++) { var o = {}; o.number = i; if (i !== currentPage) { - o.click = "mkws.showPage(\'" + teamName + "\', " + i + ");"; + o.href = '#' + that.team.urlFragment({ page: i }); } output.pages.push(o); } - if (pages - currentPage > 0) output.nextClick = "mkws.pagerNext(\'" + teamName + "\')"; + if (pages - currentPage > 0) output.nextHref = '#' + that.team.urlFragment({ page: currentPage+1 }); var template = that.team.loadTemplate(that.config.template || "pager"); that.node.html(template(output)); @@ -113,21 +113,20 @@ mkws.registerWidgetType('details', function() { mkws.registerWidgetType('records', function() { var that = this; var team = this.team; - var m_data; - var m_needRedraw = false; - var m_frozen = false; this.team.queue("searchtriggered").subscribe(function() { var op = that.config.newsearch_opacity; if (op !== undefined) { that.node.fadeTo(500, op); } }); + var m_dataToRedraw = null; function refreshRecordData() { + that.node.stop(); that.node.css('opacity', 1); - if (m_needRedraw) { - for (var i = 0; i < m_data.hits.length; i++) { - var hit = m_data.hits[i]; + if (m_dataToRedraw) { + for (var i = 0; i < m_dataToRedraw.hits.length; i++) { + var hit = m_dataToRedraw.hits[i]; hit.detailLinkId = team.recordElementId(hit.recid[0]); hit.detailClick = "mkws.showDetails('" + team.name() + "', '" + hit.recid[0] + "');return false;"; hit.containerClass = "mkws-summary mkwsSummary mkws-team-" + team.name(); @@ -143,35 +142,39 @@ mkws.registerWidgetType('records', function() { } var template = team.loadTemplate(that.config.template || "records"); var summaryPartial = team.loadTemplate(that.config['summary-template'] || "summary"); - var tdata = $.extend({}, {"hits": m_data.hits}, that.config.template_vars); + var tdata = $.extend({}, {"hits": m_dataToRedraw.hits}, that.config.template_vars); that.node.html(template(tdata, {"partials":{"summary":summaryPartial}})); } - m_needRedraw = false; + m_dataToRedraw = null; } - function setRecordData(data) { - m_data = data; - m_needRedraw = true; + var m_frozen = false; + this.team.queue("records").subscribe(function(data) { + m_dataToRedraw = data; if (!m_frozen) { refreshRecordData(); } - } + }); - this.team.queue("records").subscribe(setRecordData); - - this.node.mouseenter(function() { - that.info("freezing display records"); - that.node.css('opacity', 0.5); + var m_timer; + this.node.mousemove(function() { + that.debug("freezing records"); + 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); }); - this.node.mouseleave(function() { - that.info("refreshing records"); + function unfreezeRecordDisplay() { + clearTimeout(m_timer); + that.debug("unfreezing records"); that.node.css('opacity', 1); m_frozen = false; refreshRecordData(); - }); + } + this.node.mouseleave(unfreezeRecordDisplay); that.autosearch(); });