if (op !== undefined) { that.node.fadeTo(500, op); }
});
- this.team.queue("records").subscribe(function(data) {
+ var m_dataToRedraw = null;
+ function refreshRecordData() {
that.node.css('opacity', 1);
- for (var i = 0; i < data.hits.length; i++) {
- var hit = data.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();
- hit.containerClass += " " + hit.detailLinkId;
- // ### At some point, we may be able to move the
- // m_currentRecordId and m_currentRecordData members
- // from the team object into this widget.
- if (hit.recid == team.currentRecordId()) {
- if (team.currentRecordData()) {
- hit.renderedDetails = team.renderDetails(team.currentRecordData());
- }
+
+ 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();
+ hit.containerClass += " " + hit.detailLinkId;
+ // ### At some point, we may be able to move the
+ // m_currentRecordId and m_currentRecordData members
+ // from the team object into this widget.
+ if (hit.recid == team.currentRecordId()) {
+ if (team.currentRecordData()) {
+ hit.renderedDetails = team.renderDetails(team.currentRecordData());
+ }
+ }
}
+ 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);
+ that.node.html(template(tdata, {"partials":{"summary":summaryPartial}}));
+ }
+
+ m_dataToRedraw = null;
+ }
+
+ var m_frozen = false;
+ this.team.queue("records").subscribe(function(data) {
+ m_dataToRedraw = data;
+ if (!m_frozen) {
+ refreshRecordData();
}
- var template = team.loadTemplate(that.config.template || "records");
- var summaryPartial = team.loadTemplate(that.config['summary-template'] || "summary");
- var tdata = $.extend({}, {"hits": data.hits}, that.config.template_vars);
- that.node.html(template(tdata, {"partials":{"summary":summaryPartial}}));
});
+ var m_timer;
+ this.node.mousemove(function() {
+ that.info("freezing display records");
+ that.node.css('opacity', 0.5);
+ m_frozen = true;
+ clearTimeout(m_timer);
+ m_timer = setTimeout(unfreezeRecordDisplay, 1000);
+ });
+
+ function unfreezeRecordDisplay() {
+ clearTimeout(m_timer);
+ that.info("refreshing records");
+ that.node.css('opacity', 1);
+ m_frozen = false;
+ refreshRecordData();
+ }
+ this.node.mouseleave(unfreezeRecordDisplay);
+
that.autosearch();
});