UNPKG

24 kBJavaScriptView Raw
1(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{510:function(t,e,s){var a=s(511);"string"==typeof a&&(a=[[t.i,a,""]]);s(42)(a,{});a.locals&&(t.exports=a.locals)},511:function(t,e,s){(t.exports=s(41)(!1)).push([t.i,'\n/* Variables - keep in sync with globalStyles.js*/\n:root {\n --darkGrey: #333;\n --medGrey: #888;\n}\n\n#d3entropy .overlay {\n fill: none;\n pointer-events: all;\n}\n\n#d3entropy .brush {\n stroke: none;\n}\n\n#d3entropy .niceText {\n font-family: "Lato", "Helvetica Neue", "Helvetica", "sans-serif";\n font-size: 14px;\n font-style: italic;\n color: var(--medGrey);\n}\n\n.brush .selection {\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n',""])},692:function(t,e,s){"use strict";s.r(e);var a=s(3),n=s.n(a),o=s(15),i=s.n(o),r=s(40),l=s(479),c=(s(483),s(485)),h=s(502),p=s(480),d=s(27),u=s(512),f=s(51),y=s(685),v=s(686),m=s(501),x=s.n(m),b=s(22),g=s(112),M=s(2),w=function(t,e,s,a,n){this.svg=Object(l.f)(t),this.annotations=e,this.geneMap=s,this.maxNt=a,this.callbacks=n,this.okToDrawBars=!1};w.prototype.render=function(t){this.props=t,this.aa="aa"===t.mutType,this.bars=t.bars,this.selectedNodes=Object(b.isColorByGenotype)(t.colorBy)?this._getSelectedNodes(Object(b.decodeColorByGenotype)(t.colorBy,t.geneLength)):[],this.svg.selectAll("*").remove(),this._calcOffsets(t.width,t.height),this._drawMainNavElements(),this._addZoomLayers(),this._setScales(this.maxNt+1,t.maxYVal),this.zoomCoordinates=Object(b.isColorByGenotype)(t.colorBy)?this._getZoomCoordinates(Object(b.decodeColorByGenotype)(t.colorBy,t.geneLength),t.geneMap):this.scales.xNav.domain(),this.zoomCoordinates[0]=t.zoomMin?t.zoomMin:this.zoomCoordinates[0],this.zoomCoordinates[1]=t.zoomMax?t.zoomMax:this.zoomCoordinates[1],this._drawAxes(),this._addBrush(),this._addClipMask(),this._drawGenes(this.annotations),this._drawZoomGenes(this.annotations),this.okToDrawBars=!0,this._drawBars(),this.zoomed=this._createZoomFn()},w.prototype.update=function(t){var e=this,s=t.aa,a=void 0===s?void 0:s,n=t.selected,o=void 0===n?void 0:n,i=t.newBars,r=void 0===i?void 0:i,l=t.maxYVal,c=void 0===l?void 0:l,h=t.clearSelected,p=void 0!==h&&h,d=t.gene,u=void 0===d?void 0:d,f=t.start,y=void 0===f?void 0:f,v=t.end,m=void 0===v?void 0:v,x=t.zoomMax,b=void 0===x?void 0:x,g=t.zoomMin,w=void 0===g?void 0:g,N=void 0!==a&&a!==this.aa;if((r||N)&&(N&&(this.aa=a),r&&(this.bars=r),this._updateYScaleAndAxis(c),this._drawBars()),void 0!==o?(this._clearSelectedBars(),this.selectedNodes=this._getSelectedNodes(o),this._highlightSelectedBars()):p&&this._clearSelectedBars(),void 0!==u&&void 0!==y&&void 0!==m){var C=m-y,O=u===M.nucleotide_gene?0:1*C;this.navGraph.select(".brush").call(this.brush.move,(function(){return[Math.max(e.scales.xNav(y-O),e.scales.xNav(0)),Math.min(e.scales.xNav(m+O),e.scales.xNav(e.scales.xNav.domain()[1]))]}))}if(void 0!==w||void 0!==b){var k=void 0===w?0:w,_=void 0===b?this.scales.xNav.domain()[1]:b;this.navGraph.select(".brush").call(this.brush.move,(function(){return[e.scales.xNav(k),e.scales.xNav(_)]}))}},w.prototype._aaToNtCoord=function(t,e){return"-"===this.geneMap[t].strand?this.geneMap[t].end-3*e+1:this.geneMap[t].start+3*e-2},w.prototype._getZoomCoordinates=function(t,e){var s=[0,this.scales.xNav.domain()[1]],a=0;if(t.aa){var n=t.gene;a=1*((s=[e[n].start,e[n].end])[1]-s[0])}else{var o=this.scales.xNav.domain()[1];if(1===t.positions.length){var i=t.positions[0],r=.05*o;s=i-r<=0?[0,i+r]:i+r>=o?[i-r,o]:[i-r,i+r]}else{var l=Math.min.apply(null,t.positions),c=Math.max.apply(null,t.positions);s=[l-.05*(c-l),c+.05*(c-l)]}}return[Math.max(s[0]-a,0),Math.min(s[1]+a,this.scales.xNav.domain()[1])]},w.prototype._getSelectedNodes=function(t){if(this.aa===t.aa){var e=[];if(this.aa){var s=[],a=!0,n=!1,o=void 0;try{for(var i,r=t.positions[Symbol.iterator]();!(a=(i=r.next()).done);a=!0){var l=i.value;s.push([t.gene,l])}}catch(t){n=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(n)throw o}}var c=!0,h=!1,p=void 0;try{for(var d,u=this.bars[Symbol.iterator]();!(c=(d=u.next()).done);c=!0)for(var f=d.value,y=0,v=s;y<v.length;y++){var m=v[y];f.prot===m[0]&&f.codon===m[1]&&e.push(f)}}catch(t){h=!0,p=t}finally{try{c||null==u.return||u.return()}finally{if(h)throw p}}}else{var x=!0,b=!1,g=void 0;try{for(var M,w=this.bars[Symbol.iterator]();!(x=(M=w.next()).done);x=!0){var N=M.value;-1!==t.positions.indexOf(N.x)&&e.push(N)}}catch(t){b=!0,g=t}finally{try{x||null==w.return||w.return()}finally{if(b)throw g}}}return e}console.error("entropy out of sync")},w.prototype._drawZoomGenes=function(t){var e=this;this.geneGraph.selectAll("*").remove();var s=this.scales.xNav.domain()[1]-this.scales.xNav.domain()[0]<1e6?"white":"black",a=!!t.filter((function(t){return"-"===t.strand})).length,n=function(t){return a?"-"===t?20:0:10},o=t.filter((function(t){return t.start<e.scales.xMain.domain()[1]&&t.start>e.scales.xMain.domain()[0]||t.end>e.scales.xMain.domain()[0]&&t.end<e.scales.xMain.domain()[1]||t.start<=e.scales.xMain.domain()[0]&&t.end>=e.scales.xMain.domain()[1]})),i=function(t){return t.start>e.scales.xMain.domain()[0]?e.scales.xMain(t.start):e.offsets.x1},r=function(t){return t.end<e.scales.xMain.domain()[1]?e.scales.xMain(t.end):e.offsets.x2},l=this.geneGraph.selectAll(".gene").data(o).enter().append("g");l.append("rect").attr("class","gene").attr("x",(function(t){return i(t)})).attr("y",(function(t){return n(t.strand)})).attr("width",(function(t){return r(t)-i(t)})).attr("height",20).style("fill",(function(t){return t.fill})).style("stroke",(function(){return s})),l.append("text").attr("x",(function(t){return e.scales.xMain(t.start)+(e.scales.xMain(t.end)-e.scales.xMain(t.start))/2})).attr("y",(function(t){return n(t.strand)+5})).attr("dy",".7em").attr("text-anchor","middle").style("fill",(function(){return"white"})).text((function(t){return r(t)-i(t)>15?t.prot:""}))},w.prototype._drawGenes=function(t){var e=this,s=this.scales.xNav.domain()[1]-this.scales.xNav.domain()[0]<1e6?"white":"black",a=this.navGraph.selectAll(".gene").data(t).enter().append("g");a.append("rect").attr("class","gene").attr("x",(function(t){return e.scales.xNav(t.start)})).attr("y",(function(t){return t.strand,5})).attr("width",(function(t){return e.scales.xNav(t.end)-e.scales.xNav(t.start)})).attr("height",20).style("fill",(function(t){return t.fill})).style("stroke",(function(){return s})),a.append("text").attr("x",(function(t){return e.scales.xNav(t.start)+(e.scales.xNav(t.end)-e.scales.xNav(t.start))/2})).attr("y",(function(t){return t.strand,10})).attr("dy",".7em").attr("text-anchor","middle").style("fill",(function(){return"white"})).text((function(t){return function(t){return t.end<e.scales.xNav.domain()[1]?e.scales.xNav(t.end):e.offsets.x2}(t)-function(t){return t.start>e.scales.xNav.domain()[0]?e.scales.xNav(t.start):e.offsets.x1}(t)>10?t.prot:""}))},w.prototype._clearSelectedBars=function(){var t=this,e=!0,s=!1,a=void 0;try{for(var n,o=this.selectedNodes[Symbol.iterator]();!(e=(n=o.next()).done);e=!0){var i=n.value,r=this.aa?"#prot".concat(i.prot).concat(i.codon):"#nt".concat(i.x),c=this.aa?function(e){return t.geneMap[e.prot].idx%2?p.h:p.a}:function(e){return e.prot?t.geneMap[e.prot].idx%2?p.h:p.a:p.f};Object(l.f)(r).style("fill",c)}}catch(t){s=!0,a=t}finally{try{e||null==o.return||o.return()}finally{if(s)throw a}}this.selectedNodes=[]},w.prototype._highlightSelectedBars=function(){var t=!0,e=!1,s=void 0;try{for(var a,n=this.selectedNodes[Symbol.iterator]();!(t=(a=n.next()).done);t=!0){var o=a.value;if(this.aa&&!o.prot)return;var i=this.aa?"#prot".concat(o.prot).concat(o.codon):"#nt".concat(o.x),r=this.aa?this.geneMap[o.prot].fill:o.prot?this.geneMap[o.prot].fill:"red";Object(l.f)(i).style("fill",r)}}catch(t){e=!0,s=t}finally{try{t||null==n.return||n.return()}finally{if(e)throw s}}},w.prototype._drawBars=function(){var t=this;if(this.okToDrawBars){this.mainGraph.selectAll("*").remove();var e,s=this.scales.xMain.domain()[1]-this.scales.xMain.domain()[0];this.aa&&(s/=3),e=this.aa?s>600?2:function(e){return t.scales.xMain(t._aaToNtCoord(e.prot,e.codon)+2.6)-t.scales.xMain(t._aaToNtCoord(e.prot,e.codon))}:s>1e3?2:s>250?3:function(e){return t.scales.xMain(e.x+.3)-t.scales.xMain(e.x-.3)};var a=this.mainGraph.append("g").attr("clip-path","url(#clip)").selectAll(".bar"),n=this.aa?function(t){return"prot"+t.prot+t.codon}:function(t){return"nt"+t.x},o=this.aa?function(e){return t.scales.xMain(t._aaToNtCoord(e.prot,e.codon)-.3)}:function(e){return t.scales.xMain(e.x-.3)},i=this.aa?function(e){return t.geneMap[e.prot].idx%2?p.h:p.a}:function(e){return e.prot?t.geneMap[e.prot].idx%2?p.h:p.a:p.f};a.data(this.bars).enter().append("rect").attr("class","bar").attr("id",n).attr("x",o).attr("y",(function(e){return t.scales.y(e.y)})).attr("width",e).attr("height",(function(e){return t.offsets.heightMain-t.scales.y(e.y)})).style("fill",i).on("mouseover",(function(e){t.callbacks.onHover(e,l.b.pageX,l.b.pageY)})).on("mouseout",(function(e){t.callbacks.onLeave(e)})).on("click",(function(e){t.callbacks.onClick(e)})).style("cursor","pointer"),this._highlightSelectedBars()}},w.prototype._setScales=function(t,e){this.scales={},this.scales.xMax=t,this.scales.yMax=e,this.scales.yMin=0,this.scales.xMin=0,this.scales.xMain=Object(d.a)().domain([0,t]).range([this.offsets.x1,this.offsets.x2]),this.scales.xNav=Object(d.a)().domain([0,t]).range([this.offsets.x1,this.offsets.x2]),this.scales.y=Object(d.a)().domain([this.scales.yMin,1.2*e]).range([this.offsets.y2Main,this.offsets.y1Main])},w.prototype._drawAxes=function(){this.axes={},this.axes.y=Object(u.b)(this.scales.y).ticks(4),this.axes.xMain=Object(u.a)(this.scales.xMain).ticks(16),this.axes.xNav=Object(u.a)(this.scales.xNav).ticks(20,",f"),this.scales.xNav.domain()[1]-this.scales.xNav.domain()[0]>1e6&&this.axes.xNav.tickFormat(Object(f.a)(".1e")),this.svg.append("g").attr("class","y axis").attr("id","entropyYAxis").attr("transform","translate("+(this.offsets.x1+15)+","+this.offsets.y1Main+")").call(this.axes.y),this.svg.append("g").attr("class","xMain axis").attr("transform","translate("+this.offsets.x1+","+this.offsets.y2Main+")").call(this.axes.xMain),this.svg.append("g").attr("class","xNav axis").attr("transform","translate("+this.offsets.x1+","+this.offsets.y2Nav+")").call(this.axes.xNav)},w.prototype._updateYScaleAndAxis=function(t){this.scales.y=Object(d.a)().domain([this.scales.yMin,1.2*t]).range([this.offsets.y2Main,this.offsets.y1Main]),this.axes.y=Object(u.b)(this.scales.y).ticks(4),this.svg.select("#entropyYAxis").remove(),this.svg.append("g").attr("class","y axis").attr("id","entropyYAxis").attr("transform","translate("+(this.offsets.x1+15)+","+this.offsets.y1Main+")").call(this.axes.y)},w.prototype._calcOffsets=function(t,e){this.offsets={x1:15,x2:t-32,y1Main:0,y1Nav:e-65,y2Main:e-130,y2Nav:e-35,y1Gene:e-107,y2Gene:e-95},this.offsets.heightMain=this.offsets.y2Main-this.offsets.y1Main,this.offsets.heightNav=this.offsets.y2Nav-this.offsets.y1Nav,this.offsets.heightGene=this.offsets.y2Gene-this.offsets.y1Gene,this.offsets.width=this.offsets.x2-this.offsets.x1},w.prototype._addBrush=function(){var t=this;this.brushed=function(){var t=this,e=(l.b.selection||this.scales.xNav.range()).map(this.scales.xNav.invert,this.scales.xNav);this.zoomCoordinates=e.map(Math.round),l.b.selection?this._zoom(e[0],e[1]):this.navGraph.select(".brush").call(this.brush.move,(function(){return t.zoomCoordinates=t.scales.xNav.range().map(Math.round),t.scales.xNav.range()}))},this.brushFinished=function(){this.brushed(),l.b.sourceEvent instanceof MouseEvent&&(!l.b.selection||"d3entropyParent"===l.b.sourceEvent.target.id||""===l.b.sourceEvent.target.id)?this.props.dispatch(Object(g.b)(this.zoomCoordinates)):this.props.dispatch(Object(g.b)([void 0,void 0]))},this._zoom=function(t,e){var s=this,a=[t,e];this.scales.xMain.domain(a),this.axes.xMain=this.axes.xMain.scale(this.scales.xMain),this.svg.select(".xMain.axis").call(this.axes.xMain),this._drawBars(),this._drawZoomGenes(this.annotations),this.brushHandle&&this.brushHandle.attr("display",null).attr("transform",(function(t,e){return"translate("+s.scales.xNav(a[e])+","+(s.offsets.heightNav+25)+")"}))},this.brush=Object(v.a)().extent([[this.offsets.x1,0],[this.offsets.width+20,this.offsets.heightNav-1+25]]).on("brush",(function(){t.brushed()})).on("end",(function(){t.brushFinished()})),this.gBrush=this.navGraph.append("g").attr("class","brush").attr("stroke-width",0).call(this.brush).call(this.brush.move,(function(){return t.zoomCoordinates.map(t.scales.xNav)})),this.brushHandle=this.gBrush.selectAll(".handle--custom").data([{type:"w"},{type:"e"}]).enter().append("path").attr("class","handle--custom").attr("fill",p.a).attr("cursor","ew-resize").attr("d","M0,0 0,0 -5,11 5,11 0,0 Z").attr("transform",(function(e){return"e"===e.type?"translate("+(t.scales.xNav(t.zoomCoordinates[1])-1)+","+(t.offsets.heightNav+25)+")":"translate("+(t.scales.xNav(t.zoomCoordinates[0])+1)+","+(t.offsets.heightNav+25)+")"}))},w.prototype._addZoomLayers=function(){var t=this,e=[[this.offsets.x1,this.offsets.y1Main],[this.offsets.width,this.offsets.y2Main]];this.zoom=Object(y.a)().translateExtent(e).extent(e).on("zoom",(function(){return t.zoomed()}));var s=["option","shift"];x.a.bind(s,(function(){t.svg.append("rect").attr("class","overlay").attr("text","zoom").attr("transform","translate("+t.offsets.x1+","+t.offsets.y1Main+")").attr("width",t.offsets.width).attr("height",t.offsets.y2Nav+30-t.offsets.y1Main).call(t.zoom).on("wheel",(function(){l.b.preventDefault()}))}),"keydown"),x.a.bind(s,(function(){t.svg.selectAll(".overlay").remove(),t.svg.selectAll(".brush").remove(),t._addBrush()}),"keyup")},w.prototype._createZoomFn=function(){return function(){var t=this,e=l.b.transform,s=this.zoomCoordinates[1]-this.zoomCoordinates[0],a=(s-s/e.k)/2,n=[Math.max(this.zoomCoordinates[0]+a,this.scales.xNav(0)),Math.min(this.zoomCoordinates[1]-a,this.scales.xNav.domain()[1])];n[1]-n[0]<500&&e.k>1||(this.zoomCoordinates=n,e.rescaleX(this.scales.xMain),this.axes.xMain=this.axes.xMain.scale(this.scales.xMain),this.svg.select(".xMain.axis").call(this.axes.xMain),this._drawBars(),this._drawZoomGenes(this.annotations),this.navGraph.select(".brush").call(this.brush.move,(function(){return t.zoomCoordinates.map(t.scales.xNav)})))}},w.prototype._drawMainNavElements=function(){this.mainGraph=this.svg.append("g").attr("class","main").attr("transform","translate("+this.offsets.x1+","+this.offsets.y1Main+")"),this.navGraph=this.svg.append("g").attr("class","nav").attr("transform","translate("+this.offsets.x1+","+this.offsets.y1Nav+")"),this.geneGraph=this.svg.append("g").attr("class","Gene").attr("transform","translate("+this.offsets.x1+","+this.offsets.y1Gene+")")},w.prototype._addClipMask=function(){this.svg.append("g").append("clipPath").attr("class","clipPath").attr("transform","translate("+this.offsets.x1+","+this.offsets.y1Main+")").attr("id","clip").append("rect").attr("id","cliprect").attr("width",this.offsets.width).attr("height",this.offsets.heightMain)};var N,C,O,k=w,_=function(t){var e=t.hovered,s=t.width,a=t.height,o=t.mutType,i=t.showCounts,r=t.geneMap;if(!e)return null;var l={container:{position:"absolute",width:200,padding:"10px",borderRadius:10,zIndex:1e3,pointerEvents:"none",fontFamily:p.e.panel.fontFamily,fontSize:14,lineHeight:1,fontWeight:p.e.panel.fontWeight,color:p.e.panel.color,backgroundColor:p.e.panel.backgroundColor,wordWrap:"break-word",wordBreak:"break-word"}},c=document.getElementById("entropyYAxis").getBoundingClientRect(),h={x:e.x-c.left+15,y:e.y-c.top};h.x<.7*s?l.container.left=h.x:l.container.right=s-h.x,h.y<.5*a?l.container.top=h.y:l.container.bottom=a-h.y;var d=e.d.prot?"-"===r[e.d.prot].strand:null,u=e.d.prot?"aa"===o?d?r[e.d.prot].end-3*e.d.codon+3:r[e.d.prot].start+3*e.d.codon:d?r[e.d.prot].end-e.d.x:e.d.x-r[e.d.prot].start-1:null,f=e.d.prot&&"aa"!==o?Math.floor(u/3)+1:null;return n.a.createElement("div",{style:l.container},n.a.createElement("div",{className:"tooltip",style:p.e.tooltip},n.a.createElement("div",null,"aa"===o?"Codon ".concat(e.d.codon," in protein ").concat(e.d.prot):e.d.prot?"Nucleotide ".concat(e.d.x," (codon ").concat(f," in protein ").concat(e.d.prot,")"):"Nucleotide ".concat(e.d.x)),n.a.createElement("p",null),n.a.createElement("div",null,"aa"===o?"Nuc positions ".concat(u-2," to ").concat(u):""),n.a.createElement("p",null),n.a.createElement("div",null,null===d?"":d?"Negative strand":"Positive strand"),n.a.createElement("p",null),n.a.createElement("div",null,i?"Num mutations: ".concat(e.d.y):"entropy: ".concat(e.d.y)),n.a.createElement("div",{style:p.e.comment},"Click to color tree & map")))},j=s(88);s(110),s(510);function B(t){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function z(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,a)}return s}function S(t){for(var e=1;e<arguments.length;e++){var s=null!=arguments[e]?arguments[e]:{};e%2?z(s,!0).forEach((function(e){P(t,e,s[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(s)):z(s).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(s,e))}))}return t}function E(t,e){for(var s=0;s<e.length;s++){var a=e[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function G(t,e){return!e||"object"!==B(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function T(t){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function A(t,e){return(A=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function P(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}var L=Object(r.b)((function(t){return{mutType:t.controls.mutType,bars:t.entropy.bars,annotations:t.entropy.annotations,geneMap:t.entropy.geneMap,geneLength:t.controls.geneLength,maxYVal:t.entropy.maxYVal,showCounts:t.entropy.showCounts,loaded:t.entropy.loaded,colorBy:t.controls.colorBy,zoomMin:t.controls.zoomMin,zoomMax:t.controls.zoomMax,defaultColorBy:t.controls.defaults.colorBy,shouldReRender:!1,panelLayout:t.controls.panelLayout,narrativeMode:t.narrative.display}}))((O=C=function(t){function e(t){var s;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(s=G(this,T(e).call(this,t))).state={hovered:!1,chart:!1},s}var s,a,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&A(t,e)}(e,t),s=e,(a=[{key:"onHover",value:function(t,e,s){this.setState({hovered:{d:t,type:".tip",x:e,y:s}})}},{key:"onLeave",value:function(){this.setState({hovered:!1})}},{key:"onClick",value:function(t){if(!this.props.narrativeMode){var e=function(t,e){return Object(b.encodeColorByGenotype)("aa"===t?{gene:e.prot,positions:[e.codon]}:{positions:[e.x]})}(this.props.mutType,t);Object(j.analyticsControlsEvent)("color-by-genotype"),this.props.dispatch(Object(h.a)(e)),this.setState({hovered:!1})}}},{key:"changeMutTypeCallback",value:function(t){t!==this.props.mutType&&(this.props.dispatch(Object(h.a)(this.props.defaultColorBy)),this.props.dispatch(Object(g.a)(t)))}},{key:"aaNtSwitch",value:function(t){var e=this;return this.props.narrativeMode?null:n.a.createElement("div",{style:S({},p.l,{},t.aaNtSwitch)},n.a.createElement("button",{key:1,style:"aa"===this.props.mutType?p.n:p.m,onClick:function(){return e.changeMutTypeCallback("aa")}},n.a.createElement("span",{style:t.switchTitle}," ","AA"," ")),n.a.createElement("button",{key:2,style:"aa"!==this.props.mutType?p.n:p.m,onClick:function(){return e.changeMutTypeCallback("nuc")}},n.a.createElement("span",{style:t.switchTitle}," ","NT"," ")))}},{key:"entropyCountSwitch",value:function(t){var e=this;return this.props.narrativeMode?null:n.a.createElement("div",{style:S({},p.l,{},t.entropyCountSwitch)},n.a.createElement("button",{key:1,style:this.props.showCounts?p.m:p.n,onClick:function(){return e.props.dispatch(Object(g.c)(!1))}},n.a.createElement("span",{style:t.switchTitle}," ","entropy"," ")),n.a.createElement("button",{key:2,style:this.props.showCounts?p.n:p.m,onClick:function(){return e.props.dispatch(Object(g.c)(!0))}},n.a.createElement("span",{style:t.switchTitle}," ","events"," ")))}},{key:"setUp",value:function(t){var e=new k(this.d3entropy,t.annotations,t.geneMap,t.geneLength[M.nucleotide_gene],{onHover:this.onHover.bind(this),onLeave:this.onLeave.bind(this),onClick:this.onClick.bind(this)});e.render(t),t.narrativeMode&&Object(l.f)(this.d3entropy).selectAll(".handle--custom").style("visibility","hidden"),this.setState({chart:e})}},{key:"componentDidMount",value:function(){this.props.loaded&&this.setUp(this.props)}},{key:"componentWillReceiveProps",value:function(t){if(t.loaded||this.setState({chart:!1}),this.state.chart){if(this.props.width!==t.width||this.props.height!==t.height)this.state.chart.render(t);else{var e={};if(this.props.zoomMax===t.zoomMax&&this.props.zoomMin===t.zoomMin||(e.zoomMax=t.zoomMax,e.zoomMin=t.zoomMin),this.props.bars!==t.bars&&(e.aa="aa"===t.mutType,e.newBars=t.bars,e.maxYVal=t.maxYVal),this.props.colorBy!==t.colorBy&&(Object(b.isColorByGenotype)(this.props.colorBy)||Object(b.isColorByGenotype)(t.colorBy)))if(Object(b.isColorByGenotype)(t.colorBy)){var s=Object(b.decodeColorByGenotype)(t.colorBy,t.geneLength);if(s.aa)e.gene=s.gene,e.start=t.geneMap[e.gene].start,e.end=t.geneMap[e.gene].end;else{var a,n,o=s.positions,i=this.state.chart.zoomCoordinates,r=this.state.chart.maxNt;if(o.length>1){var c=Math.min.apply(null,o),h=Math.max.apply(null,o);a=c-.05*(h-c),n=h+.05*(h-c)}else{var p=o[0],d=.05*r,u=p-d<=0?[0,p+d]:p+d>=r?[p-d,r]:[p-d,p+d];a=u[0],n=u[1]}a>i[0]-.4*r&&a<i[0]+.4*r&&n>i[1]-.4*r&&n<i[1]+.4*r&&o.every((function(t){return t>i[0]}))&&o.every((function(t){return t<i[1]}))||(e.gene=s.gene,e.start=a,e.end=n)}e.selected=Object(b.decodeColorByGenotype)(t.colorBy,t.geneLength)}else e.clearSelected=!0;Object.keys(e).length&&this.state.chart.update(e)}this.props.narrativeMode!==t.narrativeMode&&(t.narrativeMode?Object(l.f)(this.d3entropy).selectAll(".handle--custom").style("visibility","hidden"):Object(l.f)(this.d3entropy).selectAll(".handle--custom").style("visibility","visible"))}else t.loaded&&this.setUp(t)}},{key:"render",value:function(){var t,e=this,s={switchContainer:{position:"absolute",marginTop:-5,paddingLeft:(t=this.props.width)-100},switchContainerWide:{position:"absolute",marginTop:-25,paddingLeft:t-185},switchTitle:{margin:5,position:"relative",top:-1},aaNtSwitch:{position:"absolute",right:5,top:0,zIndex:100},entropyCountSwitch:{position:"absolute",right:74,top:0,zIndex:100}};return n.a.createElement(c.a,{title:"Diversity"},n.a.createElement(_,{hovered:this.state.hovered,width:this.props.width,height:this.props.height,mutType:this.props.mutType,showCounts:this.props.showCounts,geneMap:this.props.geneMap}),n.a.createElement("svg",{id:"d3entropyParent",style:{pointerEvents:"auto"},width:this.props.width,height:this.props.height},n.a.createElement("g",{ref:function(t){e.d3entropy=t},id:"d3entropy"})),this.aaNtSwitch(s),this.entropyCountSwitch(s))}}])&&E(s.prototype,a),o&&E(s,o),e}(n.a.Component),P(C,"propTypes",{dispatch:i.a.func.isRequired,entropy:i.a.object,loaded:i.a.bool.isRequired,colorBy:i.a.string,defaultColorBy:i.a.string,mutType:i.a.string.isRequired}),N=O))||N;e.default=L}}]);
2//# sourceMappingURL=auspice.chunk.8.bundle.js.map
\No newline at end of file