X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-widget-main.js;h=e01675ff9159fa4f7b1252d0dad510ac40c5f756;hb=8add358598355ffee140cd0156051c053018c65c;hp=ffe00d64d696c5f65e129bad7ce69cacf90705e1;hpb=7508a91294fa89cb3f57218eefd7f0354df81ea4;p=mkws-moved-to-github.git diff --git a/src/mkws-widget-main.js b/src/mkws-widget-main.js index ffe00d6..e01675f 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -1,3 +1,5 @@ +(function($) { // jQuery wrapper + // Functions follow for promoting the regular widget object into // widgets of specific types. These could be moved into their own // source files. @@ -86,6 +88,25 @@ mkws.registerWidgetType('Pager', function() { }); }); +mkws.registerWidgetType('Details', function() { + var that = this; + var recid = that.node.attr("data-mkws-recid"); + if (this.team.gotRecords()) { + that.team.fetchDetails(recid); + } else { + this.team.queue("firstrecords").subscribe(function() { + that.team.fetchDetails(recid); + }); + } + this.team.queue("record").subscribe(function(data) { + console.log(data); + if ($.inArray(recid, data.recid) > -1) { + var template = that.team.loadTemplate(that.config.template || "Record"); + that.node.html(template(data)); + } + }); + that.autosearch(); +}); mkws.registerWidgetType('Records', function() { var that = this; @@ -96,7 +117,7 @@ mkws.registerWidgetType('Records', function() { var hit = data.hits[i]; that.team.queue("record").publish(hit); hit.detailLinkId = team.recordElementId(hit.recid[0]); - hit.detailClick = "mkws.showDetails('" + team.name() + "', '" + hit.recid[0] + "');return false;" + hit.detailClick = "mkws.showDetails('" + team.name() + "', '" + hit.recid[0] + "');return false;"; hit.containerClass = "mkwsSummary mkwsTeam_" + team.name(); hit.containerClass += " " + hit.detailLinkId; // ### At some point, we may be able to move the @@ -105,7 +126,6 @@ mkws.registerWidgetType('Records', function() { if (hit.recid == team.currentRecordId()) { if (team.currentRecordData()) { hit.renderedDetails = team.renderDetails(team.currentRecordData()); - console.log(hit.renderedDetails); } } } @@ -121,26 +141,29 @@ mkws.registerWidgetType('Records', function() { mkws.registerWidgetType('Navi', function() { var that = this; var teamName = this.team.name(); - var M = mkws.M; this.team.queue("navi").subscribe(function() { var filters = that.team.filters(); - var text = ""; + var output = {filters:[]}; filters.visitTargets(function(id, name) { - if (text) text += " | "; - text += M('source') + ': ' + name + ''; + var cur = {}; + cur.facet = 'source'; + cur.value = name; + cur.click = "mkws.delimitTarget('" + teamName + "', '" + id + "'); return false;"; + output.filters.push(cur); }); filters.visitFields(function(field, value) { - if (text) text += " | "; - text += M(field) + ': ' + value + ''; + var cur = {}; + cur.facet = field; + cur.value = value; + cur.click = "mkws.delimitQuery('" + teamName + "', '" + field + "', '" + value + "'" + ");return false;"; + output.filters.push(cur); }); - that.node.html(text); + var template = that.team.loadTemplate(that.config.template || "Navi"); + that.node.html(template(output)); }); }); @@ -344,8 +367,8 @@ mkws.registerWidgetType('Progress', function() { var that = this; this.node.hide(); this.team.queue("stat").subscribe(function(data) { - var template = this.team.loadTemplate(this.config.template || "Progress"); - this.node.html(template({ + var template = that.team.loadTemplate(that.config.template || "Progress"); + that.node.html(template({ done: data.clients - data.activeclients, waiting: data.activeclients })); @@ -364,3 +387,4 @@ mkws.registerWidgetType('MOTDContainer', function() {}); mkws.registerWidgetType('Button', function() {}); +})(mkws.$); // jQuery wrapper