4f576e29ec90e2faf8624926a090c4396eafc735
1 var tr
=tr
||{};tr
.models
={},tr
.graphing
={},tr
.util
={},tr
.graphing
.Radar=function(t
,n
){function r(){return Math
.round(t
/2)}function e(){p.append("line").attr("x1",r()).attr("y1",0).attr("x2",r()).attr("y2",t).attr("stroke-width",14),p.append("line").attr("x1",0).attr("y1",r()).attr("x2",t).attr("y2",r()).attr("stroke-width",14)}function a(t,n){var e=(l.sequence(t.length),l.sum(t.length)),a=l.sum(n);return r()-r()*a/e
}function u(t
){t
.forEach(function(n
,e
){p
.append("circle").attr("cx",r()).attr("cy",r()).attr("r",a(t
,e
))})}function c(t
){var n
;n
=Math
.round(r()/t.length),t.forEach(function(n,e){p.append("text").attr("class","line-text").attr("y",r()+4).attr("x",r()-a(t,e)+10).text(n.name()),p.append("text").attr("class","line-text").attr("y",r()+4).attr("x",r()+a(t,e)-10).attr("text-anchor","end").text(n.name())})}function o(t,n,r,e){var a,u,c,o,i,s;return a=13,u=n-a,c=t-a+1,o=t+a+1,i=n+a-a/2.5,s
=t
+1+","+u
+" "+c
+","+i
+" "+o
+","+i
,(e
||p
).append("polygon").attr("points",s
).attr("class",r
).attr("stroke-width",1.5)}function i(t
,n
,r
,e
){return(e
||p
).append("circle").attr("cx",t
).attr("cy",n
).attr("class",r
).attr("stroke-width",1.5).attr("r",10)}function s(t
,n
,e
,u
,c
){var s
;s
=n
.blips(),t
.forEach(function(n
,f
){var d
,l
,I
;d
=a(t
,f
),l
=f
==t
.length
-1?0:a(t
,f
+1);var I
=s
.filter(function(t
){return t
.cycle()==n
});I
.forEach(function(t
){var a
,s
,f
=t
.name().split(""),I
=f
.reduce(function(t
,n
){return t
+n
.charCodeAt(0)},0);chance
=new Chance(I
*n
.name().length
*t
.number()),a
=Math
.PI
*chance
.integer({min
:13,max
:85})/180,s=chance.floating({min:l+25,max:d-10});var m=r()+s*Math.cos(a)*e,y=r()+s*Math.sin(a)*u,v=p.append("g").attr("class","blip-group");t.isNew()?o(m,y,c,v):i(m,y,c,v),h.push(function(){var n;n=p.append("text").attr("x",m+15).attr("y",y+4).attr("class","blip-name").attr("text-anchor","left").text(t.name()),v.on("mouseover",function(){n.style("display","block")}).on("mouseout",function(){n.style("display","none")})}),v.append("text").attr("x",m).attr("y",y+4).attr("class","blip-text").attr("text-anchor","middle").text(t.number())})})}function f(n){function r(t,n,r,e,a){p.append("text").attr("x",r).attr("y",e).attr("class",a).attr("text-anchor",n).text(t)}r(n.I.name(),"end",t-10,10,"first"),r(n.II.name(),"start",10,10,"second"),r(n.III.name(),"start",10,t-10,"third"),r(n.IV.name(),"end",t-10,t-10,"fourth")}var d,l,p,h;return h=[],l=new tr.util.Fib,d={},d.svg=function(){return p},d.init=function(t){return p=d3.select(t||"body").append("svg"),d},d.plot=function(){var r,a;r=n.cycles().reverse(),a=n.quadrants(),p.attr("width",t).attr("height",t),u(r),e(),c(r),n.hasQuadrants()&&(f(a),s(r,a.I,1,-1,"first"),s(r,a.II,-1,-1,"second"),s(r,a.III,-1,1,"third"),s(r,a.IV,1,1,"fourth")),h.forEach(function(t){t()})},d},tr.graphing.RefTable=function(t){function n(){var n={};t.cycles().map(function(t){return{order:t.order(),name:t.name()}}).sort(function(t,n){return t.order===n.order?0:t.order<n.order?-1:1}).forEach(function(t){n[t.name]=[]});var r=[],e=t.quadrants();return Object.keys(e).forEach(function(t){r=r.concat(e[t].blips())}),r.forEach(function(t){n[t.cycle().name()].push(t)}),n}var r,e={};return e.init=function(t){return r=document.querySelector(t||"body"),e},e.render=function(){var t=n(),e='<table class="radar-ref-table">';Object.keys(t).forEach(function(n){e+='<tr class="radar-ref-status-group"><td colspan="3">'+n+"</td
></tr>",t[n].forEach(function(t){e+="<tr><td>"+t.number()+"</td
><td
>"+t.name()+"</td><td>"+t.description()+"</td
></tr>"})}),e+="</table
>",r.innerHTML=e},e},tr.models.Blip=function(t,n,r,e){var a,u;return a={},u=-1,a.name=function(){return t},a.description=function(){return e||""},a.isNew=function(){return r},a.cycle=function(){return n},a.number=function(){return u},a.setNumber=function(t){u=t},a},tr.models.Cycle=function(t,n){var r={};return r.name=function(){return t},r.order=function(){return n},r},tr.models.Quadrant=function(t){var n,r;return n={},r=[],n.name=function(){return t},n.add=function(t){Array.isArray(t)?r=r.concat(t):r.push(t)},n.blips=function(){return r.slice(0)},n},tr.models.Radar=function(){function t(t){t.forEach(function(t){t.setNumber(++u)})}function n(){var t=[];for(var n in a)a.hasOwnProperty(n)&&null!=a[n]&&t.push(a[n]);return t}function r(){return n().reduce(function(t,n){return t.concat(n.blips())},[])}var e,a,u;return u=0,a={I:null,II:null,III:null,IV:null},e={},e.setFirstQuadrant=function(n){a.I=n,t(a.I.blips())},e.setSecondQuadrant=function(n){a.II=n,t(a.II.blips())},e.setThirdQuadrant=function(n){a.III=n,t(a.III.blips())},e.setFourthQuadrant=function(n){a.IV=n,t(a.IV.blips())},e.hasQuadrants=function(){return!!(a.I||a.II||a.III||a.IV)},e.cycles=function(){var t,n;n=[],t={},r().forEach(function(n){t[n.cycle().name()]=n.cycle()});for(var e in t)t.hasOwnProperty(e)&&n.push(t[e]);return n.slice(0).sort(function(t,n){return t.order()-n.order()})},e.quadrants=function(){return a},e},tr.util.Fib=function(){var t={};return t.sequence=function(t){for(var n=[0,1],r=2;t>r;r++)n[r]=n[r-2]+n[r-1];return n},t.sum=function(n){return 0===n?0:1===n?1:t.sequence(n+1).reduce(function(t,n){return t+n},0)},t};
2 //# sourceMappingURL=./tech-radar.min.js.map